:root{--night: #0b0e14;--line: #262d3b;--paper: #f1ebdd;--muted: #a9a293;--lamp: #e9a65a;--lamp-hi: #f2b877;--lamp-ink: #1a1208;--sky: #cfe8f8;--white: #ffffff;--gold: #ffd23f;--alarm: #ff5a47;--alarm-50: rgb(255 90 71 / .5);--scrim-1: rgb(11 14 20 / .7);--scrim-2: rgb(11 14 20 / .82);--scrim-3: rgb(11 14 20 / .92);--paper-70: rgb(241 235 221 / .7);--paper-50: rgb(241 235 221 / .5);--lamp-55: rgb(233 166 90 / .55);--lamp-15: rgb(233 166 90 / .15);--shadow: rgb(0 0 0 / .55);--sans: "Mona Sans", ui-sans-serif, system-ui, sans-serif;--wide: 125%;--fs-xs: 12px;--fs-s: 14px;--fs-m: 16px;--fs-l: 30px;--fs-xl: 36px;--radius-s: 10px;--radius-l: 16px;--tap: 44px;--top: env(safe-area-inset-top, 0px);--right: env(safe-area-inset-right, 0px);--bottom: env(safe-area-inset-bottom, 0px);--left: env(safe-area-inset-left, 0px);color-scheme:dark}[hidden]{display:none!important}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--night);color:var(--paper);font:450 16px/1.45 var(--sans)}::selection{background:var(--lamp);color:var(--lamp-ink)}.wide{font-stretch:var(--wide);font-weight:900;letter-spacing:-.015em}a{color:var(--lamp);text-underline-offset:3px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nowrap{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.view{position:fixed;inset:0;overflow:hidden;background:var(--sky);outline:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.view canvas.gl{position:absolute;inset:0;width:100%;height:100%;display:block}.hud{position:absolute;margin:0;background:var(--scrim-2);color:var(--paper);font:650 var(--fs-xs)/1.35 var(--sans);padding:10px 12px;border-radius:var(--radius-s);pointer-events:none;font-variant-numeric:tabular-nums}.hud b{font:900 var(--fs-xl)/1 var(--sans);font-stretch:var(--wide);letter-spacing:-.02em;color:var(--lamp);font-variant-numeric:tabular-nums}.hud small{font:650 var(--fs-xs)/1 var(--sans);color:var(--muted);margin-left:4px}.hud-l{left:calc(12px + var(--left));top:calc(12px + var(--top))}.hud-r{right:calc(12px + var(--right));top:calc(12px + var(--top));text-align:right;letter-spacing:.08em}.hud-r svg.coin{width:13px;height:13px;vertical-align:-2px;margin-right:4px}.item{position:absolute;left:50%;bottom:calc(16px + var(--bottom));transform:translate(-50%);display:grid;justify-items:center;gap:6px;padding:0;border:0;background:none;cursor:pointer;touch-action:none;z-index:2}.item svg.icon{width:44px;height:44px;padding:14px;box-sizing:content-box;border-radius:var(--radius-l);background:var(--scrim-2);border:2px solid var(--paper-50);color:var(--paper);stroke-width:2.2}.item.landed svg.icon{border-color:var(--lamp);color:var(--lamp);animation:ready 1.2s ease-in-out infinite}.item.landed:hover svg.icon{background:var(--scrim-3)}.item.landed:active svg.icon{transform:translateY(1px)}.item .nm{order:-1;font:700 var(--fs-xs)/1 var(--sans);color:var(--paper);background:var(--scrim-2);padding:5px 8px;border-radius:var(--radius-s);white-space:nowrap}.item .nm span{color:var(--lamp)}.item:not(.landed) .nm,.item .nm .t{display:none}@media (pointer: coarse){.item .nm .k{display:none}.item .nm .t{display:inline}}@keyframes ready{50%{box-shadow:0 0 0 6px var(--lamp-15)}}.alarm-edge{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 3px var(--alarm),inset 0 0 80px var(--alarm-50);opacity:0}.view.alarm .alarm-edge{opacity:1;animation:alarm .5s ease-in-out infinite alternate}@keyframes alarm{to{opacity:.4}}.warn{position:absolute;left:50%;bottom:calc(136px + var(--bottom));transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:var(--radius-s);background:var(--scrim-3);border:2px solid var(--alarm);color:var(--paper);pointer-events:none;white-space:nowrap;z-index:2}.warn svg.icon{width:28px;height:28px;color:var(--alarm);stroke-width:2.4}.warn b{display:block;font:700 var(--fs-s)/1.2 var(--sans)}.warn small{display:block;font:650 var(--fs-xs)/1.3 var(--sans);color:var(--lamp)}.warn small:empty{display:none}@media (prefers-reduced-motion: reduce){.item.landed svg.icon,.view.alarm .alarm-edge{animation:none}}.hud .meter{display:flex;gap:3px;margin-top:8px}.hud .meter i{width:12px;height:14px;background:var(--paper-50);clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%,45% 50%)}.hud .meter i.on{background:var(--lamp)}.hud .coinct{display:flex;align-items:center;gap:5px;margin-top:6px;font-variant-numeric:tabular-nums}.hud-l svg.coin{width:13px;height:13px}.view:not(.playing) .hud,.view:not(.playing) .mini,.view:not(.playing) .labels{display:none}.mini{position:absolute;left:calc(12px + var(--left));bottom:calc(12px + var(--bottom));width:120px;height:100px;border-radius:var(--radius-s);background:var(--scrim-1)}.labels span{position:absolute;transform:translate(-50%,-100%);font:650 var(--fs-xs)/1 var(--sans);color:var(--white);background:var(--scrim-1);padding:4px 6px;border-radius:var(--radius-s);white-space:nowrap;pointer-events:none}.labels span.inrange{box-shadow:0 0 0 2px var(--lamp)}.labels span.target{background:var(--alarm)}.labels span.target:before{content:"! ";font-weight:900}.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.toasts{position:absolute;left:50%;top:30%;transform:translate(-50%);display:grid;gap:8px;justify-items:center;pointer-events:none;width:max-content;max-width:90%}.toast{font:650 var(--fs-s)/1.2 var(--sans);padding:9px 12px;border-radius:var(--radius-s);background:var(--scrim-3);color:var(--paper)}.toast.hot{background:var(--lamp);color:var(--lamp-ink)}.notes{position:absolute;left:50%;top:calc(68px + var(--top));transform:translate(-50%);width:min(320px,calc(100% - 24px));pointer-events:none;z-index:2}.notes .note{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:var(--radius-s);background:var(--scrim-3);color:var(--paper);opacity:0;transform:translateY(-10px);transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1)}.notes .note.in{opacity:1;transform:none}.notes .note .ic{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:6px;background:var(--gold);color:var(--lamp-ink);font:900 var(--fs-m)/1 var(--sans);font-stretch:var(--wide)}.notes .note .ic:has(svg){background:none}.notes .note .ic svg{width:28px;height:28px}.notes .note .tx{display:grid;gap:2px;min-width:0}.notes .note b{font:650 var(--fs-s)/1.25 var(--sans)}.notes .note small{font:500 var(--fs-xs)/1.3 var(--sans);color:var(--muted)}@media (max-width: 560px){.notes{left:calc(12px + var(--left));right:calc(68px + var(--right));width:auto;transform:none;top:calc(84px + var(--top))}}@media (prefers-reduced-motion: reduce){.notes .note{transition:none;transform:none}}.toast.big{font:900 var(--fs-l)/1 var(--sans);font-stretch:var(--wide);letter-spacing:-.015em;padding:12px 18px}.count{position:absolute;inset:0;display:grid;place-items:center;font:900 clamp(80px,16vw,180px)/1 var(--sans);font-stretch:var(--wide);color:var(--white);text-shadow:0 4px 30px var(--shadow);pointer-events:none;font-variant-numeric:tabular-nums}.bar{position:absolute;left:50%;top:calc(12px + var(--top));transform:translate(-50%);display:flex;gap:8px;z-index:3}.bar button{width:var(--tap);height:var(--tap);border-radius:50%;border:1px solid var(--paper-50);background:var(--scrim-1);color:var(--white);cursor:pointer;display:grid;place-items:center;padding:0}.bar button:hover{background:var(--scrim-3);border-color:var(--paper)}.bar button:active{transform:translateY(1px)}.view:not(.live) .bar .in-game{display:none}#sp-mute .ico-off,#sp-mute[aria-pressed=true] .ico-on{display:none}#sp-mute[aria-pressed=true] .ico-off{display:block}@media (max-width: 560px){.view.playing .bar{left:auto;right:calc(12px + var(--right));top:calc(76px + var(--top));transform:none;flex-direction:column}.view:not(.playing) .bar{left:auto;right:calc(12px + var(--right));transform:none}}.view:before,.view:after{content:"";position:absolute;left:0;right:0;height:10vh;background:var(--night);z-index:1;pointer-events:none;transform:scaleY(0);transition:transform .6s}.view:before{top:0;transform-origin:top}.view:after{bottom:0;transform-origin:bottom}.view.cine:before,.view.cine:after{transform:scaleY(1)}.view.cine .hud,.view.cine .mini,.view.cine .labels,.view.cine .bar .in-game{visibility:hidden}.cine-card{position:absolute;left:50%;bottom:calc(10vh + 20px + var(--bottom));transform:translate(-50%);z-index:1;display:grid;gap:6px;justify-items:center;text-align:center;pointer-events:none;opacity:0;transition:opacity .8s;width:max-content;max-width:90%}.view.cine .cine-card{opacity:1;transition-delay:.8s}.cine-card b{font:900 clamp(44px,9vw,84px)/1 var(--sans);font-stretch:var(--wide);letter-spacing:-.02em;color:var(--white);text-shadow:0 2px 24px var(--shadow)}.cine-card span{font:600 var(--fs-m)/1.4 var(--sans);color:var(--paper);text-shadow:0 1px 8px var(--shadow)}.cine-card small{font:600 var(--fs-xs)/1 var(--sans);color:var(--paper-70)}@media (prefers-reduced-motion: reduce){.view:before,.view:after,.cine-card{transition:none}}.over{position:absolute;inset:0;z-index:2;background:var(--scrim-2);display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:calc(24px + var(--top)) calc(20px + var(--right)) calc(24px + var(--bottom)) calc(20px + var(--left));overflow-y:auto}.over.start{background:linear-gradient(180deg,var(--scrim-1),var(--scrim-2) 55%)}.over h1{margin:0;font-weight:900;font-stretch:var(--wide);font-size:clamp(52px,11vw,112px);line-height:.92;letter-spacing:-.025em;text-wrap:balance}.over h2{margin:0;font-weight:850;font-stretch:115%;font-size:clamp(30px,6vw,48px);line-height:1.05;letter-spacing:-.015em;text-wrap:balance}.over p{margin:0;max-width:42ch;font:450 var(--fs-m)/1.45 var(--sans);text-wrap:pretty}.over .tag{font:550 clamp(17px,2.6vw,22px)/1.25 var(--sans);color:var(--paper)}.over .note{font-size:var(--fs-xs);color:var(--paper-70)}.over .credits{font-size:var(--fs-xs);color:var(--muted)}.over .row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.over .row button{font:650 var(--fs-s)/1 var(--sans);min-height:var(--tap);padding:0 16px;border-radius:var(--radius-s);border:1px solid var(--lamp);background:none;color:var(--lamp);cursor:pointer}.over .row button:hover{background:var(--lamp-15)}.over .row button.primary{background:var(--lamp);color:var(--lamp-ink)}.over .row button.primary:hover{background:var(--lamp-hi)}.over .row button:active,.card:active{transform:translateY(1px)}.over button:disabled{opacity:.45;cursor:not-allowed;transform:none}.over textarea{font:450 var(--fs-s)/1.4 var(--sans);width:min(320px,80vw);background:var(--night);color:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);padding:8px;resize:none}.back{position:absolute;left:calc(12px + var(--left));top:calc(12px + var(--top));display:inline-flex;align-items:center;min-height:var(--tap);padding:0 14px;border-radius:var(--radius-s);background:var(--scrim-3);font:650 var(--fs-s)/1 var(--sans);text-decoration:none;gap:6px}.back:hover{text-decoration:underline}.pick{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-top:6px}.card{display:grid;gap:6px;text-align:left;padding:16px;min-height:132px;border-radius:var(--radius-l);border:1px solid var(--lamp-55);background:var(--scrim-2);cursor:pointer;align-content:start}.card:hover{border-color:var(--lamp);background:var(--scrim-3)}.pick.routes{grid-template-columns:repeat(auto-fit,minmax(190px,210px));justify-content:center;width:min(920px,92vw)}.pick.routes .card b{font-size:var(--fs-m);line-height:1.2}.card b{font:900 var(--fs-l)/1 var(--sans);font-stretch:var(--wide);letter-spacing:-.015em;color:var(--lamp)}.card span{font:450 var(--fs-s)/1.45 var(--sans);color:var(--paper);text-wrap:pretty}.card small{margin-top:auto;font:650 var(--fs-xs)/1 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.card.first{background:var(--lamp);border-color:var(--lamp)}.card.first:hover{background:var(--lamp-hi)}.card.first b,.card.first span,.card.first small{color:var(--lamp-ink)}#status{min-height:1.4em;color:var(--muted)}.sub{font:550 var(--fs-m)/1.45 var(--sans);font-variant-numeric:tabular-nums}.standings{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:0;padding:0;list-style:none;counter-reset:place}.standings li:before{counter-increment:place;content:counter(place) ". ";color:var(--muted)}.standings li.you{color:var(--lamp)}.sub .facts{margin-top:10px;color:var(--paper);font-variant-numeric:tabular-nums}.sub .missions{margin:10px auto 0;padding:0;list-style:none;display:grid;gap:4px;font-size:var(--fs-s);color:var(--paper-70)}#sp-garage{place-content:start center;padding-top:calc(72px + var(--top));gap:10px}.garage-btn{min-height:var(--tap);padding:0 18px;border-radius:var(--radius-s);border:1px solid var(--paper-50);background:var(--scrim-2);color:var(--paper);font:650 var(--fs-s)/1 var(--sans);cursor:pointer;font-variant-numeric:tabular-nums}.garage-btn:hover{border-color:var(--lamp)}.garage-btn:active,.swatch:active{transform:translateY(1px)}.shelf{margin:6px 0 0;font:800 var(--fs-s)/1 var(--sans);letter-spacing:.02em;color:var(--paper)}.swatches{display:grid;grid-template-columns:repeat(3,minmax(0,120px));gap:8px}.swatch{display:grid;gap:4px;padding:8px 10px;text-align:left;border-radius:var(--radius-s);border:1px solid var(--paper-50);background:var(--scrim-2);cursor:pointer}.swatch:hover{border-color:var(--paper)}.swatch.on{border:2px solid var(--lamp);padding:7px 9px}.swatch i{display:block;height:16px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--paper-50)}.swatch img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--white)}.swatches.riders{grid-template-columns:repeat(6,minmax(0,76px))}.swatches.riders .swatch{padding:6px}.swatches.riders .swatch.on{padding:5px}.swatches.riders .swatch b{font-size:var(--fs-xs);text-align:center}.swatches.routes{grid-template-columns:repeat(4,minmax(0,140px))}.swatch:disabled{cursor:default;opacity:.55}.swatch.on:disabled{opacity:1}#sp-room{place-content:start center;padding-top:calc(72px + var(--top));gap:10px}.room-link{display:flex;gap:8px;width:min(480px,92vw)}.room-link input,.field-in{flex:1;min-width:0;min-height:var(--tap);padding:0 12px;border-radius:var(--radius-s);border:1px solid var(--paper-50);background:var(--night);color:var(--paper);font:500 var(--fs-s)/1 var(--sans)}.field-in{flex:none;width:min(320px,92vw)}.field{font:800 var(--fs-s)/1 var(--sans);color:var(--paper);margin-top:4px}.roster{margin:0;padding:0;list-style:none;display:grid;gap:6px;width:min(320px,92vw)}.roster li{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:var(--radius-s);background:var(--scrim-2);font:600 var(--fs-s)/1.2 var(--sans);text-align:left}.roster img{width:36px;height:36px;border-radius:6px;object-fit:cover;background:var(--white)}.roster small{margin-left:auto;color:var(--muted);font:600 var(--fs-xs)/1 var(--sans)}.roster li.you{box-shadow:inset 0 0 0 1px var(--lamp)}.view.multi #sp-pause-btn{display:none}@media (max-width: 460px){.swatches.riders{grid-template-columns:repeat(3,minmax(0,1fr));width:min(320px,86vw)}.swatches.routes{grid-template-columns:repeat(2,minmax(0,1fr));width:min(320px,86vw)}}.swatch b{font:700 var(--fs-s)/1.2 var(--sans)}.swatch small{font:600 var(--fs-xs)/1 var(--sans);color:var(--muted)}.swatch.on small{color:var(--lamp)}@media (max-width: 460px){.swatches{grid-template-columns:repeat(2,minmax(0,1fr));width:min(320px,86vw)}}@media (max-width: 460px){.pick{grid-template-columns:minmax(0,1fr);width:min(320px,86vw)}.card{min-height:0}.over .row{flex-direction:column;width:min(320px,86vw)}}.seg{display:flex;gap:8px;justify-content:center}.seg button[aria-pressed=true]{background:var(--lamp);color:var(--lamp-ink);border-color:var(--lamp)}.join{display:flex;gap:8px;justify-content:center}.join .field-in{width:9.5em;text-transform:uppercase;letter-spacing:.12em}.code{letter-spacing:.12em;color:var(--lamp)}.labels span.vr:after{content:" VR";color:var(--lamp);font-weight:800}body[data-game=vr] #run,body[data-game=vr] #sp-switch{display:none!important}body[data-game=vr] .pick{grid-template-columns:minmax(0,300px)}
