.screen{--ink: #2e211a;--wood: #d89b44;--wood-shade: #a8702a;--teal: #3e7f7a;--teal-shade: #2c5a57;--glaze: #f0d9a0;--cream: #f7eedd;--gold: #e4b33c;--paper: transparent;--panel: rgba(46, 33, 26, .62);--panel-edge: rgba(216, 155, 68, .28);display:flex;flex-direction:column;gap:clamp(.5rem,2vh,1.25rem);height:100%;padding:clamp(.75rem,3vh,1.75rem) clamp(.75rem,3vw,2rem);overflow-y:auto;background:radial-gradient(120% 90% at 12% 0%,rgba(216,155,68,.16),transparent 62%),radial-gradient(90% 80% at 100% 100%,rgba(62,127,122,.16),transparent 60%),var(--paper)}.menu__header{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-start;justify-content:space-between}.menu__identity{min-width:0}.menu__title{margin:0;color:var(--glaze);font-size:clamp(1.5rem,5.2vh,2.6rem);font-weight:800;letter-spacing:.01em;line-height:1.05;text-shadow:0 2px 0 rgba(46,33,26,.55)}.menu__subtitle{margin:.3rem 0 0;color:#f7eeddb8;font-size:clamp(.78rem,2.1vh,.95rem)}.menu__settings,.sheet__close,.play-placeholder__exit{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.menu__settings{flex:none;padding:.55rem 1.05rem;border:1px solid var(--teal);border-radius:999px;background:#3e7f7a2e;color:var(--cream);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .14s ease,transform .14s ease}.menu__settings:hover{background:#3e7f7a57}.menu__settings:active{transform:translateY(1px)}.menu__levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.5rem,1.6vw,1rem);margin:0;padding:0;list-style:none}@media (max-width: 700px){.menu__levels{grid-template-columns:repeat(2,minmax(0,1fr))}}.menu__level{display:flex;min-width:0}.level-card{display:flex;flex:1;flex-direction:column;gap:.65rem;justify-content:space-between;min-height:clamp(6.5rem,26vh,11rem);padding:clamp(.7rem,2.4vh,1.1rem);border:1px solid var(--panel-edge);border-radius:14px;background:linear-gradient(160deg,#d89b4438,#a8702a1a 62%),var(--panel);color:var(--cream);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.level-card:hover{border-color:#d89b449e;box-shadow:0 6px 18px #00000052}.level-card:active{transform:translateY(1px)}.level-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.level-card__name{color:var(--glaze);font-size:clamp(.95rem,2.6vh,1.2rem);font-weight:700;line-height:1.15}.level-card__best{display:flex;gap:.5rem;align-items:baseline}.level-card__best-label{color:#f7eedd99;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.level-card__best-value{color:var(--cream);font-size:clamp(1.05rem,3vh,1.45rem);font-weight:800;font-variant-numeric:tabular-nums}.level-card__tier{align-self:flex-start;padding:.15rem .55rem;border:1px solid rgba(228,179,60,.55);border-radius:999px;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.level-card[data-unavailable=true]{border-style:dashed;border-color:#f7eedd47;background:#f7eedd0a;color:#f7eedd8c;cursor:not-allowed}.level-card[data-unavailable=true] .level-card__name{color:#f7eeddb8}.level-card[data-unavailable=true]:hover{border-color:#f7eedd47;box-shadow:none}.level-card[data-unavailable=true]:active{transform:none}.level-card__unavailable{align-self:flex-start;padding:.15rem .55rem;border:1px dashed rgba(247,238,221,.4);border-radius:999px;color:#f7eeddbf;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,4vh,2rem);background:#130d0ab8}.sheet{display:flex;flex-direction:column;gap:.85rem;width:min(30rem,100%);max-height:100%;overflow-y:auto;padding:clamp(.9rem,3vh,1.4rem);border:1px solid var(--panel-edge);border-radius:16px;background:#241913;box-shadow:0 18px 46px #00000080}.sheet__title{margin:0;color:var(--glaze);font-size:clamp(1.05rem,3vh,1.35rem)}.setting{display:flex;gap:1rem;align-items:center;justify-content:space-between;width:100%;padding:.7rem .9rem;border:1px solid var(--teal);border-radius:12px;background:#3e7f7a29;color:var(--cream);font:inherit;text-align:left;cursor:pointer;transition:background .14s ease}.setting:hover{background:#3e7f7a4d}.setting:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.setting__label{display:flex;flex-direction:column;gap:.15rem;min-width:0}.setting__name{font-size:.98rem;font-weight:600}.setting__hint{color:#f7eedd8c;font-size:.74rem}.setting__value{flex:none;padding:.25rem .7rem;border:1px solid var(--teal-shade);border-radius:999px;background:#241913bf;color:var(--glaze);font-size:.85rem;font-weight:700}.sheet__close{align-self:flex-end;padding:.55rem 1.2rem;border:1px solid var(--panel-edge);border-radius:999px;background:#d89b4429;color:var(--cream);font:inherit;font-weight:600;cursor:pointer;transition:background .14s ease}.sheet__close:hover{background:#d89b444d}.play-placeholder__hud{display:flex;gap:.9rem;align-items:center}.play-placeholder__exit{flex:none;padding:.5rem 1rem;border:1px solid var(--panel-edge);border-radius:999px;background:#d89b4424;color:var(--cream);font:inherit;font-weight:600;cursor:pointer}.play-placeholder__exit:hover{background:#d89b4447}.play-placeholder__name{margin:0;color:var(--glaze);font-size:clamp(1.05rem,3.4vh,1.5rem)}.play-placeholder__body{display:flex;flex:1;flex-direction:column;gap:.4rem;align-items:flex-start;justify-content:center;padding:clamp(.75rem,3vh,1.5rem);border:1px dashed var(--teal);border-radius:14px;background:#3e7f7a14}.play-placeholder__title{margin:0;color:var(--cream);font-size:1.05rem;font-weight:700}.play-placeholder__level,.play-placeholder__note{margin:0;color:#f7eeddb8;font-size:.88rem}[data-reduced-motion=on],[data-reduced-motion=on] *{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}@media (prefers-reduced-motion: reduce){[data-reduced-motion=system],[data-reduced-motion=system] *{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.issue-bar,.btn-start,.connector-chooser,.refusal-toast{--v-ink: var(--ink, #2e211a);--v-cream: var(--cream, #f7eedd);--v-wood: var(--wood, #d89b44);--v-teal: var(--teal, #3e7f7a);--v-alarm: #c8452f;--v-amber: #e4b33c;--v-panel: var(--panel, rgba(46, 33, 26, .86));--v-panel-edge: var(--panel-edge, rgba(216, 155, 68, .32))}.btn-start{display:inline-flex;gap:.5rem;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.6rem 1.1rem;border:2px solid var(--v-ink);border-radius:.6rem;color:var(--v-ink);font:inherit;font-weight:700;font-size:clamp(.9rem,2.4vh,1.05rem);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:var(--v-cream)}.btn-start[data-start-state=start]{border-style:solid;border-width:3px;background:var(--v-wood)}.btn-start[data-start-state=place-ball]{border-style:dashed;background:var(--v-cream)}.btn-start[data-start-state=fix-errors]{border-style:solid;border-color:var(--v-alarm);color:var(--v-alarm);background:var(--v-cream)}.btn-start[data-disabled=true]{cursor:not-allowed;opacity:.55;border-style:dotted}.btn-start__glyph{flex:none;fill:currentColor;stroke:none}.btn-start__glyph-mark{fill:none;stroke:var(--v-cream);stroke-width:2;stroke-linecap:round}.btn-start__label{white-space:nowrap}@media (max-height: 480px),(max-width: 900px){.btn-start{gap:.35rem;padding:.4rem .7rem;font-size:.82rem}}.issue-bar{position:absolute;top:calc(3.4rem + env(safe-area-inset-top,0px));right:calc(.75rem + env(safe-area-inset-right,0px));z-index:5;pointer-events:none;max-width:min(46ch,78vw);padding:.35rem .5rem;border:1px solid var(--v-panel-edge);border-radius:.5rem;color:var(--v-cream);font-size:clamp(.72rem,1.9vh,.85rem);background:var(--v-panel)}.issue-bar__list{display:flex;flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none}.issue-bar__item{display:flex;gap:.4rem;align-items:center;padding:.12rem .2rem;border-left:3px solid transparent}.issue-bar__item[data-focus-next=true]{padding-left:.35rem;border-left-color:var(--v-amber);font-weight:700}.issue-bar__text{min-width:0}.issue-glyph{flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.issue-glyph__mark{stroke-width:2.2}.issue-bar__item[data-reason=protected],.issue-bar__item[data-reason=overlap],.issue-bar__item[data-reason=bounds]{color:#ffd9cf}.world-overlay{position:absolute;top:0;left:0;touch-action:none;pointer-events:none}.zone-overlay{z-index:1}.mount-overlay{z-index:5}.zone-overlay__stripe{stroke:#c8452f8c;stroke-width:3}.zone-overlay__stripe--violated{stroke:#c8452fe6;stroke-width:3}.zone-overlay__edge{stroke:var(--v-alarm, #c8452f);stroke-width:1.5;stroke-dasharray:6 5}.zone-overlay__zone--violated .zone-overlay__edge{stroke-width:2.5;stroke-dasharray:none}.zone-overlay__slash{fill:none;stroke:#c8452f;stroke-width:3;stroke-linecap:round}.mount-overlay__hit{fill:transparent;stroke:none;pointer-events:auto;cursor:pointer}.mount-overlay__reach{fill:#f7eedd0f;stroke:#f7eedd29;stroke-width:1;pointer-events:none}.mount-overlay__ring{fill:none;stroke:#f7eedd;stroke-width:1.6}.mount-overlay__ring-outer{fill:none;stroke:#f7eedd;stroke-width:1.2;opacity:.7}.mount-overlay__mark,.mount-overlay__arc,.mount-overlay__slash{fill:none;stroke:#f7eedd;stroke-width:1.8;stroke-linecap:round}.mount-overlay__hub{fill:#f7eedd;stroke:none}.mount-overlay__marker--available .mount-overlay__ring{opacity:.75}.mount-overlay__marker--compatible .mount-overlay__ring{stroke-width:2.4}.mount-overlay__marker--aligned .mount-overlay__ring{stroke:#e4b33c;stroke-width:2.2;stroke-dasharray:4 3}.mount-overlay__marker--aligned .mount-overlay__mark{stroke:#e4b33c;stroke-width:2.2}.mount-overlay__marker--connected-rigid .mount-overlay__ring,.mount-overlay__marker--connected-pivot .mount-overlay__ring{fill:#f7eedd;stroke:#2e211a;stroke-width:1.2}.mount-overlay__marker--connected-rigid .mount-overlay__mark{stroke:#2e211a;stroke-width:2}.mount-overlay__marker--connected-pivot .mount-overlay__hub{fill:#2e211a}.mount-overlay__marker--connected-pivot .mount-overlay__arc,.mount-overlay__marker--connected-pivot .mount-overlay__mark{stroke:#f7eedd;stroke-width:1.6}.mount-overlay__marker--invalid{opacity:.45}.mount-overlay__marker--invalid .mount-overlay__slash{stroke:#c8452f;stroke-width:2.4}.mount-overlay__marker[data-selected=true] .mount-overlay__reach{fill:none;stroke:#f0d9a0;stroke-width:2;stroke-dasharray:none;opacity:.9}.chooser-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25}.chooser-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#2e211a2e}.connector-chooser{position:absolute;transform:translate(-50%);width:264px;max-width:calc(100% - 16px);padding:.4rem;border:1px solid var(--v-panel-edge);border-radius:.6rem;color:var(--v-cream);background:var(--v-panel);box-shadow:0 6px 18px #00000059}.chooser-options{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.chooser-empty{margin:0;padding:.6rem .4rem;font-size:.82rem;text-align:center}.chooser-option{display:flex;gap:.5rem;align-items:center;width:100%;min-height:44px;padding:.35rem .5rem;border:1px solid var(--v-panel-edge);border-radius:.45rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#f7eedd0f}.chooser-option[data-disabled=true]{cursor:not-allowed;opacity:.5;border-style:dashed}.chooser-option__art{flex:none}.chooser-option__ring,.chooser-option__arc{fill:none;stroke:currentColor;stroke-width:1.6}.chooser-option__mark{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.chooser-option__hub{fill:currentColor;stroke:none}.chooser-option__slash{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.chooser-option__text{display:flex;flex:1 1 auto;flex-direction:column;gap:.1rem;min-width:0}.chooser-option__name{font-size:.86rem;font-weight:700}.chooser-option__tags{display:flex;flex-wrap:wrap;gap:.3rem}.chooser-option__tag{padding:.02rem .3rem;border:1px solid currentColor;border-radius:.25rem;font-size:.66rem;letter-spacing:.02em;opacity:.85}.chooser-option__count{flex:none;min-width:1.4rem;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.refusal-toast{position:absolute;bottom:28%;left:50%;z-index:26;transform:translate(-50%);pointer-events:none;display:flex;gap:.45rem;align-items:center;max-width:min(40ch,76vw);padding:.45rem .7rem;border:2px solid var(--v-alarm);border-radius:.5rem;color:var(--v-cream);font-size:clamp(.75rem,2vh,.9rem);background:var(--v-panel);animation:refusal-shake .26s ease-out 1}.refusal-toast__glyph{flex:none;fill:none;stroke:var(--v-alarm);stroke-width:2;stroke-linecap:round}.refusal-toast__mark{stroke:var(--v-alarm)}.refusal-toast__text{margin:0}@keyframes refusal-shake{0%,to{transform:translate(-50%)}25%{transform:translate(calc(-50% - 4px))}75%{transform:translate(calc(-50% + 4px))}}.refusal-toast[data-reduced-motion=on]{animation:none;border-width:3px}@media (prefers-reduced-motion: reduce){.refusal-toast{animation:none;border-width:3px}}.mount-overlay__warning{font-size:12px;font-weight:700;fill:#e4b33c;stroke:#18100cd9;stroke-width:3;paint-order:stroke fill;pointer-events:none}.ball-bar{display:flex;flex-direction:row;gap:.5rem;align-items:center;justify-content:space-between;padding:.35rem .6rem calc(.35rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--panel-edge, rgba(216, 155, 68, .28));background:var(--panel, rgba(46, 33, 26, .62));color:var(--cream, #f7eedd);font-size:.82rem;touch-action:none}.ball-bar__chip{display:flex;gap:.45rem;align-items:center;min-height:44px;margin:0;padding:.35rem .8rem;border:1px solid var(--panel-edge, rgba(216, 155, 68, .28));border-radius:999px;background:linear-gradient(160deg,#d89b4433,#a8702a14 62%)}.ball-bar__chip[data-ball-chosen=true]{border-width:2px;border-color:var(--gold, #e4b33c)}.ball-bar__glyph{display:flex;flex:none;width:18px;height:18px}.ball-bar__glyph-svg{width:100%;height:100%;fill:#f0d9a02e;stroke:var(--glaze, #f0d9a0);stroke-width:.18;vector-effect:non-scaling-stroke}.ball-bar__name{color:var(--glaze, #f0d9a0);font-weight:700;white-space:nowrap}.ball-bar__done{display:flex;flex:none;gap:.45rem;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.35rem 1.1rem;border:2px solid var(--gold, #e4b33c);border-radius:999px;background:#e4b33c3d;color:var(--cream, #f7eedd);font:inherit;font-weight:700;cursor:pointer}.ball-bar__done[data-ball-state=invalid]{border-style:dashed;border-color:#c8452f;background:#c8452f29}.ball-bar__done:focus-visible,.ball-bar__done:active{outline:3px solid var(--gold, #e4b33c);outline-offset:2px}.ball-bar__done-glyph{display:flex;flex:none;width:18px;height:18px}.ball-bar__done-svg{width:100%;height:100%;fill:none;stroke:var(--cream, #f7eedd);stroke-width:.22;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ball-bar__done-label{white-space:nowrap}.ghost__shape{fill:none;stroke:#7fd3e8;stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ghost[data-ghost-state=snap] .ghost__shape{stroke:#b7ecf8;stroke-width:2}.ghost[data-ghost-state=invalid] .ghost__shape{fill:url(#dnt-ghost-hatch);stroke:#e2583f;stroke-width:2.5}.ghost__hatch-line{stroke:#e2583f;stroke-width:1;vector-effect:non-scaling-stroke}.ghost[data-held=true] .ghost__shape{stroke-dasharray:6 4}.ghost__guide-line{fill:none;stroke:#f0d9a0;stroke-width:1.25;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.ghost__guide-target{fill:none;stroke:#f0d9a0;stroke-width:2;vector-effect:non-scaling-stroke}.ghost__glyph-mark{fill:none;stroke:#ffd9cf;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ghost__reason-plate{fill:#24120eeb;stroke:#e2583f;stroke-width:1;vector-effect:non-scaling-stroke}.ghost__reason-text{fill:#ffe4dc;font-family:inherit;font-weight:600}.sel-layer{position:absolute;z-index:4;overflow:hidden;top:0;right:0;bottom:0;left:0;touch-action:none;pointer-events:none}.sel{position:absolute;display:flex;max-width:calc(100% - 16px);flex-wrap:wrap;justify-content:center;gap:.3rem;padding:.25rem;transform:translate(-50%);border:1px solid var(--panel-edge, rgba(216, 155, 68, .28));border-radius:999px;background:#18100cdb;pointer-events:auto}.sel__btn{min-height:44px;min-width:44px;padding:.3rem .8rem;border:1px solid var(--teal, #3e7f7a);border-radius:999px;background:#3e7f7a33;color:var(--cream, #f7eedd);font:inherit;font-size:.78rem;font-weight:600;white-space:nowrap;cursor:pointer}.sel__btn[data-active=true]{border-width:2px;background:#e4b33c42;color:var(--glaze, #f0d9a0)}.sel__btn[data-disabled=true]{border-style:dashed;cursor:default;opacity:.45}.sel__btn--remove{border-color:#a2503f;background:#a2503f38}.sel__btn:focus-visible,.rot__step:focus-visible{outline:3px solid var(--gold, #e4b33c);outline-offset:2px}.rot{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.rot__grab{position:relative;display:block;touch-action:none;pointer-events:auto;cursor:grab}.rot__grab:before{position:absolute;content:"";inset:calc(-1 * var(--rot-grab-pad, 8px))}.rot__grab[data-disabled=true]{pointer-events:none}.rot__ring{display:block}.rot__ring[data-disabled=true]{opacity:.4}.rot__track{fill:#18100c2e;stroke:#f0d9a08c;stroke-width:2;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.rot__tick{stroke:#f0d9a080;stroke-width:1.5;vector-effect:non-scaling-stroke}.rot__ring[data-detent=true] .rot__needle{stroke:var(--gold, #e4b33c);stroke-width:4}.rot__needle{stroke:var(--glaze, #f0d9a0);stroke-width:2.5;stroke-linecap:round;vector-effect:non-scaling-stroke}.rot__handle{fill:var(--glaze, #f0d9a0);stroke:#18100ccc;stroke-width:1.5;vector-effect:non-scaling-stroke}.rot__entry{stroke:var(--gold, #e4b33c);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.rot-mode{position:absolute;z-index:1;display:flex;max-width:calc(100% - 16px);flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem;padding:.25rem;transform:translate(-50%);border:1px solid var(--gold, #e4b33c);border-radius:999px;background:#18100ceb;pointer-events:auto}.rot-mode__btn{min-width:44px;min-height:44px;padding:.3rem .7rem;border:1px solid var(--teal, #3e7f7a);border-radius:999px;background:#3e7f7a33;color:var(--cream, #f7eedd);font:inherit;font-size:.8rem;font-weight:600;white-space:nowrap;cursor:pointer}.rot-mode__btn--step{font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}.rot-mode__btn--accept{border-color:var(--gold, #e4b33c);background:#e4b33c42;color:var(--glaze, #f0d9a0);font-weight:700}.rot-mode__btn--cancel{border-color:#d89b4459;background:#18100c99}.rot-mode__btn[data-disabled=true]{border-style:dashed;cursor:default;opacity:.45}.rot-mode__btn:focus-visible{outline:3px solid var(--gold, #e4b33c);outline-offset:2px}.rot-mode__angle{min-width:3.4rem;padding:0 .35rem;color:var(--glaze, #f0d9a0);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.tray{--rail-w: 132px;--chip-min: 56px;--rail-pad: 5px;--rail-gap: 5px;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--rail-gap);align-items:stretch;width:var(--rail-w);min-height:0;padding:var(--rail-pad) calc(var(--rail-pad) + env(safe-area-inset-right,0px)) calc(var(--rail-pad) + env(safe-area-inset-bottom,0px)) var(--rail-pad);border-left:1px solid var(--panel-edge, rgba(216, 155, 68, .28));background:var(--panel, rgba(46, 33, 26, .62));color:var(--cream, #f7eedd);font-size:.82rem;touch-action:manipulation}.tray__tabs{display:flex;flex:none;flex-wrap:wrap;gap:4px}.tray__tab{flex:1 1 auto;min-width:44px;min-height:44px;padding:.3rem .4rem;border:1px solid var(--teal, #3e7f7a);border-radius:999px;background:#3e7f7a29;color:var(--cream, #f7eedd);font:inherit;font-size:.7rem;font-weight:600;cursor:pointer}.tray__tab[data-active=true]{border-width:2px;background:#3e7f7a6b;color:var(--glaze, #f0d9a0)}.tray__tab:focus-visible,.tray-item:focus-visible,.tray__action:focus-visible{outline:3px solid var(--gold, #e4b33c);outline-offset:2px}.tray__items{display:grid;flex:1 1 auto;grid-template-columns:repeat(auto-fill,minmax(var(--chip-min),1fr));align-content:start;gap:4px;min-height:0;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;list-style:none;scrollbar-width:thin}.tray__item{display:flex;min-width:0}.tray-item{display:flex;flex:1 1 auto;flex-direction:column;gap:.1rem;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.25rem .2rem;border:1px solid var(--panel-edge, rgba(216, 155, 68, .28));border-radius:10px;background:linear-gradient(160deg,#d89b4433,#a8702a14 62%);color:var(--cream, #f7eedd);font:inherit;touch-action:none;cursor:pointer}.tray-item[data-active=true]{position:relative;border:2px solid var(--gold, #e4b33c);background:#e4b33c3d}.tray-item[data-active=true]:after{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--gold, #e4b33c);content:""}.tray-item[data-disabled=true]{border-style:dashed;cursor:default;opacity:.45}.tray-item--readout{cursor:default}.tray-item__figure{display:flex;align-items:center;justify-content:center;width:100%;height:24px}.tray-item__art{width:100%;height:100%;overflow:visible}.tray-item__shape{fill:#f0d9a024;stroke:var(--glaze, #f0d9a0);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tray-item__shape--line{fill:none;stroke-linecap:round}.tray-item__shape--fill{fill:var(--glaze, #f0d9a0);stroke:none}.tray-item__name,.tray-item__usage{display:none}.tray-item__name{max-width:100%;overflow:hidden;color:var(--glaze, #f0d9a0);font-size:.62rem;font-weight:700;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.tray-item__counts{display:flex;gap:.3rem;align-items:baseline}.tray-item__remaining{font-size:.92rem;font-weight:800;font-variant-numeric:tabular-nums}.tray-item__usage{color:#f7eedd9e;font-size:.58rem;font-variant-numeric:tabular-nums;white-space:nowrap}.tray__actions{display:grid;flex:none;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:4px}.tray__action{display:flex;gap:.3rem;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.3rem .35rem;border:1px solid var(--teal, #3e7f7a);border-radius:999px;background:#3e7f7a2e;color:var(--cream, #f7eedd);font:inherit;font-size:.7rem;font-weight:600;white-space:nowrap;cursor:pointer}.tray__action[data-disabled=true]{border-style:dashed;cursor:default;opacity:.45}.tray__action[data-ball-status=valid]{border-color:var(--gold, #e4b33c)}.tray__action-glyph{display:flex;flex:none;width:16px;height:16px}.tray__action-svg{width:100%;height:100%;fill:none;stroke:var(--cream, #f7eedd);stroke-width:.18;stroke-linecap:round;vector-effect:non-scaling-stroke}@media (min-height: 520px){.tray{--chip-min: 108px}.tray-item__name,.tray-item__usage{display:block}}@media (max-height: 480px){.tray-item__figure{height:22px}}@media (max-height: 320px){.tray{--rail-w: 200px;--chip-min: 44px;--rail-pad: 4px;--rail-gap: 4px;overflow-y:auto;scrollbar-width:thin}.tray__items{min-height:min-content;overflow:visible}.tray__tabs,.tray__actions{position:sticky;z-index:1;background:#2e211af7}.tray__tabs{top:0;box-shadow:0 4px 6px #2e211af7}.tray__actions{bottom:0;box-shadow:0 -4px 6px #2e211af7}.tray-item{gap:0;padding:2px}.tray-item__figure{height:18px}}@media (max-height: 199px){.tray{overflow-y:auto;scrollbar-width:thin}.tray__items{flex:none;min-height:auto;overflow:visible}}.joint-layer{position:absolute;z-index:6;top:0;right:0;bottom:0;left:0;touch-action:none;pointer-events:none}.joint{position:absolute;display:flex;flex-direction:column;gap:.3rem;max-width:calc(100% - 16px);padding:.3rem;transform:translate(-50%);border:1px solid var(--panel-edge, rgba(216, 155, 68, .28));border-radius:.6rem;background:#18100ce6;pointer-events:auto}.joint__row{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.joint__btn{min-height:44px;min-width:44px;padding:.3rem .7rem;border:1px solid var(--teal, #3e7f7a);border-radius:999px;background:#3e7f7a33;color:var(--cream, #f7eedd);font:inherit;font-size:.78rem;font-weight:600;white-space:nowrap;cursor:pointer}.joint__btn[data-active=true]{border-width:2px;background:#e4b33c42;color:var(--glaze, #f0d9a0)}.joint__btn[data-disabled=true]{border-style:dashed;cursor:default;opacity:.45}.joint__btn--disconnect{border-color:#a2503f;background:#a2503f38}.joint__btn:focus-visible{outline:3px solid var(--gold, #e4b33c);outline-offset:2px}.joint__sheet{display:flex;flex-direction:column;gap:.15rem;max-width:26ch;margin:0;padding:.25rem .4rem .35rem;border-top:1px solid var(--panel-edge, rgba(216, 155, 68, .28));color:var(--cream, #f7eedd);font-size:.72rem;line-height:1.3}.joint__joins{opacity:.82}.run-hud,.run-controls,.countdown,.endrun-scrim,.results-scrim{--chrome-ink: var(--ink, #2e211a);--chrome-cream: var(--cream, #f7eedd);--chrome-glaze: var(--glaze, #f0d9a0);--chrome-gold: var(--gold, #e4b33c);--chrome-teal: var(--teal, #3e7f7a);--chrome-wood: var(--wood, #d89b44);--chrome-panel: rgba(36, 25, 19, .86);--chrome-edge: rgba(216, 155, 68, .32);--chrome-tap: 44px}.run-hud{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:calc(.4rem + env(safe-area-inset-top)) calc(.6rem + env(safe-area-inset-right)) .4rem calc(.6rem + env(safe-area-inset-left));border-bottom:1px solid var(--chrome-edge);background:var(--chrome-panel);color:var(--chrome-cream)}.run-hud__stat{display:flex;gap:.35rem;align-items:baseline}.run-hud__stat--time{margin-left:auto}.run-hud__label{color:#f7eedd99;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.run-hud__value{color:var(--chrome-glaze);font-size:clamp(1rem,3vh,1.4rem);font-weight:800;font-variant-numeric:tabular-nums}.run-hud__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.run-hud__chip{display:flex;gap:.35rem;align-items:center;min-height:1.75rem;padding:.15rem .55rem;border:1px solid var(--chrome-teal);border-radius:999px;background:#3e7f7a33;font-size:.8rem}.run-hud__chip-name{font-weight:600}.run-hud__chip-fill{font-variant-numeric:tabular-nums;font-weight:800}.run-hud__chip[data-closed=true]{border-color:var(--chrome-gold);box-shadow:inset 0 3px 0 -1px var(--chrome-gold)}.run-hud__chip-lid{color:var(--chrome-gold);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.run-hud__status{color:#f7eedd8c;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.run-controls{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;padding:.4rem calc(.6rem + env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) calc(.6rem + env(safe-area-inset-left));border-top:1px solid var(--chrome-edge);background:var(--chrome-panel)}.run-controls__cam{display:flex;gap:.35rem;align-items:center}.run-controls__seg,.run-controls__speed,.run-controls__end{min-width:var(--chrome-tap);min-height:var(--chrome-tap);padding:.5rem 1rem;border:1px solid var(--chrome-teal);border-radius:999px;background:#3e7f7a29;color:var(--chrome-cream);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.run-controls__seg[data-active=true]{border-color:var(--chrome-gold);background:#e4b33c42;color:var(--chrome-glaze);font-weight:800}.run-controls__cam-mode{color:var(--chrome-glaze);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.run-controls__speed{font-variant-numeric:tabular-nums;font-weight:800}.run-controls__end{margin-left:auto;border-color:var(--chrome-wood);background:#d89b4433;font-weight:700}.run-controls__seg:focus-visible,.run-controls__speed:focus-visible,.run-controls__end:focus-visible,.endrun__btn:focus-visible,.results__btn:focus-visible{outline:3px solid var(--chrome-gold);outline-offset:2px}.run-controls__seg:disabled,.run-controls__speed:disabled,.run-controls__end:disabled{opacity:.45;cursor:default}.countdown{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(60% 60% at 50% 50%,rgba(19,13,10,.55),transparent 70%)}.countdown__step{color:var(--chrome-glaze);font-size:clamp(3rem,22vh,8rem);font-weight:900;letter-spacing:.02em;text-shadow:0 4px 0 rgba(19,13,10,.6);animation:countdown-pop .38s ease-out 1}.countdown[data-reduced-motion=on] .countdown__step{animation:countdown-fade .38s ease-out 1}@keyframes countdown-pop{0%{opacity:0;transform:scale(.62)}to{opacity:1;transform:scale(1)}}@keyframes countdown-fade{0%{opacity:0}to{opacity:1}}.endrun-scrim,.results-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,4vh,2rem);background:#130d0aa8}.endrun,.results{display:flex;flex-direction:column;gap:.75rem;width:min(34rem,100%);max-height:100%;overflow-y:auto;padding:clamp(.9rem,3vh,1.35rem);border:1px solid var(--chrome-edge);border-radius:16px;background:#241913;box-shadow:0 18px 46px #00000080;color:var(--chrome-cream)}.endrun__title,.results__title{margin:0;color:var(--chrome-glaze);font-size:clamp(1rem,3vh,1.3rem);font-weight:800}.endrun__body{margin:0;color:#f7eeddbf;font-size:.88rem}.endrun__actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.endrun__btn{min-width:var(--chrome-tap);min-height:var(--chrome-tap);padding:.6rem 1.2rem;border:1px solid var(--chrome-edge);border-radius:999px;background:#d89b4424;color:var(--chrome-cream);font:inherit;font-weight:700;cursor:pointer}.endrun__btn--keep{border-color:var(--chrome-gold);background:#e4b33c47;color:var(--chrome-glaze)}.endrun__btn--end{border-color:var(--chrome-teal);background:#3e7f7a2e}.results__headline{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:flex-end}.results__stat{display:flex;flex-direction:column;gap:.1rem}.results__label{color:#f7eedd99;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.results__value{color:var(--chrome-cream);font-size:clamp(1.05rem,3vh,1.5rem);font-weight:800;font-variant-numeric:tabular-nums}.results__stat--score .results__value{color:var(--chrome-glaze);font-size:clamp(1.6rem,6vh,2.6rem)}.results__stat--gain .results__value{color:var(--chrome-gold)}.results__section{display:flex;flex-direction:column;gap:.35rem}.results__tiers,.results__counts,.results__alloc{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.results__alloc{flex-direction:column}.results__tier{display:flex;gap:.35rem;align-items:center;min-height:1.75rem;padding:.15rem .6rem;border:1px solid rgba(247,238,221,.28);border-radius:999px;font-size:.78rem;font-weight:700}.results__tier[data-tier-reached=true]{border-color:var(--chrome-gold);background:#e4b33c38;color:var(--chrome-glaze)}.results__tier-new{padding:0 .35rem;border:1px solid var(--chrome-teal);border-radius:999px;color:var(--chrome-cream);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.results__count{display:flex;gap:.35rem;align-items:baseline;padding:.2rem .55rem;border:1px solid var(--chrome-edge);border-radius:10px;font-size:.78rem}.results__count-value{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}.results__count-label{color:#f7eeddb8}.results__alloc-row{display:flex;gap:.5rem;align-items:baseline;justify-content:space-between;padding:.3rem .55rem;border:1px solid var(--chrome-edge);border-radius:10px;font-size:.82rem}.results__alloc-row[data-closed=true]{box-shadow:inset 0 3px 0 -1px var(--chrome-gold)}.results__alloc-name{font-weight:600}.results__alloc-count,.results__alloc-points{font-variant-numeric:tabular-nums}.results__alloc-points{color:var(--chrome-glaze);font-weight:800}.results__alloc-empty{color:#f7eedd99;font-size:.82rem}.results__actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.results__btn{min-width:var(--chrome-tap);min-height:var(--chrome-tap);padding:.6rem 1.2rem;border:1px solid var(--chrome-edge);border-radius:999px;background:#3e7f7a29;color:var(--chrome-cream);font:inherit;font-weight:600;cursor:pointer}.results__btn--primary{flex:1 1 12rem;border-color:var(--chrome-gold);background:#e4b33c4d;color:var(--chrome-glaze);font-size:1rem;font-weight:800}.results__btn--quiet{margin-left:auto;border-color:#f7eedd38;background:transparent;color:#f7eeddc7;font-weight:500}@media (max-width: 700px){.results__btn--primary{flex:1 1 100%}}.failure-trace,.replay-label,.replay-controls{--tap: 44px;--ink-dark: rgba(20, 14, 10, .85);--ink-light: #f7eedd;--trace-halo: rgba(20, 14, 10, .8);--trace-ink: #f0d9a0;--panel: rgba(30, 21, 17, .82);--panel-edge: rgba(216, 155, 68, .34);--accent: #e4b33c;--teal: #3e7f7a}.failure-trace{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;opacity:1;transition:opacity .3s ease}.failure-trace[data-fading=true]{opacity:0}.failure-trace[data-reduced-motion=true]{transition:none}.failure-trace__marks{position:absolute;top:0;left:0;overflow:visible}.failure-trace__halo path,.failure-trace__ink path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 5}.failure-trace__halo path{stroke:var(--trace-halo);stroke-width:5.5}.failure-trace__ink path{stroke:var(--trace-ink);stroke-width:2.25}.failure-trace__dismiss{position:absolute;top:50%;right:max(.75rem,env(safe-area-inset-right));transform:translateY(-50%);min-width:var(--tap);min-height:var(--tap);padding:.5rem 1rem;border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);color:var(--ink-light);font:inherit;font-size:.85rem;font-weight:600;pointer-events:auto;cursor:pointer}.replay-label{position:absolute;top:max(.6rem,env(safe-area-inset-top));left:50%;z-index:4;padding:.3rem .9rem;transform:translate(-50%);border:1px solid var(--panel-edge);border-radius:999px;background:var(--panel);color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;pointer-events:none}.replay-controls{position:absolute;right:0;bottom:0;left:0;z-index:4;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.55rem max(.75rem,env(safe-area-inset-right)) max(.55rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));border-top:1px solid var(--panel-edge);background:var(--panel)}.replay-controls__btn{flex:none;min-width:var(--tap);min-height:var(--tap);padding:.5rem .9rem;border:1px solid var(--panel-edge);border-radius:.7rem;background:#3e7f7a29;color:var(--ink-light);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.replay-controls__play{min-width:5.5rem}.replay-controls__timeline{position:relative;display:flex;flex:1 1 12rem;gap:.5rem;align-items:center;min-width:8rem}.replay-controls__scrubber{flex:1 1 auto;min-height:var(--tap);accent-color:var(--accent);touch-action:none;cursor:pointer}.replay-controls__marks{position:absolute;top:50%;right:4.6rem;left:.35rem;height:0;pointer-events:none}.replay-controls__mark{position:absolute;top:-9px;width:2px;height:8px;background:var(--accent);opacity:.75}.replay-controls__time{flex:none;min-width:4.1rem;color:#f7eeddc7;font-size:.76rem;font-variant-numeric:tabular-nums;text-align:right}.replay-controls__segmented{display:flex;flex:none;gap:.3rem}.replay-controls__seg[data-active=true]{border-color:var(--accent);background:#e4b33c3d;font-weight:800}.replay-controls__seg[data-active=true]:before{content:"●";margin-right:.35rem;font-size:.7em}.replay-controls__back{margin-left:auto;border-color:var(--teal)}@media (prefers-reduced-motion: reduce){.failure-trace{transition:none}}.view-span-chip{align-self:center;padding:.25rem .6rem;border:1px solid var(--panel-edge);border-radius:999px;background:#130d0a80;color:#f7eeddcc;font-size:.74rem;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.play-surface{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top    top" "world  rail" "bottom bottom";gap:0;height:100%;padding:0;overflow:hidden}.play-surface__world-area{position:relative;grid-area:world;min-width:0;min-height:0}.play-surface__world{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.play-surface__world [data-selected=true]{filter:url(#dnt-sel-outline)}.play-surface__band{z-index:3;display:flex;flex-direction:column;min-width:0;min-height:0}.play-surface__band--top{grid-area:top}.play-surface__band--bottom{grid-area:bottom}.play-surface__band--rail{grid-area:rail}.play-hud{--hud-gutter: 20px;display:flex;gap:.4rem .6rem;align-items:center;justify-content:space-between;padding:calc(.4rem + env(safe-area-inset-top)) calc(var(--hud-gutter) + env(safe-area-inset-right)) .4rem calc(var(--hud-gutter) + env(safe-area-inset-left));border-bottom:1px solid var(--panel-edge);background:var(--panel)}.play-hud__group{display:flex;flex:none;flex-wrap:nowrap;gap:.4rem;align-items:center}.play-hud__identity{flex:0 1 auto;min-width:0;overflow:hidden;text-align:center;pointer-events:none}.play-hud__name{margin:0;overflow:hidden;color:var(--glaze);font-size:clamp(.82rem,2.6vh,1.2rem);font-weight:700;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.play-hud__best{margin:.1rem 0 0;color:#f7eeddb8;font-size:.76rem;font-variant-numeric:tabular-nums;white-space:nowrap}.play-hud__btn{display:inline-flex;flex:none;gap:.35rem;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.4rem .7rem;border:1px solid var(--panel-edge);border-radius:999px;background:#d89b4429;color:var(--cream);font:inherit;font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer}.play-hud__glyph{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.play-hud__btn:hover{background:#d89b444d}.play-hud__btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.play-hud__btn[data-disabled=true]{border-style:dashed;background:transparent;color:#f7eedd66;cursor:default}.play-hud__btn[data-active=true]{border-color:var(--gold);background:#e4b33c47}.play-hud__span{align-self:center;padding:.25rem .6rem;border:1px solid var(--panel-edge);border-radius:999px;background:#130d0a80;color:#f7eeddcc;font-size:.74rem;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-height: 480px),(max-width: 900px){.play-hud{--hud-gutter: 12px;padding-top:calc(2px + env(safe-area-inset-top));padding-bottom:2px}.play-hud__btn{padding:.35rem}.play-hud__btn-label,.play-hud__best{display:none}.play-hud__name{font-size:.82rem}}.play-surface__rotate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;gap:.5rem;align-items:center;justify-content:center;padding:2rem;background:#130d0af0;text-align:center}.play-surface__rotate-title{margin:0;color:var(--glaze);font-size:clamp(1rem,4vh,1.5rem);font-weight:700}.play-surface__rotate-body{margin:0;color:#f7eeddb8;font-size:.9rem}
