:root{--ui-accent:#2f81f7;--ui-accent-2:#1f6feb;--ui-accent-bright:#79b8ff;--ui-accent-line:#58a6ff;--ui-accent-glow:#1f6feb66;--ui-accent-soft:#58a6ff1f;--ui-accent-soft-bd:#58a6ff40;--ui-surface:#0d111780;--ui-surface-btn:#161b228c;--ui-hairline:#ffffff1f;--ui-text:#e6edf3;--ui-text-dim:#9da7b3;--ui-text-mute:#8b95a3;--ui-radius:14px;--ui-radius-lg:16px;--ui-radius-sm:11px;--ui-title-from:#fff;--ui-title-mid:#cfe0ff;--ui-title-to:#8bb4ff;--ui-title-shadow:#00000059;--ui-home-accent:#7c6cff;--ui-space-xs:6px;--ui-space-s:12px;--ui-space-m:18px;--ui-space-l:24px}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--ui-text);text-align:center;z-index:10;background:linear-gradient(#080b13d1 0%,#080b1399 42%,#080b1352 100%);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:fixed;inset:0}.overlay.pause{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080b1380}.overlay h1{letter-spacing:6px;background:linear-gradient(180deg, var(--ui-title-from) 0%, var(--ui-title-mid) 55%, var(--ui-title-to) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 10px var(--ui-title-shadow));-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:900}:is(.overlay:has(.panel.lobby) h1,.overlay:has(.nameinput):not(:has(.panel)) h1){letter-spacing:4px;font-size:38px}.overlay .tag{color:#aeb9c7;letter-spacing:.3px;text-shadow:0 1px 8px #00000080;min-height:20px;font-size:16px}.overlay:has(.panel.lobby) .tag{margin-bottom:4px;font-size:14px}.overlay .label{margin-top:var(--ui-space-l);color:var(--ui-text-dim);text-transform:uppercase;letter-spacing:1.8px;text-shadow:0 1px 6px #00000080;font-size:13px}.btn-row{gap:var(--ui-space-s);margin-top:10px;display:flex}.btn{appearance:none;border:1px solid var(--ui-hairline);background:var(--ui-surface-btn);color:var(--ui-text);font:inherit;border-radius:var(--ui-radius);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:64px;padding:14px 24px;font-size:19px;font-weight:700;transition:transform .1s,border-color .14s,background .14s,box-shadow .14s,filter .14s;box-shadow:0 4px 14px #00000040}.btn:not(:disabled):hover{border-color:var(--ui-accent-line);background:#1f2e40b3;transform:translateY(-2px);box-shadow:0 10px 26px #143c8266}.btn:active{transform:translateY(0);box-shadow:0 4px 12px #0000004d}.btn.sel,.btn.primary{border-color:var(--ui-accent-bright);background:linear-gradient(180deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);color:#fff;box-shadow:0 8px 22px var(--ui-accent-glow)}.btn.primary:not(:disabled):hover{filter:brightness(1.08);border-color:var(--ui-accent-bright);transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;filter:saturate(.55)brightness(.92);transform:none;box-shadow:0 4px 14px #00000040;opacity:.7!important}.btn.primary:disabled{background:var(--ui-surface-btn);border-color:var(--ui-hairline);color:var(--ui-text-mute)}.btn.wide{width:100%;margin-top:auto}.btn.danger{color:#ffb4b0;border-color:#f8717161}.btn.danger:not(:disabled):hover{background:#f8514924;border-color:#f87171b3;box-shadow:0 10px 26px #b428284d}.btn.ghost{box-shadow:none;color:var(--ui-text-dim);background:0 0;border-color:#0000;margin-top:22px;padding:10px 20px;font-size:16px}.btn.ghost:not(:disabled):hover{border-color:var(--ui-hairline);color:var(--ui-text);box-shadow:none;background:#ffffff0f;transform:none}.btn.count{min-width:58px;padding:14px 0;font-size:22px}.segment{gap:var(--ui-space-xs);margin-top:var(--ui-space-l);display:inline-flex}.seg{appearance:none;border:1px solid var(--ui-hairline);background:var(--ui-surface-btn);color:var(--ui-text-dim);font:inherit;border-radius:var(--ui-radius-sm);cursor:pointer;white-space:nowrap;padding:9px 16px;font-size:14px;font-weight:600;transition:background .14s,color .14s,border-color .14s}.seg:not(:disabled):hover{color:#fff;background:#ffffff12}.seg.sel{background:linear-gradient(180deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);border-color:var(--ui-accent-bright);color:#fff}.seg:disabled{cursor:default}.cards{gap:var(--ui-space-m);margin-top:var(--ui-space-l);flex-wrap:wrap;justify-content:center;align-items:stretch;display:flex}.card{border-radius:var(--ui-radius-lg);background:var(--ui-surface);border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;align-items:center;min-width:244px;padding:22px 26px 24px;display:flex;box-shadow:0 10px 30px #0000004d}.card-h{letter-spacing:2px;text-transform:uppercase;color:var(--ui-text);font-size:13px;font-weight:800}.card-sub{color:var(--ui-text-mute);margin:4px 0 16px;font-size:13px}.count-row{gap:10px;margin-top:auto;display:flex}.back-slorp{letter-spacing:.3px;color:#aeb9c7;border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d11176b;border-radius:999px;align-items:center;gap:7px;padding:9px 15px 9px 13px;font-size:14px;font-weight:700;text-decoration:none;transition:color .14s,border-color .14s,background .14s,transform .14s;display:inline-flex;position:absolute;top:22px;left:24px;box-shadow:0 4px 14px #00000038}.back-slorp span{font-size:16px;line-height:1}.back-slorp:hover{color:#fff;border-color:color-mix(in srgb, var(--ui-home-accent) 60%, transparent);background:#1c1a369e;transform:translate(-2px)}.panel.menu-panel{gap:var(--ui-space-s);width:min(440px,92vw);padding:22px 24px 24px;box-shadow:inset 0 1px #ffffff12,0 20px 54px #0000006b}.menu-panel .setting-row{gap:var(--ui-space-s)}.menu-panel .row-label{color:#aab3c2;flex:0 0 54px;font-size:12px}.menu-divider{height:1px;margin:var(--ui-space-xs) 0 2px;background:#ffffff14}.menu-panel .count-row{flex:auto;gap:8px;margin-top:0}.menu-panel .count{flex:1 1 0;min-width:0;padding:10px 0;font-size:19px}.menu-online{width:100%;margin-top:4px;font-size:18px}.panel{gap:var(--ui-space-s);width:340px;max-width:92vw;margin-top:var(--ui-space-s);padding:var(--ui-space-m);border-radius:var(--ui-radius-lg);background:var(--ui-surface);border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;display:flex;box-shadow:0 10px 30px #0000004d}.pause-panel{gap:var(--ui-space-s);text-align:center;width:280px}.pause-title{letter-spacing:1px;color:var(--ui-text);margin-bottom:2px;font-size:28px;font-weight:800}.pause-note{color:var(--ui-text-dim);margin-bottom:6px;font-size:14px}.lobby-top{align-items:center;gap:10px;display:flex}.roomchip{letter-spacing:4px;color:var(--ui-accent-bright);border-radius:var(--ui-radius-sm);background:var(--ui-accent-soft);border:1px solid var(--ui-accent-soft-bd);white-space:nowrap;padding:11px 14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:20px;font-weight:800}.invite-btn{flex:auto;padding:12px 16px;font-size:16px}.lobby-settings{gap:var(--ui-space-xs);flex-direction:column;display:flex}.setting-row{align-items:center;gap:var(--ui-space-s);display:flex}.row-label{letter-spacing:1px;text-transform:uppercase;color:var(--ui-text-mute);flex:0 0 56px;font-size:11px;font-weight:700}.lobby-seg{flex-wrap:wrap;flex:auto;margin-top:0;display:flex}.lobby-seg .seg{flex:auto;min-width:48px;padding:10px 6px;font-size:13.5px}.lobby-seg.locked{opacity:.72}.settings-note{color:#6e7681;text-align:center;margin-top:2px;font-size:11px}.lobby-roster{width:100%;margin:0}.lobby-roster li{border-bottom:none;border-radius:9px;padding:6px 12px;font-size:14px}.identity-row{gap:var(--ui-space-s);flex-direction:column;align-items:stretch;display:flex}.color-picker{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.swatch{appearance:none;border:2px solid var(--ui-hairline);cursor:pointer;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .12s,border-color .12s,opacity .12s}.swatch:hover{transform:scale(1.12)}.swatch.sel{border-color:#fff;transform:scale(1.12);box-shadow:0 0 0 2px #ffffff59}.swatch.taken{opacity:.28;cursor:not-allowed}.swatch.taken:hover{transform:none}.identity-row .nameinput{text-align:left;letter-spacing:.5px;width:100%;min-width:0;max-width:100%;margin-top:0}.lobby-actions{margin-top:var(--ui-space-s)}.ready-badge{color:var(--ui-text-mute);white-space:nowrap;background:#ffffff14;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.ready-badge.on{color:#56d364;background:#3fb9502e}.scoreboard{margin:var(--ui-space-l) 0;width:280px;list-style:none}.scoreboard li{color:var(--ui-text-dim);border-bottom:1px solid #21262d;justify-content:space-between;padding:10px 14px;font-size:17px;display:flex}.scoreboard li.win{color:#3fb950;font-weight:700}.winner-chip{justify-content:center;align-items:center;gap:12px;margin:4px 0 10px;font-size:26px;font-weight:800;display:flex}.winner-chip .sc-dot{width:18px;height:18px}.winner-height{color:var(--ui-text);font-variant-numeric:tabular-nums}#onlinescore{border-radius:var(--ui-radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;pointer-events:none;z-index:5;background:#0d111799;min-width:180px;padding:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;position:fixed;top:16px;right:16px}.sc-row{color:var(--ui-text-dim);border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:14px;display:flex}.sc-row.sc-active{background:var(--ui-accent-soft);color:var(--ui-text)}.sc-dot{border-radius:50%;flex:none;width:11px;height:11px}.sc-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.sc-best{font-variant-numeric:tabular-nums;font-weight:700}.roomcode{letter-spacing:4px;color:var(--ui-accent-line);margin-top:6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:30px;font-weight:800}.share,.nameinput{border-radius:var(--ui-radius-sm);width:320px;max-width:80vw;color:var(--ui-text);font:inherit;text-align:center;background:#0d1117;border:1px solid #30363d;margin-top:8px;padding:10px 12px;font-size:15px}.share{color:#7d8590;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}:root{--bg:#0d1117;--ui-accent:#22b8cf;--ui-accent-2:#0e8fa6;--ui-accent-bright:#67e8f9;--ui-accent-line:#38d9e8;--ui-accent-glow:#0e8fa666;--ui-accent-soft:#67e8f921;--ui-accent-soft-bd:#67e8f94d;--ui-title-mid:#cdeffd;--ui-title-to:#7fe0f2}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);width:100%;height:100%;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}#game{touch-action:none;width:100vw;height:100vh;display:block}#hud{pointer-events:none;-webkit-user-select:none;user-select:none;color:#e6edf3;font-family:ui-monospace,SF Mono,Menlo,monospace;display:none;position:fixed;top:16px;left:16px}.hud-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090c146b;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:8px;padding:12px 16px 14px;display:inline-flex;box-shadow:0 10px 30px #00000047}#who{letter-spacing:.4px;color:#cdd6e0;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}#whodot{background:#58a6ff;border-radius:50%;width:11px;height:11px;box-shadow:0 0 8px #58a6ff99}#height,#distance{letter-spacing:.5px;font-variant-numeric:tabular-nums;text-shadow:0 2px 12px #00000059;font-size:40px;font-weight:800;line-height:1}#height .unit,#distance .unit{color:#9da7b3;margin-left:3px;font-size:18px;font-weight:600}#timerrow{align-items:center;gap:10px;display:flex}#timersecs{font-variant-numeric:tabular-nums;color:#58a6ff;text-shadow:0 1px 6px #0006;min-width:34px;font-size:15px;font-weight:800}#timerbar{background:#ffffff1f;border-radius:999px;flex:auto;width:150px;height:6px;overflow:hidden}#timerfill{transform-origin:0;background:#58a6ff;border-radius:999px;width:100%;height:100%;transition:transform .18s linear,background .4s;transform:scaleX(1)}#yetihud{align-items:center;gap:8px;margin-top:2px;display:flex}#yetilabel{letter-spacing:1.5px;color:#8fa1b3;font-size:11px;font-weight:800}#yetibar{background:#ffffff1f;border-radius:999px;flex:auto;width:150px;height:6px;overflow:hidden}#yetifill{transform-origin:0;background:#5ad1c1;border-radius:999px;width:100%;height:100%;transition:transform .14s linear,background .3s;transform:scaleX(0)}#hint{color:#b8c2cf;white-space:pre;text-shadow:0 1px 6px #00000080;margin-top:10px;font-size:13px;line-height:1.5}
