.gym-stack-editor{--stack-plate-width:clamp(var(--space-20), 27vw, calc(var(--space-24) + var(--space-5)));--stack-row-height:var(--control-height-compact);--stack-row-gap:var(--space-1)}.gym-stack-editor__unit{border:0;margin:0;padding:0}.gym-stack-editor__stack{margin-block:var(--space-5);padding-block-end:var(--space-3);position:relative}.gym-stack-editor__rows{margin:0;padding:0;list-style:none}.gym-stack-editor__row{grid-template-columns:var(--stack-plate-width) var(--space-5) minmax(0, 1fr) auto var(--control-height-compact);align-items:center;gap:var(--space-1);block-size:var(--stack-row-height);font-variant-numeric:tabular-nums;margin-block-end:var(--stack-row-gap);display:grid}.gym-stack-editor__rank{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-subtle);text-align:end}.gym-stack-editor__row input{min-block-size:0;block-size:var(--stack-row-height);padding-inline:var(--space-2);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--text-base);text-align:end}.gym-stack-editor__row input::placeholder{color:var(--color-text-subtle)}.gym-stack-editor__row .gym-note{font-size:var(--text-2xs);margin:0}.gym-stack-editor__remove{inline-size:var(--control-height-compact);block-size:var(--stack-row-height);color:var(--color-text-subtle);border-radius:var(--radius-xs);background:0 0;border:0;place-items:center;display:grid}.gym-stack-editor__remove:not(:disabled):hover{color:var(--color-text);background:var(--color-surface-selected)}.gym-stack-editor__remove:disabled{opacity:.35}.gym-stack-editor button:focus-visible,.gym-stack-editor input:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--border-default)}.gym-stack-plate{inline-size:var(--stack-plate-width);block-size:var(--stack-row-height);display:block;overflow:visible}.gym-stack-plate__face{fill:color-mix(in oklch, var(--color-text) 19%, transparent);stroke:color-mix(in oklch, var(--color-text) 26%, transparent);stroke-width:1px}.gym-stack-plate__hole{fill:var(--color-surface);stroke:color-mix(in oklch, var(--color-text) 30%, transparent);stroke-width:1px}.gym-stack-plate__load{fill:color-mix(in oklch, var(--color-text) 70%, transparent);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:700}.gym-stack-plate__load[data-empty]{fill:color-mix(in oklch, var(--color-text) 22%, transparent)}.gym-stack-plate__body{transform-box:fill-box;transform-origin:0}.gym-stack-editor__pin{inline-size:var(--stack-plate-width);block-size:var(--space-4);pointer-events:none;transform:translateY(calc((var(--stack-count) - 1) * (var(--stack-row-height) + var(--stack-row-gap)) + var(--stack-row-height) - var(--space-2)));transition:transform var(--duration-slow) var(--ease-snappy);position:absolute;inset-block-start:0;inset-inline-start:0;overflow:visible}.gym-stack-editor__handle{fill:color-mix(in oklch, var(--color-text) 60%, transparent);transition:fill var(--duration-short) var(--ease-standard)}.gym-stack-editor__ring{fill:none;stroke:color-mix(in oklch, var(--color-text) 60%, transparent);stroke-width:2.2px;transition:stroke var(--duration-short) var(--ease-standard)}.gym-stack-editor__pin[data-live] .gym-stack-editor__handle{fill:var(--state-live)}.gym-stack-editor__pin[data-live] .gym-stack-editor__ring{stroke:var(--state-live)}.gym-stack-editor__row[data-motion=entering] .gym-stack-plate__body{animation:gym-stack-plate-in var(--duration-slow) var(--ease-snappy) both}.gym-stack-editor__row[data-motion=entering] input{animation:gym-stack-field-in var(--duration-slow) var(--ease-standard) both}.gym-stack-editor__row[data-motion=leaving]{pointer-events:none;animation:gym-stack-row-out var(--duration-slow) var(--ease-snappy) both}.gym-stack-editor__row[data-motion=leaving] .gym-stack-plate__body{animation:gym-stack-plate-out var(--duration-slow) var(--ease-snappy) both}@keyframes gym-stack-plate-in{0%{opacity:0;transform:translateX(calc(-1 * var(--space-4))) scaleY(.3)}60%{opacity:1;transform:translate(0)scaleY(1.06)}to{opacity:1;transform:translate(0)scaleY(1)}}@keyframes gym-stack-plate-out{to{opacity:0;transform:translateX(calc(-1 * var(--space-4))) scaleY(.3)}}@keyframes gym-stack-field-in{0%{border-color:var(--state-live)}to{border-color:var(--color-border)}}@keyframes gym-stack-row-out{to{opacity:0;block-size:0;margin-block-end:0}}.gym-stack-editor__error{color:var(--signal-danger-text);font-size:var(--text-sm)}.gym-stack-editor .button--full{margin-block-start:var(--space-4)}
