:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#f6f8fc;background:#080b11;color-scheme:dark;--accent:#b7fa58}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{color:inherit;background:none;border:0}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%}.vignette{pointer-events:none;position:fixed;inset:0;background:linear-gradient(90deg,#070a10b0,transparent 53%),linear-gradient(0deg,#05080fdd,transparent 30%)}header{position:fixed;z-index:3;top:0;left:0;right:0;padding:27px 3.5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:inherit}.brand b{font-size:27px;letter-spacing:-2px}.brand b span{color:var(--accent)}.brand i{height:23px;width:1px;background:#ffffff40}.brand small{font-size:9px;letter-spacing:3px;color:#c5ccd4}.header-actions{display:flex;gap:18px;align-items:center}.header-actions button{font-size:10px;letter-spacing:1px}#fullscreen{font-size:24px}#garage{position:relative;height:100dvh;min-height:660px;display:flex;align-items:center;justify-content:space-between;padding:90px 3.5% 70px;gap:20px}.hero{align-self:flex-start;padding-top:5vh;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:#bac4d1}.eyebrow span{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px}h1{font-size:clamp(74px,8.5vw,145px);line-height:.83;letter-spacing:-.075em;margin:31px 0 26px;font-weight:900;font-style:italic}h1 em{color:var(--accent);font-style:inherit}h1 sup{font-size:17px;vertical-align:top;letter-spacing:0;margin-left:18px}.intro{color:#bec6d1;font-size:15px;line-height:1.7}.car-label{display:flex;align-items:center;gap:15px;margin-top:32px}.car-label .line{width:28px;height:1px;background:var(--accent)}.car-label b{display:block;font-size:10px;letter-spacing:2px}.car-label small{display:block;font-size:9px;color:#8190a0;letter-spacing:1px;margin-top:8px}.setup{width:425px;flex-shrink:0;padding:25px;background:linear-gradient(145deg,#171e29ed,#090e17f5);border:1px solid #c5ddff20;border-radius:14px;box-shadow:0 25px 70px #0006;backdrop-filter:none}.setup-head{display:flex;justify-content:space-between;align-items:center}.setup-head .eyebrow{font-size:8px;margin:0 0 9px;color:#94a2b2}h2{font-size:25px;letter-spacing:-.7px;margin:0}.live-dot{font-size:7px;letter-spacing:1px;color:var(--accent)}.live-dot:before{content:'●';margin-right:5px}label{font-size:9px;letter-spacing:1.4px;color:#97a6b8}.color-line{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid #ffffff12}.color-line strong{display:block;font-size:11px;margin-top:8px;font-weight:500}#colors{display:flex;gap:8px}#colors button{width:22px;height:22px;border-radius:50%;background:var(--paint);border:3px solid #0f1520;outline:1px solid #ffffff20}#colors button.selected{outline:2px solid white;outline-offset:2px}.route-head{display:flex;justify-content:space-between;margin:21px 0 12px}.route-head span{font-size:8px;color:#707e8f}.route-card{display:flex;align-items:center;height:72px;margin-bottom:8px;background:#ffffff05;border:1px solid #ffffff12;border-radius:6px;overflow:hidden;position:relative}.route-card img{width:88px;height:100%;object-fit:cover}.route-card .route-number{position:absolute;left:7px;top:6px;font-size:9px;background:#080b10c9;padding:3px 5px}.route-info{padding:0 13px;flex:1}.route-info b{font-size:12px;display:block;letter-spacing:.4px}.route-info small{font-size:9px;display:block;color:#91a0b3;margin-top:6px}.route-arrows{display:flex;flex-direction:column;margin-right:10px}.route-arrows button{font-size:12px;color:#b4c2d1;padding:3px 8px}.route-arrows button:disabled{opacity:.15;cursor:default}.options{display:flex;gap:20px;margin:19px 0}.options label{flex:1;font-size:8px}.options select{display:block;background:transparent;border:0;border-bottom:1px solid #ffffff25;width:100%;color:#d6dce5;font-size:11px;padding:8px 0}.options option{background:#101723}.primary{border:0;display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 19px;background:var(--accent);color:#152109;font-size:12px;font-weight:800;letter-spacing:1px;border-radius:5px;text-decoration:none;transition:filter .2s,transform .2s}.primary:hover{filter:brightness(1.09);transform:translateY(-1px)}.primary b{font-size:22px;line-height:10px}.setup-foot{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.8px;color:#748496;margin-top:14px}footer{position:absolute;left:3.5%;right:3.5%;bottom:23px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.8px;color:#b6c0cc}footer i{font-style:normal;color:#637282;margin:0 14px 0 5px}#best{color:#6c7e92}#hud{position:fixed;inset:100px 3.5% 25px;pointer-events:none}.race-top{display:flex;justify-content:space-between}.race-top small{display:block;letter-spacing:3px;font-size:11px;color:var(--accent)}#position{display:block;font-size:65px;font-style:italic;line-height:1.25}#position em{font-size:22px;font-weight:400;color:#95a1b2}.race-data{display:flex;gap:35px;padding-top:4px}.race-data span{font-size:8px;color:#a8b4c3;letter-spacing:2px}.race-data b{display:block;font-size:21px;color:white;letter-spacing:0;margin-top:9px;font-variant-numeric:tabular-nums}.race-data button{pointer-events:auto;align-self:flex-start;border:1px solid #ffffff40;border-radius:50%;height:35px;width:35px}#countdown{position:absolute;inset:25% 0 auto;text-align:center;font-size:120px;font-weight:900;font-style:italic;text-shadow:0 5px 30px #0008}#notice{position:absolute;top:55%;width:100%;text-align:center;color:var(--accent);font-size:17px;letter-spacing:3px;font-weight:800}.map{position:absolute;bottom:25px;left:0}.map canvas{width:205px;height:170px}.map small{display:block;font-size:8px;letter-spacing:2px;color:#c0ccda;text-align:center}.speed{position:absolute;bottom:45px;right:0;text-align:right;width:225px}.speed>span{font-size:85px;font-weight:800;letter-spacing:-6px;font-style:italic;font-variant-numeric:tabular-nums}.speed>small{font-size:10px;color:#b1c0d3;letter-spacing:1px;margin-left:10px}.nitro{height:5px;background:#ffffff25;margin:7px 0 12px;transform:skewX(-20deg);overflow:hidden}.nitro i{display:block;height:100%;width:100%;background:var(--accent);box-shadow:0 0 14px #b7fa58}.speed label{font-size:8px}.race-bottom{position:absolute;bottom:0;text-align:center;width:100%;font-size:8px;letter-spacing:1px;color:#9caabe}.overlay{position:fixed;inset:0;z-index:5;background:#030710b8;backdrop-filter:none;display:flex;align-items:center;justify-content:center;padding:24px}.dialog,.results-dialog{width:460px;background:#111924;border:1px solid #ffffff20;border-radius:14px;padding:32px}.dialog p,.results-dialog>p:not(.eyebrow){color:#a8b6c7;font-size:13px;line-height:1.7}.dialog .primary{margin-top:24px}.secondary{width:100%;padding:18px;font-size:12px;color:#b7c3d4}.results-dialog{width:550px;max-height:94dvh;overflow:auto}.results-dialog h2{font-size:34px}.table-wrap{margin:18px 0;max-height:47dvh;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th{font-size:8px;letter-spacing:1px;color:#7f93aa;padding:12px 8px;position:sticky;top:0;background:#111924}td{padding:9px 8px;border-bottom:1px solid #ffffff09}td:last-child{text-align:right}tr.player{color:var(--accent);background:#b7fa580c}td i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px}.results-dialog .primary{margin-top:12px}#touch{display:none}body.racing .vignette{background:linear-gradient(#05080f70,transparent 30%,transparent 65%,#05080f8f)}
@media(max-width:1000px){.setup{width:380px;padding:20px}.hero{padding-top:6vh}h1{font-size:90px}.brand small{display:none}footer>span:first-child{font-size:7px}}@media(max-height:760px) and (min-width:761px){#garage{min-height:580px;padding-top:75px}.setup{padding:17px 21px}.color-line{padding:17px 0}.route-head{margin-top:15px}.route-card{height:62px}.options{margin:14px 0}.hero{padding-top:4vh}h1{font-size:100px}header{padding-top:20px}.intro{font-size:13px}}
@media(max-width:760px){body:not(.racing){overflow:auto}#garage{height:auto;min-height:100dvh;display:block;padding:92px 20px 65px}.hero{padding:0;height:345px}h1{font-size:86px;margin:25px 0 20px}.hero .intro{font-size:12px}.car-label{display:none}.setup{width:100%;max-width:500px;margin:auto;position:relative;background:#101723ed}header{padding:22px 20px;background:linear-gradient(#080c12bd,transparent)}footer{position:static;font-size:7px;margin-top:20px;justify-content:center}footer>span:first-child{display:none}.vignette{background:linear-gradient(90deg,#05091299,transparent)}#hud{inset:85px 18px 18px}.race-data{gap:16px}.race-data b{font-size:14px}.race-data span{font-size:7px;letter-spacing:1px}#position{font-size:42px}.race-top small{font-size:8px}.map{bottom:140px;left:-20px}.map canvas{width:140px;height:117px}.speed{bottom:145px;width:155px}.speed>span{font-size:57px}.speed>small{font-size:8px}.race-bottom{display:none}#touch{display:flex;position:absolute;bottom:6px;left:0;right:0;justify-content:space-between;pointer-events:auto;gap:12px}#touch>div{display:flex;gap:7px;align-items:flex-end}#touch button{border:1px solid #ffffff40;background:#101c2b99;border-radius:12px;min-width:46px;height:65px;font-size:10px;touch-action:none;user-select:none}#touch button[data-key="ArrowUp"]{background:#b7fa5866}#touch button:active{background:#b7fa58;color:#000}#countdown{font-size:85px}.results-dialog{padding:20px}.header-actions{gap:12px}}
/* Drive Edition */
.car-stats{display:flex;gap:30px;margin-top:27px}.car-stats div{border-left:1px solid #ffffff25;padding-left:12px}.car-stats b{display:block;font-size:19px;font-weight:600;letter-spacing:-.6px}.car-stats span{display:block;font-size:7px;letter-spacing:1.6px;color:#92a2b4;margin-top:7px}#colors{display:grid;grid-template-columns:repeat(6,20px);gap:9px}#colors button{height:20px;width:20px}.setup{box-shadow:0 25px 80px #0008}.route-card:first-child{border-color:#b7fa5860;background:#b7fa5806}.route-card:first-child .route-number{background:var(--accent);color:#132000;font-weight:bold}.route-card img{width:94px}.route-card:hover{border-color:#ffffff45}.color-line{padding:18px 0}.progress-track{height:3px;position:absolute;top:-16px;left:0;right:0;background:#ffffff16;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 10px var(--accent);transition:width .1s linear}#directionWarning{position:absolute;top:29%;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:2px;background:#c25420e0;padding:12px 22px;border-radius:30px;white-space:nowrap}#leaderboard{position:absolute;top:120px;left:0;width:158px;padding:8px 0;border-top:1px solid #ffffff20}#leaderboard div{display:flex;align-items:center;gap:8px;height:26px;font-size:9px;color:#c0cbd8}#leaderboard b{width:15px;font-weight:400;color:#7f90a4}#leaderboard i{width:4px;height:13px;border-radius:2px}#leaderboard span{flex:1;letter-spacing:1px}#leaderboard small{font-size:8px;color:#8d9bae}#leaderboard .you{color:var(--accent)}#leaderboard .you b{color:var(--accent)}.speed{width:240px;padding:15px 18px;background:linear-gradient(145deg,#09142209,#071222bc);border-right:2px solid #b7fa5877;border-radius:7px 0 0 7px}.speed>span{font-size:76px}.gear{position:absolute;left:-46px;top:32px;text-align:center;display:flex;flex-direction:column}.gear b{font-size:29px;line-height:1;font-weight:500}.gear small{font-size:6px;letter-spacing:1px;margin-top:7px;color:#8da0b8}.race-data{background:#08132155;border-radius:8px;padding:12px 15px;backdrop-filter:none}.race-top>div:first-child{padding:8px 0}.map{background:radial-gradient(ellipse,#081321aa,transparent 68%)}
@media(max-height:760px) and (min-width:761px){.hero{padding-top:20px}.car-stats{gap:20px;margin-top:22px}.car-stats b{font-size:15px}.car-label{margin-top:20px}.car-stats span{font-size:6px}}
@media(max-width:760px){.car-stats{display:none}.hero{height:350px}.speed{width:155px;padding:10px 13px}.speed>span{font-size:49px}.speed>small{font-size:7px;margin-left:6px}.gear{left:-30px;top:25px}.gear b{font-size:22px}#leaderboard{top:100px;width:110px}#leaderboard div{font-size:8px;height:22px}#leaderboard small{display:none}.race-data{gap:12px;padding:8px 9px}.race-data span{font-size:6px}#directionWarning{top:40%;font-size:9px}#colors{grid-template-columns:repeat(6,18px);gap:8px}#colors button{width:18px;height:18px}.color-line{gap:12px}}
#difficultyHint{font-size:8px;color:#879bb1;line-height:1.5;margin:-4px 0 13px;min-height:12px}#difficultyHint.hyper{color:#ffad77}.records-link{width:100%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;padding:13px 2px 2px;color:#a3b3c6}.records-link:hover{color:var(--accent)}.records-head{display:flex;align-items:center;justify-content:space-between}.records-head button{font-size:20px;padding:10px}.records-filter{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;margin-top:25px;padding-bottom:12px}.records-filter select{background:#1b2736;border:1px solid #ffffff20;border-radius:6px;font-size:12px;padding:7px;color:white}.records-note{font-size:9px;color:#6d829b}#recordEmpty{padding:25px 15px;background:#ffffff04;border-radius:8px}#recordRows small{color:#8598ad;font-size:9px}#records td:last-child{text-align:left}
@media(max-height:760px) and (min-width:761px){.setup{padding:16px 21px}.route-card{height:58px}.options{margin:12px 0}.route-head{margin-top:12px}.color-line{padding:14px 0}.setup-foot{margin-top:10px}}

.map{background:#081321d9;border:1px solid #bfd2ee38;border-radius:8px;padding:6px;backdrop-filter:none;filter:none}.map canvas{display:block;filter:none;opacity:1;image-rendering:auto}.options{gap:12px}.options select{font-size:10px}.options label{min-width:0}

.neural-link{display:block;text-decoration:none;color:#91d6ff;font-size:9px;padding:9px 0}#itemHUD{position:absolute;right:0;bottom:185px;font-size:10px;padding:10px 14px;border:1px solid #8dd6ff66;border-radius:6px;background:#071321d9;color:#addefa;letter-spacing:1px}@media(max-width:760px){#itemHUD{bottom:272px;font-size:8px;max-width:200px}#touch>div{gap:4px}#touch button{min-width:37px}}

#inventory{position:absolute;right:0;top:95px;display:flex;gap:10px;pointer-events:auto}#inventory button{position:relative;width:106px;height:98px;border:1px solid #8edcf88a;border-radius:12px;background:linear-gradient(145deg,#23394ee8,#071424ed);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:inset 0 0 24px #5ecfff19;touch-action:none}#inventory small{position:absolute;left:8px;top:7px;color:#a8c5df;font-size:9px}#inventory b{font-size:29px;line-height:1;margin-top:12px}#inventory span{font-size:8px;text-transform:uppercase;letter-spacing:.4px}#inventory button:active{border-color:#b7fa58;background:#234631}.rolling{animation:crateRoll .18s linear infinite}#itemReveal{position:absolute;top:38%;left:50%;transform:translateX(-50%);text-align:center;background:#071523eb;border:1px solid #b7fa5899;border-radius:18px;padding:18px 30px;min-width:220px}#itemReveal b{display:block;font-size:54px;color:#b7fa58}#itemReveal span{display:block;font-size:13px;margin-top:9px;color:#eaf7ff;text-transform:uppercase;letter-spacing:2px}#globalFX{position:fixed;inset:0;pointer-events:none;z-index:1}#hud{z-index:2}.nuclear{background:radial-gradient(ellipse at 50% 42%,#d6ff4133,#3d7c3199);box-shadow:inset 0 0 150px #94ff50aa;animation:nuclearCloud 2s ease-in-out infinite alternate}.nuclear:after{content:'';position:absolute;inset:10%;border:30px solid #baff7599;border-radius:50%;animation:nuclearBlast 1.6s ease-out both}.blizzard:before{content:'';position:absolute;inset:-40%;background-image:radial-gradient(ellipse,white 0 1.2px,transparent 3px),repeating-linear-gradient(120deg,transparent 0 65px,#dff6ff33 67px,transparent 69px);background-size:39px 57px,140px 140px;opacity:.8;animation:snowWind .8s linear infinite}.blizzard{background-color:#b9e9ff29}@keyframes snowWind{to{transform:translate(70px,20px)}}@keyframes crateRoll{50%{filter:brightness(1.5)}}@keyframes nuclearCloud{to{box-shadow:inset 0 0 240px #a6ff4dbb;background-color:#75a52322}}@keyframes nuclearBlast{from{transform:scale(.02);opacity:1}to{transform:scale(2.7);opacity:0}}@media(max-width:760px){#inventory{top:72px;gap:7px}#inventory button{width:77px;height:76px}#inventory b{font-size:23px}#inventory span{font-size:7px}#itemReveal{min-width:180px;padding:12px 20px}#itemReveal b{font-size:38px}}

#inventory{top:90px;gap:7px}#inventory button{width:76px;height:72px;border-radius:8px;gap:3px}#inventory b{font-size:23px;margin-top:12px}#inventory span{font-size:7px;max-width:70px}#inventory small{font-size:8px;top:5px;left:6px}#itemReveal{top:90px;right:174px;left:auto;transform:none;min-width:150px;max-width:190px;padding:10px 14px;border-radius:9px}#itemReveal b{font-size:27px}#itemReveal span{font-size:9px;letter-spacing:.7px;margin-top:5px}@media(max-width:760px){#inventory{top:74px;gap:5px}#inventory button{width:61px;height:62px}#inventory b{font-size:20px}#inventory span{font-size:6px;max-width:57px}#itemReveal{top:146px;right:0;min-width:125px;max-width:145px;padding:8px}#itemReveal b{font-size:23px}#itemReveal span{font-size:8px}}

.custom-race{padding:14px 0;border-bottom:1px solid #ffffff20;margin-bottom:12px}.custom-race label{display:block;font-size:10px;color:#c6d3dc;letter-spacing:1px}.custom-race select,.route-info select{display:block;width:100%;background:#101923;color:#eaf6ff;border:1px solid #ffffff25;border-radius:5px;padding:8px;font:inherit;margin:5px 0}.custom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.item-toggle{margin-top:12px}.item-toggle input{accent-color:#b7fa58;vertical-align:middle}.route-info{min-width:0}.route-info select{font-size:11px;max-width:100%;padding:5px 2px}.setup{max-height:none}#garage{height:auto;min-height:100vh}.route-card img{object-fit:cover}
/* Water-like frost on the windscreen: soft moving refraction, without streaks or particles. */
#globalFX.blizzard{background:radial-gradient(ellipse at 48% 86%,#79c9e244 0,transparent 70%),linear-gradient(125deg,#c7f2ff33,#8cc7e111 48%,#d4f4ff30);backdrop-filter:blur(1.6px);overflow:hidden}
#globalFX.blizzard:before,#globalFX.blizzard:after{content:'';position:absolute;inset:-28%;border:0;border-radius:42% 58% 53% 47%/60% 41% 59% 40%;background:radial-gradient(ellipse at 24% 35%,#eefcff99 0,transparent 36%),radial-gradient(ellipse at 78% 67%,#6bb9d177 0,transparent 39%),radial-gradient(ellipse at 50% 83%,#d8faff66 0,transparent 34%);background-size:auto;opacity:.63;filter:blur(24px);animation:waterFlow 3.2s ease-in-out infinite alternate}
#globalFX.blizzard:after{inset:-35%;opacity:.42;filter:blur(38px);animation-duration:4.6s;animation-direction:alternate-reverse}
@keyframes waterFlow{from{transform:translate3d(-4%,-2%,0) rotate(-5deg) scale(1.02)}to{transform:translate3d(4%,3%,0) rotate(6deg) scale(1.11)}}
