: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-lg: 18px;--radius-xl: 22px;--radius-pill: 999px}.btn{border:none;border-radius:var(--radius-md);font-family:var(--font-brand);font-weight:700;text-transform:uppercase;cursor:pointer;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{transform:translateY(1px);box-shadow:none}.btn-primary:disabled{opacity:.5;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);border:1px solid var(--border-strong);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--bg-card-soft)}.btn-secondary:active{transform:translateY(1px);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,.input:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-card-soft);border:1px solid var(--border);border-radius:var(--radius-pill);font-family:var(--font-brand);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.pill--accent{background:rgba(var(--accent-primary-rgb),.18);border-color:rgba(var(--accent-primary-rgb),.35);color:var(--accent-primary)}.input{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:14px 18px;font-size:16px;color:var(--text-primary);font-family:var(--font-brand);font-weight:500;outline:none;width:100%;transition:border-color var(--transition-fast)}.input:focus{border-color:var(--accent-secondary)}.input::placeholder{color:var(--text-faint)}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px 32px;max-width:320px}.icon-btn{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm);transition:background var(--transition-fast),transform var(--transition-fast)}.icon-btn:hover:not(:disabled){background:var(--bg-card-soft)}.icon-btn:active{transform:translateY(1px);box-shadow:none}.player-card{display:flex;flex-direction:column;align-items:stretch;width:100%;padding:0;border-radius:var(--radius-md);background:var(--bg-card);border:2px solid var(--player-color, var(--border-strong));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);position:relative;font-family:var(--font-brand);gap:clamp(.4rem,.7vmin,.65rem)}.card-level:before{content:"";position:absolute;top:0;left:clamp(8px,1.4vmin,14px);right:clamp(8px,1.4vmin,14px);height:1px;background:var(--bg-glass)}.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}.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--row{display:flex;align-items:center;justify-content:center;gap:.5em;position:relative;left:-.3em}.brand-lockup--row .brand-lockup__mark{width:1.7em;margin:0}.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}}.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);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .3s ease both}.game-overlay.hidden{display:none!important}.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:14px;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:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);animation:resultRowIn .4s ease-out both;animation-delay:var(--row-delay, .2s)}.result-row--joining{opacity:.75;border-style:dashed}.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.4rem,7vw,2.2rem);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,3vh,22px)}.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:inset 0 1px #fff3,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:translateY(1px);box-shadow:inset 0 1px #ffffff1f,0 1px 2px #0003}.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 16px;border-radius:var(--radius-md);background:var(--bg-card-soft);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-brand);font-size:.85rem;font-weight:500;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__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}#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:0 20px 60px #0009;outline:none}.trailer-modal__close{position:absolute;top:clamp(.75rem,2vh,1.5rem);right:clamp(.75rem,2vw,1.5rem);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff1f;color:var(--text-primary);cursor:pointer;transition:background var(--transition-normal)}.trailer-modal__close:hover,.trailer-modal__close:focus-visible{background:#ffffff38;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);box-shadow:0 0 6px currentColor;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:transparent;border:1px solid rgba(255,255,255,.18);border-radius:999px;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:#ffffff59}.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}#lobby-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1rem,3vmin,2.5rem);width:100%;max-width:1400px;flex:0 1 auto;min-height:0;animation:fadeUp .6s .15s ease-out both}#qr-container{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:clamp(6px,1vmin,12px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:clamp(8px,1.5vmin,18px);width:clamp(180px,36vmin,360px);max-width:90vw;overflow:hidden}#qr-code{width:100%;aspect-ratio:1 / 1;height:auto;border-radius:var(--radius-lg);background:#fff;padding:clamp(4px,.8vmin,10px);display:block}#qr-info{display:flex;flex-direction:column;align-items:center;gap:clamp(4px,.8vmin,8px);text-align:center}#qr-label{margin:0;font-size:clamp(11px,1.8vmin,15px);color:var(--text-faint);letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-brand);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#join-url{display:flex;flex-direction:column;align-items:center;align-self:stretch;gap:0;margin:0;font-family:var(--font-hud);line-height:1.2;max-width:100%;padding:clamp(4px,1vmin,8px) clamp(8px,1.5vmin,14px);background:#00000038;border-radius:var(--radius-md);cursor:pointer;position:relative;transition:background var(--transition-fast);user-select:none}#join-url:hover{background:#00000052}#join-url:active{background:#00000061}#join-url:after{content:attr(data-copied-label);position:absolute;top:-28px;left:50%;transform:translate(-50%) translateY(4px);padding:4px 10px;background:var(--accent-secondary);color:var(--bg-primary);font-family:var(--font-hud);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);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(.85rem,1.8vmin,1.2rem);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.1rem,2.2vmin,1.5rem);font-weight:900;color:var(--accent-secondary);letter-spacing:.18em}#player-list{display:grid;grid-template-columns:repeat(2,minmax(0,clamp(150px,24vmin,280px)));gap:clamp(8px,1.5vmin,18px);width:max-content;max-width:100%;min-width:0;animation:fadeIn .4s .3s ease-out both}.player-card{font-size:clamp(.85rem,1.8vmin,1.4rem);min-width:0}@media(orientation:landscape){#lobby-body{flex-direction:row}#player-list.pl--lg{grid-template-columns:repeat(4,minmax(0,clamp(150px,24vmin,280px)))}}body.airconsole #qr-container,#lobby-screen.no-qr #qr-container{display:none}.player-card.empty{background:transparent;border:2px dashed var(--text-secondary);color:var(--text-secondary)}.player-card.empty .card-level{opacity:.45}.player-card.empty .card-level:before{background:var(--text-secondary)}.player-card .identity-name{color:var(--player-color, var(--text-secondary));font-size:clamp(1.5rem,4.5vmin,2.4rem)}@keyframes slotPopIn{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}80%{transform:scale(.96)}to{transform:scale(1)}}.player-card.join-pop{animation:slotPopIn .45s cubic-bezier(.34,1.56,.64,1) both}.player-slot{display:flex;flex-direction:column;align-items:center;min-width:0}.card-level__heading{font-size:clamp(1rem,2.6vmin,1.5rem);font-weight:700;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase}.card-level__value{font-size:clamp(1rem,2.6vmin,1.5rem);font-weight:800;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}#start-btn:disabled{background:var(--bg-card);color:var(--text-secondary);cursor:not-allowed;opacity:1}#game-screen{position:relative;padding:0;background:var(--bg-primary)}#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:radial-gradient(ellipse at 50% 50%,rgba(var(--accent-primary-rgb),.08) 0%,transparent 60%),rgba(var(--bg-primary-rgb),.85);color:var(--accent-primary);z-index:10}#countdown-number{display:inline-block;animation:countdownBeat 1s ease-out infinite}#countdown-overlay.paused #countdown-number{animation-play-state:paused}#countdown-overlay:before,#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(36px,4vh,52px);height:clamp(36px,4vh,52px)}#game-toolbar .hidden{display:none}#pause-btn .pause-icon:before,#pause-btn .pause-icon:after{width:clamp(3px,.4vh,5px);height:clamp(12px,1.6vh,18px);border-radius:1px}#pause-btn:hover:not(:disabled) .pause-icon:before,#pause-btn:hover:not(:disabled) .pause-icon:after{background:#fff}#pause-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}#pause-btn:disabled:hover{transform:none}#pause-overlay h1{font-size:clamp(1.6rem,4vh,3.5rem);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);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .5s ease both}#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}.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-url,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}body.airconsole #player-list{grid-template-columns:repeat(4,minmax(0,clamp(150px,24vmin,280px)))}body.airconsole #player-list:has(.player-slot:nth-child(4) .player-card.empty){grid-template-columns:repeat(3,minmax(0,clamp(150px,24vmin,280px)))}body.airconsole #player-list:has(.player-slot:nth-child(3) .player-card.empty){grid-template-columns:repeat(2,minmax(0,clamp(150px,24vmin,280px)))}body.airconsole #player-list:has(.player-slot:nth-child(2) .player-card.empty){grid-template-columns:minmax(0,clamp(150px,24vmin,280px))}
