:root{--tide: #0c2433;--tide-a: rgba(12, 36, 51, .6);--foam: #f3f6f1;--amber: #ffb547;--coral: #ff5b4a;--glass: #8be3d3;--sand: #e9d7b0;--display: "Chakra Petch", "Arial Narrow", sans-serif;--body: "Plus Jakarta Sans", system-ui, sans-serif;--pad: max(14px, env(safe-area-inset-left, 0px));color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#071820;color:var(--foam);font-family:var(--body);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0}#app canvas{display:block;width:100%;height:100%}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.num{font-family:var(--display);font-style:italic;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em}.lbl{font-family:var(--display);font-weight:500;font-size:12px;color:var(--sand);opacity:.85;letter-spacing:.04em}.sub{font-size:12px;color:#f3f6f1bf}[hidden]{display:none!important}#flash{position:fixed;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#ff5b4a00 30%,#ff5b4a8c);transition:opacity .12s;z-index:5}#flash.white{background:#fff}#speedfx{position:fixed;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,transparent 52%,rgba(4,16,24,.55) 100%);z-index:4}#hud{position:fixed;inset:0;pointer-events:none;z-index:10;display:none}body[data-mode=playing] #hud,body[data-mode=countdown] #hud,body[data-mode=paused] #hud{display:block}.plate{position:absolute;background:var(--tide-a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 18px 12px;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}.plate-score{top:max(12px,env(safe-area-inset-top));left:var(--pad);min-width:170px}.plate-score #score{font-size:30px;line-height:1.05}.chain{margin-top:8px;border-top:1px solid rgba(255,181,71,.4);padding-top:6px}.chain-top{display:flex;align-items:baseline;gap:8px;color:var(--amber)}.chain-top .num{font-size:22px}#chain-mult{font-family:var(--display);font-weight:700;font-size:15px}.bar{height:5px;background:#ffffff24;margin-top:5px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--amber);transition:width .08s linear}.plate-timer{top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);text-align:center;padding:6px 34px 10px;min-width:200px;clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,18px 100%)}#timer{font-size:54px;line-height:1;color:var(--amber);transition:transform .2s,color .2s}#timer.low{color:var(--coral);animation:pulse .5s ease-in-out infinite alternate}#timer.gain{transform:scale(1.18);color:var(--foam)}@keyframes pulse{to{opacity:.55}}.plate-status{top:max(12px,env(safe-area-inset-top));right:var(--pad);display:flex;flex-direction:column;gap:4px;padding-right:64px;min-width:190px;clip-path:polygon(0 0,100% 0,100% 100%,12px 100%)}.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pips{display:flex;gap:4px}.pips i{width:13px;height:13px;transform:skew(-14deg);border:1.5px solid rgba(243,246,241,.55)}.pips i.on{background:var(--coral);border-color:var(--coral)}.num.small{font-size:18px;color:var(--amber)}.icon-btn{pointer-events:auto;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;background:#f3f6f11f;display:grid;place-items:center}.icon-btn svg{fill:var(--foam)}.icon-btn:hover{background:#f3f6f138}.plate-speed{right:var(--pad);bottom:max(14px,env(safe-area-inset-bottom));min-width:230px;padding:10px 22px 14px 26px;clip-path:polygon(16px 0,100% 0,100% 100%,0 100%)}.speed-row{display:flex;align-items:baseline;gap:8px}#speed{font-size:50px;line-height:1}.unit{font-family:var(--display);font-size:14px;color:var(--sand)}.gear{margin-left:auto;font-family:var(--display);font-weight:700;font-size:22px;color:var(--glass);border:1.5px solid var(--glass);width:34px;text-align:center;transform:skew(-12deg)}.meter{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:8px;margin-top:6px}.meter .bar{margin:0;height:7px;transform:skew(-20deg)}.nitro i{background:linear-gradient(90deg,#3aa0ff,var(--glass))}.thrust i{background:linear-gradient(90deg,#ff6a2a,var(--amber))}.nitro.boosting i{box-shadow:0 0 12px var(--glass)}.trick{position:absolute;left:50%;top:31%;transform:translate(-50%,-50%);font-family:var(--display);font-style:italic;font-weight:700;font-size:26px;color:var(--foam);text-shadow:0 2px 14px rgba(0,0,0,.55);opacity:0;transition:opacity .2s;white-space:nowrap}.trick.show{opacity:1;animation:pop .28s ease-out}.banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) skew(-10deg);font-family:var(--display);font-style:italic;font-weight:700;font-size:34px;padding:8px 28px;opacity:0;transition:opacity .25s;white-space:nowrap}.banner.show{opacity:1}.banner.crash{background:var(--coral);color:#2a0703}.banner.cp{background:var(--amber);color:#2a1800}.banner.info{background:var(--tide-a);color:var(--foam)}@keyframes pop{0%{transform:translate(-50%,-50%) scale(1.35)}to{transform:translate(-50%,-50%) scale(1)}}.zone{position:absolute;left:var(--pad);top:45%;opacity:0;transition:opacity .8s,transform .8s;transform:translate(-20px)}.zone.show{opacity:1;transform:none}#zone-name{font-family:var(--display);font-style:italic;font-weight:700;font-size:40px;line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.45)}#zone-sub{font-size:14px;margin-top:6px;color:var(--sand);text-shadow:0 1px 8px rgba(0,0,0,.6)}.radio{position:fixed;z-index:25;left:var(--pad);bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;background:var(--tide-a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px 18px 6px 8px;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}.radio-btn{width:40px;height:40px;border:0;background:#f3f6f11a;display:grid;place-items:center}.radio-btn svg{fill:var(--foam);stroke:var(--foam)}.radio.off #radio-wave{opacity:.2}.radio-text{display:flex;flex-direction:column;font-size:12px;max-width:170px}.radio-text b{font-family:var(--display);font-weight:600;font-size:12px;color:var(--sand)}.radio-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-mode=playing] .radio{opacity:.78}body.touch[data-mode=playing] .radio,body.touch[data-mode=countdown] .radio{display:none}#touch{position:fixed;inset:0;z-index:12;pointer-events:none;display:none}body.touch[data-mode=playing] #touch,body.touch[data-mode=countdown] #touch{display:block}.tb{pointer-events:auto;border:1.5px solid rgba(243,246,241,.35);background:#0c243373;color:var(--foam);font-family:var(--display);font-weight:600;font-size:14px;min-width:64px;height:56px;touch-action:none}.tb.big{width:82px;height:82px}.tb svg{width:34px;height:34px;fill:none;stroke:var(--foam);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.tb.on{background:#ffb54780;border-color:var(--amber)}.t-left{position:absolute;left:var(--pad);bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:12px}.t-right{position:absolute;right:var(--pad);bottom:150px;display:grid;grid-template-columns:repeat(2,auto);gap:10px;justify-items:end;align-items:end}.t-right .gas{grid-column:2}.t-air{position:absolute;left:var(--pad);bottom:120px;display:flex;gap:10px;opacity:0;transition:opacity .15s}.t-air.show{opacity:1}body.touch .plate-speed{bottom:max(14px,env(safe-area-inset-bottom));min-width:0}.screen{position:fixed;inset:0;z-index:20;display:none}body[data-mode=title] #title{display:block}body[data-mode=paused] #pause,body[data-mode=over] #over{display:grid}#howto.open,#profile.open{display:grid;z-index:30}#title{background:linear-gradient(90deg,rgba(5,20,30,.82) 0%,rgba(5,20,30,.45) 45%,transparent 70%)}.title-stack{position:absolute;left:clamp(20px,6vw,90px);bottom:clamp(24px,8vh,90px);max-width:560px;padding-right:20px}.wordmark{margin:0;font-family:var(--display);font-style:italic;font-weight:700;line-height:.86;font-size:clamp(52px,min(11vw,17vh),150px);letter-spacing:-.02em;display:flex;flex-direction:column}.wordmark span:first-child{color:var(--foam)}.wordmark span:last-child{color:var(--amber);padding-left:.42em}.pitch{font-size:16px;line-height:1.55;color:#f3f6f1db;max-width:46ch;margin:18px 0 20px}.field{display:flex;align-items:center;gap:14px;margin-bottom:18px}.field-lbl{font-family:var(--display);font-size:14px;color:var(--sand)}.paints{display:flex;gap:8px}.paints button{width:38px;height:38px;border:2px solid rgba(243,246,241,.25);transform:skew(-12deg);padding:0}.paints button[aria-checked=true]{border-color:var(--foam);box-shadow:0 0 0 2px var(--amber)}.cta{display:inline-block;border:0;background:var(--amber);color:#241500;font-family:var(--display);font-style:italic;font-weight:700;font-size:24px;padding:14px 48px;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:background .15s,transform .1s}.cta:hover{background:#ffc66f}.cta:active{transform:scale(.97)}.ghost{border:1.5px solid rgba(243,246,241,.4);background:transparent;padding:11px 22px;font-family:var(--display);font-weight:600;font-size:16px}.ghost:hover{background:#f3f6f11a}.title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px;font-size:14px}.link-btn{background:none;border:0;padding:6px 0;color:var(--foam);text-decoration:underline;text-underline-offset:4px;font-weight:600}.seg{display:flex;align-items:center;border:1px solid rgba(243,246,241,.3)}.seg-lbl{padding:0 8px;color:var(--sand);font-size:13px}.seg button{border:0;background:transparent;padding:7px 11px;font-size:13px}.seg button[aria-checked=true]{background:var(--foam);color:var(--tide)}.check{display:flex;align-items:center;gap:6px;cursor:pointer}.check input{accent-color:var(--amber);width:16px;height:16px}.title-foot{display:flex;gap:22px;margin-top:20px;font-size:14px;color:var(--sand)}.title-foot a,.hub{color:var(--glass);font-weight:600;text-underline-offset:4px}.modal-screen{place-items:center;background:#040e1499;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card{background:var(--tide);padding:30px 34px;min-width:min(360px,92vw);max-width:92vw;display:flex;flex-direction:column;gap:12px;align-items:stretch;clip-path:polygon(18px 0,100% 0,calc(100% - 18px) 100%,0 100%)}.card h2{margin:0 0 6px;font-family:var(--display);font-style:italic;font-size:34px}.over-card{width:440px;text-align:center}.over-cause{font-family:var(--display);font-weight:600;font-size:18px;color:var(--coral)}.over-score{font-size:64px;line-height:1;color:var(--amber)}.over-best{color:var(--sand);font-size:14px}.over-best.new{color:var(--glass);font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;margin:10px 0 8px;text-align:left}.stats dt{font-size:12px;color:var(--sand)}.stats dd{margin:2px 0 0;font-family:var(--display);font-weight:600;font-size:17px}.hub{margin-top:4px;font-size:14px}.howto-card{max-width:620px;gap:10px}.howto-card p{margin:0;line-height:1.55;font-size:15px;color:#f3f6f1e0}.howto-card .fine{font-size:13px;color:var(--sand)}.keys{border-collapse:collapse;font-size:14px;margin:6px 0}.keys td{padding:6px 8px;border-bottom:1px solid rgba(243,246,241,.1)}.keys td:nth-child(odd){font-family:var(--display);font-weight:600;color:var(--amber);white-space:nowrap}.countdown{position:fixed;inset:0;display:none;place-items:center;z-index:15;pointer-events:none;font-family:var(--display);font-style:italic;font-weight:700;font-size:clamp(90px,18vw,200px);color:var(--foam);text-shadow:0 4px 30px rgba(0,0,0,.5)}body[data-mode=countdown] .countdown{display:grid}.countdown.go{color:var(--amber)}@media (max-width: 720px){.plate-score{min-width:120px;padding:8px 14px 9px}.plate-score #score{font-size:22px}#timer{font-size:40px}.plate-timer{min-width:140px;padding:4px 22px 8px;top:calc(max(10px,env(safe-area-inset-top)) + 0px)}.plate-status{min-width:0;padding-right:58px}.plate-status .lbl{display:none}#speed{font-size:36px}.plate-speed{min-width:180px}.stats{grid-template-columns:repeat(2,1fr)}#zone-name{font-size:28px}.banner{font-size:24px}.trick{font-size:20px}body.touch .plate-speed{bottom:auto;top:112px;right:var(--pad);min-width:160px;padding:6px 14px 8px 20px}body.touch .plate-speed .meter{margin-top:3px}body.touch .t-right{bottom:max(18px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){.trick.show,#timer.low{animation:none}}body[data-mode=playing] .countdown.go{display:grid;animation:goOut .8s ease-out forwards}@keyframes goOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}body[data-mode=loading]:after{content:"Loading the coast";position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--display);font-style:italic;font-weight:600;font-size:22px;color:var(--sand)}body[data-mode=loading] .radio{display:none}body[data-mode=title] .radio,body[data-mode=over] .radio,body[data-mode=paused] .radio{left:auto;right:var(--pad);bottom:auto;top:max(14px,env(safe-area-inset-top))}@media (max-height: 520px){.pitch{margin:10px 0 12px;font-size:14px}.title-row{margin-top:12px}.title-foot{margin-top:10px}.field{margin-bottom:10px}.cta{padding:10px 40px;font-size:20px}}.coin-ico{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe9a3,#e0a632 60%,#a8741a);box-shadow:inset 0 0 0 2px #ffe9a380;flex:none}.wallet{display:flex;align-items:center;gap:8px}.wallet .num{font-size:22px;color:var(--amber)}.coin-pair{display:flex;align-items:baseline;gap:10px}.wallet-mini{font-family:var(--display);font-weight:600;font-size:13px;color:var(--sand)}.wallet-mini:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;background:radial-gradient(circle at 35% 35%,#ffe9a3,#e0a632 60%,#a8741a)}.driver-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:18px}.driver-chip{display:flex;flex-direction:column;align-items:flex-start;border:1.5px solid rgba(243,246,241,.3);background:#0c243380;padding:6px 14px;text-align:left;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.driver-chip:hover{border-color:var(--amber)}.chip-nick{font-family:var(--display);font-weight:700;font-size:17px}.chip-id{font-size:12px;color:var(--sand);letter-spacing:.04em}.title-car{font-family:var(--display);font-style:italic;font-weight:600;color:var(--glass)}.cta-row{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}.big-ghost{font-size:20px;padding:12px 30px;font-style:italic}.radio-text{background:none;border:0;padding:0;text-align:left;cursor:pointer}.radio-text:hover span{text-decoration:underline}.radio-panel{position:fixed;z-index:40;right:var(--pad);top:76px;width:min(340px,calc(100vw - 28px));background:var(--tide);padding:14px 16px 16px;box-shadow:0 18px 50px #00000073}body[data-mode=playing] .radio-panel,body[data-mode=countdown] .radio-panel{top:auto;right:auto;left:var(--pad);bottom:70px}.rp-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--display);color:var(--sand)}.x-btn{border:0;background:none;font-size:26px;line-height:1;width:40px;height:40px}.track-list{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:4px}.track-list button{width:100%;display:flex;justify-content:space-between;border:0;background:#f3f6f10f;padding:10px 12px;text-align:left;font-size:14px}.track-list button:hover{background:#f3f6f124}.track-list button[aria-current=true]{background:#ffb54738;color:var(--amber);font-weight:700}.track-list small{color:var(--sand);font-weight:500}.sc-embed iframe{width:100%;height:120px;border:0;display:block;margin-top:6px}.rp-note{font-size:12px;color:var(--sand);margin:8px 0 4px}.sc-link{color:var(--glass);font-size:13px;font-weight:600}body[data-mode=garage] #garage{display:block}body[data-mode=garage] .radio{left:var(--pad);right:auto;top:auto;bottom:max(14px,env(safe-area-inset-bottom))}#garage{background:linear-gradient(90deg,rgba(5,20,30,.75),transparent 34%,transparent 58%,rgba(5,20,30,.85) 74%)}.g-top{position:absolute;top:max(14px,env(safe-area-inset-top));left:var(--pad);right:var(--pad);display:flex;align-items:center;gap:18px}.g-top h2{margin:0;font-family:var(--display);font-style:italic;font-size:30px;flex:1}.car-list{position:absolute;left:var(--pad);top:90px;display:flex;flex-direction:column;gap:8px;width:220px}.car-tab{border:1.5px solid rgba(243,246,241,.2);background:#0c24338c;padding:10px 14px;text-align:left;display:flex;flex-direction:column;gap:2px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}.car-tab b{font-family:var(--display);font-style:italic;font-size:18px}.car-tab span{font-size:12px;color:var(--sand);display:flex;align-items:center;gap:6px}.car-tab[aria-selected=true]{border-color:var(--amber);background:#ffb54729}.car-tab.locked b{color:#f3f6f1a6}.lock{width:10px;height:12px;display:inline-block;border:2px solid var(--sand);border-radius:2px;position:relative;margin-top:4px}.lock:before{content:"";position:absolute;left:0;top:-8px;width:6px;height:7px;border:2px solid var(--sand);border-bottom:0;border-radius:5px 5px 0 0}.g-panel{position:absolute;right:var(--pad);top:84px;bottom:max(16px,env(safe-area-inset-bottom));width:min(380px,40vw);overflow-y:auto;padding:4px 6px 10px 0;display:flex;flex-direction:column;gap:10px}.g-name-row{display:flex;align-items:center;gap:12px}.g-name-row h3{margin:0;font-family:var(--display);font-style:italic;font-size:34px;line-height:1}.g-badge{font-size:12px;padding:3px 8px;background:var(--glass);color:var(--tide);font-weight:700}.g-badge.locked{background:#f3f6f126;color:var(--sand)}.g-blurb{margin:0;font-size:14px;line-height:1.5;color:#f3f6f1d9}.g-stats{display:grid;grid-template-columns:96px 1fr 58px;gap:6px 10px;align-items:center;font-size:13px}.g-stats .bar{margin:0;height:7px;transform:skew(-20deg)}.g-stats .bar i{background:var(--glass);transition:width .25s}.g-stats .val{font-family:var(--display);font-weight:600;text-align:right}.g-sub{font-family:var(--display);font-weight:600;font-size:14px;color:var(--sand);margin:8px 0 6px}.g-upgrades{display:flex;flex-direction:column;gap:6px}.upg{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:#0c243399;padding:8px 10px}.upg b{font-family:var(--display);font-size:15px}.upg small{grid-column:1;font-size:12px;color:var(--sand)}.upg .lv{display:flex;gap:3px;grid-column:1}.upg .lv i{width:16px;height:6px;background:#f3f6f12e;transform:skew(-20deg)}.upg .lv i.on{background:var(--amber)}.upg button{grid-column:2;grid-row:1 / span 3;border:1.5px solid var(--amber);background:transparent;color:var(--amber);font-family:var(--display);font-weight:700;padding:8px 12px;min-width:96px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px}.upg button:hover:not(:disabled){background:#ffb54726}.upg button:disabled{border-color:#f3f6f133;color:#f3f6f166;cursor:not-allowed}.g-action{margin-top:6px}.g-action:disabled{background:#f3f6f12e;color:#f3f6f18c;cursor:not-allowed}.g-msg{min-height:18px;font-size:13px;color:var(--glass)}.g-msg.err{color:var(--coral)}.paints{flex-wrap:wrap}.profile-card{width:480px;max-height:92vh;overflow-y:auto;gap:10px}.pf-welcome{margin:0;color:#f3f6f1d9;line-height:1.5}.pf-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--sand)}.pf-inline{display:flex;gap:8px}.pf-inline input{flex:1;min-width:0;background:#f3f6f114;border:1.5px solid rgba(243,246,241,.3);color:var(--foam);font:600 16px var(--body);padding:10px 12px;-webkit-user-select:text;user-select:text}.pf-inline input:focus{border-color:var(--amber);outline:none}.pf-id{font-size:14px;color:var(--sand);display:flex;align-items:center;gap:10px}.pf-id b{font-family:var(--display);color:var(--foam);letter-spacing:.05em;font-size:16px}.pf-others{display:flex;flex-wrap:wrap;gap:8px}.pf-other{display:flex}.pf-other .ghost{padding:8px 12px;font-size:14px}.pf-other .del{border-left:0;padding:8px 10px;color:var(--coral)}.over-wallet{font-size:14px;color:var(--amber);font-weight:600}.over-row{display:flex;gap:10px}.over-row .ghost{flex:1}@media (max-width: 760px){.car-list{top:70px;left:0;right:0;width:auto;flex-direction:row;overflow-x:auto;padding:0 var(--pad)}.car-tab{flex:none;min-width:130px}.g-panel{left:var(--pad);right:var(--pad);width:auto;top:46vh;background:#05141ee6;padding:12px}#garage{background:linear-gradient(180deg,rgba(5,20,30,.7),transparent 30%)}.g-name-row h3{font-size:26px}body[data-mode=garage] .radio{display:none}}.play-btn{background:var(--amber)}.play-btn svg{fill:#241500;stroke:none}.play-btn .ic-pause,.radio.playing .play-btn .ic-play{display:none}.radio.playing .play-btn .ic-pause{display:block}.rp-head b{flex:1;margin-left:12px}.rp-play{font-size:15px;padding:8px 20px}
