@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff)format("woff")}:root{--night:#14101f;--panel:#251b45;--panel-2:#33265f;--line:#5b4b9a;--ink:#fff;--dim:#b9aee0;--gold:#ffd23f;--pink:#ff4f79;--cyan:#3fd8ff;--green:#6ee06a;--st:env(safe-area-inset-top,0px);--sr:env(safe-area-inset-right,0px);--sb:env(safe-area-inset-bottom,0px);--sl:env(safe-area-inset-left,0px);--outline:2px 2px 0 var(--night), -1px -1px 0 var(--night), 1px -1px 0 var(--night), -1px 1px 0 var(--night)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--night);height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;margin:0;font:10px/1.5 "Press Start 2P",ui-monospace,monospace;overflow:hidden}h1,h2,h3,p,ul,ol{margin:0;padding:0;font-weight:400}ul,ol{list-style:none}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}#view{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{z-index:30;display:none;position:fixed;inset:0}#ui.on{touch-action:pan-y;padding:calc(14px + var(--st)) calc(14px + var(--sr)) calc(18px + var(--sb)) calc(14px + var(--sl));background:linear-gradient(#14101f8c,#14101fcc);flex-direction:column;align-items:center;display:flex;overflow:hidden auto}#ui.on>*{flex:none;width:100%;max-width:980px;margin:auto 0}#ui.at-lobby{background:linear-gradient(#14101f4d,#14101fb8)}.card{border:3px solid var(--night);background:#251b45ed;border-radius:12px;padding:14px;box-shadow:0 5px #0006,inset 0 0 0 2px #ffffff12}h2{text-shadow:3px 3px 0 var(--night);font-size:16px}h3{color:var(--gold);margin-bottom:10px;font-size:10px}h3 em,li em{color:var(--dim);font-style:normal}.blurb,.hint{color:var(--dim);font-size:8px;line-height:1.9}.hint{text-align:center;padding:12px 0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row>.btn{flex:auto}.wait{color:var(--gold);font-size:8px;animation:1.2s steps(2,end) infinite blink}.btn{border:3px solid var(--night);background:var(--panel-2);color:var(--ink);text-align:center;box-shadow:0 5px 0 var(--night), inset 0 2px 0 #ffffff29;border-radius:10px;padding:13px 14px;font-size:10px;line-height:1.4;transition:transform 50ms;position:relative}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--night);transform:translateY(4px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--gold);color:var(--night)}.btn.big{width:100%;padding:15px 14px;font-size:13px;display:block}.btn.big small{opacity:.75;margin-top:8px;font-size:7px;display:block}.btn.back{padding:10px;font-size:8px}.btn.go{padding:13px 18px;font-size:12px}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(1.15)}}input:not([type=range]){border:3px solid var(--line);background:var(--night);text-transform:uppercase;-webkit-user-select:text;user-select:text;border-radius:8px;outline:none;width:100%;padding:11px 10px;font-size:16px}input:focus{border-color:var(--gold)}input::placeholder{color:var(--line)}input[type=range]{width:100%;accent-color:var(--gold);touch-action:pan-x;height:28px}.home{grid-template-columns:1fr;gap:16px;display:grid;max-width:420px!important}.brand{gap:12px;display:grid}.logo{justify-items:center;margin:6px 0 2px;line-height:1;display:grid;transform:rotate(-3deg)}.logo span:first-child{color:var(--cyan);text-shadow:3px 3px 0 var(--night);letter-spacing:.3em;margin-right:-.3em;font-size:clamp(18px,6vw,30px)}.logo span:last-child{color:var(--gold);text-shadow:3px 3px 0 var(--pink), 6px 6px 0 var(--night);margin-top:8px;font-size:clamp(34px,12vw,62px)}.tag{text-align:center;color:var(--ink);text-shadow:var(--outline);font-size:8px}.profile{gap:10px;display:grid}.profile label{color:var(--dim);font-size:8px}.swatches{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.swatches button{aspect-ratio:1;border:3px solid var(--night);border-radius:7px;padding:0}.swatches button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--night);transform:scale(1.12)}.menu{gap:12px;display:grid}.err{background:var(--pink);color:var(--night);border:3px solid var(--night);text-align:center;border-radius:8px;padding:10px;font-size:8px}.joinrow{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.joinrow input{text-align:center;letter-spacing:.25em}.joinrow.hot input{border-color:var(--gold)}@media (min-width:820px) and (min-height:480px){.home{grid-template-columns:1fr 1fr;align-items:center;gap:36px;max-width:860px!important}.logo span:last-child{font-size:58px}}@media (max-height:480px) and (orientation:landscape){.home{grid-template-columns:1fr 1fr;align-items:start;gap:18px;max-width:760px!important}.logo span:last-child{font-size:34px}.btn.big{padding:11px;font-size:11px}.btn.big small{display:none}}.busy{text-align:center;text-shadow:var(--outline);justify-items:center;gap:18px;display:grid}.spinner{border:6px solid var(--gold);border-right-color:#0000;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.lobby>header,.records>header{z-index:2;align-items:center;gap:10px;margin-bottom:12px;display:flex;position:sticky;top:0}.lobby>header h2,.records>header h2{flex:1;font-size:13px}.cols{grid-template-columns:1fr;gap:12px;display:grid}.invite{align-items:center;gap:14px;display:flex}.invite .qr{border-radius:6px;flex:none;width:96px;height:96px}.invite small{color:var(--dim);font-size:7px;line-height:1.8;display:block}.invite .code{color:var(--gold);letter-spacing:.12em;text-shadow:3px 3px 0 var(--night);-webkit-user-select:text;user-select:text;margin:6px 0;font-size:30px}.players ul{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:7px 10px;display:grid}.players li,.standings li{align-items:center;gap:7px;min-width:0;font-size:8px;display:flex}.players li i,.standings li i,td.n i{border:2px solid var(--night);border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.players li span,.standings li span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.players li.me span{color:var(--gold)}.players li em{font-size:7px}.setup{gap:12px;display:grid}.tracks{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.tracks button{border:3px solid var(--night);background:var(--night);color:var(--line);border-radius:10px;justify-items:center;gap:6px;padding:8px 4px;display:grid}.tracks button svg{width:100%;height:54px}.tracks button b{color:var(--dim);font-size:7px;font-weight:400;line-height:1.5}.tracks button.on{border-color:var(--c);color:var(--c);box-shadow:0 0 0 2px var(--night), 0 0 18px -4px var(--c)}.tracks button.on b{color:var(--ink)}.opts{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px 12px;display:grid}.opts label{color:var(--dim);font-size:8px}.seg{border:3px solid var(--night);background:var(--night);border-radius:8px;gap:2px;display:flex;overflow:hidden}.seg button{background:var(--panel-2);border:0;flex:1;min-width:0;padding:10px 4px;font-size:8px}.seg button.on{background:var(--gold);color:var(--night)}.stepper{align-items:center;gap:6px;display:flex}.stepper button{border:3px solid var(--night);background:var(--panel-2);border-radius:8px;width:38px;height:34px;padding:0;font-size:12px}.stepper b{text-align:center;color:var(--gold);flex:1;font-size:12px;font-weight:400}.stepper button:disabled,.seg button:disabled{cursor:default}.stepper button:disabled{opacity:.35}.seg.ro button:not(.on){opacity:.45}.tracks.ro button:not(.on){opacity:.5}@media (min-width:820px){.cols{grid-template-columns:340px 1fr;align-items:start}.setup{grid-area:1/2/span 3}.lobby.solo .cols{grid-template-columns:240px 1fr}.tracks{grid-template-columns:repeat(4,1fr)}.players ul{grid-template-columns:1fr 1fr}.lobby>header h2{font-size:16px}}.results,.records,.settings{gap:12px;display:grid;max-width:620px!important}.results h2,.settings h2,.results>.blurb,.settings>.blurb{text-align:center}.results>.blurb{color:var(--gold)}.results .card,.board{padding:8px 10px}table{border-collapse:collapse;width:100%;font-size:9px}th{color:var(--dim);text-align:right;padding:4px;font-size:7px;font-weight:400}td{text-align:right;white-space:nowrap;border-top:2px solid #ffffff0f;padding:7px 4px}td.p{text-align:left;color:var(--dim);width:1%}td.n{text-align:left;text-overflow:ellipsis;width:99%;max-width:0;overflow:hidden}td.n i{vertical-align:-1px;margin-right:7px}td.g{color:var(--green)}td.t{color:var(--gold)}tr.me td{background:#ffd23f24}tr.me td.n{color:var(--gold)}.board .blurb{text-align:center;padding:10px 0 4px}.tabs{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.tabs button{border:3px solid var(--night);background:var(--panel-2);border-radius:8px;padding:10px 4px;font-size:7px;line-height:1.5}.tabs button.on{background:var(--c);color:var(--night)}#ui.at-settings{background:#14101fd1}@media (max-width:460px){th.b,td.b{display:none}}@media (min-width:620px){.tabs{grid-template-columns:repeat(4,1fr)}table{font-size:10px}}#hud{z-index:10;pointer-events:none;text-shadow:var(--outline);position:fixed;inset:0}.vignette{opacity:0;transition:opacity .2s;position:absolute;inset:0;box-shadow:inset 0 0 90px 30px #ff283cbf}.tl{top:calc(10px + var(--st));left:calc(12px + var(--sl));position:absolute}.pos{white-space:nowrap;grid-template-columns:auto auto;column-gap:5px;line-height:1;display:inline-grid}.pos b{color:var(--gold);text-shadow:3px 3px 0 var(--night), -1px -1px 0 var(--night), 1px -1px 0 var(--night), -1px 1px 0 var(--night);grid-row:1/3;font-size:40px;font-weight:400}.pos sup{color:var(--gold);align-self:start;font-size:13px}.pos span{color:var(--ink);align-self:end;margin-bottom:5px;font-size:10px}.lap{margin-top:8px;font-size:11px}.pips{color:var(--gold);letter-spacing:2px;margin-top:6px;font-size:11px}.tr{top:calc(10px + var(--st));right:calc(12px + var(--sr));justify-items:end;gap:6px;display:grid;position:absolute}.time{font-variant-numeric:tabular-nums;font-size:15px}.best{color:var(--dim);font-size:8px}.map{opacity:.92;margin-top:2px;display:block}.standings{left:calc(12px + var(--sl));top:calc(104px + var(--st));gap:4px;width:172px;display:none;position:absolute}.standings li{text-shadow:none;background:#14101f9e;border-radius:5px;padding:4px 6px}.standings li.me{color:var(--night);background:#ffd23fe6}.standings li.me em{color:var(--night)}.standings li.out{opacity:.45}.standings li em{font-variant-numeric:tabular-nums;font-size:7px}.menu-btn{top:calc(10px + var(--st));pointer-events:auto;border:3px solid var(--night);width:38px;height:34px;text-shadow:none;background:#251b45cc;border-radius:8px;padding:0;font-size:9px;position:absolute;left:50%;transform:translate(-50%)}.slot{left:50%;bottom:calc(18px + var(--sb));opacity:.35;justify-items:center;gap:6px;transition:opacity .15s;display:grid;position:absolute;transform:translate(-50%)}.slot .glyph{border:4px solid var(--night);width:58px;height:58px;text-shadow:none;color:var(--night);background:#251b45cc;border-radius:12px;place-items:center;font:30px/1 system-ui,sans-serif;display:grid}.slot small{min-height:12px;font-size:8px}.slot.has{opacity:1}.slot.has .glyph{background:var(--c);animation:.25s pop}.wrong{text-align:center;color:var(--pink);font-size:18px;display:none;position:absolute;top:27%;left:0;right:0}.wrong.on{animation:.5s steps(2,end) infinite blink;display:block}.watch{left:0;right:0;bottom:calc(96px + var(--sb));text-align:center;color:var(--gold);font-size:9px;position:absolute}.count{text-align:center;color:var(--gold);text-shadow:5px 5px 0 var(--pink), 10px 10px 0 var(--night);font-size:clamp(56px,20vw,120px);line-height:1;position:absolute;top:34%;left:0;right:0}.count.pop{animation:.9s both count}.toasts{top:calc(56px + var(--st));justify-items:center;gap:6px;display:grid;position:absolute;left:0;right:0}.toast{text-shadow:none;text-align:center;background:#14101fd1;border-radius:7px;max-width:92vw;padding:7px 10px;font-size:9px;transition:opacity .3s,transform .3s;animation:.2s drop}.toast.gone{opacity:0;transform:translateY(-8px)}.toast.gold{background:var(--gold);color:var(--night)}.toast.item{background:var(--cyan);color:var(--night)}.toast.big{background:var(--pink);color:var(--ink);padding:10px 14px;font-size:14px}.banner{text-align:center;justify-items:center;gap:12px;display:none;position:absolute;top:30%;left:0;right:0}.banner.on{animation:.35s pop;display:grid}.banner b{color:var(--gold);text-shadow:4px 4px 0 var(--pink), 8px 8px 0 var(--night);font-size:clamp(26px,9vw,54px);font-weight:400}.banner span{font-size:13px}.joinhint{display:none}@media (min-width:820px) and (min-height:520px){.standings{display:grid}}@media (pointer:coarse){.slot{display:none}.watch{bottom:calc(150px + var(--sb))}}#hud[data-kind=screen] .tl,#hud[data-kind=screen] .time,#hud[data-kind=screen] .best,#hud[data-kind=screen] .slot,#hud[data-kind=screen] .watch{display:none}#hud[data-kind=screen] .standings{top:calc(12px + var(--st));width:min(250px,30vw);display:grid}#hud[data-kind=screen] .standings li{padding:5px 8px;font-size:clamp(8px,1.1vw,13px)}#hud[data-kind=screen] .standings li em{font-size:clamp(7px,.9vw,11px)}#hud[data-kind=screen] .map{transform-origin:100% 0;transform:scale(1.5)}#hud[data-kind=screen] .joinhint{bottom:calc(14px + var(--sb));white-space:nowrap;text-shadow:none;background:#14101fcc;border-radius:8px;padding:9px 14px;font-size:clamp(8px,1.2vw,14px);display:block;position:absolute;left:50%;transform:translate(-50%)}.joinhint b{color:var(--gold);font-weight:400}.joinhint:empty{display:none!important}#touch{z-index:20;pointer-events:none;position:fixed;inset:0}@media (hover:hover) and (pointer:fine){#touch{display:none}}.steer,.tb{pointer-events:auto;touch-action:none}#touch .steer{left:calc(10px + var(--sl));bottom:calc(14px + var(--sb));width:min(54vw,300px);height:min(30vh,132px);position:absolute}.steer{grid-template-columns:1fr 1fr;gap:10px;display:grid}.arrow,.tb{color:#ffffffd9;text-shadow:none;background:#ffffff29;border:4px solid #14101fbf;border-radius:18px;place-items:center;display:grid}.arrow{pointer-events:none;font:34px/1 system-ui,sans-serif}.steer.l .arrow.l,.steer.r .arrow.r,.tb.on{color:var(--night);background:#ffd23fbf}#touch .tb{right:calc(12px + var(--sr));border-radius:50%;width:86px;height:86px;font-size:8px;position:absolute}#touch .tb.brake{bottom:calc(14px + var(--sb))}#touch .tb.item{bottom:calc(112px + var(--sb));opacity:.4}.tb.item .glyph{color:var(--night);font:34px/1 system-ui,sans-serif}.tb.item.has{background:var(--c);border-color:var(--night);animation:.25s pop;opacity:1!important}@media (max-height:420px){#touch .tb{width:74px;height:74px}#touch .tb.item{bottom:calc(14px + var(--sb));right:calc(98px + var(--sr))}}#ui.padui{background:var(--night);touch-action:none;padding:0;overflow:hidden}#ui.padui>.pad{max-width:none;height:100%;padding:calc(10px + var(--st)) calc(12px + var(--sr)) calc(14px + var(--sb)) calc(12px + var(--sl));background:radial-gradient(circle at 50% 0, color-mix(in srgb, var(--c,#5b4b9a) 45%, transparent), transparent 70%);grid-template:"head head""msg msg"minmax(0,1fr)"brake item"minmax(90px,22vh)"steer steer"minmax(120px,30vh)/1fr 1fr;gap:10px;margin:0;display:grid}.pad header{grid-area:head;align-items:center;gap:8px;min-width:0;display:flex}.pad header i{border:3px solid var(--ink);border-radius:4px;flex:none;width:16px;height:16px}.pad header .who{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;overflow:hidden}.pad header .st{text-align:right;color:var(--gold);white-space:nowrap;flex:1;font-size:9px}.pad .msg{text-align:center;visibility:hidden;grid-area:msg;place-content:center;justify-items:center;gap:16px;display:grid}.pad .msg.on{visibility:visible}.pad .msg p{font-size:11px;line-height:2}.pad .steer{grid-area:steer}.pad .tb{border-radius:18px;font-size:11px}.pad .tb.brake{grid-area:brake}.pad .tb.item{opacity:.4;grid-area:item}@media (orientation:landscape){#ui.padui>.pad{grid-template:"head head head""steer msg msg"minmax(0,1fr)"steer brake item"minmax(0,1.2fr)/1.3fr 1fr 1fr}}@keyframes blink{50%{opacity:.15}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes drop{0%{opacity:0;transform:translateY(-10px)}}@keyframes count{0%{opacity:0;transform:scale(1.9)}18%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){*{animation-duration:10ms!important}}
