:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#10263b;background:#087ec9;font-synthesis:none}*{box-sizing:border-box}html,body,#app,.shell{width:100%;height:100%;margin:0}button,input{font:inherit}.hidden{display:none!important}.shell{position:relative;overflow:hidden;background:linear-gradient(160deg,#20a9ed,#0572b8)}.welcome{display:grid;width:100%;height:100%;place-content:center;gap:28px;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.25),transparent 35%)}.brand{display:flex;align-items:center;justify-content:center;gap:16px;color:#fff;text-shadow:0 4px 18px rgba(5,33,57,.25)}.brand h1{margin:0;font-size:clamp(40px,7vw,76px);letter-spacing:-.06em}.brand p{margin:0;font-weight:750;opacity:.78}.brand__bean{display:grid;width:64px;height:82px;place-items:center;border:5px solid #fff;border-radius:30px;background:#ff5d73;font-size:22px;font-weight:950;box-shadow:0 12px #09324f2e}.lobby-card{display:grid;width:min(420px,calc(100vw - 32px));gap:12px;border:1px solid rgba(255,255,255,.56);border-radius:24px;padding:22px;background:#f9fcfff0;box-shadow:0 26px 70px #04315347;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.lobby-card__status{display:flex;align-items:center;gap:9px}.pulse{width:10px;height:10px;border-radius:50%;background:#35c96f;box-shadow:0 0 0 6px #35c96f24}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stats span{display:grid;border-radius:12px;padding:9px;background:#eaf4fa;color:#607488;font-size:11px;text-align:center}.stats b{color:#142b3e;font-size:20px}.lobby-card label{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px;color:#526a80;font-size:13px;font-weight:800}.lobby-card input{min-height:42px;border:1px solid #cadbe6;border-radius:10px;padding:0 12px;background:#fff;color:#10263b}.lobby-card input[type=color]{padding:4px}.lobby-card button,.lobby-dialog button{min-height:46px;border:0;border-radius:12px;font-weight:900;cursor:pointer}.primary{background:#ffae26;color:#2b1b00;box-shadow:0 6px #d98300}.secondary{background:#e5eff5;color:#294458}.hint{margin:5px 0 0;color:#6e8497;font-size:12px;text-align:center}.game,#race{width:100%;height:100%}#race{display:block}.topbar{position:absolute;inset:12px 16px auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;pointer-events:none}.topbar>div,.leaderboard,.local-card{border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#071c30e0;color:#fff;box-shadow:0 8px 24px #03233b33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.round,.population{width:max-content;padding:9px 14px;font-size:13px;font-weight:900}.population{justify-self:end}.counter{padding:8px 18px;font-size:25px;font-weight:950;font-variant-numeric:tabular-nums}.leaderboard{position:absolute;top:72px;right:16px;width:230px;padding:12px}.leaderboard h2{margin:0 0 8px;font-size:16px}.leaderboard ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}.leaderboard li{display:grid;grid-template-columns:20px 42px 1fr;align-items:center;gap:6px;border-radius:8px;padding:6px;background:#ffffff0f;font-size:12px}.leaderboard li.self{outline:2px solid #fff}.leaderboard li span{border-left:5px solid var(--color);font-weight:900}.leaderboard li em{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.leaderboard button{width:100%;margin-top:8px;border:0;border-radius:8px;padding:7px;background:#233f57;color:#dbeaf4;font-size:11px;font-weight:800;cursor:pointer}.lobby-overlay,.results{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:82px 18px 18px;background:#05253d42;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.lobby-dialog,.results>div{width:min(500px,100%);max-height:calc(100vh - 110px);overflow:auto;border:1px solid rgba(255,255,255,.44);border-radius:20px;padding:20px;background:#fafdfff5;box-shadow:0 24px 64px #02274147}.lobby-dialog h2,.results h2{margin:0 0 6px}.lobby-dialog p,.results p{margin:0 0 14px;color:#677e92;font-size:13px}.lobby-dialog ul,.results ol{display:grid;gap:6px;margin:0 0 15px;padding:0;list-style:none}.lobby-dialog li{display:grid;grid-template-columns:12px 30px 1fr auto 26px;align-items:center;gap:6px;border-radius:9px;padding:7px 8px;background:#eaf3f8;font-size:12px}.dot{width:10px;height:10px;border-radius:50%;background:var(--color)}.lobby-dialog em{color:#71889b;font-style:normal}.lobby-dialog li button{min-height:26px;border:0;border-radius:7px;background:#ffdde2;color:#b21939;font-weight:950;cursor:pointer}.lobby-dialog>.primary{width:100%}.results li{display:grid;grid-template-columns:28px 1fr auto;gap:8px;border-radius:9px;padding:9px;background:#edf4f8}.results em{color:#71889b;font-style:normal}.local-card{position:absolute;left:16px;bottom:16px;padding:9px 12px;font-size:12px;font-weight:900}.leave{position:absolute;right:16px;bottom:16px;border:1px solid rgba(255,255,255,.25);border-radius:9px;padding:8px 11px;background:#071c30cc;color:#fff;font-weight:800;cursor:pointer}.touch{display:none}.toast{position:absolute;left:50%;top:18px;z-index:20;transform:translate(-50%);border-radius:12px;padding:11px 16px;background:#10263b;color:#fff;font-weight:800;box-shadow:0 12px 30px #00000040}@media(max-width:760px),(hover:none){.leaderboard{top:65px;right:8px;width:158px;padding:8px}.leaderboard li{grid-template-columns:17px 36px 1fr;padding:4px;font-size:10px}.topbar{top:8px;right:8px;bottom:8px;left:8px}.round,.population{padding:7px 9px;font-size:10px}.counter{padding:6px 10px;font-size:18px}.local-card{left:8px;bottom:116px}.leave{right:8px;bottom:116px}.touch{position:absolute;inset:auto 8px calc(8px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;pointer-events:none}.touch button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid rgba(255,255,255,.36);background:#071c30d1;color:#fff;font-weight:950;box-shadow:0 6px 18px #021c3040}.touch button.pressed{background:#ffae26;color:#2b1b00}.touch__move{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:5px}.touch__move button{border-radius:50%}.touch__move [data-key=forward]{grid-column:2}.touch__move [data-key=left]{grid-column:1;grid-row:2}.touch__move [data-key=back]{grid-column:2;grid-row:2}.touch__move [data-key=right]{grid-column:3;grid-row:2}.touch__actions{display:flex;align-items:end;gap:6px}.touch__actions button{width:64px;height:64px;border-radius:50%;font-size:10px}}
