:root{--safe-top: max(var(--cg-safe-top, 0px), env(safe-area-inset-top, 0px));--safe-right: max(var(--cg-safe-right, 0px), env(safe-area-inset-right, 0px));--safe-bottom: max(var(--cg-safe-bottom, 0px), env(safe-area-inset-bottom, 0px));--safe-left: max(var(--cg-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)}.device-choice{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:clamp(14px,2.5vh,24px);background:var(--bg-primary);text-align:center;padding:calc(clamp(20px,4vh,40px) + env(safe-area-inset-top)) .75rem calc(48px + env(safe-area-inset-bottom));overflow-y:auto}.device-choice.hidden{display:none}body:has(#device-choice:not(.hidden)) .screen{display:none!important}.device-choice__brand h1{margin:0;font-size:clamp(1.6rem,9vmin,2.8rem);filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.device-choice__intro,.device-choice__hero,.device-choice__cta{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vh,16px);width:min(100%,440px)}.device-choice__intro{gap:clamp(14px,4.5vh,40px)}.device-choice__legal{position:absolute;bottom:calc(env(safe-area-inset-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;max-width:calc(100% - 24px);overflow:hidden}.device-choice__legal a{color:inherit;text-decoration:none;padding:8px 4px;transition:color var(--transition-fast, .15s)}.device-choice__legal a:hover,.device-choice__legal a:focus-visible,.device-choice__legal a:active{color:var(--accent-secondary)}.device-choice__hero picture{display:flex;justify-content:center;width:100%;line-height:0}.device-choice__screenshot{display:block;width:100%;max-height:28vh;height:auto;object-fit:contain}.device-choice__chips{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px;width:100%}.device-choice__chips li{box-sizing:border-box;background:#f7f1e81a;background:color-mix(in srgb,var(--chip-accent) 10%,transparent);border-radius:var(--radius-sm);padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;line-height:1.1;cursor:default}.device-choice__chips li{--chip-accent: var(--text-primary)}.device-choice__chips strong{font-family:var(--font-brand);font-weight:900;font-size:clamp(1rem,4.2vw,1.2rem);letter-spacing:.02em;color:var(--chip-accent);line-height:1.05}.device-choice__chips span{font-family:var(--font-brand);font-size:clamp(.6rem,2.5vw,.7rem);font-weight:500;color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase}.device-choice__banner{box-sizing:border-box;width:100%;background:linear-gradient(180deg,var(--accent-primary) 0%,var(--accent-primary-dark) 100%);color:var(--btn-primary-text);border:none;border-radius:var(--radius-md);padding:9px 16px;display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.15;font:inherit;cursor:pointer;position:relative;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast, .15s),filter var(--transition-fast, .15s),box-shadow var(--transition-fast, .15s)}.device-choice__banner:hover,.device-choice__banner:focus-visible{filter:brightness(1.08);outline:none}.device-choice__banner:active{transform:scale(.95);box-shadow:none}.device-choice__banner-row{display:flex;align-items:center;justify-content:center}.device-choice__banner-url{font-family:var(--font-brand);font-weight:700;font-size:clamp(1.15rem,5.4vw,1.42rem);letter-spacing:.01em;color:var(--btn-primary-text)}.device-choice__banner-host,.device-choice__banner-tld{color:var(--btn-primary-text)}.device-choice__banner-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;color:var(--btn-primary-text);opacity:.85}.device-choice__banner-sub{font-family:var(--font-brand);font-size:clamp(1.15rem,4.6vw,1.3rem);font-weight:600;letter-spacing:.01em;color:var(--btn-primary-text);margin-top:0}.device-choice__continue{appearance:none;background:none;border:none;padding:6px 4px;font-family:inherit;font-size:clamp(.85rem,3.6vw,.95rem);color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color var(--transition-fast, .15s)}.device-choice__continue:hover,.device-choice__continue:focus-visible,.device-choice__continue:active{color:var(--accent-secondary)}.device-choice__cta{position:relative}.device-choice__toast{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);box-sizing:border-box;width:max-content;max-width:calc(100% - 24px);line-height:1.3;padding:10px 20px;border-radius:var(--radius-pill);background:var(--bg-card);background:color-mix(in oklab,var(--accent-secondary) 20%,var(--bg-card));border:none;color:var(--accent-secondary);font-family:var(--font-brand);font-size:.9rem;font-weight:700;letter-spacing:.06em;box-shadow:var(--shadow-sm);text-align:center;z-index:1}.device-choice__toast.hidden{display:none}@media(max-height:640px){.device-choice{gap:clamp(10px,2vh,18px);padding-top:calc(clamp(12px,2vh,24px) + env(safe-area-inset-top))}.device-choice__brand .brand-lockup__mark,.device-choice__chips{display:none}.device-choice__screenshot{max-height:45vh}.device-choice__banner{padding:7px 14px}}@media(max-height:460px){.device-choice__hero picture{display:none}.device-choice{gap:clamp(8px,2vh,14px)}}@media(max-height:320px){.device-choice__brand{display:none}}body.airconsole .device-choice{display:none!important}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent}.screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.screen.hidden{display:none}#welcome-screen.closing,#lobby-screen.closing,#game-screen.closing{position:fixed;inset:0;z-index:12;animation:fadeOut .18s ease both;pointer-events:none}#bg-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#bg-canvas.hidden{display:none}#welcome-screen{gap:clamp(2rem,5vh,4rem);padding-bottom:clamp(2.7rem,6vh,4rem);position:relative}#welcome-version-label,#lobby-version-label{position:absolute;top:clamp(1rem,2.5vh,1.5rem);right:clamp(1rem,2vw,2rem);font-family:var(--font-hud);font-size:clamp(11px,1.3vw,14px);font-weight:600;letter-spacing:.14em;color:var(--text-secondary);opacity:.55;text-transform:uppercase;animation:fadeIn .6s .3s ease-out both}#lobby-version-label{display:none}body.airconsole #lobby-version-label{display:block}#welcome-screen h1{font-size:clamp(2.5rem,7vh,6rem);filter:drop-shadow(0 8px 24px rgba(0,0,0,.45));animation:fadeDown .6s ease-out both;text-align:center}#welcome-actions{display:flex;flex-direction:column;align-items:center;gap:clamp(.9rem,2vh,1.4rem);animation:fadeUp .6s .3s ease-out backwards}.watch-trailer-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;color:var(--text-secondary);font-size:clamp(13px,1.6vh,16px);font-weight:500;letter-spacing:.06em;cursor:pointer;border-radius:999px;transition:color var(--transition-normal),background var(--transition-normal)}.watch-trailer-btn:hover,.watch-trailer-btn:focus-visible{color:var(--text-primary);background:var(--bg-card-soft);outline:none}.watch-trailer-btn__icon{flex:0 0 auto}.trailer-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vh,3rem);background:var(--overlay-bg);transition:opacity .2s ease-out}.trailer-modal.hidden{opacity:0;pointer-events:none}.trailer-modal__video{width:min(100%,1280px);aspect-ratio:16 / 9;max-height:100%;background:#000;border-radius:8px;box-shadow:var(--shadow-sm);outline:none}.trailer-modal__close{position:absolute;top:clamp(.75rem,2vh,1.5rem);right:clamp(.75rem,2vw,1.5rem);width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,248,236,.12);border-radius:50%;background:#15121f66;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-normal)}.trailer-modal__close svg{width:48%;height:48%}.trailer-modal__close:hover,.trailer-modal__close:focus-visible{background:var(--bg-card-soft);outline:none}#welcome-footer{position:absolute;bottom:clamp(1.2rem,3vh,2.5rem);display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeUp .6s .6s ease-out both}.footer-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:100%}.footer-group{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}#welcome-footer a,#lobby-footer a,#version-label{color:var(--text-secondary);font-family:system-ui,-apple-system,sans-serif;font-size:clamp(13px,1.5vw,16px);font-weight:500;letter-spacing:.06em;text-decoration:none;transition:color var(--transition-normal),filter var(--transition-normal)}#welcome-footer a:hover,#lobby-footer a:hover,#welcome-footer a:active,#lobby-footer a:active{color:var(--text-primary)}.footer-dot{color:var(--text-secondary);opacity:.4}#version-label{opacity:.6}#lobby-footer{position:absolute;bottom:clamp(1.2rem,3vh,2.5rem);display:none;flex-direction:column;align-items:center;gap:8px}#relay-status-bar{position:fixed;bottom:max(env(safe-area-inset-bottom),16px);right:max(env(safe-area-inset-right),16px);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto;z-index:25}html:not(.in-session) #relay-status-bar{display:none}.relay-chip{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-family:var(--font-hud);font-size:clamp(11px,1.3vw,13px);letter-spacing:.08em;opacity:.85;cursor:help}.relay-chip.hidden{display:none}.relay-chip[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);right:0;padding:4px 8px;border-radius:6px;background:#000000d9;color:var(--text-primary);font-family:var(--font-hud);font-size:11px;letter-spacing:.06em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease-out}@media(hover:hover){.relay-chip[data-tooltip]:hover:after{opacity:1}}.relay-chip__region{font-weight:600}.relay-chip__dot{width:8px;height:8px;border-radius:50%;background:var(--ping-good);color:var(--ping-good);transition:background var(--transition-normal),color var(--transition-normal)}.relay-chip__dot.ping-ok{background:var(--ping-ok);color:var(--ping-ok)}.relay-chip__dot.ping-bad{background:var(--ping-bad);color:var(--ping-bad)}.relay-report-btn{background:#15121f66;border:1px solid rgba(255,248,236,.12);border-radius:var(--radius-pill);color:var(--text-secondary);font-family:system-ui,-apple-system,sans-serif;font-size:clamp(11px,1.3vw,13px);letter-spacing:.06em;padding:4px 12px;cursor:pointer;transition:color var(--transition-normal),border-color var(--transition-normal)}.relay-report-btn:hover,.relay-report-btn:focus-visible{color:var(--text-primary);border-color:#fff8ec4d}.relay-report-btn.hidden{display:none}#lobby-screen{justify-content:space-evenly;padding:clamp(1rem,3vmin,2rem) clamp(1rem,3vmin,2rem);position:relative;overflow:hidden}#lobby-screen h1{position:relative;z-index:5;font-size:clamp(1.6rem,7vmin,5rem);filter:drop-shadow(0 6px 18px rgba(0,0,0,.4));animation:fadeDown .6s ease-out both;text-align:center}.brand-badge{position:absolute;top:clamp(1rem,2.5vh,1.5rem);left:clamp(1rem,2vw,2rem);width:clamp(40px,6.4vmin,80px);height:auto;z-index:5;animation:fadeIn .6s .3s ease-out both}#lobby-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,2.2vmin,22px);width:100%;max-width:1400px;flex:0 1 auto;min-height:0;animation:fadeUp .6s .15s ease-out both}#lobby-main{--card-w: clamp(150px, 36vmin, 350px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1rem,3vmin,2.5rem);width:100%;min-height:0}.qr-swap,#join-url.qr-swap{animation:fadeIn .3s ease}#qr-container{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vmin,14px);width:calc(var(--card-w) + 40px);max-width:90vw}#qr-code{width:100%;aspect-ratio:1 / 1;height:auto;border-radius:calc((var(--card-w) + 40px) * .057);background:#fff;padding:clamp(6px,1.2vmin,14px);display:block;box-shadow:var(--shadow-sm)}#join-line{position:relative;display:flex;justify-content:center;max-width:100%}#join-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-hud);font-weight:600;font-size:clamp(1.05rem,2.6vmin,1.75rem);letter-spacing:.06em;color:var(--text-secondary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .45s ease}#join-url .join-url__host,#join-url .join-url__code{transition:opacity .45s ease}#join-line.show-hint .join-url__host,#join-line.show-hint .join-url__code{opacity:0}#join-line.show-hint #join-hint{opacity:1}#join-url{display:flex;flex-direction:row;align-items:baseline;gap:0;margin:0;font-family:var(--font-hud);line-height:1.2;max-width:100%;padding:clamp(4px,1vmin,8px) clamp(10px,2vmin,18px);border-radius:var(--radius-md);cursor:pointer;position:relative;transition:background var(--transition-fast);user-select:none;animation:fadeUp .5s .4s ease-out backwards}#join-url:hover{background:#15121f59}#join-url:active{background:#15121f80}#join-url:after{content:attr(data-copied-label);position:absolute;top:-28px;left:50%;transform:translate(-50%) translateY(4px);padding:4px 12px;background:var(--bg-card);background:color-mix(in oklab,var(--accent-secondary) 20%,var(--bg-card));color:var(--accent-secondary);font-family:var(--font-hud);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}#join-url[data-copied="1"]:after{opacity:1;transform:translate(-50%) translateY(0)}.join-url__host{font-size:clamp(1.05rem,2.6vmin,1.75rem);font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:lowercase;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-url__code{font-size:clamp(1.05rem,2.6vmin,1.75rem);font-weight:900;color:var(--accent-secondary);letter-spacing:.18em}#player-list{display:grid;grid-template-columns:repeat(var(--cols, 2),minmax(0,var(--card-w)));gap:clamp(8px,1.5vmin,18px);width:max-content;max-width:100%;min-width:0;animation:fadeIn .4s .3s ease-out both}.player-card{aspect-ratio:2.5 / 1;border-radius:calc(var(--card-w) * .057);font-size:clamp(.85rem,1.8vmin,1.4rem);min-width:0;justify-content:space-evenly}#player-list .player-card__top,#player-list .card-level{flex:0 0 auto}@media(orientation:landscape){#lobby-main{flex-direction:row}}body.airconsole #qr-container,#lobby-screen.no-qr #qr-container,#lobby-screen.no-qr #join-line{display:none}.player-card__opening svg{width:clamp(28px,5.5vmin,56px);height:auto}.player-card .identity-name{font-size:clamp(1.5rem,4.5vmin,2.4rem)}@keyframes slotPopIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.player-card.join-pop{animation:slotPopIn .5s cubic-bezier(.34,1.8,.64,1) both}.player-slot{display:flex;flex-direction:column;align-items:center;min-width:0}.card-level__heading{font-size:clamp(.75rem,2vmin,1.15rem);font-weight:700;color:var(--text-secondary);letter-spacing:.2em;text-transform:uppercase}.card-level__value{font-family:var(--font-hud);font-size:clamp(.75rem,2vmin,1.15rem);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}#new-game-btn,#start-btn{padding:clamp(.9rem,2vh,1.7rem) clamp(2rem,4vw,6rem);font-size:clamp(1.1rem,2.4vh,1.7rem);letter-spacing:.08em;text-align:center}#start-btn{position:relative;z-index:5;animation:fadeUp .5s .45s ease-out backwards}#game-screen{position:relative;padding:0;background:var(--bg-primary)}#game-screen.screen-enter{animation:fadeIn .3s ease-out both}#game-screen.screen-enter #countdown-overlay:not(.closing){animation:none}#game-canvas{display:block;width:100%;height:100%}#countdown-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-hud);font-size:clamp(6rem,15vh,14rem);font-weight:900;letter-spacing:.05em;background:var(--overlay-bg);color:var(--accent-primary);z-index:10;animation:fadeIn .3s ease-out both}#countdown-overlay.closing{animation:fadeOut .25s ease both;pointer-events:none}#countdown-number{display:inline-block;animation:countdownBeat 1s ease-out infinite}#countdown-overlay.paused #countdown-number{animation-play-state:paused}#results-screen:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%27180%27 height=%27180%27><filter id=%27n%27><feTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%272%27 stitchTiles=%27stitch%27/></filter><rect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27/></svg>");opacity:.05;mix-blend-mode:overlay}@keyframes countdownBeat{0%{transform:scale(1)}20%{transform:scale(1.06)}to{transform:scale(1)}}#countdown-overlay.hidden{display:none}#game-toolbar{position:absolute;top:clamp(10px,1.5vh,20px);right:clamp(10px,1.5vw,20px);z-index:50;display:flex;gap:clamp(6px,.8vh,10px);transition:opacity var(--transition-normal)}#game-toolbar.toolbar-autohide{opacity:0;pointer-events:none}#game-toolbar.hidden{display:none}#game-toolbar .icon-btn{width:clamp(44px,5vh,64px);height:clamp(44px,5vh,64px)}#game-toolbar .hidden{display:none}#pause-btn .pause-icon{gap:clamp(5px,.7vh,8px)}#pause-btn .pause-icon:before,#pause-btn .pause-icon:after{width:clamp(3px,.4vh,4.5px);height:clamp(18px,2.2vh,26px);border-radius:1.5px}#pause-btn:hover:not(:disabled) .pause-icon:before,#pause-btn:hover:not(:disabled) .pause-icon:after,#pause-btn.press-sim .pause-icon:before,#pause-btn.press-sim .pause-icon:after{background:#fff}#pause-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}#pause-btn:disabled:hover{transform:none}#pause-overlay h1,#reconnect-overlay h1{font-size:clamp(1.6rem,4vh,3.5rem)}#pause-overlay h1{margin-bottom:clamp(1.5rem,3vh,3rem)}#pause-buttons{display:flex;gap:clamp(1rem,2vw,2rem)}#pause-continue-btn,#pause-newgame-btn,#reconnect-btn,#play-again-btn,#new-game-results-btn{min-width:clamp(260px,34vh,420px);padding:clamp(.9rem,2vh,1.7rem) clamp(1.5rem,3vw,3rem);font-size:clamp(1.1rem,2.4vh,1.7rem);letter-spacing:.06em;text-align:center}#reconnect-btn.hidden{display:none}.cursor-hidden,.cursor-hidden *{cursor:none!important}#results-screen{position:fixed;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 30%,var(--winner-glow, rgba(255, 215, 0, .06)) 0%,transparent 60%),var(--overlay-bg);animation:fadeIn .5s ease both}#results-screen.closing{animation:fadeOut .3s ease both;pointer-events:none}#results-screen h1{font-size:clamp(1.6rem,4vh,3.5rem);letter-spacing:.15em;margin-bottom:clamp(1rem,3vh,3rem);filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}#results-list{display:flex;flex-direction:column;gap:clamp(.5rem,1vh,1rem);width:90%;max-width:860px;min-height:0;overflow-y:auto;padding:4px;scrollbar-width:none}#results-list::-webkit-scrollbar{display:none}.result-row{gap:1.25rem;padding:clamp(.8rem,1.6vh,1.5rem) clamp(1.2rem,2.4vw,2.4rem) clamp(.8rem,1.6vh,1.5rem) clamp(.7rem,1.3vw,1.3rem)}.result-rank{font-size:clamp(1.5rem,3vh,2.8rem)}.result-info{flex:1;display:flex;align-items:baseline;gap:1.5rem;min-width:0}.result-name{font-size:clamp(1.5rem,3vh,2.8rem);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.result-stats{display:flex;gap:1.5rem;font-size:clamp(1.2rem,2.6vh,2.2rem);color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}.result-stats span{white-space:nowrap;text-align:right}#results-buttons{display:flex;gap:clamp(.8rem,1.5vw,1.5rem);margin-top:clamp(1.5rem,3vh,3rem);animation:fadeIn .4s ease both}#results-screen.results-screen--ready #results-buttons{animation:none}@media(max-width:950px),(max-height:500px){html:not(.device-choice-dismissed):not(.in-session) #device-choice{display:flex}}body.airconsole #qr-container,body.airconsole #join-line,body.airconsole #welcome-footer{display:none!important}body.airconsole #lobby-footer{display:flex!important}body.airconsole #welcome-screen,body.airconsole #fullscreen-btn{display:none!important}body.airconsole .player-slot:has(.player-card.empty){display:none!important}
