*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background-color:#141210;color:#fafaf9;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;overflow-x:hidden}#root,body{height:100%;min-height:100vh;min-height:100dvh}#root{display:flex;flex-direction:column}code{font-family:IBM Plex Mono,ui-monospace,monospace}:root{--paper:#0b0e14;--ink:#f4f4f5;--ink-soft:#94a3b8;--line:#94a3b838;--line-bright:#94a3b861;--ember:#f97316;--ember-dim:#f973162e;--neon:#4ade80;--neon-dim:#4ade8033;--danger-glow:#f8717159;--best:#fb923c;--radius-tight:2px;--radius-panel:14px;--font:"DM Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}.shell{-webkit-touch-callout:none;align-items:center;background-color:#0b0e14;background-color:var(--paper);background-image:radial-gradient(ellipse 900px 500px at 20% -10%,#f973162e,#0000 55%),linear-gradient(180deg,#06080d,#0b0e14 32%);background-image:radial-gradient(ellipse 900px 500px at 20% -10%,var(--ember-dim),#0000 55%),linear-gradient(180deg,#06080d 0,var(--paper) 32%);color:#f4f4f5;color:var(--ink);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);min-height:100vh;min-height:100dvh;padding:max(.75rem,env(safe-area-inset-top)) clamp(.65rem,3vw,2rem) max(1rem,env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none}.app-frame,.shell{display:flex;flex-direction:column}.app-frame{gap:.45rem;width:min(100%,min(600px,100vw - 1.25rem))}.bottom-hud,.top-hud{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172aa6;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-panel);box-shadow:inset 0 1px 0 #ffffff0a,0 8px 28px #00000059;gap:.5rem;padding:.55rem .65rem}.top-hud{display:grid;grid-template-columns:1fr auto 1fr}.bottom-hud{display:flex;justify-content:space-between}.top-hud__best,.top-hud__score{align-items:center;display:flex;gap:.45rem;min-width:0}.top-hud__score{justify-self:start}.top-hud__best{justify-content:flex-end;justify-self:end}.top-hud__difficulty{align-items:center;background:linear-gradient(180deg,#b4530959,#1e293ba6);border:1px solid #fbbf2447;border-radius:999px;box-shadow:0 2px 10px #00000040;display:flex;gap:.4rem;justify-content:center;justify-self:center;min-width:0;padding:.2rem .55rem}.top-hud__difficulty-emoji{font-size:1.15rem;line-height:1}.top-hud__difficulty-text{align-items:flex-start;display:flex;flex-direction:column;gap:.02rem;line-height:1.1}.top-hud__difficulty-label{color:#fef3c7bf;font-size:.52rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.top-hud__difficulty-value{color:#fef3c7;font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.top-hud__text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.top-hud__text--right{align-items:flex-end;text-align:right}.top-hud__label{color:#94a3b8;color:var(--ink-soft);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.top-hud__value{font-feature-settings:"tnum";font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:1.35rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em;line-height:1.1}.top-hud__value--best{color:#fb923c;color:var(--best)}.top-hud__icon{border:1px solid #94a3b838;border:1px solid var(--line);border-radius:999px;display:grid;flex-shrink:0;font-size:1rem;height:2.1rem;line-height:1;place-items:center;width:2.1rem}.top-hud__icon--score{background:#4ade801f;box-shadow:0 0 0 1px #4ade8033;color:#4ade80;color:var(--neon)}.top-hud__icon--trophy{background:#fb71851f;box-shadow:0 0 0 1px #fb718538}.bottom-hud{flex-wrap:wrap;row-gap:.45rem}.bottom-hud__volume-wrap{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:.35rem}.bottom-hud__volume-popover{align-items:center;display:flex;gap:.4rem;max-width:0;min-width:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-width .22s ease,opacity .18s ease}.bottom-hud__volume-wrap:focus-within .bottom-hud__volume-popover,.bottom-hud__volume-wrap:hover .bottom-hud__volume-popover{background:#0f172af7;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #00000059;margin:-.15rem 0;max-width:12rem;opacity:1;padding:.4rem .55rem;pointer-events:auto}.bottom-hud__volume-label{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bottom-hud__volume-range{accent-color:#4ade80;accent-color:var(--neon);cursor:pointer;height:.35rem;min-width:6.25rem;width:6.25rem}.bottom-hud__volume-pct{font-feature-settings:"tnum";color:#94a3b8;color:var(--ink-soft);flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:.65rem;font-variant-numeric:tabular-nums;min-width:2.25rem;text-align:right}.bottom-hud__icon-btn{background:#0f172ad9;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:12px;color:#f4f4f5;color:var(--ink);cursor:pointer;display:grid;flex-shrink:0;font-size:1.15rem;height:2.5rem;line-height:1;padding:0;place-items:center;transition:background .15s ease,border-color .15s ease;width:2.5rem}.bottom-hud__icon-btn:hover{background:#1e293bf2;border-color:#94a3b861;border-color:var(--line-bright)}.bottom-hud__icon-btn--muted{opacity:.65}.bottom-hud__menu-btn{background:#0f172ae6;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:999px;color:#94a3b8;color:var(--ink-soft);cursor:pointer;flex-shrink:0;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);font-size:.68rem;font-weight:700;letter-spacing:.1em;padding:.45rem .65rem;text-transform:uppercase;transition:color .15s ease,border-color .15s ease,background .15s ease}.bottom-hud__menu-btn:hover{border-color:#94a3b861;border-color:var(--line-bright);color:#f4f4f5;color:var(--ink)}.menu-backdrop{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020617b8;display:flex;inset:0;justify-content:center;padding:1.25rem;position:fixed;z-index:100}.menu-panel{background:#0f172af5;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-panel);box-shadow:0 24px 60px #0000008c;padding:1.35rem 1.25rem 1.25rem;width:min(100%,340px)}.menu-panel__title{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .35rem}.menu-panel__sub{color:#94a3b8;color:var(--ink-soft);font-size:.88rem;line-height:1.45;margin:0 0 1rem}.menu-panel__label{color:#94a3b8;color:var(--ink-soft);display:block;font-size:.62rem;font-weight:700;letter-spacing:.14em;margin:0 0 .35rem;text-transform:uppercase}.menu-panel__row{align-items:center;display:flex;gap:.65rem;margin-bottom:1rem}.menu-panel__range{accent-color:#4ade80;accent-color:var(--neon);cursor:pointer;flex:1 1;height:.35rem;min-width:0}.menu-panel__pct{color:#94a3b8;color:var(--ink-soft);flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:.75rem;min-width:2.5rem;text-align:right}.menu-panel__close{margin-top:.25rem}.masthead{border-bottom:1px solid #94a3b838;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;width:min(100%,min(640px,100vw - 1.25rem))}@media (min-width:600px){.masthead{align-items:flex-end;flex-direction:row;gap:1.5rem;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1.25rem}}.masthead__aside{align-items:stretch;display:flex;flex-direction:column;gap:1rem;width:100%}@media (min-width:600px){.masthead__aside{align-items:flex-end;width:auto}}.audio-panel{background:#0003;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:2px;border-radius:var(--radius-tight);max-width:220px;padding:.65rem .75rem;width:100%}@media (min-width:600px){.audio-panel{margin-left:auto}}.audio-panel__label{color:#94a3b8;color:var(--ink-soft);display:block;font-size:.65rem;font-weight:600;letter-spacing:.14em;margin:0 0 .4rem;text-transform:uppercase}.audio-panel__row{align-items:center;display:flex;gap:.65rem}.audio-panel__range{accent-color:#f97316;accent-color:var(--ember);cursor:pointer;flex:1 1;height:.35rem;min-width:0}.audio-panel__value{font-feature-settings:"tnum";color:#94a3b8;color:var(--ink-soft);flex-shrink:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:.75rem;font-variant-numeric:tabular-nums;min-width:2.25rem;text-align:right}.audio-panel__check{align-items:center;color:#94a3b8;color:var(--ink-soft);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;margin:0;-webkit-user-select:none;user-select:none}.audio-panel__check input{accent-color:#f97316;accent-color:var(--ember);cursor:pointer}.masthead__eyebrow{color:#f97316;color:var(--ember);font-size:.65rem;font-weight:700;letter-spacing:.28em;margin:0 0 .35rem;text-transform:uppercase}.masthead__title{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:800;letter-spacing:-.045em;line-height:1.05;margin:0}.masthead__sub{color:#94a3b8;color:var(--ink-soft);font-size:.95rem;line-height:1.45;margin:.5rem 0 0;max-width:34ch}.difficulty{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.difficulty__btn{-webkit-appearance:none;appearance:none;background:#00000040;border:1px solid #94a3b861;border:1px solid var(--line-bright);border-radius:2px;border-radius:var(--radius-tight);color:#94a3b8;color:var(--ink-soft);cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0;padding:.4rem .75rem;text-transform:uppercase;transition:color .15s ease,border-color .15s ease,background .15s ease}.difficulty__btn:hover{border-color:#ea580c73;color:#f4f4f5;color:var(--ink)}.difficulty__btn--active{background:#f97316;background:var(--ember);border-color:#f97316;border-color:var(--ember);color:#0b0e14;color:var(--paper)}.difficulty__btn--active:hover{color:#0b0e14;color:var(--paper);filter:brightness(1.05)}.masthead__stats{align-items:stretch;display:flex;flex-shrink:0;gap:0;margin:0}.stat{display:flex;flex-direction:column;gap:.15rem;min-width:5.5rem;padding:0 1.1rem}.stat:first-child{padding-left:0}.stat--split{border-left:1px solid #94a3b838;border-left:1px solid var(--line);padding-left:1.1rem}.stat__label{color:#94a3b8;color:var(--ink-soft);font-size:.65rem;font-weight:600;letter-spacing:.16em;margin:0;text-transform:uppercase}.stat__value{font-feature-settings:"tnum";font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:1.65rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em;margin:0}.stat__value--best{color:#fb923c;color:var(--best)}.stage-wrap{display:flex;flex-direction:column;gap:0;min-height:0;width:100%}.stage{background:#06080d;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:16px;border-radius:calc(var(--radius-panel) + 2px);box-shadow:inset 0 1px 0 #ffffff0d,0 12px 40px #00000059;overflow:hidden}.playfield{aspect-ratio:6/7;background-color:#06080d;background-position:50%;background-size:cover;height:auto;margin:0 auto;max-height:min(78dvh,720px);max-width:600px;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.playfield__touch{cursor:grab;inset:0;position:absolute;touch-action:none;z-index:6}.playfield__touch:active{cursor:grabbing}.playfield__veil{background:linear-gradient(165deg,#0c0a0980,#0c0a091f 42%,#0c0a09a6);inset:0;z-index:0}.playfield__bar,.playfield__veil{pointer-events:none;position:absolute}.playfield__bar{align-items:center;background:#0c0a09bf;border-bottom:1px solid #ffffff0f;display:flex;font-size:.7rem;font-weight:600;justify-content:space-between;left:0;letter-spacing:.08em;padding:.5rem .65rem;right:0;text-transform:uppercase;top:0;z-index:2}.playfield__bar-label{color:#94a3b8;color:var(--ink-soft)}.playfield__bar-state{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:.65rem;letter-spacing:.04em}.playfield__bar-state--on{color:#86efac}.playfield__bar-state--off{color:#fca5a5}@keyframes sprite-enter{0%{opacity:0;transform:translate3d(0,-14px,0)}to{opacity:1;transform:translateZ(0)}}.sprite{animation:sprite-enter .38s cubic-bezier(.22,1,.36,1) forwards;backface-visibility:hidden;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));height:70px;object-fit:contain;object-position:top center;pointer-events:none;position:absolute;width:100px;will-change:top,left,transform,opacity;z-index:1}.sprite--bad{filter:drop-shadow(0 0 10px rgba(248,113,113,.35));filter:drop-shadow(0 0 10px var(--danger-glow))}.basket{backface-visibility:hidden;bottom:0;height:auto;pointer-events:none;position:absolute;width:100px;will-change:left;z-index:2}.basket__img{display:block;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55));height:auto;width:100%}.overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020617c7;display:flex;inset:0;justify-content:center;padding:1.25rem;position:absolute;z-index:10}.overlay__card{background:#0f172af5;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-panel);box-shadow:0 22px 50px #0000008c;padding:1.5rem 1.35rem;text-align:center;width:min(100%,300px)}.overlay__card--menu{-webkit-overflow-scrolling:touch;max-height:min(88vh,640px);overflow-x:hidden;overflow-y:auto;padding:1.25rem 1.1rem 1.15rem;width:min(100%,380px)}.game-menu__fruits{align-items:center;display:flex;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));font-size:1.65rem;gap:.5rem;justify-content:center;line-height:1;margin:0 0 .35rem}.game-menu__title{font-size:clamp(1.35rem,4.5vw,1.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 .35rem}.game-menu__sub{color:#94a3b8;color:var(--ink-soft);font-size:.82rem;line-height:1.4;margin:0 auto .85rem;max-width:28ch}.game-menu__section-label{color:#94a3b8;color:var(--ink-soft);font-size:.58rem;font-weight:700;letter-spacing:.2em;margin:0 0 .4rem;text-align:center;text-transform:uppercase}.game-menu__diff{align-items:stretch;display:flex;gap:.35rem;justify-content:center;margin:0 0 1rem}.game-menu__diff-btn{align-items:center;background:#0f172af2;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:999px;color:#94a3b8;color:var(--ink-soft);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);font-size:clamp(.58rem,2.5vw,.72rem);font-weight:700;gap:.12rem;justify-content:center;letter-spacing:.04em;min-width:0;padding:.45rem .25rem;text-transform:uppercase;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.game-menu__diff-btn:hover{border-color:#94a3b861;border-color:var(--line-bright);color:#f4f4f5;color:var(--ink)}.game-menu__diff-btn--active{background:linear-gradient(180deg,#4ade80,#22c55e);background:linear-gradient(180deg,var(--neon) 0,#22c55e 100%);border-color:#4ade80d9;box-shadow:0 0 0 1px #4ade8059,0 6px 18px #22c55e40;color:#0f172a}.game-menu__diff-emoji{font-size:1rem;line-height:1}.game-menu__primary{margin-bottom:1rem}.game-menu__play-icon{display:inline-block;font-size:.85rem;margin-right:.15rem}.game-menu__controls{padding-top:.65rem;text-align:center}.game-menu__controls-heading{color:#94a3b8;color:var(--ink-soft);font-size:.58rem;font-weight:700;letter-spacing:.22em;margin:0 0 .45rem;text-transform:uppercase}.game-menu__controls-row{color:#94a3b8;color:var(--ink-soft);font-size:.78rem;line-height:1.45;margin:0 0 .35rem}.game-menu__controls-row--last{font-size:.74rem;margin-bottom:0}.game-menu__controls-kbd{align-items:center;display:inline-flex;gap:.2rem;margin-right:.35rem;vertical-align:middle}.game-menu__kbd-slash{font-size:.85rem;opacity:.45;-webkit-user-select:none;user-select:none}.game-menu__controls-note{font-size:.72rem}.overlay__emoji{filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));font-size:2.75rem;line-height:1;margin:0 0 .5rem}.overlay__ribbon{background:#f97316;background:var(--ember);color:#0b0e14;color:var(--paper);display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.18em;margin:0 0 .75rem;padding:.2rem .5rem;text-transform:uppercase}.overlay__heading{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .65rem}.overlay__scoreline{align-items:center;display:flex;font-size:1.15rem;font-weight:700;gap:.35rem;justify-content:center;margin:0 0 .35rem}.overlay__star{color:#4ade80;color:var(--neon);filter:drop-shadow(0 0 8px rgba(74,222,128,.2));filter:drop-shadow(0 0 8px var(--neon-dim))}.overlay__scoreline .overlay__num{color:#4ade80;color:var(--neon);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);font-size:1.35rem;font-weight:800}.overlay__line{color:#94a3b8;color:var(--ink-soft);font-size:.95rem;margin:0 0 .35rem}.overlay__num{color:#f4f4f5;color:var(--ink);font-weight:600}.overlay__meta,.overlay__num{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.overlay__meta{color:#94a3b8;color:var(--ink-soft);font-size:.8rem;margin:0 0 1.1rem}.overlay__meta--tight{margin-bottom:.85rem}.btn{-webkit-appearance:none;appearance:none;background:#f97316;background:var(--ember);border:none;border-radius:2px;border-radius:var(--radius-tight);color:#0b0e14;color:var(--paper);cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);font-size:.8rem;font-weight:700;letter-spacing:.14em;margin:0;padding:.65rem 1rem;text-transform:uppercase;transition:filter .15s ease,transform .1s ease;width:100%}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn.btn--play{align-items:center;background:linear-gradient(180deg,#4ade80,#22c55e);background:linear-gradient(180deg,var(--neon) 0,#22c55e 100%);border:1px solid #4ade80e6;border-radius:999px;box-shadow:0 0 0 1px #4ade8040,0 8px 24px #22c55e47;color:#0f172a;display:inline-flex;font-size:.78rem;gap:.45rem;justify-content:center;letter-spacing:.12em;padding:.7rem 1rem;text-transform:uppercase;width:100%}.btn.btn--play:hover{filter:brightness(1.06)}.hint{color:#94a3b8;color:var(--ink-soft);display:flex;font-size:clamp(.72rem,2.8vw,.8rem);margin:0;max-width:36ch;padding:0 .25rem;text-align:center}.hint,.hint__block{align-items:center;flex-wrap:wrap;gap:.35rem .45rem;justify-content:center}.hint__block{display:inline-flex}.hint__block--touch{flex-basis:100%;width:100%}@media (min-width:520px){.hint__block--touch{flex-basis:auto;width:auto}}.hint__slash{opacity:.45;-webkit-user-select:none;user-select:none}.hint__copy{margin-left:.15rem}.key{align-items:center;background:#1c1917;border:1px solid #94a3b861;border:1px solid var(--line-bright);border-radius:2px;border-radius:var(--radius-tight);color:#f4f4f5;color:var(--ink);display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:.72rem;font-weight:600;justify-content:center;min-width:1.85rem;padding:.25rem .45rem}.key--sm{font-size:.65rem;min-width:1.35rem;padding:.15rem .35rem}.hint__meta{margin-left:.15rem;opacity:.9}.shell--mobile{align-items:stretch;max-height:100dvh;overflow:hidden;padding:max(.35rem,env(safe-area-inset-top)) max(.35rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left))}.shell--mobile,.shell--mobile .app-frame{flex:1 1;max-width:none;min-height:0;width:100%}.shell--mobile .app-frame{display:flex;flex-direction:column}.shell--mobile .stage-wrap{flex:1 1;min-height:0}.shell--mobile .stage{display:flex;flex:1 1;flex-direction:column;min-height:0}.shell--mobile .playfield{align-self:center;aspect-ratio:6/7;flex:1 1;height:auto;max-height:min(72dvh,720px);max-width:min(600px,100%);min-height:0;width:100%}.mobile-steer{grid-gap:.55rem;display:grid;flex-shrink:0;gap:.55rem;grid-template-columns:1fr 1fr;padding-top:.15rem;width:100%}.mobile-steer__btn{align-items:center;background:#1e293beb;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-panel);box-shadow:0 4px 14px #00000059;color:#f4f4f5;color:var(--ink);cursor:pointer;display:flex;font-size:1.35rem;font-weight:800;justify-content:center;line-height:1;min-height:3.35rem;padding:.5rem 1rem;touch-action:none;transition:background .12s ease,border-color .12s ease,transform .08s ease;-webkit-user-select:none;user-select:none}.mobile-steer__btn:active{background:#4ade8038;border-color:#4ade808c;transform:scale(.98)}.shell--lobby,.shell--name-gate{align-items:center;justify-content:center;min-height:100dvh;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.shell--lobby{display:flex}.lobby-card{width:min(100%,400px)}.lobby-card__sub{color:#94a3b8;color:var(--ink-soft);font-size:.88rem;line-height:1.45;margin:0 0 1rem;text-align:center}.lobby-card__play{margin-top:.35rem}.lobby-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.name-gate-backdrop{width:min(100%,380px)}.name-gate-card{background:#0f172afa;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-panel);box-shadow:0 24px 60px #0000008c;padding:1.5rem 1.25rem 1.35rem}.name-gate__title{font-size:1.45rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .5rem;text-align:center}.name-gate__sub{font-size:.86rem;line-height:1.45;margin:0 0 1rem;text-align:center}.name-gate__label,.name-gate__sub{color:#94a3b8;color:var(--ink-soft)}.name-gate__label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.14em;margin:0 0 .35rem;text-transform:uppercase}.name-gate__err{background:#7f1d1d59;border:1px solid #f8717159;border-radius:8px;color:#fecaca;font-size:.8rem;line-height:1.35;margin:0 0 .75rem;padding:.45rem .55rem}.name-gate__input{background:#020617a6;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:10px;box-sizing:border-box;color:#f4f4f5;color:var(--ink);font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);font-size:1rem;margin:0 0 .5rem;padding:.6rem .75rem;width:100%}.name-gate__input::placeholder{color:#94a3b8;color:var(--ink-soft);opacity:.75}.name-gate__submit{margin-top:.35rem;width:100%}.leaderboard-backdrop{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020617c7;display:flex;inset:0;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));position:fixed;z-index:110}.leaderboard-panel{background:#0f172afa;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-panel);box-shadow:0 24px 60px #0000008c;display:flex;flex-direction:column;max-height:min(85dvh,640px);padding:1.1rem 1rem 1rem;width:min(100%,400px)}.leaderboard-panel__head{margin-bottom:.65rem}.leaderboard-panel__title{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .25rem}.leaderboard-panel__section-label{color:#94a3b8;color:var(--ink-soft);font-size:.58rem;font-weight:700;letter-spacing:.14em;margin:0 0 .35rem;text-transform:uppercase}.leaderboard-panel__hint{color:#94a3b8;color:var(--ink-soft);font-size:.72rem;margin:0}.leaderboard-panel__warn{background:#78350f59;border:1px solid #fbbf2459;border-radius:8px;color:#fde68a;font-size:.72rem;line-height:1.4;margin:0 0 .65rem;padding:.5rem .55rem}.leaderboard-panel__code{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:.65rem;word-break:break-all}.leaderboard-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.leaderboard-tabs--difficulty{margin-bottom:.65rem;margin-top:0}.leaderboard-tabs__btn{background:#0f172af2;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:999px;color:#94a3b8;color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);font-size:.65rem;font-weight:700;letter-spacing:.06em;min-width:4.5rem;padding:.4rem .35rem;text-transform:uppercase}.leaderboard-tabs__btn--active{background:linear-gradient(180deg,#4ade80,#22c55e);background:linear-gradient(180deg,var(--neon) 0,#22c55e 100%);border-color:#4ade80d9;color:#0f172a}.leaderboard-panel__empty,.leaderboard-panel__err,.leaderboard-panel__status{color:#94a3b8;color:var(--ink-soft);font-size:.82rem;margin:0 0 .5rem}.leaderboard-panel__err{color:#fca5a5}.leaderboard-table-wrap{border:1px solid #94a3b838;border:1px solid var(--line);border-radius:10px;flex:1 1;margin-bottom:.65rem;min-height:0;overflow:auto}.leaderboard-table{border-collapse:collapse;font-size:.78rem;width:100%}.leaderboard-table td,.leaderboard-table th{border-bottom:1px solid #94a3b826;padding:.35rem .5rem;text-align:left}.leaderboard-table th{background:#0f172afa;color:#94a3b8;color:var(--ink-soft);font-size:.58rem;letter-spacing:.12em;position:sticky;text-transform:uppercase;top:0}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table td:first-child{font-feature-settings:"tnum";color:#94a3b8;color:var(--ink-soft);font-variant-numeric:tabular-nums;width:2rem}.leaderboard-table td:last-child{font-feature-settings:"tnum";color:#4ade80;color:var(--neon);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.leaderboard-table__name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-panel__close{flex-shrink:0;margin-top:auto}.menu-panel__name-err{background:#7f1d1d59;border:1px solid #f8717159;border-radius:8px;color:#fecaca;font-size:.78rem;line-height:1.35;margin:0 0 .5rem;padding:.45rem .55rem}.menu-panel__name-input{background:#0206178c;border:1px solid #94a3b838;border:1px solid var(--line);border-radius:10px;box-sizing:border-box;color:#f4f4f5;color:var(--ink);font-size:.9rem;margin:0 0 .5rem;padding:.5rem .65rem}.menu-panel__name-input,.menu-panel__save-name{font-family:DM Sans,system-ui,sans-serif;font-family:var(--font);width:100%}.menu-panel__save-name{background:#0000;border:1px solid #4ade8073;border-radius:999px;color:#4ade80;color:var(--neon);cursor:pointer;font-size:.68rem;font-weight:700;letter-spacing:.08em;margin:0 0 1rem;padding:.45rem .75rem;text-transform:uppercase;transition:background .15s ease}.menu-panel__save-name:hover{background:#4ade801f}