*{box-sizing:border-box}body{color:#eef5f8;background:#101923;margin:0;font:16px Arial,sans-serif}canvas{width:100vw;height:100dvh;display:block}header,footer,aside,nav,#intro,#error{position:fixed}header{inset:max(24px,env(safe-area-inset-top)) 28px auto;justify-content:space-between;align-items:center;display:flex}small{color:#b7ccd7}h1{margin:7px 0;font-size:clamp(20px,3vw,32px);font-style:italic}em{color:#70e4ec}button{color:#fff;min-width:64px;min-height:48px;font:inherit;cursor:pointer;background:#162532e8;border:1px solid #77919f;border-radius:7px;padding:12px 20px}button:focus-visible{outline-offset:4px;outline:3px solid #75e9f0}button:active{background:#a24922}aside{text-align:right;top:130px;right:30px}aside strong{font-size:54px;display:block}aside span{color:#a6c1d0}#intro{background:#111e2bee;border:1px solid #526878;border-radius:12px;max-width:420px;padding:28px;top:29%;left:8%}h2{margin:15px 0;font-size:clamp(30px,5vw,52px)}p{color:#c1d2dd;line-height:1.6}#start{color:#171d24;background:#f28142;border:0;min-width:200px;font-weight:700}label{padding-top:10px;display:block}input{vertical-align:middle;width:20px;height:20px}footer{color:#bbceda;justify-content:space-between;align-items:center;font-size:13px;display:flex;bottom:24px;left:28px;right:28px}#touch{left:16px;right:16px;bottom:max(80px,env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;display:none}#touch div{gap:10px;display:flex}#touch button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#172c3cdd;min-width:64px;min-height:64px}#error{background:#52251f;padding:24px;inset:40% 10% auto}[hidden]{display:none!important}@media (pointer:coarse){#touch{display:flex}}@media (width<=600px){header{left:16px;right:16px}#intro{padding:20px;top:22%;left:16px;right:16px}footer{bottom:12px;left:16px;right:16px}footer span{max-width:45%}aside{top:100px;right:16px}aside strong{font-size:32px}}@media (height<=500px){#intro{max-width:480px;padding:16px;top:18%}#intro p{margin:6px 0;font-size:13px}h2{margin:8px 0;font-size:28px}}#race-info{font-variant-numeric:tabular-nums;background:#142534dd;border-radius:6px;padding:12px 16px;font-size:18px;position:fixed;top:110px;left:28px}#touch div{flex-wrap:wrap;max-width:48%}@media (width<=600px){#race-info{max-width:70%;font-size:13px;top:92px;left:16px}}header{background:linear-gradient(#101820dd,#10182000);padding:12px 16px;inset:0 0 auto}#intro{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111b25d9;border-color:#ffffff26;max-width:350px;padding:22px;top:auto;bottom:90px;left:28px}#intro h2{font-size:34px}#intro p{font-size:14px}aside{text-shadow:0 2px 8px #000;top:auto;bottom:95px}#race-info{top:90px}@media (width<=600px){#intro{max-width:none;padding:15px;bottom:78px;left:12px;right:12px}#intro h2{margin:5px 0;font-size:26px}#intro p{margin:6px 0;font-size:12px}#intro label{padding-top:6px;font-size:12px}#start{min-height:44px}#intro+footer{font-size:11px}header h1{font-size:21px}}.race-actions{gap:8px;display:flex}.nitro-label{text-shadow:0 1px 3px #000;font-size:12px}#nitro-meter{accent-color:#58dbe6;width:120px;height:14px;margin-top:5px;display:block}@media (width<=600px){.race-actions{gap:4px}.race-actions button{min-width:48px;padding:8px;font-size:12px}#nitro-meter{width:90px}header small{font-size:11px}header h1{font-size:18px}}#intro{max-height:75dvh;overflow:auto}#garage{border-top:1px solid #ffffff26;margin-top:14px;padding-top:8px}#garage p{margin:4px 0}#finish{color:#fff;background:#1c2c39;border:1px solid #78909d;border-radius:5px;width:100%;margin-top:6px;padding:10px;display:block}#unlock-hint{margin-top:6px;font-size:11px;display:block}#settings{margin-top:12px;font-size:13px}#settings summary{cursor:pointer;padding:10px 0}#settings input[type=range]{width:100%;margin-top:10px;display:block}#save-status{font-size:11px}#event{color:#fff;background:#1c2c39;border:1px solid #78909d;border-radius:5px;width:100%;margin-top:6px;padding:10px;display:block}#event-objective{margin:10px 0;font-size:12px;line-height:1.4}#status{max-width:70%}#navigation{pointer-events:none;background:#12222dd9;border:1px solid #748c9844;border-radius:10px;width:180px;padding:6px;position:fixed;bottom:92px;left:24px}#circuit-map{width:166px;height:120px;display:block}#checkpoint-distance{text-align:center;color:#e2edf3;margin:5px 0;font-size:11px;line-height:1.3}#route-warning{color:#fff3e0;text-align:center;background:#652b16ed;border:1px solid #ffaf69;border-radius:6px;max-width:85vw;padding:12px 18px;font-size:15px;position:fixed;top:155px;left:50%;transform:translate(-50%)}@media (width<=600px){#navigation{width:126px;padding:4px;top:145px;bottom:auto;left:12px}#circuit-map{width:116px;height:84px}#checkpoint-distance{font-size:10px}#route-warning{width:85vw;font-size:12px;top:290px}}@media (height<=500px){#navigation{width:126px;top:130px;bottom:auto}#circuit-map{width:116px;height:84px}#route-warning{max-width:45vw;top:95px;left:65%}}#race-menu{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}#race-menu button{flex:1;min-width:110px;padding:9px;font-size:13px}#abandon-note{color:#d4bd9f;font-size:11px;line-height:1.4}#country{color:#fff;background:#1c2c39;border:1px solid #78909d;border-radius:5px;width:100%;margin-top:6px;padding:10px;display:block}#country-standings{color:#eaf2f7;text-shadow:0 1px 4px #000;pointer-events:none;max-width:80%;font-size:12px;position:fixed;top:132px;left:28px}@media (width<=600px){#country-standings{max-width:92%;font-size:10px;top:118px;left:16px}}#challenge-panel{border-block:1px solid #78909d66;margin:14px 0;padding:12px 0;font-size:13px}#challenge-panel strong{color:#eef5f8;font-size:14px}#challenge-panel p{font-variant-numeric:tabular-nums;margin:7px 0}#challenge-panel small{font-size:11px;line-height:1.5;display:block}#copy-challenge{width:100%;margin:5px 0;font-size:13px}#challenge-copy-text{color:#eef5f8;background:#1c2c39;width:100%;min-height:150px;margin:8px 0;padding:10px;font:13px/1.5 Arial,sans-serif}
