:root{--cream:#f6ecd2;--ink:#2c1f16;--orange:#e8632c;--yellow:#f5c542;--blue:#1f5fb4;--red:#d22b2b;--green:#3f9b4b;--shadow:0 5px 0 var(--ink);font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;background:#2c1f16;margin:0;overflow:hidden}#gl{width:100%;height:100%;display:block;position:fixed;inset:0}#ui,#hud,#touch{pointer-events:none;position:fixed;inset:0}#ui{z-index:30}#hud{z-index:10}#touch{z-index:20;display:none}h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;cursor:pointer}.screen{pointer-events:auto;padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;gap:12px;display:flex;position:absolute;inset:0}.screen header{align-items:center;gap:12px;display:flex}.screen header h2{text-align:center;color:var(--cream);text-shadow:0 3px 0 var(--ink), 0 0 14px #00000059;letter-spacing:.5px;flex:1;font-size:clamp(20px,3.4vw,36px);font-style:italic;font-weight:900}.screen header h2 small{opacity:.95;font-size:.5em;font-style:normal;font-weight:700;display:block}.screen footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.spacer{flex:1;min-height:0}.panel{background:var(--cream);border:4px solid var(--ink);box-shadow:var(--shadow);border-radius:18px;align-self:center;max-width:min(760px,100%);padding:18px 22px}.btn{background:var(--cream);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:9px 18px;font-size:16px;font-weight:800;transition:transform 60ms,box-shadow 60ms}.btn:hover{filter:brightness(1.06)}.btn.primary{background:var(--orange);color:#fff;text-shadow:0 2px #0000004d}.btn.big{padding:12px 34px;font-size:clamp(18px,2.4vw,24px);font-style:italic}.btn.ghost{background:#f6ecd2e6;padding:7px 14px;font-size:15px}.btn.disabled{opacity:.55;cursor:not-allowed;box-shadow:0 4px 0 var(--ink);transform:none}.money{background:var(--yellow);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);text-align:right;white-space:nowrap;border-radius:12px;padding:4px 12px;line-height:1.1}.money span{text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700;display:block}.money b{font-size:18px;font-weight:900}.chips{justify-content:center;gap:8px;display:flex}.chip{color:var(--cream);border:2px solid var(--cream);background:#2c1f16bf;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}.chip.off{opacity:.55;text-decoration:line-through}.title{text-align:center;justify-content:space-between;align-items:center}.logo{margin-top:3vh}.logo-main{color:var(--cream);letter-spacing:-2px;text-shadow:0 6px 0 var(--ink), 6px 12px 0 #2c1f1659;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:clamp(54px,13vw,150px);font-style:italic;font-weight:900;line-height:.95}.logo-main span{color:var(--yellow)}.logo-sub{background:var(--ink);color:var(--cream);letter-spacing:2px;text-transform:uppercase;border-radius:999px;margin-top:10px;padding:6px 18px;font-size:clamp(13px,2vw,20px);font-weight:800;display:inline-block}.title-bottom{flex-direction:column;align-items:center;gap:14px;margin-bottom:2vh;display:flex}.versus{color:var(--cream);text-shadow:0 2px 0 var(--ink);font-size:clamp(16px,2.6vw,26px);font-weight:900}.versus i{color:var(--yellow);font-weight:700}.title .btn.big{padding:14px 70px;font-size:clamp(24px,4vw,38px)}.modes .grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;align-self:center;gap:14px;width:min(900px,100%);min-height:0;padding:4px 4px 10px;display:grid;overflow-y:auto}.card{background:var(--cream);border:4px solid var(--ink);box-shadow:var(--shadow);text-align:left;border-radius:16px;padding:14px 16px;transition:transform 80ms}.card:hover{transform:translateY(-2px)}.card h3{font-size:clamp(17px,2.2vw,23px);font-style:italic;font-weight:900}.card p{margin-top:4px;font-size:14px;line-height:1.35}.card.mode{align-items:center;gap:14px;display:flex}.card-icon{background:var(--yellow);border:3px solid var(--ink);border-radius:14px;flex:none;place-items:center;width:62px;height:62px;font-size:34px;display:grid}.card-extra{color:var(--orange);font-weight:800}.duel{justify-content:center;align-items:stretch;gap:10px;display:flex}.vs{color:var(--yellow);text-shadow:0 3px 0 var(--ink);-webkit-text-stroke:1px var(--ink);align-self:center;font-size:26px;font-style:italic;font-weight:900}.card.bike{opacity:.86;flex:1;max-width:400px;position:relative}.card.bike.selected{opacity:1;box-shadow:0 11px 0 var(--ink);outline:4px solid var(--yellow);outline-offset:2px;transform:translateY(-6px)}.card.bike .pick{display:none}.card.bike.selected .pick{background:var(--yellow);border:3px solid var(--ink);text-transform:uppercase;border-radius:999px;padding:2px 12px;font-size:12px;font-weight:900;display:block;position:absolute;top:-22px;right:12px}.bars{gap:5px;margin-top:10px;display:grid}.bar{grid-template-columns:96px 1fr auto;align-items:center;gap:8px;font-size:13px;font-weight:700;display:grid}.bar em{text-align:right;min-width:54px;font-size:12px;font-style:normal;font-weight:900}.bar-track{border:2px solid var(--ink);background:#2c1f162e;border-radius:6px;height:11px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--yellow), var(--orange));height:100%;transition:width .3s}.workshop{flex-direction:column;width:min(880px,100%);max-height:62vh;padding:12px 16px 14px;display:flex}.tabs{gap:8px;margin-bottom:10px;display:flex}.tab{border:3px solid var(--ink);background:#2c1f161f;border-radius:10px;flex:1;padding:7px;font-size:16px;font-style:italic;font-weight:900}.tab.active{background:var(--ink);color:var(--cream)}.workshop-cols{grid-template-columns:1fr 250px;gap:18px;min-height:0;padding:0 4px 6px 0;display:grid;overflow-y:auto}.workshop .bars{align-content:start;margin-top:0}.parts{gap:7px;display:grid}.part{border-bottom:2px dashed #2c1f1640;align-items:center;gap:10px;padding-bottom:7px;display:flex}.part-info{flex:1;min-width:0}.part h4{align-items:center;gap:8px;font-size:15px;font-weight:900;display:flex}.part p{font-size:13px}.part p span{color:var(--orange);font-weight:800}.pips{gap:3px;display:inline-flex}.pips i{border:2px solid var(--ink);background:0 0;border-radius:3px;width:14px;height:8px}.pips i.on{background:var(--green)}.btn.buy{min-width:104px;padding:5px 12px;line-height:1.15;display:grid}.btn.buy small{font-size:11px;font-weight:700}.maxed{color:var(--green);text-align:center;min-width:104px;font-weight:900}.results .panel,.pause .panel,.loading .panel{text-align:center}.results .panel{width:min(560px,100%);max-height:78vh;margin-bottom:2vh;overflow-y:auto}.pause,.loading{background:#2c1f168c;justify-content:center}.pause .panel{gap:12px;min-width:min(320px,90vw);display:grid}.panel h2{font-size:clamp(24px,4vw,36px);font-style:italic;font-weight:900}.kicker{text-transform:uppercase;letter-spacing:2px;color:var(--orange);font-size:12px;font-weight:800}.results table{border-collapse:collapse;width:100%;margin:10px 0;font-size:16px}.results td{text-align:left;border-bottom:2px dashed #2c1f1633;padding:5px 8px}.results td small{opacity:.6;margin-left:6px;font-weight:400}.results .rk{width:34px;font-size:19px;font-style:italic;font-weight:900}.results .tm{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.results tr.me td{background:#f5c54273;font-weight:900}.note{margin-top:4px;font-size:14px;font-weight:700}.reward{margin:10px 0 4px;font-size:17px}.reward b{color:var(--orange);font-size:23px;font-weight:900}.reward span{opacity:.7;font-size:13px}.row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.hud-p{color:#fff;text-shadow:0 2px #000,0 0 8px #0009;font-style:italic;font-weight:900;position:absolute;inset:0}#hud.split-h .p0{border-right:3px solid var(--ink);right:50%}#hud.split-h .p1{left:50%}#hud.split-v .p0{border-bottom:3px solid var(--ink);bottom:50%}#hud.split-v .p1{top:50%}.hud-tl{left:max(14px, env(safe-area-inset-left));top:max(10px, env(safe-area-inset-top));position:absolute}.hud-tr{right:max(14px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));text-align:right;position:absolute}.hud-pos{font-size:clamp(34px,6vw,60px);line-height:1}.hud-pos sup{font-size:.45em}.hud-pos small{opacity:.85;margin-left:4px;font-size:.4em}.hud-lap{font-size:clamp(14px,2vw,20px)}.hud-time{font-variant-numeric:tabular-nums;font-size:clamp(22px,3.4vw,34px)}.hud-best{font-size:clamp(11px,1.5vw,15px);font-style:normal;font-weight:700}.hud-speed{left:50%;bottom:max(14px, env(safe-area-inset-bottom));border:3px solid var(--cream);text-align:center;background:#140e0a99;border-radius:14px;padding:2px 16px 4px;line-height:1;position:absolute;transform:translate(-50%)}.hud-speed b{font-variant-numeric:tabular-nums;min-width:2.2ch;font-size:clamp(30px,5vw,48px);display:block}.hud-speed span{letter-spacing:1px;font-size:11px;font-style:normal}.hud-draft{color:var(--yellow);letter-spacing:1px;opacity:0;font-size:16px;transition:opacity .15s;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.hud-draft.show{opacity:1}.hud-msg{color:var(--yellow);opacity:0;white-space:nowrap;font-size:clamp(22px,4vw,40px);transition:opacity .2s,transform .2s;position:absolute;top:24%;left:50%;transform:translate(-50%)scale(.8)}.hud-msg.show{opacity:1;transform:translate(-50%)scale(1)}.hud-center{color:var(--cream);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);opacity:0;white-space:nowrap;font-size:clamp(70px,18vw,190px);font-style:italic;font-weight:900;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.hud-center.show{opacity:1}.hud-center.go{color:var(--yellow);font-size:clamp(50px,12vw,130px)}.hud-center.pop{animation:.45s ease-out pop}@keyframes pop{0%{opacity:.2;transform:translate(-50%,-50%)scale(1.7)}to{transform:translate(-50%,-50%)scale(1)}}.hud-help{color:var(--cream);white-space:nowrap;text-overflow:ellipsis;background:#140e0ab3;border-radius:999px;max-width:94vw;padding:6px 14px;font-size:13px;font-weight:700;transition:opacity .6s;position:absolute;bottom:108px;left:50%;overflow:hidden;transform:translate(-50%)}.hud-help.hide{opacity:0}.hud-map{right:max(10px, env(safe-area-inset-right));aspect-ratio:1;background:#140e0a59;border-radius:14px;width:clamp(92px,13vw,150px);height:auto;position:absolute;top:86px}#hud.duo .hud-map{background:#140e0a99;width:clamp(84px,11vw,120px);inset:auto auto 58px 50%;transform:translate(-50%)}#hud.duo.split-v .hud-map{inset:50% 8px auto auto;transform:translateY(-50%)}.hud-pause{left:50%;top:max(10px, env(safe-area-inset-top));pointer-events:auto;border:3px solid var(--cream);width:44px;height:40px;color:var(--cream);background:#140e0a99;border-radius:10px;font-size:15px;font-weight:900;position:absolute;transform:translate(-50%)}#hud.duo .hud-pause{top:auto;bottom:10px}#hud.duo .hud-speed{bottom:10px}#hud.duo .hud-help{top:30%;bottom:auto}#hud.duo.split-h .hud-speed{left:auto;right:74px;transform:none}#hud.duo.split-h .p1 .hud-speed{left:74px;right:auto}body.touch.in-race:not(.duo-race) #touch{display:block}#touch>*{pointer-events:auto;touch-action:none;position:absolute}.t-steer{left:max(14px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));width:min(40vw,300px);height:92px;color:var(--cream);background:#140e0a66;border:3px solid #f6ecd2d9;border-radius:46px;justify-content:space-between;align-items:center;padding:0 20px;font-size:26px;display:flex}.t-steer i{border:3px solid var(--ink);pointer-events:none;background:#f6ecd2e6;border-radius:50%;width:62px;height:62px;margin:-31px 0 0 -31px;position:absolute;top:50%;left:50%}.t-steer.on{background:#140e0a8c}#touch button{border:3px solid var(--cream);color:#fff;text-shadow:0 2px #0006;border-radius:50%;font-style:italic;font-weight:900}.t-gas{right:max(14px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));background:#e8632cd9;width:104px;height:104px;font-size:22px}.t-brake{right:calc(max(14px, env(safe-area-inset-right)) + 114px);bottom:max(18px, env(safe-area-inset-bottom));background:#3c3c46cc;width:78px;height:78px;font-size:14px}.t-horn{right:calc(max(14px, env(safe-area-inset-right)) + 16px);bottom:calc(max(18px, env(safe-area-inset-bottom)) + 116px);background:#1f5fb4cc;width:62px;height:62px;font-size:12px}#touch button.on{filter:brightness(1.35);transform:scale(.94)}body.touch .hud-speed{bottom:auto;top:max(58px, calc(env(safe-area-inset-top) + 50px))}body.touch .hud-draft{top:128px;bottom:auto}body.touch .hud-help{top:30%;bottom:auto}@media (width<=720px){.modes .grid{grid-template-columns:1fr;align-content:start}.card-icon{width:50px;height:50px;font-size:26px}.card.bike{padding:10px}.card.bike p{display:none}.bar{grid-template-columns:1fr;gap:2px;font-size:12px}.bar em{display:none}.vs{font-size:18px}.workshop-cols{grid-template-columns:1fr}.money b{font-size:15px}.screen header h2{font-size:19px}}@media (height<=520px){.screen{gap:6px;padding-top:8px;padding-bottom:8px}.card.bike p{display:none}.card.bike{padding:8px 12px}.bars{gap:3px;margin-top:4px}.card.mode p{font-size:12px}.logo{margin-top:0}.logo-main{font-size:clamp(44px,16vh,90px)}.workshop{max-height:70vh}.btn.big{padding:8px 28px}}:root{--cream:#f4f6fa;--ink:#0e1218;--orange:#ff6a2b;--yellow:#ffc533;--shadow:0 18px 40px #00000073;font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,sans-serif}html,body{background:#0b0e13}.panel,.card{color:#eef1f6;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);background:#10141cbd;border:1px solid #ffffff24;border-radius:18px}.card:active{box-shadow:var(--shadow);transform:scale(.985)}.card p{color:#c9d0db}.card-icon{background:#ffffff14;border:1px solid #ffffff29}.card-extra{color:var(--yellow)!important}.btn{color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff38;border-radius:12px;font-weight:700}.btn:active{box-shadow:none;transform:scale(.97)}.btn.primary{text-shadow:none;background:linear-gradient(#ff7a3a,#f0521a);border-color:#0000;box-shadow:0 8px 22px #f0521a73}.btn.ghost{background:#10141c99}.btn.disabled{box-shadow:none}.money{color:#fff;box-shadow:none;background:#10141cb3;border:1px solid #ffc53399}.money b{color:var(--yellow)}.chip{color:#fff;background:#10141c99;border:1px solid #ffffff40}.chips{flex-wrap:wrap}.screen header h2{color:#fff;text-shadow:0 2px 14px #0009}.logo-main{-webkit-text-stroke:0;color:#fff;text-shadow:0 6px 30px #0000008c;letter-spacing:-3px}.logo-sub{background:#10141cb3;border:1px solid #ffffff2e}.versus{color:#fff;text-shadow:0 2px 10px #0009}.vs{-webkit-text-stroke:0;text-shadow:0 2px 10px #0009}.card.bike{opacity:.8}.card.bike.p103{border-top:4px solid #2f6fe0}.card.bike.selected{opacity:1;box-shadow:0 0 0 2px var(--yellow), var(--shadow);outline:none;transform:translateY(-6px)}.card.bike.selected .pick{color:#111;border:none;top:-16px}.bar-track{background:#ffffff1f;border:none;height:8px}.tab{color:#dfe4ec;background:#ffffff0f;border:1px solid #ffffff29;font-style:normal}.tab.active{color:#111;background:#fff}.part{border-bottom:1px solid #ffffff1a}.part p{color:#c9d0db}.pips i{border:1px solid #ffffff80}.pips i.on{background:var(--yellow);border-color:var(--yellow)}.maxed{color:#6ee7a0}.results td{border-bottom:1px solid #ffffff1a}.results tr.me td{background:#ffc5332e}.note.record{color:#6ee7a0}.reward b,.kicker{color:var(--yellow)}.pause{background:#06080c8c}.loading{background:#0b0e13}.hud-speed{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0d128c;border:1px solid #ffffff4d}.hud-center{-webkit-text-stroke:0;color:#fff;text-shadow:0 6px 30px #0009}.hud-pause{border:1px solid #ffffff59}.hud-map{background:#0a0d1273}#hud.split-h .p0{border-right:2px solid #000000d9}#hud.split-v .p0{border-bottom:2px solid #000000d9}.duel{gap:12px}.card.bike{min-width:0;max-width:330px}.card.bike h3{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=720px){.duel{gap:6px}.card.bike{padding:8px 7px}.card.bike h3{font-size:13px}.bar label{font-size:10px}.tab{padding:6px 2px;font-size:13px}}.tabs.sections .tab{padding:6px;font-size:14px}.tabs.sections .tab.active{background:var(--orange);color:#fff;border-color:#0000}.workshop-scroll{min-height:0;padding-right:4px;overflow-y:auto}.workshop-scroll .workshop-cols{overflow:visible}.paint-row{border-bottom:1px solid #ffffff1a;padding-bottom:9px}.paint-row h4{margin-bottom:6px;font-size:14px;font-weight:800}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatch{border:2px solid #ffffff59;border-radius:50%;width:32px;height:32px;padding:0}.swatch.on{outline:3px solid var(--yellow);outline-offset:2px;border-color:#fff}.goodies{flex-wrap:wrap;gap:7px;display:flex}.goodie{text-align:left;color:#eef1f6;background:#ffffff12;border:1px solid #ffffff2e;border-radius:10px;padding:6px 12px;line-height:1.2;display:grid}.goodie b{font-size:13px}.goodie small{color:var(--yellow);font-size:11px;font-weight:700}.goodie.on{border-color:var(--yellow);background:#ffc5332e}.goodie.on small{color:#6ee7a0}.goodie.disabled{opacity:.45;cursor:not-allowed}.hint{color:#aab2bf;font-size:12px}.duel{grid-template-columns:repeat(4,minmax(0,1fr));align-self:center;gap:10px;width:min(1180px,100%);display:grid}.card.bike{max-width:none}.card.bike.magnum{border-top:4px solid #d8201c}.card.bike.mbk51{border-top:4px solid #2ab7e6}.card.bike.rcx{border-top:4px solid #f2c40f}.card.bike p{font-size:12px}@media (width<=1000px){.card.bike p{display:none}.card.bike h3{font-size:15px}.bar{grid-template-columns:1fr;gap:2px;font-size:11px}.bar em{display:none}}@media (width<=720px){.duel{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.bars{gap:3px;margin-top:4px}.tabs{flex-wrap:wrap}.tabs .tab{flex:40%}}.chip.admin-on{background:#ff6a2bd9;border-color:#0000}.money.admin{border-color:var(--orange)}.money.admin b{color:var(--orange)}.pilot-panel,.records-panel{flex-direction:column;gap:10px;width:min(560px,100%);display:flex}.records-panel{width:min(720px,100%);max-height:70vh}.records-panel .tabs{flex-wrap:wrap;margin-bottom:0}.records-panel .tab{flex:30%;font-size:13px}.pilot-form{gap:10px;display:grid}.pilot-form input{font:inherit;color:#fff;background:#ffffff14;border:1px solid #ffffff40;border-radius:12px;outline:none;padding:11px 14px;font-size:17px}.pilot-form input:focus{border-color:var(--yellow);background:#ffffff1f}.pilot-form input::placeholder{color:#8d96a5}.pilot-form .btn[disabled]{opacity:.6}.form-error{color:#ff8a7a;min-height:1em;font-size:14px;font-weight:700}.form-error:empty{display:none}.pilot-current{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.pilot-current b{color:var(--yellow)}.pilot-current .btn{padding:5px 12px;font-size:13px}.hint{line-height:1.4}.records-body table{border-collapse:collapse;width:100%;font-size:15px}.records-body td{border-bottom:1px solid #ffffff1a;padding:6px 8px}.records-body td small{opacity:.6;margin-left:8px;font-size:12px}.records-body .rk{width:34px;color:var(--yellow);font-style:italic;font-weight:900}.records-body .tm{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.records-body tr.me td{background:#ffc5332e;font-weight:800}.records-body .kicker{margin-bottom:4px}.card-extra .world{color:#fff;font-weight:700;display:block}.chip.pilot-chip{border-color:#ffc53399}[hidden]{display:none!important}
