@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(./bungee-latin-400-normal-Dfnurram.woff2)format("woff2"),url(./bungee-latin-400-normal-DA8IEVW_.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(./barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(./barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(./barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff")}:root{--sky:#9cc7d6;--plate:#14181c;--plate-2:#1f262b;--glass:#14181cd1;--line:#323c43;--text:#f3efe4;--muted:#9ca7ad;--signal:#ffd23f;--signal-ink:#15130c;--hot:#ff5a3c;--display:"Bungee","Arial Black",Impact,sans-serif;--ui:"Barlow Semi Condensed","Arial Narrow","Roboto Condensed",system-ui,sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[hidden]{display:none!important}html,body{background:var(--sky);height:100%;color:var(--text);font-family:var(--ui);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;overflow:hidden}#game{touch-action:none;position:fixed;inset:0}#game canvas{display:block}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.hud{pointer-events:none;font-variant-numeric:tabular-nums;position:fixed;inset:0}.tl{top:calc(12px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute}.tl-row{align-items:stretch;gap:8px;display:flex}.plate{background:var(--signal);color:var(--signal-ink);font-family:var(--display);border-radius:4px;align-items:baseline;padding:6px 12px 4px;display:flex;transform:rotate(-2deg);box-shadow:0 3px #00000059}.plate b{font-size:42px;font-weight:400;line-height:1}.plate sup{vertical-align:top;margin-left:1px;font-size:15px;position:relative;top:4px}.plate span{opacity:.55;margin-left:4px;font-size:15px}.stats{background:var(--glass);border:1px solid var(--line);border-radius:4px;grid-template-columns:auto auto;align-content:center;gap:1px 10px;margin:0;padding:6px 12px;display:grid}.stats dt{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;align-self:center;font-size:12px}.stats dd{margin:0;font-size:18px;font-weight:700}.tr{top:calc(12px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute}#map{background:var(--glass);border:1px solid var(--line);border-radius:4px;width:132px;height:132px;display:block}#board{background:var(--glass);border:1px solid var(--line);border-radius:4px;min-width:112px;margin:0;padding:6px 10px;font-size:15px;font-weight:600;list-style:none}#board li{align-items:center;gap:7px;line-height:1.35;display:flex}#board li em{color:var(--muted);width:12px;font-style:normal}#board i{border-radius:2px;flex:none;width:10px;height:10px}#board .me{color:var(--signal)}.tools{pointer-events:auto;gap:6px;display:flex}.tool{background:var(--glass);border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.tool svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.tool:hover{border-color:var(--muted)}#menu .card{position:relative}.music-btn{pointer-events:auto;position:absolute;top:16px;right:16px}.music-btn[aria-pressed=false]{color:var(--muted)}.bc{bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--glass);border:1px solid var(--line);border-radius:4px;align-items:center;gap:12px;padding:6px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.speed{justify-content:flex-end;align-items:baseline;gap:5px;min-width:96px;display:flex}.speed b{font-family:var(--display);font-size:30px;font-weight:400;line-height:1}.speed span{letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:12px}.nitro{flex-direction:column;gap:3px;display:flex}.nitro small{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:11px}.nitro .bar{background:var(--plate-2);border-radius:2px;width:120px;height:8px;overflow:hidden}.nitro .bar i{background:linear-gradient(90deg,var(--hot),var(--signal));width:0;height:100%;transition:width .1s linear;display:block}.nitro.full small{color:var(--signal)}.nitro .bar{transition:box-shadow .15s}.nitro.filling .bar{box-shadow:0 0 0 1px var(--signal),0 0 12px #ffd23fbf}.nitro.filling .bar i{filter:brightness(1.25)}.hud.boosting .speed b{color:var(--signal)}.boost{opacity:0;background:radial-gradient(at 50% 52%,#0000 45%,#ff962847 100%),repeating-conic-gradient(at 50% 52%,#fff0 0deg 4.5deg,#fff8e18c 4.5deg 5.6deg);transition:opacity .25s;position:absolute;inset:-4%;-webkit-mask-image:radial-gradient(at 50% 52%,#0000 32%,#000 72%);mask-image:radial-gradient(at 50% 52%,#0000 32%,#000 72%)}.boost.on{opacity:1;animation:.14s steps(2,end) infinite boost}@keyframes boost{50%{transform:rotate(1.4deg)scale(1.015)}}.start-keys{background:var(--plate);border:1px solid var(--line);border-radius:4px;padding:10px 14px;transition:opacity .5s}.start-keys.fade{opacity:0}body.touch .start-keys{display:none}.coach{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));background:var(--glass);border:1px solid var(--signal);white-space:nowrap;border-radius:4px;align-items:center;gap:10px;padding:8px 14px;font-size:17px;font-weight:700;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 18px #00000059}.coach kbd{background:var(--signal);color:var(--signal-ink);border-color:var(--signal-ink);padding:2px 8px;font-size:14px}.coach.pop{animation:.4s cubic-bezier(.2,1.6,.4,1) coachIn}@keyframes coachIn{0%{opacity:0;transform:translate(-50%)scale(.7)}to{opacity:1;transform:translate(-50%)scale(1)}}body.touch .coach{bottom:auto;top:calc(272px + env(safe-area-inset-top,0px));font-size:15px}@media (orientation:landscape) and (height<=500px){body.touch #board{display:none}body.touch #map{width:96px;height:96px}body.touch .coach{top:calc(128px + env(safe-area-inset-top,0px));font-size:14px}}@media (height<=500px){#menu .title{padding:8px 12px 4px;font-size:36px}#map{width:96px;height:96px}.tr:has(.start-keys:not([hidden])) #board{display:none}}@media (height<=400px){.start-keys{padding:6px 10px}.start-keys .keys{gap:2px 10px;font-size:12px}.start-keys kbd{padding:0 5px;font-size:11px}}.tb.hint{border-color:var(--signal);animation:1s ease-in-out infinite hint}@keyframes hint{50%{box-shadow:0 0 0 9px #ffd23f66}}.tl .plate.gain{animation:.5s cubic-bezier(.2,1.8,.4,1) gain}@keyframes gain{0%{transform:rotate(-2deg)scale(1)}35%{transform:rotate(-6deg)scale(1.28)}to{transform:rotate(-2deg)scale(1)}}.banner{text-align:center;font-family:var(--display);color:var(--signal);text-shadow:0 4px 0 var(--signal-ink),0 0 24px #00000059;letter-spacing:.02em;font-size:clamp(44px,11vw,84px);line-height:1;position:absolute;top:30%;left:0;right:0}.banner.small{font-size:clamp(28px,7vw,48px)}.banner.warn{color:var(--hot)}.pop{animation:.45s cubic-bezier(.2,1.6,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}body.touch .bc{left:max(16px,env(safe-area-inset-left,0px));top:calc(84px + env(safe-area-inset-top,0px));padding:5px 10px;bottom:auto;transform:none}body.touch .speed b{font-size:22px}body.touch .speed{min-width:70px}body.touch .nitro .bar{width:84px}.touch-ui{padding:0 max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.pad{pointer-events:auto;align-items:flex-end;gap:12px;display:flex}.pad.right{grid-template-columns:auto auto;grid-template-areas:".nitro""brake drift";place-items:end center;gap:10px;display:grid}.nitroBtn{grid-area:nitro}.brakeBtn{grid-area:brake}.driftBtn{grid-area:drift}.tb{touch-action:none;letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:#14181c8c;border:2px solid #ffffff47;border-radius:50%;place-items:center;padding:0;font-size:13px;font-weight:700;display:grid}.tb svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px}.tb.steer{width:76px;height:76px}.tb.big{width:88px;height:88px;font-size:15px}.tb.mid{width:70px;height:70px}.tb.on{background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}.tb.nitroBtn.ready{border-color:var(--signal)}.overlay{overscroll-behavior:contain;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#090c0f80;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.card{box-sizing:border-box;background:var(--plate);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:16px;width:min(486px,100%);padding:24px 22px 20px;display:flex;box-shadow:0 20px 60px #00000073}.title{font-family:var(--display);background:var(--signal);color:var(--signal-ink);border-radius:4px;align-self:flex-start;margin:2px 0 0;padding:10px 16px 6px;font-size:clamp(40px,12vw,56px);font-weight:400;line-height:.92;transform:rotate(-2deg);box-shadow:0 5px #0006}.lede{color:var(--text);max-width:36ch;margin:0;font-size:18px;line-height:1.4}.facts{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.facts b{color:var(--text);font-weight:700}.label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.picker{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.swatch{background:var(--plate-2);border:2px solid var(--line);border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:6px 4px;font-size:13px;font-weight:600;display:flex}.swatch[aria-checked=true]{border-color:var(--signal)}.carthumb{aspect-ratio:180/112;width:100%;max-width:120px;margin:-4px 0 -2px;display:block}.carinfo{background:var(--plate-2);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:8px;margin-top:10px;padding:10px 12px;display:flex}.blurb{color:var(--text);margin:0;font-size:15px;line-height:1.35}.bars{grid-template-columns:auto 1fr auto;align-items:center;gap:5px 10px;margin:0;font-size:13px;display:grid}.bars dt{color:var(--muted);letter-spacing:.04em}.bars dd{gap:3px;margin:0;display:flex}.bars dd i{background:var(--line);border-radius:1px;flex:1;height:7px}.bars dd i.on{background:var(--signal)}.bars .val{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:56px;font-size:12px}.diffs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.modes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode{background:var(--plate-2);border:2px solid var(--line);border-radius:4px;padding:9px 10px;font-size:16px;font-weight:700}.mode[aria-checked=true]{border-color:var(--signal);color:var(--signal)}.lock{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;vertical-align:-2px;width:14px;height:14px}.swatch.locked{color:var(--muted)}.swatch.locked .carthumb{opacity:.35;filter:grayscale(.6)}.swatch small{color:var(--muted);align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.trkcard.locked{cursor:default}.trkcard.locked:hover{border-color:var(--line)}.trkcard.locked canvas,.trkcard.locked .cupthumbs{opacity:.4}.trkcard .tc-lock{color:var(--muted);align-items:center;gap:5px;font-weight:600;display:flex}.cupthumbs{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:4px;display:grid}.trkcard .cupthumbs canvas{aspect-ratio:1;margin:0}.carinfo .locknote{color:var(--signal);margin:0;font-size:14px;font-weight:600}.pause-actions{gap:10px;display:grid}.pause-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}.curtrk{background:var(--plate-2);border:1px solid var(--line);border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.curtrk canvas{border-radius:3px;width:52px;height:52px;display:block}.curtrk-text{flex-direction:column;gap:2px;min-width:0;display:flex}.curtrk-text b{font-size:17px;font-weight:700;line-height:1.15}.curtrk-text span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.ghost.small{padding:9px 12px;font-size:14px}.card.wide{width:min(940px,100%)}.screen-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.screen-head h2{font-family:var(--display);color:var(--text);margin:0;font-size:clamp(24px,6vw,32px);font-weight:400;line-height:1}.screen-sub{color:var(--muted);margin:-6px 0 0;font-size:15px}.trkcards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.trkcards.cups{grid-template-columns:repeat(2,1fr)}@media (width<=520px){.trkcards.cups{grid-template-columns:1fr}}.trkcard{background:var(--plate-2);border:2px solid var(--line);text-align:left;border-radius:6px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px 12px;display:flex}.trkcard:hover{border-color:var(--muted)}.trkcard[aria-pressed=true]{border-color:var(--signal)}.trkcard canvas{aspect-ratio:8/5;border-radius:4px;width:100%;height:auto;margin-bottom:4px;display:block}.tc-tag{letter-spacing:.16em;text-transform:uppercase;color:var(--signal);font-size:11px;font-weight:700}.tc-name{font-family:var(--display);font-size:21px;font-weight:400;line-height:1.05}.tc-desc{color:var(--muted);font-size:14px;line-height:1.35}.tc-stats{font-variant-numeric:tabular-nums;color:var(--text);border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 12px;margin-top:auto;padding-top:6px;font-size:13px;display:flex}.tc-stats em{color:var(--muted);font-style:normal}.tc-sel{letter-spacing:.08em;text-transform:uppercase;background:var(--signal);color:var(--signal-ink);border-radius:3px;align-self:flex-start;padding:2px 7px;font-size:12px;font-weight:700}.diff{background:var(--plate-2);border:2px solid var(--line);text-align:left;border-radius:4px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:9px 9px 8px;display:flex}.diff b{font-size:17px;font-weight:700;line-height:1.1}.diff span{color:var(--muted);font-size:13px;line-height:1.2}.diff em{color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px solid var(--line);align-self:stretch;margin-top:5px;padding-top:5px;font-size:12px;font-style:normal}.diff[aria-checked=true]{border-color:var(--signal)}.diff[aria-checked=true] b{color:var(--signal)}.record{color:var(--signal);letter-spacing:.12em;text-transform:uppercase;margin:3px 0 0;font-size:13px;font-weight:700}.start-bar{bottom:calc(-16px - env(safe-area-inset-bottom,0px));z-index:1;padding:6px 22px calc(10px + env(safe-area-inset-bottom,0px));background:var(--plate);margin:-6px -22px;display:grid;position:sticky}.primary{background:var(--signal);color:var(--signal-ink);font-family:var(--display);letter-spacing:.02em;border:none;border-radius:4px;padding:14px 16px 11px;font-size:22px;box-shadow:0 4px #b8901a}.primary:hover{filter:brightness(1.05)}.primary:active{transform:translateY(2px);box-shadow:0 2px #b8901a}.ghost{border:1px solid var(--line);color:var(--text);letter-spacing:.04em;background:0 0;border-radius:4px;padding:12px 16px;font-size:16px;font-weight:700}.ghost:hover{border-color:var(--muted)}.keys{grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;margin:0;font-size:15px;display:grid}.keys dt{flex-wrap:wrap;gap:4px;display:flex}.keys dd{color:var(--muted);margin:0}kbd{font-family:var(--ui);background:var(--plate-2);border:1px solid var(--line);color:var(--text);border-bottom-width:2px;border-radius:3px;padding:1px 6px;font-size:12px;font-weight:700}.touch-note{color:var(--muted);margin:0;font-size:15px;line-height:1.4}body.touch .keys-desk,body:not(.touch) .keys-touch{display:none}.result-head{align-items:center;gap:14px;display:flex}.result-head .plate{transform:rotate(-2deg)}.result-head h2{margin:0;font-size:22px;font-weight:700;line-height:1.15}.result-head p{color:var(--muted);margin:2px 0 0;font-size:15px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}th{text-align:left;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 6px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);padding:8px 0}td:last-child,th:last-child{text-align:right}td.gain{color:var(--muted);text-align:right}th.gain{text-align:right}td .who{align-items:center;gap:8px;font-weight:600;display:flex}td .who i{border-radius:2px;width:10px;height:10px}td .who small{color:var(--muted);font-size:13px;font-weight:500}tr.me td{color:var(--signal)}.actions{grid-template-columns:1fr auto;gap:10px;display:grid}@media (width<=440px){.actions{grid-template-columns:1fr}}@media (width<=420px){#map{width:104px;height:104px}.plate b{font-size:34px}.stats dd{font-size:16px}}.loading{background:var(--plate)}.loading-box{flex-direction:column;align-items:center;gap:22px;display:flex}.loading-box .title{align-self:center}.spinner{border:4px solid var(--line);border-top-color:var(--signal);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:15px;font-weight:600}@media (prefers-reduced-motion:reduce){.pop,.coach.pop,.boost.on,.tl .plate.gain,.tb.hint{animation:none}}
