:root{color-scheme:dark;--lime:#dfff00;--white:#f3f6f4;--muted:#a2acbb}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#080c18;font-family:Arial,Helvetica,sans-serif;color:var(--white)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible+span{outline:3px solid white;outline-offset:5px}button{touch-action:none}button:hover{filter:brightness(1.17)}[hidden]{display:none!important}#game{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden}canvas{position:absolute;inset:0;width:100%;height:100%}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,7,15,.75),transparent 70%),linear-gradient(0deg,#03061188,transparent 28%)}body.playing .vignette{background:radial-gradient(ellipse,transparent 45%,#03061177)}header{position:absolute;top:0;left:0;right:0;padding:30px 4%;display:flex;align-items:center;justify-content:space-between;z-index:5}.brand{text-decoration:none;color:white;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;font-size:16px;font-weight:900;letter-spacing:2px}.brandmark{color:var(--lime);grid-row:span 2;font-size:31px;letter-spacing:-7px;padding-right:10px;font-style:italic}.brand-sub{font-size:9px;letter-spacing:3px;color:#a2acbb;margin-top:4px}.top-actions{display:flex;gap:10px}.top-actions button{height:38px;min-width:40px;border:1px solid #ffffff35;background:#10172585;font-size:12px;font-weight:bold;letter-spacing:1px;padding:0 12px;border-radius:4px}#fullscreen,#pause{font-size:22px}.menu{position:absolute;left:8%;top:50%;transform:translateY(-48%);max-width:630px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:bold;color:var(--lime);display:flex;align-items:center;gap:10px}.eyebrow span{height:6px;width:6px;background:var(--lime)}h1{font-size:clamp(60px,7.7vw,112px);line-height:.89;letter-spacing:-5px;font-weight:950;margin:26px 0 22px;font-style:italic;position:relative}h1 em{color:var(--lime);font-style:inherit}.title-line{display:inline-block;height:6px;width:55px;background:var(--lime);transform:skew(-20deg);vertical-align:middle;margin:0 0 10px 18px}.intro{color:#c7ced7;font-size:16px;line-height:1.6}.difficulty{border:0;padding:0;margin:28px 0 18px;display:flex;gap:8px}.difficulty legend{font-size:11px;letter-spacing:2px;color:var(--muted);margin-bottom:12px}.difficulty label{flex:1;cursor:pointer}.difficulty input{position:absolute;opacity:0}.difficulty span{display:block;border:1px solid #ffffff33;background:#10172899;padding:14px 16px;font-size:13px;font-weight:800;letter-spacing:1px;border-radius:3px;min-width:126px}.difficulty small{display:block;font-weight:normal;color:#9ca8b8;font-size:11px;letter-spacing:0;margin-top:6px}.difficulty input:checked+span{border-color:var(--lime);background:#dfff0012;color:var(--lime)}.primary{border:0;background:var(--lime);color:#111800;font-size:14px;font-weight:900;letter-spacing:2px;padding:20px 24px;width:100%;text-align:left;border-radius:3px;display:flex;justify-content:space-between;align-items:center;min-height:58px}.primary span{font-size:25px;line-height:16px}.best{font-size:10px;letter-spacing:2px;color:#9ca8b8;margin:16px 0 26px}.best strong{margin-left:12px;font:14px monospace;color:white}.instructions{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;align-items:center;color:#a6b0bd;letter-spacing:1px}kbd{border:1px solid #77818d;padding:3px 5px;border-radius:3px;font-size:10px;margin-right:4px;color:white}.touch-note{width:100%;font-size:11px;letter-spacing:0}.world-caption{position:absolute;right:4%;bottom:15%;text-align:right;display:flex;flex-direction:column;gap:10px}.world-caption span{font-size:10px;letter-spacing:2px;color:#aeb9c8}.world-caption strong{font-size:15px;letter-spacing:2px}footer{position:absolute;bottom:24px;left:4%;right:4%;display:flex;justify-content:space-between;color:#6c7a8b;font-size:10px;letter-spacing:2px}.hud-top{position:absolute;top:105px;left:4%;right:4%;display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.hud-top label{display:block;font-size:11px;color:#acb8c8;letter-spacing:2px;margin-bottom:8px}.hud-top strong{font:900 32px monospace;letter-spacing:1px}.progress-box{width:36%;max-width:430px}.progress-box>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#b9c3cf}.progress{height:3px;background:#ffffff30;margin-top:10px}.progress i{display:block;height:100%;background:var(--lime);width:0}.integrity{text-align:right}.integrity strong{color:var(--lime);font-size:26px}.speedometer{position:absolute;right:5%;bottom:155px;text-align:right}.speedometer>span{font-size:12px;color:var(--lime);letter-spacing:2px}.speedometer>div{display:flex;gap:10px;align-items:baseline}.speedometer strong{font-size:80px;line-height:1;font-style:italic;letter-spacing:-5px;font-variant-numeric:tabular-nums}.speedometer small{font-size:11px;color:#98a8bc}.rev{height:5px!important;background:#ffffff24;margin-top:15px;width:180px;margin-left:auto;transform:skew(-20deg)}.rev i{display:block;background:var(--lime);height:100%}.boost-meter{position:absolute;left:5%;bottom:166px;width:220px}.boost-meter>div:first-child{display:flex;align-items:center;justify-content:space-between}.boost-meter strong{font-size:24px;font-style:italic}.boost-meter span{font-size:10px;letter-spacing:1px;color:var(--lime)}.boost-track{height:8px;background:#ffffff20;margin:10px 0;transform:skew(-20deg)}.boost-track i{display:block;width:100%;height:100%;background:var(--lime);box-shadow:0 0 16px #dfff0050}.boost-meter small{font-size:9px;letter-spacing:2px;color:#a4b0c0}#controls{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:4%;right:4%;display:flex;justify-content:space-between;pointer-events:none}.steering,.pedals{display:flex;gap:12px;pointer-events:auto}#controls button{height:72px;width:78px;border-radius:9px;border:1px solid #ffffff40;background:#10182eb0;font-size:27px;user-select:none;-webkit-user-select:none}#controls button.active{border-color:var(--lime);background:#dfff0035}#controls .brake{font-size:11px;letter-spacing:1px}#controls .nitro{color:#101600;background:var(--lime);border-color:var(--lime);width:100px;font-weight:900;font-style:italic}#controls .nitro small{display:block;font-size:10px;letter-spacing:2px;font-style:normal}#announcement{position:absolute;left:50%;top:27%;transform:translateX(-50%);font-size:clamp(20px,3vw,38px);font-weight:900;font-style:italic;color:var(--lime);text-align:center;letter-spacing:1px;text-shadow:0 3px 20px #000;white-space:nowrap}.overlay{position:absolute;inset:0;background:#040911c9;backdrop-filter:blur(12px);z-index:10;display:grid;place-items:center;padding:24px}.panel{width:100%;max-width:450px}.panel h2{font-size:58px;font-style:italic;letter-spacing:-3px;line-height:.95;margin:22px 0}.panel p{color:#a9b5c7;line-height:1.6;margin-bottom:28px}.secondary{border:1px solid #ffffff33;background:transparent;display:block;width:100%;padding:17px;margin-top:12px;letter-spacing:2px;font-size:12px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.stats label{display:block;font-size:10px;letter-spacing:2px;color:#8e9aaf;margin-bottom:7px}.stats strong{font:26px monospace}.boosting .speedometer strong{color:var(--lime)}
@media(max-width:700px){header{padding:20px 6%}.brand{font-size:12px}.brand-sub{font-size:8px}.top-actions{gap:6px}.top-actions button{padding:0 8px;font-size:10px}.menu{left:7%;right:7%;max-width:none;transform:translateY(-46%)}h1{font-size:clamp(56px,13vw,86px);letter-spacing:-3px;margin:22px 0 18px}.title-line{display:none}.intro{font-size:14px}.difficulty{margin-top:22px}.difficulty span{min-width:0;padding:12px 10px;font-size:12px;letter-spacing:.5px}.difficulty small{font-size:10px}.eyebrow{font-size:10px;letter-spacing:2px}.instructions{gap:12px}.world-caption{display:none}footer{font-size:8px;letter-spacing:1px;bottom:18px}.hud-top{top:91px;gap:15px}.hud-top strong{font-size:24px}.hud-top label{font-size:9px}.progress-box{position:absolute;top:73px;width:100%;max-width:none}.progress-box>div:first-child{font-size:10px}.integrity strong{font-size:22px}.speedometer{bottom:143px;right:6%}.speedometer strong{font-size:57px;letter-spacing:-3px}.rev{width:118px}.boost-meter{left:6%;width:145px;bottom:149px}.boost-meter strong{font-size:21px}.boost-meter span{font-size:8px}.boost-meter small{font-size:8px;letter-spacing:1px}#controls{bottom:max(26px,env(safe-area-inset-bottom));left:5%;right:5%}#controls button{width:60px;height:70px}#controls .nitro{width:72px}.steering,.pedals{gap:8px}#announcement{top:32%}.vignette{background:linear-gradient(90deg,#030710b3,transparent),linear-gradient(0deg,#03071066,transparent 45%)}.panel h2{font-size:49px}}
@media(max-height:660px){.menu{transform:translateY(-43%)}h1{font-size:57px;margin:15px 0}.intro{display:none}.difficulty{margin-top:18px}.best{margin:12px 0 16px}.instructions{gap:10px}.primary{padding:16px 20px;min-height:50px}footer{display:none}}@media(max-height:470px) and (min-width:650px){header{padding:15px 4%}.menu{top:54%;max-width:450px;left:6%}h1{font-size:54px;float:left;margin-right:25px}.eyebrow,.intro,.instructions,.best{display:none}.difficulty{padding-top:10px;display:flex;margin-top:10px;max-width:440px;clear:both}.difficulty legend{display:none}.difficulty span{padding:10px}.difficulty small{display:none}.primary{padding:13px;min-height:42px}.hud-top{top:68px}.speedometer{bottom:120px}.boost-meter{bottom:122px}#controls{bottom:18px}#controls button{height:64px}.panel h2{font-size:38px}.panel p{margin:12px 0}.stats{margin:14px 0}.world-caption{bottom:20%}}
/* Endurance garage */
.menu{inset:98px 5% 45px;top:98px;left:5%;right:5%;bottom:45px;max-width:none;transform:none;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;column-gap:5%;align-content:start;overflow:auto;padding:10px 10px 25px;scrollbar-width:thin}
.menu-copy{grid-column:1;grid-row:1}h1{font-size:clamp(55px,6.3vw,92px);margin:22px 0 12px}.intro{font-size:14px;margin:12px 0 20px}.garage{grid-column:1;grid-row:2}.showroom{position:relative;grid-column:2;grid-row:1/3;min-height:440px;align-self:stretch;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#83b9df10,transparent 67%)}#showcar{position:absolute;width:100%;height:70%;top:2%;left:0}.car-caption{position:absolute;left:5%;right:5%;bottom:8%;text-align:center}.car-caption>span{font-size:12px;letter-spacing:4px;color:var(--lime)}.car-caption h2{font-style:italic;font-size:clamp(27px,3vw,48px);letter-spacing:-1px;margin:12px 0 25px}.car-specs{display:flex;justify-content:center;gap:28px}.car-specs strong{font-size:22px;display:block;font-style:italic}.car-specs small{display:block;font-size:10px;letter-spacing:1px;color:#a1b0c3;margin-top:8px}.car-picker{padding:0;margin:0 0 20px;border:0;display:flex;gap:7px}.car-picker legend{font-size:12px;letter-spacing:2px;color:#afbdd0;margin-bottom:10px}.car-picker label{flex:1;min-width:0;cursor:pointer}.car-picker input{position:absolute;opacity:0}.car-picker span{display:block;border:1px solid #ffffff30;background:#0b1426bc;border-radius:4px;padding:12px 8px;font-size:12px;font-weight:800;white-space:nowrap}.car-picker i{height:4px;width:25px;background:var(--paint);display:block;transform:skew(-20deg);margin-bottom:12px}.car-picker small{display:block;color:#a7b6c9;font-size:11px;font-weight:400;margin-top:7px}.car-picker input:checked+span{border-color:var(--lime);background:#dfff0010}.difficulty{margin:16px 0}.difficulty legend{font-size:12px}.difficulty span{min-width:0;padding:10px 12px}.sound-settings{display:flex;align-items:center;gap:12px;font-size:11px;color:#a9b6c8;margin:20px 0}.sound-settings label{letter-spacing:1px;flex:1}.sound-settings input{width:100px;accent-color:var(--lime)}.sound-settings output{width:30px;text-align:right}.race-note{font-size:12px;line-height:1.6;color:#b0bfd1;margin:12px 0}.best{margin:12px 0 20px}.world-caption{display:none}.instructions{font-size:10px;gap:14px}.touch-note{font-size:12px}.hud-top strong{font-size:28px}.integrity strong{letter-spacing:0;font-size:20px}#race-status{position:absolute;left:4%;right:4%;top:184px;display:flex;justify-content:space-between;font:12px monospace;color:#d5e1ee;letter-spacing:1px}#position{color:var(--lime)}.overlay{overflow-y:auto}.top-actions input{accent-color:var(--lime)}
@media(max-width:850px){.menu{grid-template-columns:1fr;grid-template-rows:auto 215px auto;inset:82px 5% 15px;display:grid;gap:0;transform:none;padding:0 5px 30px}.menu-copy{grid-row:1;grid-column:1}.menu-copy h1{font-size:48px;line-height:.9;letter-spacing:-2px;margin:13px 0 8px;float:none}.menu-copy .eyebrow{font-size:10px}.intro{display:none}.showroom{grid-column:1;grid-row:2;min-height:215px}.showroom #showcar{top:-17%;height:87%;width:100%}.car-caption{bottom:5%;left:0;right:0}.car-caption>span{font-size:9px;letter-spacing:2px}.car-caption h2{font-size:22px;margin:6px 0 9px}.car-specs{gap:24px}.car-specs strong{font-size:17px}.car-specs small{font-size:8px;margin-top:3px}.garage{grid-row:3;grid-column:1}.car-picker{margin:10px 0 15px}.car-picker legend{font-size:11px}.car-picker span{font-size:10px;padding:9px 6px}.car-picker small{font-size:10px}.car-picker i{margin-bottom:8px}.difficulty{margin:14px 0}.difficulty small{font-size:10px}.sound-settings{margin:14px 0}.race-note{font-size:11px}.best{margin:10px 0 17px}footer{display:none}#race-status{top:205px}.hud-top strong{font-size:23px}.integrity strong{font-size:17px}.progress-box{top:73px}.car-picker input:focus-visible+span{outline:2px solid white;outline-offset:3px}}
@media(max-height:520px) and (min-width:650px){.menu{inset:65px 4% 0;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:25px}.menu-copy{grid-row:1;grid-column:1}.menu-copy h1{font-size:38px}.menu-copy .eyebrow{display:none}.showroom{grid-column:2;grid-row:1/3;min-height:320px;position:sticky;top:0;align-self:start}.showroom #showcar{height:75%;top:0}.car-caption{bottom:8%}.garage{grid-row:2;grid-column:1}.car-picker{margin:15px 0}.difficulty{clear:none}.difficulty legend{display:block}.difficulty span{font-size:11px}.sound-settings{margin:12px 0}.instructions{display:flex}.best{display:block}#race-status{top:133px}}
/* 3D Grand Tour */
:root{--lime:#edff63}.vignette{background:linear-gradient(90deg,#061020e8,transparent 70%),linear-gradient(0deg,#03071388,transparent 25%)}body.playing .vignette{background:linear-gradient(0deg,#050b194d,transparent 22%),linear-gradient(180deg,#040b1bd9,transparent 28%)}.showroom{background:none;min-height:470px}#showcar{height:77%;top:-1%;}.car-caption{bottom:3%}.menu-copy h1{font-size:clamp(54px,6vw,88px)}.intro{font-size:15px}#loading-status{font:11px monospace;letter-spacing:1px;color:var(--lime);margin:15px 0 12px}.primary:disabled{opacity:.48;cursor:wait}.credits{font-size:11px;color:#9eacc0;line-height:1.6;margin-top:20px;max-width:420px}.credits a{color:#c0d7ee}#share-status{position:absolute;top:77px;right:4%;font-size:12px;background:#101b2bee;border-radius:6px;margin:0;z-index:15}#share-status:not(:empty){padding:12px}#share-dialog{border:1px solid #6b809c;background:#101a2c;color:white;border-radius:12px;width:min(460px,90vw);padding:25px}#share-dialog::backdrop{background:#030914b3}#share-dialog h2{font-size:22px}#share-dialog p{color:#b3c1d5;line-height:1.5}#share-url{width:100%;font:14px monospace;padding:14px;border:1px solid #63748e;background:#08101f;color:white;border-radius:4px}#share-close{width:100%;border:0;background:var(--lime);color:#152000;padding:14px;margin-top:18px;border-radius:4px;font-weight:bold}#camera{font-size:10px!important}body.playing .speedometer{right:4%;bottom:155px}body.playing .boost-meter{left:4%;bottom:155px}#announcement{font-size:clamp(17px,2.5vw,32px);max-width:90%;white-space:normal}.showroom canvas{touch-action:pan-y}
@media(max-width:850px){header{padding:17px 4%}.brand{font-size:10px;column-gap:5px;letter-spacing:1px}.brandmark{font-size:26px}.brand-sub{font-size:7px;letter-spacing:1px}.top-actions{gap:4px}.top-actions button{font-size:9px;padding:0 7px;height:35px;min-width:30px}#fullscreen{display:none}.menu{top:76px;grid-template-rows:auto 245px auto}.menu-copy h1{font-size:47px}.showroom{min-height:245px}.showroom #showcar{top:-4%;height:81%}.car-caption{bottom:0}.car-caption h2{font-size:22px}.credits{font-size:10px}.car-picker span{font-size:12px}.hud-top{top:86px}.speedometer strong{font-size:48px}.speedometer>span{font-size:10px}.boost-meter{width:130px}.boost-meter strong{font-size:19px}.hud-top label{font-size:10px}.hud-top strong{font-size:22px}#race-status{top:197px;font-size:11px}#share-status{top:62px;left:4%;right:4%;text-align:center}}
@media(max-height:520px) and (min-width:650px){.menu{top:62px;grid-template-rows:auto 1fr}.showroom{min-height:310px}.showroom #showcar{height:76%;top:0}.menu-copy h1{font-size:39px}.car-caption{bottom:0}#race-status{top:124px}.hud-top{top:65px}.hud-top strong{font-size:22px}.boost-meter,.speedometer{bottom:108px!important}#controls button{height:60px}.progress-box{top:45px;width:45%;left:28%}.hud-top .progress-box label{display:none}#announcement{top:35%}}

.showroom canvas{pointer-events:auto;cursor:grab}.showroom canvas:active{cursor:grabbing}

.legal-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;font-size:14px}.legal-links a{color:#b7c6da;text-underline-offset:4px}.legal-links a:hover{color:#dfff00}#reward{border-color:#dfff00;color:#dfff00;margin-bottom:12px}#reward small{display:block;font-size:14px;margin-top:6px;font-weight:400}button:disabled{cursor:default;opacity:.5}

.install-button{font-size:14px;letter-spacing:1px;min-height:48px;color:var(--lime);border-color:#a5b64980}.maker{font-size:12px;letter-spacing:2px;color:#dbe4f1;margin:15px 0 8px}#install-dialog{border:1px solid #6b809c;background:#101a2c;color:white;border-radius:12px;width:min(460px,90vw);max-height:85dvh;overflow:auto;padding:25px}#install-dialog::backdrop{background:#030914cf}#install-dialog h2{font-size:24px;line-height:1.2}#install-dialog p{font-size:16px;color:#c3cfe0;line-height:1.6}#install-close{width:100%;border:0;background:var(--lime);color:#152000;padding:14px;margin-top:12px;border-radius:4px;font-weight:bold;font-size:16px}header{padding-top:max(17px,env(safe-area-inset-top))}@media(display-mode:standalone){#install-app{display:none}.menu{padding-bottom:max(30px,env(safe-area-inset-bottom))}}
