:root{--safe-top: max(var(--cp-safe-top, 0px), env(safe-area-inset-top, 0px));--safe-right: max(var(--cp-safe-right, 0px), env(safe-area-inset-right, 0px));--safe-bottom: max(var(--cp-safe-bottom, 0px), env(safe-area-inset-bottom, 0px));--safe-left: max(var(--cp-safe-left, 0px), env(safe-area-inset-left, 0px));--bg-primary-rgb: 30, 26, 43;--bg-primary: rgb(var(--bg-primary-rgb));--bg-board: #15121F;--bg-secondary: #181421;--bg-card-rgb: 42, 37, 64;--bg-card: rgb(var(--bg-card-rgb));--bg-card-soft: #342E4D;--bg-glass: rgba(255, 248, 236, .06);--accent-primary-rgb: 255, 107, 107;--accent-primary: rgb(var(--accent-primary-rgb));--accent-primary-dark: #E55A5A;--accent-secondary-rgb: 255, 140, 66;--accent-secondary: rgb(var(--accent-secondary-rgb));--accent-secondary-dark: #E67A33;--text-primary: #F7F1E8;--text-secondary: rgba(247, 241, 232, .65);--text-faint: rgba(247, 241, 232, .4);--font-brand: "Baloo 2", system-ui, -apple-system, sans-serif;--font-hud: "Orbitron", sans-serif;--danger: #ff4444;--border: rgba(255, 248, 236, .08);--border-strong: rgba(255, 248, 236, .16);--medal-silver: rgb(192, 192, 192);--btn-primary-text: #1E1A2B;--ping-good: #7BED6F;--ping-ok: #FFE066;--ping-bad: #e74856;--overlay-bg: rgba(var(--bg-primary-rgb), .88);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .32);--transition-fast: .15s ease;--transition-normal: .3s ease;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 12px;--radius-btn: 16px;--radius-lg: 18px;--radius-xl: 22px;--radius-pill: 999px}.btn{border:none;border-radius:var(--radius-btn);font-family:var(--font-brand);font-weight:700;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-fast),filter var(--transition-fast)}.btn-primary{background:linear-gradient(180deg,var(--accent-primary) 0%,var(--accent-primary-dark) 100%);color:var(--btn-primary-text);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:active,.btn-primary.press-sim{transform:scale(.95);box-shadow:none}.btn-primary:disabled{background:var(--bg-card);color:var(--text-secondary);box-shadow:none;cursor:not-allowed;transform:none}#name-join-btn:not(:disabled),#start-btn:not(:disabled),#pause-continue-btn,#play-again-btn,#reconnect-btn,#reconnect-rejoin-btn,#settings-close{background:var(--player-color, var(--accent-primary));background:linear-gradient(180deg,var(--player-color, var(--accent-primary)) 0%,color-mix(in srgb,var(--player-color, var(--accent-primary)) 82%,black) 100%);color:var(--btn-primary-text)}.btn-secondary{background:var(--bg-card-soft);border:none;color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover{filter:brightness(1.15)}.btn-secondary:active,.btn-secondary.press-sim{transform:scale(.95);box-shadow:none}.btn-ghost{background:transparent;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.btn-ghost:hover{background:var(--bg-card-soft);color:var(--text-primary)}.btn-ghost:active{background:var(--bg-card)}.btn:focus-visible,.icon-btn:focus-visible,.level-btn:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.icon-btn{width:52px;height:52px;border:1px solid rgba(255,248,236,.12);border-radius:50%;background:#15121f66;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),transform var(--transition-fast)}@media(hover:hover){.icon-btn:hover:not(:disabled){background:var(--bg-card-soft)}}.icon-btn:active{background:#15121fb3;transform:scale(.95)}.icon-btn>svg{width:48%;height:48%}.player-card{display:flex;flex-direction:column;align-items:stretch;width:100%;padding:0;border-radius:20px;background:var(--bg-card);background:color-mix(in oklab,var(--player-color, var(--bg-card-soft)) 20%,var(--bg-card));box-shadow:var(--shadow-sm);font-family:var(--font-brand);font-weight:600;letter-spacing:.05em;color:var(--player-color, var(--text-primary));aspect-ratio:2 / 1}.player-card__top{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;padding:0 clamp(8px,1.4vmin,14px)}.card-level{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;padding:0 clamp(8px,1.4vmin,14px);font-family:var(--font-brand);gap:clamp(.4rem,.7vmin,.65rem)}.card-level__pill{display:inline-flex;align-items:baseline;gap:.5em;background:#15121f59;border-radius:var(--radius-pill);padding:.3em 1em .24em}.identity-name{flex:0 1 auto;min-width:0;max-width:100%;text-align:center;font-family:var(--font-brand);font-weight:800;font-size:clamp(1.5rem,4vmin,1.7rem);letter-spacing:.04em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-card.empty{--player-color: initial}.player-card.empty{background:#15121f8c;border:1px solid rgba(255,248,236,.05);box-shadow:none;align-items:center;justify-content:center}.player-card.empty .player-card__top,.player-card.empty .card-level{display:none}.player-card__opening{display:none;opacity:.5}.player-card.empty .player-card__opening{display:flex;animation:breathe 3.2s ease-in-out infinite}@keyframes breathe{50%{opacity:.27}}@media(prefers-reduced-motion:reduce){.player-card.empty .player-card__opening{animation:none}}.brand-lockup{font-family:var(--font-brand);font-weight:800;letter-spacing:.06em;line-height:1.1;color:var(--text-primary)}.brand-lockup__mark{display:block;width:1.35em;height:auto;margin:0 auto .32em}.brand-lockup__text{display:block;text-indent:.06em}.brand-lockup__sub{display:block;font-size:.42em;font-weight:600;letter-spacing:.35em;margin-top:.1em;text-indent:.35em;text-transform:uppercase;color:#fff3c2}.pause-icon{display:flex;gap:3px}.pause-icon:before,.pause-icon:after{content:"";width:4px;height:18px;background:var(--text-primary);border-radius:1.5px}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.game-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:max(var(--safe-top),8px) max(var(--safe-right),12px) calc(var(--safe-bottom) + 16px) max(var(--safe-left),12px);background:var(--overlay-bg);animation:fadeIn .3s ease both}.game-overlay.hidden{display:none!important}.game-overlay.closing{animation:fadeOut .2s ease both;pointer-events:none}.game-overlay h1{font-family:var(--font-brand);font-size:clamp(1.3rem,6vw,1.8rem);font-weight:900;letter-spacing:.15em;color:var(--text-primary)}.game-overlay__status{font-size:clamp(1.2rem,2.4vh,1.6rem);font-weight:600;color:var(--text-secondary);letter-spacing:.04em}@keyframes resultRowIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes resultsButtonsEnter{0%{opacity:0;pointer-events:none}to{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){#gameover-buttons,#pause-buttons,#results-buttons{animation:none;opacity:1;pointer-events:auto}}.result-row{display:flex;align-items:center;border-radius:20px;background:var(--bg-card);box-shadow:var(--shadow-sm);animation:resultRowIn .4s ease-out both;animation-delay:var(--row-delay, .2s)}.result-row--joining{opacity:.75;background:#15121f8c;border:1px solid rgba(255,248,236,.05);box-shadow:none}.result-rank{font-family:var(--font-hud);font-weight:900;letter-spacing:-.02em;flex-shrink:0;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:1ch;text-align:center}.result-name{font-family:var(--font-brand)}*{margin:0;padding:0;box-sizing:border-box}:root{--app-height: 100dvh;--content-lift: clamp(40px, 7vh, 64px)}html,body{width:100%;height:var(--app-height);min-height:var(--app-height);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0;background:var(--bg-primary);color:var(--text-primary);font-family:system-ui,-apple-system,sans-serif;overscroll-behavior:none}#bg-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.screen{position:absolute;top:0;left:0;width:100%;height:var(--app-height);display:flex;flex-direction:column;align-items:center;justify-content:center}.controller-shell{padding:max(var(--safe-top),8px) max(var(--safe-right),12px) calc(var(--safe-bottom) + 16px) max(var(--safe-left),12px);background:none}.controller-shell__frame{width:min(100%,380px);height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:var(--content-lift)}.controller-shell__brand{width:100%;display:flex;justify-content:center;padding-top:0}.controller-shell__title{font-size:clamp(1.6rem,9vmin,2.8rem);filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));animation:fadeDown .5s ease-out both;text-align:center}.controller-shell__body{width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;margin-top:clamp(24px,5vh,44px)}.controller-shell__actions{width:100%;max-width:320px;display:flex;flex-direction:column;gap:12px}.controller-shell__actions--name,.controller-shell__actions--lobby{margin-top:16px}.controller-shell__actions:has(.status-banner:not(.hidden)){max-width:min(92%,420px);align-items:stretch;margin-top:24px}.join-url-hint{position:absolute;bottom:max(var(--safe-bottom),8px);left:12px;right:12px;font-size:clamp(1rem,4.5vw,1.2rem);color:var(--text-secondary);text-align:center;word-break:break-all;line-height:1.3}.legal-links{position:absolute;bottom:calc(var(--safe-bottom) + 8px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;font-size:clamp(.85rem,4vw,1rem);color:var(--text-secondary);white-space:nowrap}.legal-links a{color:inherit;text-decoration:none;padding:8px 4px;transition:color var(--transition-fast)}.legal-links a:hover,.legal-links a:focus-visible,.legal-links a:active{color:var(--accent-secondary)}.legal-links a:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px;border-radius:2px}#lobby-screen.controller-shell{padding-top:0}#lobby-top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;padding:12px;padding-top:max(var(--safe-top),12px);padding-right:max(var(--safe-right),12px);padding-left:max(var(--safe-left),12px);z-index:1;pointer-events:none}#lobby-top-bar>*{pointer-events:auto}#lobby-settings-btn{margin-left:auto}#lobby-back-btn svg{transform:translate(-5%)}.controller-shell__frame--lobby{flex:1;height:auto;justify-content:center}.hidden{display:none!important}#name-form{display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;animation:fadeUp .5s .15s ease-out both}#name-input{width:100%;padding:14px 20px;border-radius:var(--radius-btn);border:1px solid var(--border-strong);background:#15121f99;color:var(--text-primary);font-family:var(--font-brand);font-size:clamp(1.1rem,5vw,1.4rem);font-weight:600;letter-spacing:.06em;text-align:center;outline:none;transition:border-color var(--transition-fast);-webkit-appearance:none}#name-input::placeholder{color:var(--text-secondary);font-weight:500;letter-spacing:.02em}#name-input:focus{border-color:var(--accent-secondary)}#name-join-btn,#start-btn,#pause-continue-btn,#pause-settings-btn,#pause-newgame-btn,#reconnect-rejoin-btn,#play-again-btn,#new-game-btn{width:100%;max-width:320px;padding:20px 18px;font-size:1.1rem;letter-spacing:.1em;text-align:center}#name-join-btn,#start-btn{animation:fadeUp .5s .4s ease-out backwards}#player-identity{display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;animation:fadeUp .5s .3s ease-out both}#player-identity-card{justify-content:space-evenly}.identity-trigger{appearance:none;-webkit-appearance:none;flex:0 0 auto;padding:6px clamp(8px,1.4vmin,14px);background:transparent;border:0;outline:none;border-radius:14px;color:inherit;font:inherit;cursor:pointer;transition:background var(--transition-fast)}.identity-trigger:active{background:#ffffff14}.identity-trigger .identity-name{font-size:clamp(1.9rem,9.5vmin,2.5rem)}#level-selector{flex:0 0 auto;gap:16px}#level-selector .level-center{position:relative;display:flex;flex-direction:column;align-items:center;min-width:4.5em}#level-selector .level-heading{position:absolute;bottom:calc(100% + 2px);left:0;right:0;text-align:center;font-family:var(--font-brand);font-size:.7rem;font-weight:700;color:var(--text-secondary);letter-spacing:.24em;text-indent:.24em;text-transform:uppercase}#level-display{font-family:var(--font-hud);font-size:1.5rem;font-weight:700;color:var(--text-primary);min-width:1.4em;text-align:center;font-variant-numeric:tabular-nums}#level-selector .level-btn{height:52px;aspect-ratio:1;border:1px solid rgba(255,248,236,.12);border-radius:50%;background:#15121f66;color:var(--text-primary);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast)}#level-selector .level-btn>svg{max-width:55%;max-height:55%}#level-selector .level-btn:active:not(:disabled){background:#15121fb3;transform:scale(.95)}#level-selector .level-btn:disabled{opacity:.25;cursor:default}#color-picker-overlay{z-index:20;gap:14px;padding-bottom:calc(var(--safe-bottom) + 16px + var(--content-lift));animation:none;transition:opacity .22s ease-out;pointer-events:none}#color-picker-overlay.hidden{display:flex!important;opacity:0}#color-picker-overlay:not(.hidden),#color-picker-overlay:not(.hidden) .rose-cell__hit,#color-picker-overlay:not(.hidden) .picker-close{animation:pickerEnableInteractive 1ms .35s forwards}@keyframes pickerEnableInteractive{to{pointer-events:auto}}.picker-close{position:absolute;top:max(var(--safe-top),12px);right:max(var(--safe-right),12px);pointer-events:none}.picker-rose__title{font-family:var(--font-brand);font-size:clamp(1rem,4.5vw,1.3rem);font-weight:800;letter-spacing:.12em;color:var(--text-primary);text-transform:uppercase;margin:0;text-align:center}#color-picker.rose{--hex-w: clamp(70px, 22vw, 92px);--hex-h: calc(var(--hex-w) * (88 / 102));position:relative;width:calc(var(--hex-w) * 2.5);height:calc(var(--hex-h) * 3)}.rose-cell{appearance:none;-webkit-appearance:none;position:absolute;width:var(--hex-w);height:var(--hex-h);padding:0;border:0;background:transparent;cursor:pointer;outline:none;pointer-events:none;transition:filter var(--transition-fast)}.rose-cell__hit{position:absolute;inset:0;clip-path:polygon(100% 50%,75% 100%,25% 100%,0% 50%,25% 0%,75% 0%);pointer-events:none}.rose-cell--top{left:calc(var(--hex-w) * .75);top:0}.rose-cell--ur{left:calc(var(--hex-w) * 1.5);top:calc(var(--hex-h) * .5)}.rose-cell--lr{left:calc(var(--hex-w) * 1.5);top:calc(var(--hex-h) * 1.5)}.rose-cell--bottom{left:calc(var(--hex-w) * .75);top:calc(var(--hex-h) * 2)}.rose-cell--ll{left:0;top:calc(var(--hex-h) * 1.5)}.rose-cell--ul{left:0;top:calc(var(--hex-h) * .5)}.rose-cell--center{left:calc(var(--hex-w) * .75);top:calc(var(--hex-h) * 1)}.rose-cell>canvas{display:block;width:100%;height:100%;transition:filter var(--transition-fast),transform var(--transition-fast);transform-origin:center}.rose-cell:not(.taken):active>canvas,.rose-cell.picked>canvas{transform:scale(.93)}.rose-cell.taken{cursor:default}.rose-cell.taken .rose-cell__hit{pointer-events:none}#color-picker-overlay:not(.hidden) #color-picker.rose{animation:rosePopIn .32s cubic-bezier(.34,1.56,.64,1) both}@keyframes rosePopIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}#color-picker-overlay:not(.hidden) .rose-cell{animation:roseCellPopIn .2s ease-out both}#color-picker-overlay:not(.hidden) .rose-cell--center{animation-delay:0ms}#color-picker-overlay:not(.hidden) .rose-cell--top{animation-delay:80ms}#color-picker-overlay:not(.hidden) .rose-cell--bottom{animation-delay:80ms}#color-picker-overlay:not(.hidden) .rose-cell--ll{animation-delay:.13s}#color-picker-overlay:not(.hidden) .rose-cell--ur{animation-delay:.13s}#color-picker-overlay:not(.hidden) .rose-cell--ul{animation-delay:.18s}#color-picker-overlay:not(.hidden) .rose-cell--lr{animation-delay:.18s}@keyframes roseCellPopIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}#color-picker-overlay:not(.hidden) .picker-rose__title{animation:rosePieceFadeUp .28s .1s ease-out both}@keyframes rosePieceFadeUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){#color-picker-overlay:not(.hidden) #color-picker.rose,#color-picker-overlay:not(.hidden) .rose-cell,#color-picker-overlay:not(.hidden) .picker-rose__title{animation:fadeIn .2s ease-out both}}.status-banner{min-height:52px;display:flex;align-items:center;justify-content:center;padding:.8rem 1rem;font-size:clamp(1rem,4.5vw,1.2rem);font-weight:600;letter-spacing:.04em;color:var(--text-secondary);text-align:center;line-height:1.35}#waiting-action-text{font-family:var(--font-brand);animation:fadeUp .5s .35s ease-out both}#gameover-status:empty{display:none}#game-screen{justify-content:stretch;padding:0}#game-top-bar{display:flex;align-items:center;gap:10px;width:100%;padding:12px;padding-top:max(var(--safe-top),12px);padding-right:max(var(--safe-right),12px);padding-left:max(var(--safe-left),12px);flex-shrink:0;background:var(--bg-primary)}.game-name-label,#touch-area:after{font-family:var(--font-brand);font-weight:800;font-size:clamp(1.35rem,6.5vw,1.8rem);letter-spacing:.04em;line-height:1.15;color:var(--player-color, var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-name-label{min-width:0;padding-left:4px}#gesture-hints{flex-shrink:0;width:100%;padding:10px 8px 12px;background:var(--bg-primary);display:flex;justify-content:space-evenly}.hint-bar-item{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--player-color, var(--medal-silver))}.hint-bar-item__icon{height:36px;display:flex;align-items:center;justify-content:center}.hint-bar-item__icon svg{transform:scale(1.4)}.hint-bar-item__verb{font-family:var(--font-hud);font-size:clamp(.6rem,3.2vw,.75rem);font-weight:700;letter-spacing:.2em;color:var(--player-color, var(--medal-silver));text-transform:uppercase}.hint-bar-item__result{font-size:clamp(.65rem,3.5vw,.8rem);font-weight:500;color:var(--text-secondary);margin-top:-3px}#touch-area{flex:1;width:100%;background:var(--bg-primary);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px;padding-right:max(var(--safe-right),12px);padding-left:max(var(--safe-left),12px);overflow:hidden}#touch-pad{width:100%;flex:1;min-height:0;position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(255,248,236,.12);background-color:var(--bg-board);background-image:radial-gradient(circle,rgba(255,255,255,.1) 1.2px,transparent 1.8px);background-image:radial-gradient(circle,color-mix(in srgb,var(--player-color, white) 32%,transparent) 1.2px,transparent 1.8px),linear-gradient(color-mix(in srgb,var(--player-color, transparent) 12%,transparent),color-mix(in srgb,var(--player-color, transparent) 12%,transparent));background-size:22px 22px,auto;background-position:center;cursor:crosshair}#touch-pad:active{cursor:grabbing}#pad-label{position:absolute;top:10px;left:12px;font-family:var(--font-hud);font-size:clamp(.55rem,2.5vw,.65rem);font-weight:700;letter-spacing:.2em;color:#f7f1e859;text-transform:uppercase;pointer-events:none}#feedback-layer{position:absolute;inset:0;pointer-events:none}#game-bottom-bar{width:100%;display:flex;justify-content:flex-end;padding:1px 12px;padding-right:max(var(--safe-right),12px);padding-left:max(var(--safe-left),12px);padding-bottom:max(var(--safe-bottom),12px);flex-shrink:0;background:var(--bg-primary)}.feedback-glow{position:absolute;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(10,9,16,.55) 0%,rgba(10,9,16,.3) 45%,transparent 75%);pointer-events:none;opacity:0;will-change:transform,opacity}#ko-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-brand);font-size:clamp(4rem,20vw,6rem);font-weight:900;color:#ffffff40;letter-spacing:.1em;pointer-events:none;z-index:2}#gameover-screen{background:var(--bg-primary);animation:fadeIn .4s ease-out both}#results-list{display:flex;flex-direction:column;gap:10px;width:100%;max-width:100%}.result-row{align-self:center;width:100%;max-width:320px;gap:18px;padding:14px 16px}.result-rank{font-size:clamp(1.5rem,7vw,2.1rem);line-height:1}.result-row.is-me{background:var(--bg-card-soft);background:color-mix(in oklab,var(--me-color, var(--bg-card-soft)) 20%,var(--bg-card))}.result-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}.result-name{font-size:clamp(1.35rem,6.5vw,1.8rem);font-weight:900;letter-spacing:.03em;line-height:1.1;white-space:normal;overflow:visible;text-overflow:clip;width:100%}.result-stats{display:flex;gap:clamp(.5rem,2.5vw,1rem);flex-wrap:wrap;font-size:clamp(.85rem,4vw,1.2rem);font-variant-numeric:tabular-nums;color:var(--text-secondary);letter-spacing:.02em;width:100%}#gameover-actions{margin-top:24px}#gameover-buttons{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;pointer-events:none;animation:resultsButtonsEnter .4s ease 1.5s both}#gameover-screen.gameover-screen--ready #gameover-buttons{animation:none;pointer-events:auto}#gameover-status{min-height:0;padding:.3rem .8rem;animation:resultRowIn .5s .6s ease-out both}#pause-btn:active .pause-icon:before,#pause-btn:active .pause-icon:after{background:#fffc}#pause-btn:disabled{opacity:.3;pointer-events:none}#pause-btn.hidden{display:none}.latency-display{font-size:.7rem;font-family:var(--font-hud);opacity:.5;display:inline-flex;align-items:center;gap:4px}.latency-display__bolt{display:none;flex-shrink:0}.latency-display--fastlane .latency-display__bolt{display:inline-block}.ping-good{color:var(--ping-good)}.ping-ok{color:var(--ping-ok)}.ping-bad{color:var(--ping-bad)}#pause-btn{margin-left:auto}#settings-overlay{padding-left:max(var(--safe-left),8px);padding-right:max(var(--safe-right),8px);padding-bottom:max(var(--safe-bottom),8px)}.settings-panel{width:100%;max-width:400px;max-height:100%;display:flex;flex-direction:column;gap:16px;background:var(--bg-card);border-radius:20px;padding:22px 14px;overflow-y:auto;scrollbar-width:none}.settings-panel::-webkit-scrollbar{display:none}.settings-body-left{display:contents}#settings-overlay h1{font-family:var(--font-brand);font-size:clamp(1.2rem,5vw,1.5rem);font-weight:900;letter-spacing:.15em;text-align:center;margin-bottom:4px}.settings-row{display:flex;flex-direction:column;gap:8px}.settings-row--switch{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.settings-row__label{font-family:var(--font-brand);font-size:1.05rem;font-weight:700;letter-spacing:.05em;color:var(--text-primary);display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex:1}.settings-row__value{font-family:var(--font-hud);font-size:.72rem;font-weight:600;color:var(--text-faint);font-variant-numeric:tabular-nums;letter-spacing:.04em}.settings-row__hint{font-size:.72rem;color:var(--text-faint);text-align:center;margin-top:2px;letter-spacing:.03em}.settings-row[hidden]{display:none}.settings-row[data-disabled=true]{opacity:.45}.settings-row[data-disabled=true] .settings-segmented,.settings-row[data-disabled=true] .settings-switch,.settings-row[data-disabled=true] input[type=range]{pointer-events:none}.settings-switch{width:52px;height:30px;border:none;border-radius:999px;background:#15121f8c;position:relative;padding:0;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.settings-switch[aria-checked=true]{background:var(--player-color, var(--accent-secondary))}.settings-switch__thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform var(--transition-fast)}.settings-switch[aria-checked=true] .settings-switch__thumb{transform:translate(22px)}.settings-segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#15121f66;border-radius:var(--radius-btn);padding:3px}.settings-segmented__btn{border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-brand);font-size:.85rem;font-weight:700;letter-spacing:.05em;padding:10px 4px;border-radius:calc(var(--radius-btn) - 3px);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.settings-segmented__btn[aria-checked=true]{background:var(--player-color, var(--accent-secondary));color:var(--btn-primary-text)}#sensitivity-slider{margin-top:12px;margin-bottom:16px;display:block;width:100%;-webkit-appearance:none;appearance:none;height:8px;border:1px solid rgba(255,248,236,.05);background:linear-gradient(to right,transparent calc(var(--center-pct, 50%) - 1px),rgba(255,255,255,.55) calc(var(--center-pct, 50%) - 1px) calc(var(--center-pct, 50%) + 1px),transparent calc(var(--center-pct, 50%) + 1px)),#15121f8c;background:linear-gradient(to right,transparent calc(var(--center-pct, 50%) - 1px),rgba(255,255,255,.55) calc(var(--center-pct, 50%) - 1px) calc(var(--center-pct, 50%) + 1px),transparent calc(var(--center-pct, 50%) + 1px)),linear-gradient(to right,color-mix(in srgb,var(--player-color, var(--accent-secondary)) 55%,transparent) var(--value-pct, 50%),transparent var(--value-pct, 50%)),#15121f8c;border-radius:999px;outline:none;cursor:pointer}#sensitivity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--player-color, var(--accent-secondary));cursor:pointer;border:none}#sensitivity-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--player-color, var(--accent-secondary));cursor:pointer;border:none}.settings-preview-wrap{position:relative;width:100%}.settings-preview__label{position:absolute;top:9px;left:14px;font-family:var(--font-brand);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#f7f1e859;pointer-events:none}.settings-preview{width:100%;height:140px;display:block;touch-action:none;cursor:crosshair;border-radius:var(--radius-lg);border:1px solid rgba(255,248,236,.12);background-color:var(--bg-board);background-image:radial-gradient(circle,rgba(255,255,255,.1) 1.2px,transparent 1.8px);background-image:radial-gradient(circle,color-mix(in srgb,var(--player-color, white) 32%,transparent) 1.2px,transparent 1.8px),linear-gradient(color-mix(in srgb,var(--player-color, transparent) 12%,transparent),color-mix(in srgb,var(--player-color, transparent) 12%,transparent));background-size:22px 22px,auto;background-position:center}.settings-preview:active{cursor:grabbing}.settings-about{text-align:center;font-size:.78rem;color:var(--text-secondary);letter-spacing:.06em;font-family:var(--font-brand);margin-top:-4px;opacity:.7}#settings-close{width:100%;padding:20px 18px;font-size:1.1rem;letter-spacing:.1em}#pause-buttons{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:320px;pointer-events:none;animation:resultsButtonsEnter .4s ease 1.5s both}#pause-overlay.pause-overlay--self #pause-buttons,#pause-overlay.pause-overlay--ready #pause-buttons{animation:none;pointer-events:auto}#game-screen.countdown #touch-area{pointer-events:none}#game-screen.countdown #touch-pad{background-image:radial-gradient(circle,rgba(255,255,255,.1) 1.2px,transparent 1.8px);background-image:radial-gradient(circle,color-mix(in srgb,var(--player-color, white) 32%,transparent) 1.2px,transparent 1.8px);background-size:22px 22px}#game-screen.paused #touch-area{pointer-events:none}#game-screen.paused #touch-pad{opacity:.3;filter:grayscale(.5)}#game-screen.dead #touch-area{pointer-events:none}#game-screen.dead #touch-pad{opacity:.4;filter:grayscale(.7)}body.airconsole #name-screen,body.couchpad #name-screen,body.airconsole #lobby-back-btn,body.couchpad #lobby-back-btn,body.couchpad .game-name-label{display:none!important}body.couchpad #touch-area:after{content:none!important}body.couchpad{--safe-bottom: max(var(--cp-safe-bottom, 0px), env(safe-area-inset-bottom, 0px), 24px)}body.couchpad #pause-overlay,body.couchpad #settings-overlay{--safe-bottom: max(var(--cp-safe-bottom, 0px), env(safe-area-inset-bottom, 0px), 48px)}body.airconsole #lobby-join-url,body.airconsole #latency-display{display:none!important}#ac-status-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999;color:#fff9;font:600 16px var(--font-display, sans-serif);pointer-events:none}body.airconsole #ac-status-overlay{display:flex}body.airconsole #ac-status-overlay.hidden{display:none}#results-list{overflow-y:auto;padding:4px;scrollbar-width:none}#results-list::-webkit-scrollbar{display:none}.controller-shell__frame--results{justify-content:center;justify-content:safe center}.controller-shell__frame--results .controller-shell__brand{padding-top:16px}.controller-shell__frame--results .controller-shell__title{white-space:nowrap}.controller-shell__frame--results:has(.result-row:nth-child(5)) .brand-lockup__mark{display:none}@media(max-height:700px){.controller-shell__frame--results .brand-lockup__mark{display:none}}@media(orientation:landscape)and (min-aspect-ratio:5/4){.controller-shell__frame{width:min(100%,520px)}.controller-shell__title{font-size:clamp(1rem,3.4vw,1.35rem)}.controller-shell__body{gap:10px}.controller-shell__actions,#name-form{margin-top:8px;gap:8px}.controller-shell__actions{max-width:360px;align-items:center}#name-form{max-width:320px}.controller-shell__actions:has(.status-banner:not(.hidden)){max-width:min(92%,560px)}.status-banner{min-height:36px;padding:.4rem 1rem;font-size:clamp(.85rem,3vw,1rem)}.controller-shell__frame--lobby{justify-content:center;gap:14px}.controller-shell__frame--lobby .controller-shell__body{flex:0 0 auto}.controller-shell__frame--lobby .controller-shell__actions{margin-top:0;max-width:none}.controller-shell__frame--results{width:min(100%,620px);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;align-content:center;column-gap:16px;row-gap:12px;padding:12px}.controller-shell__frame--results .controller-shell__brand{grid-column:2;grid-row:1;padding-top:0;align-self:end;max-width:280px;margin:0 auto}.controller-shell__body--results{grid-column:1;grid-row:1 / 3;min-width:0;justify-content:center}#results-list{gap:8px}.result-row{gap:10px;padding:6px 12px;border-radius:14px}.result-info{gap:0}.result-name{font-size:clamp(1.15rem,5vw,1.45rem);line-height:1.15}.result-stats{font-size:clamp(.78rem,3.2vw,.95rem);gap:.6rem;line-height:1.2}#gameover-actions{grid-column:2;grid-row:2;max-width:none;width:100%;margin-top:0;justify-content:center;align-self:start}.controller-shell__frame--results:has(.result-row:nth-child(5)){width:min(100%,920px);grid-template-columns:minmax(0,640px) minmax(0,220px);justify-content:center}.controller-shell__frame--results:has(.result-row:nth-child(5)) .controller-shell__brand{max-width:220px}.controller-shell__frame--results:has(.result-row:nth-child(5)) .controller-shell__title{font-size:clamp(.85rem,2.6vw,1.05rem)}#results-list:has(.result-row:nth-child(5)){display:grid;grid-auto-flow:column;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(4,auto);column-gap:8px;row-gap:6px;align-content:start}#results-list:has(.result-row:nth-child(5)) .result-row{gap:6px;padding:5px 8px}#results-list:has(.result-row:nth-child(5)) .result-rank{font-size:clamp(.75rem,3.2vw,1rem)}#results-list:has(.result-row:nth-child(5)) .result-name{font-size:clamp(.85rem,3.6vw,1rem)}#results-list:has(.result-row:nth-child(5)) .result-stats{font-size:clamp(.7rem,2.8vw,.85rem);gap:.4rem;flex-wrap:nowrap;overflow:hidden}#results-list:has(.result-row:nth-child(5)) .result-stats>span{white-space:nowrap}#game-screen{--side-col: max(56px, 10vw);display:grid;grid-template-columns:minmax(var(--side-col),auto) 1fr var(--side-col);grid-template-rows:1fr;column-gap:8px;align-items:stretch;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--bg-primary)}#game-top-bar{grid-column:3;grid-row:1;flex-direction:column-reverse;justify-content:flex-end;align-items:center;padding:6px 8px 6px 0;gap:14px}#game-top-bar .game-name-label{display:none}.settings-panel{position:relative;max-width:720px;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"title title" "left  sens" "done  done";column-gap:16px;row-gap:16px;padding:16px 14px}#settings-overlay h1{grid-area:title}.settings-body-left{grid-area:left;align-self:start;display:flex;flex-direction:column;gap:16px}#row-sensitivity{grid-area:sens;align-self:start}#settings-close{grid-area:done;justify-self:center;width:auto;min-width:220px;max-width:320px}.settings-about{position:absolute;bottom:28px;right:16px;margin:0}.settings-about__brand{display:none}#touch-area:after{content:attr(data-player-name);position:absolute;top:16px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);z-index:1;pointer-events:none}#game-bottom-bar{grid-column:3;grid-row:1;align-self:end;justify-self:center;padding:0 8px 4px;background:none;white-space:nowrap}#gesture-hints{grid-column:1;grid-row:1;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:auto;padding:4px 0 4px 8px;flex-shrink:0}.hint-bar-item__icon{height:28px}.hint-bar-item__icon svg{transform:scale(1.2)}#touch-area{grid-column:2;grid-row:1;min-height:0;padding:6px 0}}@media(orientation:landscape)and (min-aspect-ratio:5/4)and (max-height:499px){.controller-shell__title{display:none}.controller-shell__frame--results .controller-shell__title{display:block}.controller-shell__body{margin-top:0}#lobby-join-url{display:none}}@media(orientation:landscape)and (min-aspect-ratio:5/4)and (max-height:342px){#settings-overlay h1{display:none}.settings-panel{grid-template-areas:"left sens" "done done"}}@media(orientation:landscape)and (min-aspect-ratio:5/4)and (max-height:499px)and (min-height:301px){.controller-shell__frame--name .controller-shell__title{display:block;animation:none}.controller-shell__frame--name .controller-shell__body{margin-top:24px}}@media(orientation:landscape)and (min-aspect-ratio:5/4)and (max-height:220px){.controller-shell__brand,.controller-shell__actions,.legal-links{visibility:hidden;height:0;margin:0;padding:0;overflow:hidden;border:0}.controller-shell{padding:4px 12px;justify-content:center}.controller-shell__body{margin-top:0;gap:0}}.keyboard-compact .controller-shell__brand,.keyboard-compact .controller-shell__actions,.keyboard-compact .legal-links{visibility:hidden;height:0;margin:0;padding:0;overflow:hidden;border:0}.keyboard-compact .controller-shell{padding:4px 12px;justify-content:center}.keyboard-compact .controller-shell__body{margin-top:0;gap:0}
