:root{--ink:#e8eaf0;--dim:#9aa1b0;--panel:#14161ceb;--line:#3a3f4c;--accent:#7cc4ff}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;background:#14161c;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}html{touch-action:pan-x pan-y}#stage,#view{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}[hidden]{display:none!important}button{-webkit-tap-highlight-color:transparent;font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#262a34;border-radius:10px;padding:.7em 1.2em}button.primary{background:var(--accent);border-color:var(--accent);color:#0c1118;font-weight:600}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--line);-webkit-user-select:text;user-select:text;border-radius:16px;width:min(30rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1.4rem 1.6rem;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.panel h1,.panel h2{margin:0 0 .4rem}.muted{color:var(--dim)}.small,small{font-size:.85rem}small{color:var(--dim)}.row{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.row button{flex:8rem}.option{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.choices{gap:.3rem;display:flex}.choices button{padding:.4em .9em}.choices button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}p.option{margin:0}.option input[type=checkbox]{width:1.4rem;height:1.4rem}details{border-top:1px solid var(--line);padding:.6rem 0}summary{cursor:pointer}table{border-collapse:collapse;width:100%;margin:.6rem 0;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.25rem .4rem}.hud{pointer-events:none;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000c;position:fixed;inset:0}.hud-corner{top:calc(.6rem + env(safe-area-inset-top));position:absolute}.hud-left{left:calc(.9rem + env(safe-area-inset-left))}.hud-right{right:calc(4.2rem + env(safe-area-inset-right));text-align:right}.hud-big{font-size:1.5rem;font-weight:700}.hud-lap,.hud-place{-webkit-text-stroke:2px #0b0d12;paint-order:stroke fill;text-shadow:0 3px #0b0d12,0 0 14px #00000080;font-style:italic;font-weight:900;line-height:1}.hud-lap{color:#fff;font-size:1.9rem}.hud-lap-word{letter-spacing:.08em;text-transform:uppercase;color:#7cc4ff;font-size:.55em}.hud-lap-of{color:#c9d2e0;font-size:.6em}.hud-place{color:#7cc4ff;-webkit-text-stroke-width:2.5px;transform-origin:0;margin-top:.15rem;font-size:3.8rem;line-height:.95;display:inline-block}.hud-place[data-podium="1"]{color:#ffd23c}.hud-place[data-podium="2"]{color:#e9eef5}.hud-place[data-podium="3"]{color:#ff9b54}.hud-place-suffix{vertical-align:.95em;margin-left:.03em;font-size:.45em}.hud-place-of{color:#c9d2e0;-webkit-text-stroke-width:1.5px;margin-left:.18em;font-size:.34em}.menu-join{gap:.5rem;margin:1rem 0 .4rem;display:flex}.menu-join .code-input{flex:1;min-width:0}.menu-join button{flex:none;padding-left:1.4rem;padding-right:1.4rem}.code-input{font:inherit;letter-spacing:.25em;text-transform:uppercase;text-align:center;color:inherit;background:#0f1116;border:1px solid #3a3f4b;border-radius:8px;padding:.5rem .6rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.4rem;font-weight:700}.code-input::placeholder{letter-spacing:.02em;text-transform:none;color:var(--dim);font-size:1rem;font-weight:400}.hud-speed{left:50%;bottom:calc(.6rem + env(safe-area-inset-bottom));position:absolute;transform:translate(-50%)}.hud-map{top:calc(4.4rem + env(safe-area-inset-top));right:calc(.7rem + env(safe-area-inset-right));aspect-ratio:1;background:#0f111673;border-radius:.6rem;width:clamp(6.5rem,22vmin,11rem);position:absolute}.hud-center{text-align:center;font-size:clamp(2rem,9vw,5rem);font-weight:800;position:absolute;top:28%;left:0;right:0}.pause-button{top:calc(.5rem + env(safe-area-inset-top));right:calc(.7rem + env(safe-area-inset-right));pointer-events:auto;background:#14161c99;border-radius:50%;width:2.8rem;height:2.8rem;padding:0;font-weight:700;position:absolute}.touch{touch-action:none;pointer-events:none;position:fixed;inset:0}.touch-steer{pointer-events:auto;width:50%;position:absolute;top:0;bottom:0;left:0}.touch-hint{left:calc(1.2rem + env(safe-area-inset-left));bottom:calc(1.2rem + env(safe-area-inset-bottom));color:#ffffff80;font-size:.85rem;position:absolute}.touch-ring{pointer-events:none;border:2px solid #ffffff59;border-radius:28px;width:150px;height:56px;margin:-28px 0 0 -75px;position:fixed}.touch-knob{background:#ffffff8c;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}.steering-range{width:9rem}.touch-button{pointer-events:auto;touch-action:none;background:#14161c8c;border:2px solid #fff6;border-radius:50%;padding:0;font-size:.85rem;position:absolute}.touch-button.held{background:#7cc4ff8c}.touch-drift{right:calc(1.2rem + env(safe-area-inset-right));bottom:calc(1.4rem + env(safe-area-inset-bottom));width:6rem;height:6rem}.touch-brake{right:calc(8rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom));width:4.4rem;height:4.4rem}.touch-item{right:calc(2rem + env(safe-area-inset-right));bottom:calc(8.2rem + env(safe-area-inset-bottom));width:4.4rem;height:4.4rem}.rotate{text-align:center;background:#14161c;justify-content:center;align-items:center;padding:2rem;font-size:1.3rem;display:none;position:fixed;inset:0}body.racing .rotate{z-index:10}@media (orientation:portrait) and (pointer:coarse){body.racing .rotate{display:flex}}.debug{left:calc(.6rem + env(safe-area-inset-left));bottom:calc(.6rem + env(safe-area-inset-bottom));pointer-events:none;background:#0009;margin:0;padding:.4rem .6rem;font:12px/1.35 ui-monospace,Menlo,Consolas,monospace;position:fixed}.notice{color:#ffd9de;background:#4a2530;border-radius:8px;margin:0 0 .8rem;padding:.6rem .8rem}.field{text-align:left;flex-direction:column;gap:.35rem;margin:.7rem 0;display:flex}.field input[type=text],.invite input,select{font:inherit;color:inherit;background:#0f1116;border:1px solid #3a3f4b;border-radius:8px;min-width:0;padding:.55rem .7rem}.looks{grid-template-columns:repeat(6,1fr);gap:.4rem;display:grid}.look{border:2px solid #0000;border-radius:8px;height:2rem;padding:0}.look[aria-pressed=true]{border-color:#fff;box-shadow:inset 0 0 0 2px #14161c}.code{letter-spacing:.12em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.invite{gap:.5rem;margin:.6rem 0;display:flex}.invite input{flex:1}.players{text-align:left;max-height:14rem;margin:.8rem 0;padding:0;list-style:none;overflow-y:auto}.players li{border-bottom:1px solid #2a2e38;align-items:center;gap:.6rem;padding:.35rem .2rem;display:flex}.swatch{border-radius:4px;flex:none;width:1.1rem;height:1.1rem}.player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.player-note{color:#9aa1b0;font-size:.85em}.players li.is-ready .player-note{color:#7fe08a}.host-box{border:1px solid #3a3f4b;border-radius:10px;margin:.6rem 0;padding:.6rem .8rem}.places{width:100%}.places tr.is-you{color:#ffe14d;font-weight:600}.hud-item{top:calc(.8rem + env(safe-area-inset-top));background:#0f1116b8;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .8rem .35rem .45rem;font-weight:600;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-item.spinning{opacity:.75}.hud-item-icon{background:#888;border-radius:50%;width:1.5rem;height:1.5rem}.hud-item[data-item="1"] .hud-item-icon{background:#ffe14d;border-radius:20%;transform:rotate(45deg)scale(.8)}.hud-item[data-item="2"] .hud-item-icon{clip-path:polygon(50% 0,100% 100%,50% 75%,0 100%);background:#ff4d6d;border-radius:0}.hud-item[data-item="3"] .hud-item-icon{background:#8a5cff;border-radius:60% 40% 55% 45%/50% 60% 40% 50%}.hud-item[data-item="4"] .hud-item-icon{background:linear-gradient(#ff9a1f,#ffe14d);border-radius:30% 30% 50% 50%}.hud-item[data-item="5"] .hud-item-icon{box-sizing:border-box;background:0 0;border:3px solid #7fe9ff}.hud-watching{top:calc(3.6rem + env(safe-area-inset-top));background:#0f1116b8;border-radius:8px;padding:.3rem .8rem;position:absolute;left:50%;transform:translate(-50%)}.name-tags{pointer-events:none;position:fixed;inset:0;overflow:hidden}.name-tag{color:#fff;white-space:nowrap;transform-origin:50% 100%;will-change:transform;background:#0f111673;border-radius:4px;padding:0 .25rem;font-size:.6rem;line-height:1.35;position:absolute;top:0;left:0}.toast{left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));color:#fff;z-index:5;background:#0f1116e0;border-radius:8px;max-width:90vw;padding:.5rem .9rem;position:fixed;transform:translate(-50%)}a.button{color:var(--ink);border:1px solid var(--line);background:#262a34;border-radius:10px;padding:.7em 1.2em;text-decoration:none;display:inline-block}a.button.primary{background:var(--accent);border-color:var(--accent);color:#0c1118;font-weight:600}.home-screen ol{margin:.6rem 0 .4rem;padding-left:1.4rem;font-size:.9rem;line-height:1.45}.home-screen li+li{margin-top:.4rem}.home-screen .share-icon{vertical-align:-.12em;width:1em;height:1em}
