.player-look{color:var(--text);font:500 14px/1.5 var(--font)}.character-select,.room-refusal{z-index:50;box-sizing:border-box;background:var(--canvas);padding:28px;position:fixed;inset:0;overflow:auto}.character-select h1{letter-spacing:-.045em;font-size:40px;font-weight:800}.player-look button,.lobby-character button{border:1px solid var(--border);background:var(--s2);color:var(--text);font:600 13px/1.4 var(--font);cursor:pointer;border-radius:999px;padding:8px 14px}.player-look button:focus-visible,.player-look a:focus-visible,.lobby-character button:focus-visible{outline:2px solid var(--pink);outline-offset:3px}.player-look a{color:var(--mint)}.player-look .gm-cta{background:var(--mint);color:var(--onmint);margin:28px 0 0 auto;padding:18px 28px;font-size:16px;font-weight:800;display:block;box-shadow:0 12px 30px #ff7ab873}.player-look button:disabled{background:var(--s1);color:var(--dim);box-shadow:none;cursor:default}.player-look-form{align-items:end;gap:10px;max-width:480px;margin-top:28px;display:flex}.player-look-form label{flex:1;min-width:0;font-size:13px}.player-look input{box-sizing:border-box;border:1px solid var(--border);background:var(--canvas);width:100%;color:var(--text);font:600 13px/1.4 var(--font);border-radius:12px;margin-top:8px;padding:9px 12px;display:block}.player-look input::placeholder{color:var(--dim)}.player-look input:focus{border-color:#3a3b44;outline:none}.character-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:5px;display:grid}.player-look .character-card{background:var(--s1);overflow-wrap:anywhere;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.player-look .character-card[aria-pressed=true]{border-color:var(--mint);background:#74ecc61f}.character-card img,.character-initial{object-fit:cover;border-radius:14px;width:112px;height:112px}.character-initial{background:var(--s2);place-items:center;font-size:22px;font-weight:800;display:grid}.lobby-character{z-index:25;border:1.5px solid var(--border);background:var(--s1);color:var(--text);font:500 12px/1.5 var(--font);border-radius:999px;padding:7px 12px;position:fixed;top:24px;right:28px}.lobby-character button{margin-left:10px}.room-refusal{place-items:center;display:grid}.room-refusal .gm-card{border:1px solid var(--border);background:var(--s1);max-width:480px;box-shadow:var(--float);border-radius:16px;padding:26px 28px}.room-refusal[hidden]{display:none}.character-load-bar{background:var(--border);border-radius:2px;height:4px;margin-top:10px;overflow:hidden}.character-load-bar[hidden]{display:none}.character-load-bar:after{content:"";background:var(--mint);width:35%;height:100%;animation:1.5s ease-in-out infinite alternate character-loading;display:block}@keyframes character-loading{to{transform:translate(185%)}}@media (prefers-reduced-motion:reduce){.character-load-bar:after{animation:none}}:root{--race-pink:#ff4fa3;--race-purple:#7c5cff;--race-yellow:#ffd23f;--race-white:#fff;--race-ink:#322050}body,#hint,.brand small{font-size:18px}.race-hud{pointer-events:none;color:var(--race-white);text-shadow:2px 2px 0 var(--race-ink), -1px -1px 0 var(--race-ink);z-index:22;font:18px/1.35 Titan One,sans-serif;position:fixed;inset:0}.race-panel{background:var(--race-purple);border:4px solid var(--race-white);text-align:center;border-radius:32px;min-width:280px;max-height:65vh;padding:20px 32px;position:absolute;top:24px;left:50%;overflow:auto;transform:translate(-50%)}.race-panel>div,.race-rows>div,.race-controls>div{margin-bottom:5px}.race-rows,.race-controls{display:contents}.race-controls [hidden]{display:none}.race-panel.racing{background:0 0;border:0;justify-content:space-between;min-width:0;padding-right:240px;display:flex;inset:24px 24px auto;transform:none}.race-panel.countdown{display:none}.race-panel.results{top:50%;transform:translate(-50%,-50%)}.race-hud .gm-cta{pointer-events:auto;border:4px solid var(--race-white);background:var(--race-pink);color:var(--race-white);font:inherit;cursor:pointer;text-shadow:inherit;border-radius:999px;padding:18px 48px;font-size:28px}.race-hud button:focus-visible{outline:4px solid var(--race-yellow)}.race-banner{text-align:center;width:100%;text-shadow:4px 4px 0 var(--race-ink), -2px -2px 0 var(--race-ink);font-size:clamp(64px,7vw,96px);line-height:1.1;position:absolute;top:48%}.race-tag{background:var(--race-purple);color:var(--race-white);pointer-events:none;z-index:19;border-radius:999px;padding:4px 12px;font:18px Titan One,sans-serif;position:fixed;top:0;left:0}.confetti{width:12px;height:20px;position:absolute;top:40%;left:50%}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.race-panel progress{width:100%;height:24px;accent-color:var(--race-yellow);border-radius:999px;display:block}.race-roster{background:var(--race-purple);text-align:right;border-radius:16px;padding:12px;position:absolute;top:64px;right:0}.race-banner.race-card{box-sizing:border-box;background:var(--race-purple);border:4px solid var(--race-white);border-radius:32px;width:80%;padding:24px;left:10%}@media (width<=760px){.race-panel.racing{flex-direction:column;align-items:start;padding:20px 154px 20px 0}}.start-menu[hidden]{display:none}.start-modes,.start-join{flex-wrap:wrap;align-items:center;gap:10px;max-width:480px;margin-top:10px;display:flex}.start-menu h1{margin:12px 0;font-size:clamp(24px,5vw,40px);line-height:1.2}.start-menu h2{margin:16px 0 8px;font-size:16px}.start-menu>p{margin:0}.start-modes>div{min-width:0}.start-modes .gm-cta{margin:0;padding:8px 14px}.start-modes small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.start-races{max-width:640px}.start-race-list{border:1px solid var(--border);background:var(--s1);border-radius:16px;max-height:264px;padding:8px 12px;overflow:auto}.start-race-list p{color:var(--muted);margin:0}.start-races [data-part=row]{grid-template-columns:minmax(0,1fr) auto minmax(0,1.5fr) auto;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:grid}.start-races [data-cell=code]{font-family:var(--mono);overflow-wrap:anywhere;font-weight:800}.start-races [data-cell=phase]{color:var(--muted)}@media (width<=480px){.start-races [data-part=row]{grid-template-columns:minmax(0,1fr) auto auto}.start-races [data-cell=phase]{grid-area:2/1/auto/3}.start-races [data-part=row] button{grid-area:1/3/3}}.start-join input{text-transform:uppercase;flex:1;width:auto;min-width:0;margin-top:0}.character-overlay{border:1px solid var(--border);background:var(--glass);backdrop-filter:blur(10px);box-shadow:var(--float);border-radius:20px;inset:28px}.race-controls .lobby-character{pointer-events:auto;font:600 13px/1.4 var(--font);border:1px solid var(--border);background:var(--s2);color:var(--text);text-shadow:none;cursor:pointer;border-radius:999px;margin:10px;padding:8px 14px;position:static}.race-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}@media (width<600px),(height<500px){.race-panel.lobby,.race-panel.loading{top:calc(var(--race-badge-bottom,0px) + 8px);max-height:calc(100dvh - var(--race-badge-bottom,0px) - 24px);box-sizing:border-box;overflow-wrap:anywhere;pointer-events:auto;min-width:min(280px,100vw - 32px);max-width:calc(100vw - 32px)}}.race-panel.loading+.race-banner{font:800 22px/1.5 var(--font)}
