:root{--ink:#f2fbff;--muted:#a8c4d8;--cyan:#6ee6f0;--orange:#ffc268;--edge:rgba(180,225,255,.19);--glass:linear-gradient(135deg,rgba(19,57,84,.93),rgba(8,31,57,.86));--font:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#9bd5e4;color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent}body{user-select:none}button,select,a{touch-action:manipulation}button,select{font:inherit}button{border:0;cursor:pointer;color:inherit;transition:background .18s,transform .18s,border-color .18s,box-shadow .18s}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button[hidden],[hidden]{display:none!important}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#vignette,#boost-vignette{position:fixed;inset:0;pointer-events:none}#vignette{background:linear-gradient(90deg,rgba(9,27,45,.33),transparent 58%),linear-gradient(0deg,rgba(8,27,42,.68),transparent 37%);transition:background 1s}body:not([data-state=menu]) #vignette{background:linear-gradient(0deg,rgba(7,27,46,.65),transparent 28%),linear-gradient(180deg,rgba(9,33,52,.16),transparent 27%)}#boost-vignette{opacity:0;box-shadow:inset 0 0 150px 12px rgba(43,214,249,.24);background:linear-gradient(100deg,rgba(36,218,251,.12),transparent 18%,transparent 82%,rgba(36,218,251,.12));transition:opacity .15s}body.boosting #boost-vignette{opacity:1}body.double-boost #boost-vignette{box-shadow:inset 0 0 150px 12px rgba(255,171,56,.35)}#header{position:absolute;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:30px 38px;pointer-events:none}.brand{font-size:25px;font-weight:950;font-style:italic;letter-spacing:-1.5px;display:flex;align-items:center;gap:5px;pointer-events:auto;text-shadow:0 2px 12px #11324a33}.brand span{font-weight:400;letter-spacing:1px;font-size:21px}.brand i{color:var(--orange);letter-spacing:-5px;margin:0 12px 0 4px;font-size:29px}.brand small{font-weight:500;font-size:12px;font-style:normal;letter-spacing:3px;padding-left:18px;border-left:1px solid #ffffff55}.header-actions{display:flex;gap:9px;align-items:center;pointer-events:auto}.local-badge{font-size:9px;letter-spacing:1.1px;margin-right:17px;color:#effaff;text-shadow:0 1px 6px #12395b}.local-badge i{width:5px;height:5px;display:inline-block;margin-right:8px;background:#a8f4cc;border-radius:50%;box-shadow:0 0 8px #70eebb}.icon-btn{height:34px;width:34px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:#12365055;font-size:19px;backdrop-filter:blur(12px)}.glass{background:var(--glass);border:1px solid var(--edge);box-shadow:0 16px 45px #00132425;backdrop-filter:blur(20px)}#menu{position:absolute;inset:0}.menu-story{position:absolute;top:17%;left:4.25%;max-width:460px;text-shadow:0 3px 24px #123b5066}.eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--cyan);font-weight:650}.eyebrow>span{height:2px;width:24px;display:inline-block;background:var(--cyan);vertical-align:middle;margin-right:10px}.menu-story h1{font-size:clamp(34px,4.1vw,63px);line-height:1.26;letter-spacing:1.5px;font-weight:850;margin:21px 0 13px}.menu-story h1>span{color:#ffce83}.menu-story>p{color:#e0f2f9;font-size:13px;letter-spacing:2.5px;margin-bottom:35px}.track-title{display:flex;gap:16px;align-items:center}.track-number{font-size:42px;font-weight:200;font-style:italic;color:#c6eefa;border-right:1px solid #deeff777;line-height:48px;padding-right:16px}.micro{font-size:9px;font-weight:650;letter-spacing:1.7px;color:var(--muted)}.track-title .micro{color:#deeff5}.track-title h2{font-size:23px;margin:4px 0 7px;font-weight:750;letter-spacing:1px}.track-title p{font-size:11px;margin:0;color:#e5f4fa}.track-meta{display:flex;align-items:center;gap:17px;margin:22px 0 0 2px;color:#fff;font-size:15px;font-family:var(--font);letter-spacing:1px}.track-meta b{font-size:13px;font-weight:300;opacity:.5}.track-meta small{font-size:9px;letter-spacing:1px;color:#dfedf6}.setup{position:absolute;right:3%;top:14%;width:338px;border-radius:20px;padding:23px 23px 14px}.panel-kicker{font-size:9px;letter-spacing:2px;color:var(--cyan);display:flex;justify-content:space-between}.panel-kicker span{font-size:8px;color:#acc3d2;letter-spacing:1px}.setup h2{font-size:21px;letter-spacing:.8px;margin:10px 0 22px}.section-label{font-size:11px;letter-spacing:1px;display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.section-label small{font-size:8px;color:#94b3c9;letter-spacing:1.4px}.segmented{display:flex;background:#061c344f;border-radius:9px;padding:4px;gap:4px}.segmented button{background:transparent;flex:1;text-align:left;padding:10px 9px;border-radius:6px;border:1px solid transparent}.segmented b{display:block;font-size:12px;font-weight:650;margin-bottom:4px}.segmented small{font-size:9px;color:#a2bcd1}.segmented button.selected{background:linear-gradient(135deg,#24768f77,#2b638155);border-color:#65d6e56f;color:#aff9ff}.car-select{display:flex;gap:9px}.car-select button{position:relative;border:1px solid #6b94ac33;border-radius:8px;background:#17364e;flex:1;display:flex;flex-direction:column;align-items:center;height:77px;padding:4px 6px 8px;overflow:hidden}.car-select button.selected{border-color:var(--orange);background:linear-gradient(135deg,#79584355,#66503b44)}.car-select button>span:not(.car-symbol){font-size:10px;color:#d8ebf7}.car-select button i{position:absolute;right:5px;top:5px;font-size:8px;color:#8eafc5;font-style:normal}.car-symbol{color:var(--car);position:relative;display:block;font-size:38px;line-height:46px;transform:skewY(-9deg);filter:drop-shadow(0 5px 5px #0005)}.car-symbol:before,.car-symbol:after{content:"";position:absolute;width:8px;height:13px;border-radius:3px;background:#0c1c2c;top:23px;z-index:-1;border-bottom:2px solid #658092}.car-symbol:before{left:0}.car-symbol:after{right:2px}.car-info{display:flex;flex-direction:column;gap:5px;margin:13px 0}.car-info b{font-size:11px;letter-spacing:1px;color:var(--orange)}.car-info span{font-size:9px;color:#aac4d7}.car-stats{display:flex;gap:10px}.car-stats>div{flex:1;display:flex;gap:6px;align-items:center}.car-stats span{font-size:9px;color:#b4ccdc;white-space:nowrap}.car-stats i{display:block;width:100%;height:3px;background:#50758b4d;border-radius:2px;overflow:hidden}.car-stats em{display:block;height:100%;background:#71dee8}.settings-row{display:grid;grid-template-columns:1.4fr 1fr;gap:13px;margin-top:21px}.settings-row>label{font-size:11px;letter-spacing:1px}.settings-row select{width:100%;margin-top:9px}select{border-radius:7px;border:1px solid #6788a04d;background:#16354e;color:#d5e7f5;padding:10px 8px;font-size:10px;cursor:pointer;outline:none}select option{background:#15334b;color:#fff}.setup-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:8px;color:#8fb0c8}.quality-label{font-size:9px;display:flex;align-items:center;gap:5px}.quality-label select{background:transparent;border:0;padding:5px 2px;font-size:9px}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:linear-gradient(112deg,#ffbc67,#ffdb8e);border:1px solid #ffe5ae55;color:#183047;border-radius:10px;font-size:16px;font-weight:800;padding:15px 19px;box-shadow:0 5px 16px #fbb65720}.primary small{display:block;font-size:8px;letter-spacing:2px;opacity:.67;margin-top:4px;font-weight:650}.primary b{font-size:25px;font-weight:500}.setup>.primary{margin-top:14px}.setup-tip{font-size:9px;text-align:center;color:#9dbacf;margin:13px 0 0;white-space:nowrap}kbd{display:inline-block;font:500 9px var(--font);color:#d3e8f4;border:1px solid #a7d8f038;background:#18395455;box-shadow:0 1px 0 #061c3438;border-radius:4px;padding:3px 5px;line-height:1.2;margin:0 3px;white-space:nowrap}.track-selection{position:absolute;left:4.2%;right:calc(3% + 363px);bottom:10%}.track-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.5px;margin-bottom:13px;text-shadow:0 2px 8px #0b2d44}.track-heading small{font-size:8px;letter-spacing:1.5px;color:#cae7f0;margin-left:10px}.track-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.track-card{padding:0;position:relative;text-align:left;border-radius:11px;overflow:hidden;background:#123955b3;border:1px solid #caeefe47;box-shadow:0 6px 20px #061c3425;transition:transform .2s,border-color .2s}.track-card canvas{display:block;width:100%;height:85px;object-fit:cover;opacity:.9;transition:opacity .2s}.track-card.selected{border:2px solid var(--orange);transform:translateY(-4px)}.track-card.selected canvas{opacity:1}.track-card .card-bottom{padding:10px 10px 11px;display:flex;align-items:center;justify-content:space-between;gap:4px}.track-card strong{display:block;font-size:11px;letter-spacing:.4px;font-weight:650;white-space:nowrap}.track-card small{display:block;font-size:7px;color:#bdd3de;letter-spacing:1px;margin-top:5px}.track-card i{font-style:normal;color:#a2beca;font-size:10px}.track-card.selected i{color:var(--orange)}.track-card .track-badge{position:absolute;top:7px;left:7px;padding:3px 5px;border:1px solid #ebfbff55;background:#12365566;color:#f5fcff;font-size:8px;border-radius:4px;backdrop-filter:blur(10px)}.menu-footer{position:absolute;bottom:25px;left:4.2%;right:3.2%;display:flex;justify-content:space-between;font-size:9px;color:#d6e9f2;letter-spacing:1px}.menu-footer b{font-weight:400;margin:0 9px}.kart-caption{position:absolute;left:52%;top:66%;font-size:9px;letter-spacing:2px;color:#e3f8ff;text-shadow:0 2px 5px #193746;pointer-events:none}.kart-caption i{display:inline-block;width:24px;height:1px;background:var(--orange);vertical-align:middle;margin-right:8px}.kart-caption small{display:block;margin:6px 0 0 32px;font-size:7px;letter-spacing:2px;color:#d9edf2}
/* Race instrumentation */
#hud{position:absolute;inset:0;pointer-events:none}#hud button{pointer-events:auto}body:not([data-state=menu]):not([data-state=loading]) #header{padding-top:20px}body:not([data-state=menu]) .brand{font-size:20px}body:not([data-state=menu]) .brand span{font-size:16px}body:not([data-state=menu]) .brand small,body:not([data-state=menu]) .local-badge{display:none}.position-panel,.lap-panel,.time-panel,.minimap-panel{position:absolute;border-radius:13px}.position-panel{left:29px;top:86px;width:183px;padding:15px 18px;background:linear-gradient(135deg,#143c57d9,#0e2c47a8)}.rank-big{display:flex;align-items:baseline;gap:10px}.rank-big strong{font-size:66px;font-weight:850;font-style:italic;letter-spacing:-5px;line-height:1.13;color:var(--orange);font-variant-numeric:tabular-nums}.rank-big>span{font-size:13px;color:#b6cadd}.leader-row{display:grid;grid-template-columns:18px 1fr auto;gap:7px;align-items:center;padding:6px 0;font-size:9px;border-top:1px solid #ffffff0a;color:#b5cddd}.leader-row.current{color:#ffdd9d}.leader-row .name{overflow:hidden;text-overflow:ellipsis}.leader-row i{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:6px}.leader-row small{font-size:8px;color:#8dadc4}.lap-panel{top:30px;left:50%;transform:translateX(-50%);width:207px;text-align:center;padding:12px 18px 10px;background:#10334fac}.lap-panel>div:first-child{display:flex;align-items:center;justify-content:center;gap:14px}.lap-panel strong{font-size:30px;font-weight:850;font-style:italic;font-variant-numeric:tabular-nums}.lap-panel strong small{font-size:15px;color:#aac6db;font-weight:400}.lap-panel .micro{font-size:8px;letter-spacing:1px}.race-progress{height:3px;border-radius:2px;background:#9bb7ce33;margin:7px 0 4px;overflow:hidden}.race-progress>i{display:block;width:0;height:100%;background:var(--orange)}#checkpoint-label{font-size:7px;letter-spacing:1.5px;color:#b1cbdc}.time-panel{top:87px;right:29px;padding:16px 19px 12px;width:212px;background:#10334fc7}.time-panel>strong{display:block;font-size:27px;margin:6px 0;font-weight:650;letter-spacing:1px;font-variant-numeric:tabular-nums}.best-time{font-size:8px;color:#95b7ce;display:flex;justify-content:space-between;letter-spacing:1px}.best-time span{color:#deebf4}.race-buttons{margin-top:13px;border-top:1px solid #8ec9e326;display:flex;padding-top:8px;gap:8px}.race-buttons button{background:transparent;border-radius:5px;color:#c4dbe9;font-size:10px;padding:4px 9px;flex:1}.race-buttons button:hover{background:#85c8e52b}.minimap-panel{left:29px;bottom:57px;width:207px;padding:11px 13px 9px;background:#12334dce}.minimap-panel>.micro{display:flex;justify-content:space-between;letter-spacing:1px;font-size:7px}#minimap{width:100%;height:139px;display:block}.map-caption{display:flex;align-items:center;gap:5px;justify-content:center;font-size:8px;color:#9ab6ca}.map-caption i,.map-caption b{width:5px;height:5px;border-radius:50%;background:var(--orange);display:inline-block;margin-left:8px}.map-caption b{background:#b9e9ff}.map-caption em{width:5px;height:5px;background:#fff;margin-left:8px}.boost-panel{position:absolute;bottom:67px;left:50%;transform:translateX(-50%);width:335px}.boost-status{text-align:center;color:#dbedf6;font-size:10px;height:31px;letter-spacing:1px;text-shadow:0 2px 5px #05223b}.boost-status.ready{color:var(--orange);font-weight:650;animation:pulse 1s infinite}.gas-top{display:flex;justify-content:space-between;align-items:baseline;font-size:9px;letter-spacing:1.6px}.gas-top small{font-size:8px;color:#b3d2e3;letter-spacing:0;margin-left:5px}.gas-top>b{font-size:18px;font-style:italic;color:#b7f5fa}.gas-track{margin:6px 0 14px;height:9px;border:1px solid #8edfed50;background:#07273b9c;border-radius:3px;position:relative;overflow:hidden}.gas-track>div{height:100%;background:linear-gradient(90deg,#37a3d2,#76edf5);box-shadow:0 0 12px #5be1f6;transition:width .08s linear}.gas-track>i{position:absolute;top:0;height:100%;width:2px;left:25%;background:#113247cc}.gas-track>i:nth-last-child(2){left:50%}.gas-track>i:last-child{left:75%}.action-slots{display:flex;gap:9px}.action-slot{flex:1;min-width:0;border:1px solid #a7d8f033;border-radius:9px;background:linear-gradient(145deg,#1f5477b3,#0d2e4be0);height:73px;position:relative;backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.action-slot kbd{position:absolute;left:4px;top:5px;font-size:7px;padding:2px 3px;margin:0;border-color:#80b2c833;color:#95b9d0}.action-slot>b{font-size:26px;font-style:italic;font-weight:800;line-height:28px;color:#d8f5ff}.action-slot>span{font-size:9px;color:#b1ccdd;white-space:nowrap}.action-slot em{font-size:9px;font-style:normal;margin-left:4px;color:#ffda91}.action-slot.ready{border-color:#fbc16cbb;background:linear-gradient(135deg,#86653d99,#314355d9);box-shadow:0 0 20px #ffd78116}.action-slot.ready>b{color:var(--orange)}.action-slot.empty{opacity:.69}.action-slot.active{box-shadow:0 0 20px #50e6ef4a;border-color:#8ff5ff}.speed-panel{position:absolute;right:35px;bottom:75px;width:214px;filter:drop-shadow(0 2px 6px #12365188)}.speed-readout{display:flex;align-items:baseline;justify-content:flex-end;gap:9px}.speed-readout strong{font-size:85px;font-weight:850;font-style:italic;letter-spacing:-5px;line-height:1.12;font-variant-numeric:tabular-nums}.speed-readout>span{font-size:9px;letter-spacing:1px}.speed-stripes{height:15px;display:flex;gap:4px;align-items:flex-end;justify-content:flex-end;margin-right:7px}.speed-stripes i{display:block;width:13px;height:7px;transform:skewX(-25deg);background:#d7f1ff33}.speed-stripes i.on{background:#b9f5ff}.speed-stripes i:nth-child(n+8).on{background:var(--orange)}.speed-stripes i:nth-child(n+5){height:10px}.speed-stripes i:nth-child(n+9){height:14px}.speed-sub{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.2px;padding:8px 2px;border-top:1px solid #c2e8f04d;color:#bad7e7}.speed-sub .drifting{color:var(--orange)}.race-keytips{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);font-size:9px;color:#acc8d9;white-space:nowrap}#countdown{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-shadow:0 5px 25px #0a274c77;z-index:15}#countdown>span{font-size:13px;font-weight:700;letter-spacing:5px;color:#fff}#countdown>b{font-size:150px;line-height:1.3;color:var(--orange);font-weight:900;font-style:italic}#countdown>small{font-size:11px;letter-spacing:1px;color:#edfbff}#toast{position:absolute;top:27%;left:50%;transform:translate(-50%,-8px);text-align:center;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;text-shadow:0 2px 15px #0d2b4488;z-index:19;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}#toast strong{display:block;color:#ffda90;font-size:29px;font-style:italic;letter-spacing:2px;font-weight:850}#toast span{display:block;font-size:10px;letter-spacing:1.5px;margin-top:5px;color:#f6fcff}#touch-controls{display:none}body.touch #touch-controls{display:block}.touch-steer,.touch-drive{position:absolute;bottom:19px;display:flex;align-items:flex-end;gap:12px;pointer-events:auto}.touch-steer{left:20px}.touch-drive{right:20px}.touch-steer button,.touch-drive button{width:64px;height:64px;border-radius:20px;background:#1a466aa8;border:1px solid #b8e9fb66;font-size:24px;backdrop-filter:blur(15px);touch-action:none}.touch-drive .touch-brake{width:49px;height:48px;font-size:11px}.touch-drive .touch-drift{height:60px;font-size:14px;border-color:#ffcb8199;color:#ffcf8f;background:#815c3a77}.touch-drive .touch-throttle{height:85px;width:66px;font-size:25px;background:#2491a67a;border-color:#91f9ff}.touch-throttle small{display:block;font-size:10px;margin-top:4px}.touch-steer button.pressed,.touch-drive button.pressed{background:#46a5cfa8;border-color:#a6ffff;box-shadow:0 0 18px #72e6ff44}
/* overlays */
.overlay{position:fixed;inset:0;background:#061d37a3;backdrop-filter:blur(9px);z-index:50;display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.modal{border-radius:20px;padding:32px;max-height:calc(100dvh - 40px);overflow-y:auto}.modal h2{font-size:30px;margin:16px 0 10px;letter-spacing:.5px}.modal>p{font-size:12px;color:#b4cdda;line-height:1.9;margin:0 0 26px}.pause-modal{width:425px}.pause-modal .primary{margin-top:30px}.two-buttons{display:flex;gap:12px;margin-top:12px}.two-buttons>button{flex:1}.secondary{border:1px solid #98c5dd44;border-radius:10px;background:#1b476366;color:#dbeaf4;padding:14px 16px;font-size:12px;font-weight:550}.modal-foot{display:block;text-align:center;margin-top:20px;font-size:9px;color:#86a8be}.help-modal{width:770px;position:relative}.close-btn{position:absolute;right:22px;top:17px;background:transparent;color:#c2dce9;font-size:28px;line-height:30px}.help-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;margin-top:20px}.help-grid h3{font-size:13px;color:#bdf1f6;letter-spacing:.7px}.help-grid p,.help-bottom p{font-size:11px;line-height:1.95;color:#adc7d8}.help-grid b,.help-bottom b{color:#e0edf4;font-weight:600}.help-bottom{border-top:1px solid #98bed52b;margin:15px 0 23px;padding-top:8px}.help-modal .primary{font-size:14px}.results-modal{width:640px;padding:27px 31px}.result-eyebrow{display:flex;justify-content:space-between;color:var(--cyan);letter-spacing:2px;font-size:9px}.result-eyebrow>span{color:#95b9d2;font-size:8px}.result-hero{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.result-hero h2{display:flex;align-items:center;font-size:23px;letter-spacing:1px;margin:0;gap:15px}.result-hero h2 strong{font-size:76px;color:var(--orange);font-style:italic;line-height:1.15;letter-spacing:-4px}.result-hero>div:last-child{text-align:right}.result-hero>div:last-child>b{display:block;font-size:26px;color:#e5f6ff;margin-top:6px;font-variant-numeric:tabular-nums}.results-modal>p{font-size:11px;margin:8px 0 15px}.result-stats{display:grid;grid-template-columns:1.4fr 1fr .8fr .8fr;padding:18px 0;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a}.result-stats>div{display:flex;flex-direction:column;gap:9px}.result-stats span{font-size:9px;color:#9abace}.result-stats b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.result-stats small{font-size:9px;font-weight:500}.result-table{margin-top:19px}.result-table-head{display:flex;justify-content:space-between;font-size:9px;color:#86aac1;letter-spacing:1px;padding:0 10px 9px}.result-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:10px;border-top:1px solid #b0d9ee0a;color:#b2cbdc}.result-row>span:first-child{display:flex;gap:18px;align-items:center}.result-row b{font-weight:600}.result-row em{font-size:9px;font-style:normal;margin-left:6px;color:#96b5c9}.result-row.current{background:#8c673733;border-radius:7px;color:#ffda96}.result-row i{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:7px}.result-row small{font-size:9px;font-variant-numeric:tabular-nums}.results-modal p.results-note{font-size:8px;line-height:1.6;color:#89a9c0;margin:12px 0 18px}.results-modal .primary{font-size:13px;justify-content:center}.results-modal .secondary{font-size:12px}.results-modal .two-buttons{margin-top:0}
#loading{position:fixed;inset:0;background:#0d2b44;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center}#loading p{font-size:11px;letter-spacing:2px;color:#afd0df;margin:25px 0}.load-line{width:200px;height:3px;background:#28526c;position:relative;overflow:hidden;border-radius:4px}.load-line:after{content:"";position:absolute;height:100%;width:40%;background:var(--orange);animation:load 1.3s ease-in-out infinite}#error{position:fixed;inset:0;z-index:110;background:#112e45;padding:10vh 10vw;user-select:text}#error h1{font-size:28px}#error p{max-width:700px;color:#c4dfec;font-size:15px;line-height:1.7}#error button{margin-top:20px;background:var(--orange);color:#17364d;border-radius:8px;padding:13px 24px;font-size:16px}noscript{position:fixed;inset:0;background:#102c44;padding:30px;z-index:200}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(350%)}}@keyframes pulse{50%{opacity:.68}}
/* Small desktops and touch layouts */
@media(min-width:1600px){.setup{right:4.5%;width:370px;padding:28px;top:16%}.track-selection{right:calc(4.5% + 398px);bottom:11%}.track-card canvas{height:105px}.menu-story{top:20%}.kart-caption{top:68%}}
@media(max-height:780px) and (min-width:1001px){#header{padding-top:22px}.setup{top:12.5%;padding:18px 21px 12px;width:316px}.setup h2{margin:8px 0 15px;font-size:19px}.section-label{margin-top:13px;margin-bottom:8px}.car-select button{height:61px}.car-symbol{font-size:30px;line-height:36px}.car-symbol:before,.car-symbol:after{top:19px;height:10px;width:7px}.car-info{margin:10px 0}.settings-row{margin-top:15px}.setup-bottom{margin-top:8px}.setup>.primary{margin-top:9px;padding:12px 16px}.setup-tip{margin-top:10px}.menu-story{top:15%}.menu-story h1{font-size:43px}.menu-story>p{margin-bottom:22px}.track-title h2{font-size:20px}.track-meta{margin-top:16px}.track-selection{right:calc(3% + 340px);bottom:8%}.track-card canvas{height:67px}.track-card .card-bottom{padding:8px}.menu-footer{bottom:18px}.kart-caption{top:63%}.results-modal{padding:22px 29px}.result-hero{margin-top:13px}.result-stats{padding:13px 0}.result-row{padding:8px}}
@media(max-width:1100px){.menu-story{left:3%;max-width:365px}.menu-story h1{font-size:41px}.setup{right:2.3%;width:306px;padding:19px}.track-selection{left:3%;right:calc(2.3% + 329px)}.track-cards{gap:7px}.track-card canvas{height:68px}.track-card strong{font-size:9px}.track-card small{font-size:6px}.track-heading small{font-size:7px}.kart-caption{left:49%}.local-badge{display:none}.menu-footer{font-size:8px}.speed-panel{width:172px}.speed-readout strong{font-size:72px}.boost-panel{width:291px}.position-panel{width:154px;padding:12px 14px}.rank-big strong{font-size:55px}.minimap-panel{width:179px}#minimap{height:115px}}
@media(max-width:900px) and (orientation:landscape){#header{padding:13px 20px}.brand{font-size:22px}.brand span{font-size:18px}.brand small{display:none}.icon-btn{width:29px;height:29px;font-size:16px}.menu-story{top:20%;left:4%}.menu-story .eyebrow{font-size:7px;letter-spacing:1px}.menu-story h1{font-size:29px;margin:12px 0 9px}.menu-story>p{font-size:9px;letter-spacing:1px;margin-bottom:19px}.track-title{gap:11px}.track-title h2{font-size:16px}.track-title p{font-size:8px}.track-number{font-size:29px;line-height:38px;padding-right:11px}.track-title .micro{font-size:7px}.track-meta{margin-top:12px;font-size:12px;gap:10px}.track-meta small{font-size:7px}.setup{top:66px;bottom:24px;right:20px;width:257px;padding:14px 16px;overflow-y:auto;border-radius:13px;scrollbar-width:thin;scrollbar-color:#4c6e8599 transparent}.panel-kicker{font-size:7px;letter-spacing:1px}.panel-kicker span{font-size:7px}.setup h2{font-size:17px;margin:8px 0 12px}.section-label{font-size:9px;margin:10px 0 6px}.section-label small{font-size:7px}.segmented button{padding:7px 5px}.segmented b{font-size:10px}.segmented small{font-size:7px}.car-select button{height:54px}.car-symbol{line-height:31px;font-size:27px}.car-symbol:before,.car-symbol:after{top:15px;height:10px}.car-info{margin:8px 0}.car-info b{font-size:10px}.car-info span{font-size:8px}.car-stats span{font-size:8px}.settings-row{margin-top:12px;gap:7px}.settings-row label{font-size:9px}.settings-row select{margin-top:5px;font-size:9px;padding:7px 4px}.setup-bottom{margin-top:7px}.setup>.primary{margin-top:8px;font-size:13px;padding:10px 13px}.setup-tip{display:none}.track-selection{left:4%;right:294px;bottom:43px}.track-heading{margin-bottom:8px;font-size:9px}.track-heading small{display:none}.track-card canvas{height:48px}.track-card .card-bottom{padding:6px}.track-card strong{font-size:8px;letter-spacing:0}.track-card small{display:none}.track-card .track-badge{font-size:6px;top:4px;left:4px;padding:2px 3px}.menu-footer{bottom:14px;font-size:7px}.menu-footer>span:last-child{display:none}.kart-caption{display:none}.position-panel{left:16px;top:64px;width:122px;padding:10px}.position-panel .micro{font-size:6px;letter-spacing:1px}.rank-big strong{font-size:44px}.rank-big>span{font-size:10px}.leader-row{font-size:8px;padding:4px 0;grid-template-columns:10px 1fr auto;gap:3px}.leader-row small{font-size:6px}.time-panel{right:16px;top:62px;width:170px;padding:10px 12px}.time-panel>strong{font-size:22px}.time-panel .micro{font-size:7px}.race-buttons{margin-top:7px;padding-top:4px}.race-buttons button{font-size:9px}.lap-panel{top:16px;width:170px;padding:8px 13px}.lap-panel strong{font-size:25px}.lap-panel .micro{font-size:6px}.lap-panel>div:first-child{gap:10px}.lap-panel>span{font-size:6px}.minimap-panel{width:125px;left:154px;bottom:25px;padding:8px}#minimap{height:77px}.minimap-panel .micro{font-size:5px;letter-spacing:0}.minimap-panel .micro>span:last-child,.map-caption{display:none}.boost-panel{width:246px;bottom:33px}.gas-top{font-size:7px}.gas-top>b{font-size:14px}.gas-track{height:6px;margin:4px 0 8px}.boost-status{height:21px;font-size:8px}.action-slot{height:57px;border-radius:7px}.action-slot>b{font-size:23px;line-height:23px}.action-slot>span{font-size:8px}.action-slot kbd{font-size:5px;top:3px;left:3px}.speed-panel{right:22px;bottom:35px;width:155px}.speed-readout strong{font-size:56px}.speed-readout>span{font-size:8px}.speed-sub{font-size:7px}.speed-stripes{gap:3px}.speed-stripes i{width:9px}.race-keytips{display:none}#toast{top:27%}#toast strong{font-size:24px}#toast span{font-size:8px}#countdown>b{font-size:100px}#countdown>span{font-size:10px}.touch-steer{left:16px;bottom:17px;gap:8px}.touch-drive{right:16px;bottom:17px;gap:7px}.touch-steer button{width:50px;height:55px;font-size:17px;border-radius:15px}.touch-drive .touch-throttle{height:70px;width:55px}.touch-drive .touch-drift{width:51px;height:55px}.touch-drive .touch-brake{width:38px;height:40px;font-size:9px}body.touch .boost-panel{bottom:18px;left:48%;width:220px}body.touch .speed-panel{bottom:115px;right:20px;width:145px}body.touch .minimap-panel{bottom:100px;left:19px;width:110px}body.touch #leaderboard{display:none}body.touch .position-panel{width:110px}.overlay{padding:17px}.modal{max-height:calc(100dvh - 28px);border-radius:15px}.help-modal h2,.pause-modal h2{font-size:24px}.results-modal{width:590px}.result-hero h2 strong{font-size:60px}.result-stats{padding:10px 0}.result-row{padding:6px}.result-hero{margin-top:11px}.results-modal>p{margin-bottom:10px}.result-table{margin-top:12px}}
@media(max-width:700px) and (orientation:portrait){#header{padding:19px 18px}.brand{font-size:22px}.brand span{font-size:18px}.brand small{display:none}.brand i{margin-right:0}.header-actions{gap:6px}.icon-btn{width:31px;height:31px}.local-badge{display:none}#menu{overflow-y:auto;padding:84px 18px 25px;scrollbar-width:none;background:linear-gradient(0deg,#09283fd9,transparent 70%)}.menu-story{position:relative;top:auto;left:auto;max-width:none;margin-bottom:202px}.menu-story .eyebrow{font-size:7px;letter-spacing:1.3px}.menu-story h1{font-size:34px;line-height:1.25;margin:13px 0 9px}.menu-story>p{font-size:10px;letter-spacing:1px;margin:0}.track-title,.track-meta{display:none}.track-selection{position:relative;left:auto;right:auto;bottom:auto;margin-top:18px}.track-heading{font-size:10px;margin-bottom:11px}.track-heading small{font-size:7px}.track-cards{grid-template-columns:repeat(2,1fr);gap:10px}.track-card canvas{height:65px}.track-card strong{font-size:10px}.track-card small{font-size:6px}.setup{position:relative;top:auto;right:auto;width:100%;max-width:none;border-radius:16px;padding:20px;z-index:2}.setup h2{font-size:20px;margin-bottom:15px}.section-label{margin:14px 0 8px}.car-select button{height:60px}.car-symbol{line-height:35px;font-size:31px}.car-symbol:before,.car-symbol:after{top:18px;height:11px}.car-info{margin:10px 0}.settings-row{margin-top:14px}.setup-bottom{margin-top:10px}.setup>.primary{margin-top:10px}.setup-tip{font-size:9px}.kart-caption{display:none}.menu-footer{position:relative;left:auto;right:auto;bottom:auto;font-size:7px;margin-top:23px}.menu-footer>span:last-child{display:none}.position-panel{top:76px;left:13px;width:110px;padding:10px 12px}.position-panel .micro{font-size:6px;letter-spacing:.7px}.rank-big strong{font-size:45px}.rank-big>span{font-size:10px}.leader-row{display:none}.lap-panel{top:142px;left:auto;right:13px;transform:none;width:143px;padding:8px 12px}.lap-panel .micro{font-size:6px;letter-spacing:.5px}.lap-panel strong{font-size:24px}.lap-panel strong small{font-size:12px}.lap-panel>div:first-child{gap:8px}.lap-panel>span{font-size:6px;letter-spacing:1px}.time-panel{top:76px;right:13px;padding:11px 12px;width:171px}.time-panel>strong{font-size:21px;margin:5px 0 3px;line-height:1.2}.time-panel .micro{font-size:6px;letter-spacing:1px}.best-time{display:none}.race-buttons{position:absolute;top:130px;right:0;border:0;margin:0;display:flex;padding:0}.race-buttons button{font-size:10px;background:#173b57be;border:1px solid #96ceec44;white-space:nowrap;padding:9px 11px;backdrop-filter:blur(10px)}.minimap-panel{left:13px;top:164px;bottom:auto;width:110px;padding:8px}#minimap{height:82px}.minimap-panel .micro{font-size:5px;letter-spacing:0}.minimap-panel .micro>span:last-child,.map-caption{display:none}.speed-panel{right:18px;bottom:229px;width:154px}.speed-readout strong{font-size:62px}.speed-sub{font-size:7px}.speed-stripes i{width:9px}.boost-panel{bottom:119px;width:265px}.boost-status{font-size:9px;height:25px}.gas-top{font-size:7px}.gas-top>b{font-size:15px}.gas-track{margin:4px 0 9px;height:7px}.action-slot{height:59px}.action-slot>b{font-size:23px}.action-slot>span{font-size:8px}.action-slot kbd{font-size:6px}.race-keytips{display:none}#countdown>b{font-size:105px}#countdown>span{font-size:10px}#countdown>small{font-size:9px}#toast{top:36%}#toast strong{font-size:23px}#toast span{font-size:8px}.touch-steer{left:14px;bottom:25px;gap:8px}.touch-steer button{width:52px;height:59px;border-radius:17px;font-size:18px}.touch-drive{right:14px;bottom:25px;gap:7px}.touch-drive .touch-throttle{width:55px;height:78px}.touch-drive .touch-drift{width:48px;height:58px;font-size:12px}.touch-drive .touch-brake{width:35px;height:42px;font-size:9px}.overlay{padding:15px}.modal{padding:24px 20px;border-radius:17px;width:100%;max-height:calc(100dvh - 30px)}.modal h2{font-size:24px}.help-grid{display:block;margin-top:18px}.help-grid>div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:0 7px}.help-grid>div:first-child h3{grid-column:1/-1}.help-grid>div:first-child p{font-size:9px;margin:4px 0}.help-grid p,.help-bottom p{font-size:10px}.result-eyebrow{font-size:8px;letter-spacing:1px}.result-eyebrow>span{font-size:6px;letter-spacing:1px}.result-hero{margin-top:16px;gap:8px}.result-hero h2{font-size:16px;gap:8px}.result-hero h2 strong{font-size:56px}.result-hero>div:last-child>b{font-size:18px}.result-hero .micro{font-size:7px;letter-spacing:1px}.results-modal>p{font-size:9px}.result-stats{gap:10px;grid-template-columns:1.2fr 1fr .8fr .8fr;padding:14px 0}.result-stats span{font-size:8px}.result-stats b{font-size:13px}.result-stats small{font-size:7px}.result-row{padding:9px 7px;font-size:10px}.result-row em{font-size:7px}.result-row>span:first-child{gap:8px}.results-modal p.results-note{font-size:7px}.result-table{margin-top:15px}.two-buttons{gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.boost-status.ready{animation:none}}
