:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#edf1ee;background:#0b1013;font-synthesis:none;--lime:#dcff50;--muted:#929b9d;--line:#ffffff22}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit;border:0;transition:background .18s,color .18s;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:disabled{cursor:wait;opacity:.5}button:hover{filter:brightness(1.15)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#app{width:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{height:66px;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px;background:#0d1316;border-bottom:1px solid var(--line);z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:900;letter-spacing:-.9px;white-space:nowrap}.brand i{font-style:italic;color:var(--lime)}.brand-mark{font-weight:1000;font-style:italic;font-size:32px;line-height:38px;width:38px;height:38px;text-align:center;color:#141b17;background:var(--lime);clip-path:polygon(17% 0,100% 0,83% 100%,0 100%)}.event-title{font-size:10px;letter-spacing:2px;color:#9aa5a5;display:flex;align-items:center;gap:11px}.status-dot,.live-dot{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;vertical-align:middle}.divider{color:#445050;margin:0 4px}.toolbar{display:flex;align-items:center;gap:5px}.toolbar button{height:32px;min-width:33px;background:transparent;color:#b5bfc0;font-size:20px}.toolbar button span{font-size:10px;font-weight:700;letter-spacing:1px;margin-left:4px}.toolbar button:hover{background:#ffffff13;color:#fff}#pause-button{display:none}body.in-race #pause-button{display:block}#stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#131d27}#game{display:block;width:100%;height:100%;outline:none;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 63% 47%,transparent 35%,#010b134f 100%)}.bottom-bar{height:29px;min-height:29px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#0d1316;border-top:1px solid var(--line);font-size:8px;font-weight:700;letter-spacing:1.9px;color:#9ba5a5}.bottom-bar i{font-style:normal;color:#576263;margin-left:4px}.bottom-bar .status-dot{background:var(--lime);margin-right:7px}.menu{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0b151ce8 0%,#0b151c9c 27%,transparent 61%)}.menu button{pointer-events:auto}.menu-copy{position:absolute;left:4.4%;top:7%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.7px;color:#c6d0cb;display:flex;align-items:center;gap:10px}.tiny-rule{height:2px;width:24px;background:var(--lime)}h1,h2,p{margin:0}.menu h1{font-size:clamp(55px,6.4vw,108px);line-height:.86;letter-spacing:-5px;font-style:italic;font-weight:950;margin-top:26px}.menu h1 em{color:var(--lime);font-style:italic}.menu-copy p{font-size:13px;color:#aab4b7;line-height:1.65;margin-top:24px}.track-stats{display:flex;gap:25px;margin-top:25px;font-size:9px;letter-spacing:1.4px;color:#929fa1}.track-stats b{font-size:15px;color:#edf2ed;margin-right:5px}.menu-bottom{position:absolute;left:4.4%;bottom:5%;width:41%;max-width:580px}.selection-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--lime);margin-bottom:13px}.selection-label i{font-style:normal;color:#929ea1;margin-left:9px}.bike-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.bike-option{position:relative;display:flex;flex-direction:column;text-align:left;padding:12px 12px 13px;background:#131d23b8;border:1px solid #75828d35;min-height:75px;overflow:hidden}.bike-option.active{border-color:var(--lime);background:#253021d9}.bike-option .bike-number{position:absolute;right:6px;top:3px;font-size:38px;font-weight:900;font-style:italic;color:#bdc7c015;letter-spacing:-2px}.bike-option b{font-size:11px;position:relative}.bike-option small{font-size:8px;color:#9fa7a9;letter-spacing:1px;margin-top:6px}.bike-swatch{width:20px;height:3px;margin-bottom:10px;background:var(--bike-color)}.launch-row{display:flex;gap:8px;margin-top:12px}.primary{background:var(--lime);color:#182019;font-weight:900;letter-spacing:1.2px;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;font-size:12px;min-height:49px;gap:20px}.primary span{font-size:23px;line-height:10px;font-weight:400}.launch-row .primary{flex:1}.secondary{background:#122027c4;border:1px solid #a0b0b33b;font-weight:700;letter-spacing:1.1px;padding:15px;font-size:10px}.hint{display:flex;align-items:center;gap:5px;margin-top:14px;font-size:7px;color:#8c989e;letter-spacing:.9px;white-space:nowrap}kbd{font:8px Arial;display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;border:1px solid #8290935a;border-radius:2px;color:#b4c0bf;margin-left:5px}.hint kbd:first-child{margin-left:0}.bike-caption{position:absolute;right:5%;top:52%;text-align:right;display:flex;flex-direction:column;gap:7px}.bike-caption>span{font-size:9px;letter-spacing:2.6px;color:#a6b3b8}.bike-caption strong{font-style:italic;letter-spacing:-1px;font-size:29px;font-weight:900}.bike-caption button{align-self:flex-end;background:transparent;font-size:8px;letter-spacing:2px;color:var(--lime);padding:10px 0}.bike-caption button span{margin-left:25px;font-size:16px}.circuit-label{position:absolute;right:5%;bottom:5%;font-size:9px;font-weight:700;letter-spacing:1.6px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;max-width:285px;justify-content:flex-end}.circuit-label small{width:100%;font-size:8px;text-align:right;color:#9da7a9;margin-top:3px;letter-spacing:1.5px}.loading{position:absolute;inset:0;background:#0e171c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:30}.loading .brand-mark{margin-bottom:30px;width:50px;height:50px;line-height:50px;font-size:43px}.loading h1{font-size:26px;letter-spacing:-1px;margin:18px 0 10px}.loading p{font-size:12px;color:#8c9a9e}.load-track{height:2px;background:#253037;width:240px;margin-top:26px}.load-track i{display:block;width:4%;height:2px;background:var(--lime);transition:width .4s}#retry-load{margin-top:24px;background:var(--lime);color:#182019;padding:14px 20px}.garage{position:absolute;left:4.4%;top:9%;width:270px;pointer-events:none}.garage button{pointer-events:auto}.garage h2{font-style:italic;text-transform:uppercase;font-size:36px;letter-spacing:-1.5px;margin-top:20px}.garage p{font-size:12px;line-height:1.7;color:#bdc7c7;margin-top:15px}.garage .garage-hint{font-size:8px;letter-spacing:1.5px;margin:24px 0}.garage .primary{width:100%}.stat{margin-top:19px;display:flex;justify-content:space-between;flex-wrap:wrap;font-size:9px;letter-spacing:1.6px}.stat i{margin-top:8px;width:100%;height:3px;background:#5d71715c}.stat i b{display:block;background:var(--lime);height:3px}.hud{position:absolute;inset:0;pointer-events:none}.race-top{position:absolute;top:5%;left:3.3%;right:3.3%;display:flex;justify-content:space-between}.hud-label{display:block;font-size:9px;letter-spacing:1.8px;color:#bdc7c6;margin-bottom:7px}.position b{font-size:50px;font-style:italic;line-height:1;letter-spacing:-3px}.position small{font-size:18px;color:#bcc5c7;letter-spacing:-1px}.timing{display:flex;gap:32px}.timing b{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.timing small{font-size:12px;color:#b2bdbc}.speedometer{position:absolute;bottom:7%;right:4%;display:flex;align-items:center;gap:20px}.gear{display:flex;flex-direction:column;align-items:center;padding-right:19px;border-right:1px solid #adc2c24d}.gear span{font-size:39px;font-weight:700;color:var(--lime)}.gear small{font-size:7px;letter-spacing:1.7px;color:#a4b4b6}.speed b{font-size:76px;font-style:italic;letter-spacing:-5px;font-weight:800;line-height:.95;display:block;font-variant-numeric:tabular-nums}.speed>span{display:block;font-size:9px;letter-spacing:3px;text-align:right;margin-top:8px;color:#bdc7c9}.rev-bar{height:3px;width:130px;background:#8d9b9b4d;margin-top:13px}.rev-bar i{display:block;height:100%;background:var(--lime);width:0}#minimap{position:absolute;bottom:5%;left:2%;width:135px;height:152px;opacity:.82}.map-caption{position:absolute;bottom:4%;left:3.7%;font-size:7px;letter-spacing:1.3px;color:#b0babc}.map-caption span{color:var(--lime);margin-left:4px}.race-controls{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);font-size:7px;color:#a5b4b8;letter-spacing:1px;white-space:nowrap}#assist-label{position:absolute;bottom:2%;right:4%;font-size:7px;color:#9cafb4;letter-spacing:1.2px}.countdown{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);font-size:130px;font-weight:900;font-style:italic;color:var(--lime);text-shadow:0 3px 50px #0009;pointer-events:none;letter-spacing:-9px}.notice{position:absolute;top:25%;left:50%;transform:translateX(-50%);background:#121e21bf;backdrop-filter:blur(8px);padding:13px 22px;color:var(--lime);font-size:11px;font-weight:700;letter-spacing:2px;pointer-events:none;white-space:nowrap}.modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0710168c;backdrop-filter:blur(12px);z-index:20}.panel{width:410px;max-width:calc(100% - 36px);padding:32px;background:#101c22eb;border:1px solid #b8c4bc30;box-shadow:0 20px 80px #0004}.panel h2{font-size:38px;font-style:italic;font-weight:900;letter-spacing:-2px;line-height:1;margin:24px 0 15px}.panel>p{font-size:12px;color:#9eafb5;line-height:1.7;margin-bottom:24px}.panel>.primary,.panel>.secondary{width:100%;margin-top:10px}.text-button{display:block;margin:22px auto 0;background:transparent;color:#a9b6b9;font-size:9px;letter-spacing:1.5px}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;padding:20px 0;margin-bottom:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-stats span{font-size:8px;letter-spacing:1.5px;color:#aab6b8;display:block;margin-bottom:8px}.result-stats b{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.setting{font-size:12px;display:flex;justify-content:space-between;align-items:center;margin:25px 0 10px}.setting input{accent-color:var(--lime);width:18px;height:18px}.setting select{background:#26363a;border:1px solid #5c6c6d;border-radius:0;padding:8px;color:#e4eae7}.setting-help{font-size:10px!important;line-height:1.6!important;margin-bottom:10px!important}.controls-help{font-size:10px;color:#8fa1a7;line-height:1.9;border-top:1px solid var(--line);padding-top:15px;margin:20px 0}.toast{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:60;background:#15282f;border:1px solid #a5bfc740;padding:12px 18px;max-width:90%;font-size:12px}.touch-controls{position:absolute;inset:0;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;border:1px solid #c6d7d53d;background:#14222980;color:#dfe9e6;user-select:none;-webkit-user-select:none}.touch-controls button.pressed{background:#dcff5099;color:#182019}.touch-steer{position:absolute;left:17px;bottom:35px;display:flex;gap:8px}.touch-steer button{height:62px;width:62px;border-radius:50%;font-size:34px}.touch-pedals{position:absolute;bottom:35px;right:17px;display:flex;gap:10px;align-items:flex-end}.touch-pedals button{height:58px;width:62px;border-radius:10px;font-size:10px;font-weight:800;letter-spacing:1px}.touch-pedals [data-control=throttle]{height:90px;width:72px;background:#dcff503d;border-color:#dcff5099;color:var(--lime)}.touch-lean{position:absolute;left:50%;transform:translateX(-50%);bottom:128px;display:flex;gap:8px}.touch-lean button{width:32px;height:32px;border-radius:50%;font-size:18px}.embedded .topbar{height:44px;min-height:44px;padding:0 15px}.embedded .brand{font-size:13px}.embedded .brand-mark{height:25px;width:25px;font-size:23px;line-height:25px}.embedded .bottom-bar{display:none}.host-toolbar .brand,.host-toolbar .event-title,.host-toolbar #fullscreen-button{display:none}.host-toolbar .topbar{justify-content:flex-end;padding-right:56px}.modal-embedded .topbar{padding-right:96px}
@media(max-width:1000px){.topbar{padding:0 20px;height:52px;min-height:52px}.brand{font-size:16px}.brand-mark{height:31px;width:31px;font-size:27px;line-height:31px}.event-title{font-size:8px;letter-spacing:1.3px;gap:6px}.toolbar button span{display:none}.menu h1{letter-spacing:-3px}.menu-copy{top:7%}.menu-copy p{font-size:11px;margin-top:17px}.track-stats{gap:18px;margin-top:16px;font-size:8px}.menu-bottom{width:46%;bottom:5%}.bike-option{padding:10px;min-height:66px}.bike-option b{font-size:9px}.bike-option small{font-size:7px}.hint{font-size:6px;letter-spacing:.4px;gap:2px}.primary{min-height:43px;padding:13px 16px;font-size:10px}.secondary{font-size:8px}.bike-caption strong{font-size:23px}.bottom-bar{height:25px;min-height:25px;padding:0 20px;font-size:6px}.bike-caption{top:54%}}
@media(max-width:700px){.topbar{height:48px;min-height:48px;padding:0 16px;gap:10px}.brand{font-size:13px;gap:7px}.brand-mark{height:26px;width:26px;line-height:26px;font-size:23px}.event-title{display:none}.toolbar{gap:0}.toolbar button{min-width:29px;font-size:18px}.bottom-bar{height:25px;min-height:25px;padding:0 15px;font-size:6px;letter-spacing:1px}.bottom-bar>span:nth-child(2){display:none}.menu{background:linear-gradient(180deg,#0b151caa 0,transparent 52%,#0b151cd9 77%)}.menu-copy{left:6%;top:5%}.eyebrow{font-size:8px;letter-spacing:2px}.menu h1{font-size:clamp(44px,13vw,76px);letter-spacing:-3px;margin-top:17px}.menu-copy p{font-size:10px;margin-top:13px}.track-stats{display:none}.menu-bottom{width:88%;max-width:none;left:6%;bottom:4%}.selection-label{font-size:8px;margin-bottom:9px}.bike-option{min-height:66px;padding:10px}.bike-option b{font-size:10px}.bike-caption{right:6%;top:48%}.bike-caption>span{font-size:7px}.bike-caption strong{font-size:19px}.bike-caption button{font-size:7px;padding-top:3px}.circuit-label{display:none}.primary{font-size:10px;min-height:45px}.hint{justify-content:center;font-size:6px;margin-top:12px;gap:3px}.hint kbd{font-size:7px;height:12px;min-width:12px}.launch-row{margin-top:10px}.garage{top:5%;left:6%;width:88%}.garage h2{font-size:30px;margin-top:15px}.garage>p{font-size:11px;max-width:240px}.garage #bike-stats{max-width:200px}.garage .garage-hint{margin-top:18px;font-size:7px}.garage .primary{width:210px}.stat{margin-top:13px;font-size:8px}.garage:not([hidden])~.hud{display:none}.race-top{left:6%;right:6%;top:4%}.position b{font-size:37px}.position small{font-size:13px}.timing{gap:22px}.timing b{font-size:18px}.timing .best-time{display:none}.hud-label{font-size:7px}.speedometer{bottom:25%;right:6%;gap:12px}.speed b{font-size:47px;letter-spacing:-3px}.speed>span{font-size:7px}.rev-bar{width:80px}.gear span{font-size:24px}.gear small{font-size:6px}.gear{padding-right:12px}#minimap{width:81px;height:92px;bottom:26%;left:5%}.map-caption{bottom:25%;font-size:6px;left:6%}.race-controls{display:none}#assist-label{bottom:2%;font-size:6px}.countdown{font-size:100px}.notice{font-size:8px;padding:10px 16px;top:19%;letter-spacing:1px}.panel{padding:24px}.panel h2{font-size:32px;margin-top:18px}.settings-panel{max-height:94%;overflow:auto}.controls-help{font-size:9px}.touch-controls{display:block}.result-stats{gap:20px}.loading h1{font-size:23px}}
@media(max-height:700px) and (min-width:701px){.menu-copy{top:6%}.menu h1{font-size:57px;margin-top:16px}.menu-copy p{font-size:10px;margin-top:15px}.track-stats{display:none}.menu-bottom{bottom:5%;width:42%}.bike-option{min-height:55px;padding:7px 10px}.bike-swatch{margin-bottom:7px}.selection-label{margin-bottom:8px}.hint{display:none}.launch-row{margin-top:9px}.primary{min-height:38px;padding:10px 14px}.bike-caption{top:48%}.garage h2{font-size:27px;margin-top:15px}.garage .garage-hint{margin:15px 0}.garage p{margin-top:9px;font-size:10px}.stat{margin-top:12px}.garage{top:6%}.panel{padding:23px}.settings-panel{max-height:94%;overflow:auto}.panel h2{font-size:30px;margin:18px 0 12px}.panel>p{margin-bottom:16px}.result-stats{padding:14px 0;gap:13px}.speed b{font-size:54px}.speedometer{bottom:9%}#minimap{width:105px;height:119px}.race-top{top:6%}.position b{font-size:37px}.timing b{font-size:19px}}
@media(pointer:coarse){body.in-race #minimap{bottom:29%}body.in-race .map-caption{bottom:28%}body.in-race .race-controls{display:none}}

.circuit-label>button{background:transparent;width:100%;text-align:right;color:var(--lime);padding:0 0 17px;font-size:9px;letter-spacing:2px}.circuit-panel{width:280px;background:linear-gradient(90deg,#0b171cbc,transparent);padding:17px 0}.circuit-panel>.primary{margin-top:24px}.circuit-spec{font-size:9px;letter-spacing:2px;color:#acb6b4;margin-top:28px;display:flex;align-items:center;gap:12px}.circuit-spec b{font-size:28px;color:var(--lime);font-style:italic}

#air-score{position:absolute;left:50%;transform:translateX(-50%);top:15%;font-size:8px;letter-spacing:1.5px;color:#dcff50} @media(max-width:700px){#air-score{top:15%;font-size:7px}.touch-pedals button{letter-spacing:.3px}}

/* Readable briefing stays visible in the paddock and while the gate counts down. */
.control-hud{position:absolute;top:7%;right:5%;width:350px;padding:17px 19px;background:#101c23e8;border:1px solid #bbd0c33d;border-top:2px solid var(--lime);box-shadow:0 12px 35px #0003;z-index:3;pointer-events:none}
.control-hud .eyebrow{font-size:9px;letter-spacing:2px}.control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;margin:15px 0 12px}.control-grid>div{display:flex;flex-direction:column;gap:7px}.control-grid>div>span:last-child{font-size:8px;letter-spacing:.7px;color:#b3c0bd;white-space:nowrap}.control-keys{display:flex;align-items:center;gap:4px;height:20px}.control-keys kbd{display:inline-flex;font-size:11px;height:22px;min-width:22px;padding:0 5px;margin:0;color:#edf4e8;background:#ffffff09;border-color:#b5c1b953}.control-keys small{font-size:10px;color:#879b93}.control-hud p{font-size:10px;color:var(--lime);line-height:1.4}.control-shortcuts,.control-touch-help{font-size:8px;letter-spacing:.8px;color:#82958f;margin-top:10px}.control-shortcuts span{padding:0 7px}.control-touch-help{display:none}.control-hud.on-grid{top:auto;bottom:7%;left:50%;right:auto;transform:translateX(-50%);width:370px}
@media(max-width:700px){.control-hud{top:29%;left:6%;right:auto;width:88%;padding:13px 14px}.control-hud .eyebrow{font-size:8px}.control-grid{gap:10px 7px;margin:12px 0 10px}.control-keys kbd{font-size:10px;padding:0 4px;height:20px;min-width:20px}.control-grid>div>span:last-child{font-size:7px;letter-spacing:.3px}.control-hud p{font-size:9px}.control-shortcuts{font-size:7px;margin-top:8px}.menu-copy p{display:none}.bike-caption{top:64%}.control-hud.on-grid{top:auto;bottom:9%;left:6%;width:88%;transform:none}}
@media(max-height:500px) and (min-width:701px){.control-hud{top:6%;width:330px;padding:12px 15px}.control-grid{gap:9px 8px;margin:10px 0}.control-hud.on-grid{bottom:4%;left:auto;right:4%;transform:none}.countdown{left:30%}}
@media(pointer:coarse){.control-touch-help{display:block}.control-shortcuts{display:none}}

@media(max-width:700px){.bike-caption{top:auto;bottom:calc(4% + 162px)}.bike-caption>span,.bike-caption>strong{display:none}}
@media(max-width:700px) and (max-height:620px){.menu-copy .eyebrow{display:none}.menu h1{font-size:36px;margin-top:0}.control-hud:not(.on-grid){top:23%}}
@media(max-width:700px) and (max-height:550px){.control-hud{padding:10px 12px}.control-hud:not(.on-grid){top:20%}.control-grid{gap:8px 6px;margin:9px 0 8px}.control-grid>div{gap:4px}.control-shortcuts,.control-touch-help{margin-top:6px}}
