:root{font-family:Arial,Helvetica,sans-serif;color:#fff0d7;background:#233846;font-synthesis:none;--ink:#213946;--cream:#fff0d7;--orange:#ffb56d;--teal:#9ed6c5}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{user-select:none;-webkit-user-select:none;touch-action:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #fff6bd;outline-offset:4px}button:active{transform:scale(.96)!important}#game{position:absolute;inset:0;outline:none}canvas{display:block}#hud{pointer-events:none;position:absolute;inset:0;padding:30px}#hud button{pointer-events:auto}button{transition:transform .15s,background .2s}button:hover{filter:brightness(1.08)}.brand{position:absolute;left:max(30px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top));text-shadow:0 2px 12px #26354750;line-height:.98;letter-spacing:2px}.brand>span{font-size:11px;font-weight:900}.brand>b{display:block;font-size:30px;font-weight:950;font-style:italic;letter-spacing:4px}.brand-mark{font-size:28px;margin-left:10px;color:#ffbf7b}.run-info{position:absolute;left:50%;top:max(25px,env(safe-area-inset-top));transform:translate(-50%);text-align:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;display:flex;justify-content:space-between;gap:15px}.distance{font-size:56px;line-height:1.05;font-style:italic;font-weight:900;letter-spacing:-3px;white-space:nowrap}.distance small{font-size:20px;font-style:normal;letter-spacing:0;margin-left:6px}#best-label{font-size:9px;letter-spacing:1.6px;opacity:.75}.top-actions{position:absolute;right:max(28px,env(safe-area-inset-right));top:max(26px,env(safe-area-inset-top));display:flex;align-items:center;gap:8px}.wallet{font-size:14px;margin-right:12px;color:#ffd498}.wallet b{color:var(--cream);margin-left:4px}.icon-button{width:40px;height:40px;border:1px solid #fff1db36;border-radius:12px;background:#2036453b;backdrop-filter:blur(10px);font-weight:900;font-size:18px}.route-strip{position:absolute;left:32px;top:119px;width:188px;font-weight:700;font-size:8px;letter-spacing:1.3px;opacity:.85}.route-line{height:2px;background:#fbeaca35;margin:10px 0}.route-line i{display:block;width:0;height:2px;background:#ffda94}.route-line>span{position:absolute;top:5px;left:0;color:#ffda94;font-size:11px}.route-strip>div:last-child{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px}.fuel-box{position:absolute;left:32px;bottom:max(33px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px}.fuel-icon{transform:rotate(-90deg);font-size:25px;color:#a4dbc4}.fuel-box>div{width:145px}.meter{height:5px;border-radius:4px;background:#e8f6df26;margin-top:9px;overflow:hidden}.meter>i{display:block;height:100%;width:100%;background:#a4dbc4;border-radius:4px;transition:width .15s}.boost-box{position:absolute;right:33px;bottom:max(36px,env(safe-area-inset-bottom));width:182px}.boost-box .meter>i{width:0;background:#ffc778}.drive-hint{position:absolute;bottom:41px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;opacity:.85;transition:opacity 1s}.keycap{border:1px solid #fff0d77a;border-bottom:3px solid #fff0d77a;border-radius:7px;width:30px;height:34px;text-align:center;line-height:29px;font-size:20px}.drive-hint b{display:block;font-size:11px;letter-spacing:2px}.drive-hint span{display:block;font-size:8px;letter-spacing:1px;margin-top:5px}.pedal{position:absolute;right:35px;bottom:100px;width:80px;height:80px;border:1px solid #fff2d952;border-radius:50%;background:#20384628;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .12s,transform .12s;box-shadow:inset 0 0 0 6px #fff2da08}.pedal span{font-size:32px;line-height:34px}.pedal small{font-size:8px;letter-spacing:2px}.pedal.active{background:#ffc278bd;color:#213b49;transform:scale(.94);box-shadow:0 0 40px #ffb56740,inset 0 0 0 5px #fff2da20}.speed{position:absolute;left:34px;bottom:98px;display:flex;align-items:baseline;gap:6px}.speed b{font-size:22px;font-weight:900;font-style:italic}.speed span{font-size:8px;letter-spacing:1px;opacity:.65}#toast{position:absolute;top:28%;left:50%;transform:translate(-50%);font-size:30px;font-style:italic;font-weight:900;text-shadow:0 3px 0 #1f3445,0 0 30px #ffca7145;letter-spacing:1px;white-space:nowrap;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}.launch-mode .run-info,.launch-mode .route-strip,.launch-mode .drive-hint,.launch-mode .boost-box,.launch-mode .speed,.launch-mode .fuel-box,.launch-mode .pedal,.launch-mode #pause{opacity:0}#launch{position:absolute;left:8%;top:25%;max-width:440px;text-shadow:0 2px 18px #293a5035;animation:enter .65s both}.launch-kicker{font-size:10px;letter-spacing:3px;font-weight:800;color:#ffe2a7}h1{font-size:clamp(38px,5.3vw,76px);font-weight:950;font-style:italic;letter-spacing:-3px;line-height:.94;margin:17px 0 16px}h1 em{color:#ffd395}#launch p{font-size:12px;letter-spacing:.4px;margin:0 0 25px;opacity:.85}.primary{border:0;background:var(--orange);color:#213a46;padding:18px 24px;border-radius:6px;min-height:52px;font-size:12px;font-weight:900;letter-spacing:2px;box-shadow:0 5px #a95f48,0 14px 35px #23364620;display:flex;align-items:center;justify-content:space-between;gap:35px}.primary>span{font-size:20px}.launch-links{display:flex;gap:24px;margin-top:27px}.launch-links button{font-weight:800;font-size:10px;letter-spacing:1.2px;background:none;border:0;padding:4px 0}.launch-links span{margin-left:8px;color:#ffd395}.launch-footer{font-size:8px;letter-spacing:1.8px;opacity:.5;margin-top:25px}.hidden{display:none!important}#modal{position:absolute;inset:0;background:#122a37b8;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;animation:fade .2s}.panel{width:min(530px,100%);padding:35px 38px;background:linear-gradient(135deg,#304b58,#203742);border:1px solid #c2d6ca30;border-radius:15px;box-shadow:0 22px 80px #10232c80;animation:enter .3s both}.panel .eyebrow{color:#aac7bf}.panel h2{font-size:42px;font-weight:950;font-style:italic;letter-spacing:-1.8px;margin:13px 0 10px;line-height:.98}.panel .sub{font-size:12px;line-height:1.6;color:#b8cbc7;margin:13px 0 22px}.result-distance{font-weight:950;font-style:italic;font-size:78px;line-height:1.1;letter-spacing:-4px}.result-distance small{font-size:20px;margin-left:7px;letter-spacing:0}.result-stats{display:flex;gap:25px;border-top:1px solid #b5d1c025;border-bottom:1px solid #b5d1c025;padding:19px 0;margin:14px 0 20px}.result-stats>div{flex:1}.result-stats b{display:block;font-size:22px;color:#ffd395}.result-stats span{font-size:8px;color:#b3cbc4;letter-spacing:1.5px}.panel .primary{width:100%;margin-top:20px}.secondary{width:100%;border:1px solid #acc9bb45;background:#ffffff05;padding:15px 18px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:1.5px;margin-top:12px}.mission{background:#aacbbd0b;border-radius:6px;padding:13px 15px;margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#c6d6cd}.mission b{color:#ffd395;font-size:10px;white-space:nowrap}.badge{display:inline-block;color:#ffe0a8;background:#ffcb6c14;padding:6px 8px;border:1px solid #ffce7940;border-radius:3px;font-size:9px;font-weight:800;letter-spacing:1.5px;margin-bottom:10px}.garage-panel{width:min(820px,100%);padding:28px}.garage-header{display:flex;justify-content:space-between;align-items:center}.garage-header h2{font-size:34px;margin:8px 0 10px}.close{background:#fff0db0b;border:1px solid #fff0db25;border-radius:50%;width:34px;height:34px;font-size:19px}.vehicle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.vehicle{padding:12px 5px;border:1px solid #c2d2c420;background:#a4c4b909;border-radius:8px;position:relative;min-width:0}.vehicle.selected{border-color:#ffce8c;background:#ffce8c14}.vehicle img{width:100%;height:62px;object-fit:contain;pointer-events:none}.vehicle strong{font-size:11px;display:block;margin-bottom:6px}.vehicle small{font-size:8px;display:block;color:#b6ccc3}.vehicle .cost{margin-top:8px;font-size:10px;color:#ffd395}.upgrades{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.upgrade{background:#192f3b66;border:1px solid #a9cabc20;border-radius:8px;padding:12px;text-align:left}.upgrade b{font-size:11px;display:block;margin:5px 0 8px}.upgrade small{font-size:9px;color:#b5d2c6}.upgrade span{display:block;color:#ffd395;font-size:10px;margin-top:10px}.upgrade-bars{display:flex;gap:3px;margin-top:9px}.upgrade-bars i{height:4px;flex:1;background:#adc7b629;border-radius:1px}.upgrade-bars i.on{background:#9ad9c1}.garage-footer{display:flex;gap:15px;align-items:center;margin-top:19px}.garage-footer .primary{margin:0;flex:1}.daily-note{font-size:10px;color:#bdd2c5;max-width:200px;line-height:1.5}#loading{position:absolute;inset:0;background:#203846;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;letter-spacing:3px;transition:opacity .25s;pointer-events:none}.muted{opacity:.5}.danger{background:#ff8a69!important}.announce{animation:enter .4s both}.paused-label{font-size:10px;letter-spacing:2px;color:#a8d5c1}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(max-height:550px)and (min-width:650px){.brand{top:16px;left:22px}.brand>b{font-size:24px}.brand>span{font-size:8px}.run-info{top:14px}.distance{font-size:38px}.eyebrow{font-size:8px}.top-actions{top:14px;right:20px}.route-strip{top:85px;left:22px;width:145px}.fuel-box{bottom:20px;left:22px}.boost-box{bottom:22px;right:22px;width:150px}.speed{bottom:65px;left:22px}.pedal{width:58px;height:58px;bottom:64px;right:22px}.pedal span{font-size:24px;line-height:25px}.drive-hint{bottom:22px}.drive-hint b{font-size:9px}.drive-hint span{font-size:7px}#launch{top:23%;left:8%}h1{font-size:43px;letter-spacing:-1.8px;margin:10px 0}.launch-kicker{font-size:8px}#launch p{font-size:10px;margin-bottom:15px}#ride{padding:11px 20px;min-height:40px}.launch-links{margin-top:20px}.launch-footer{display:none}.panel{padding:22px 28px;max-width:560px}.panel h2{font-size:30px}.result-distance{font-size:45px}.result-stats{padding:12px 0;margin:9px 0}.panel .primary{margin-top:12px;padding:12px 20px;min-height:42px}.panel .secondary{padding:12px}.mission{padding:9px 12px;margin-top:8px}.panel .sub{margin:10px 0}.garage-panel{width:min(820px,100%);padding:15px 24px}.garage-header h2{font-size:24px}.garage-header .sub{display:none}.vehicle-grid{margin:8px 0;gap:5px}.vehicle{padding:5px}.vehicle img{height:35px}.vehicle strong{font-size:9px;margin-bottom:2px}.vehicle small{font-size:7px}.vehicle .cost{margin-top:3px;font-size:8px}.upgrades{gap:6px}.upgrade{padding:7px}.upgrade b{font-size:10px;margin:0 0 4px}.upgrade span,.upgrade-bars{margin-top:4px}.garage-footer{margin-top:10px}.daily-note{font-size:9px}.garage-footer .primary{margin-top:0}}@media(max-width:649px){.brand{left:20px;top:max(24px,env(safe-area-inset-top))}.brand>span{font-size:8px;letter-spacing:1.7px}.brand>b{font-size:23px;letter-spacing:2px}.brand-mark{font-size:21px;margin-left:4px}.top-actions{top:max(23px,env(safe-area-inset-top));right:18px;gap:5px}.icon-button{width:35px;height:35px;border-radius:10px;font-size:16px}.wallet{font-size:11px;margin-right:4px}.run-info{top:108px}.distance{font-size:54px}.run-info .eyebrow{font-size:8px;white-space:nowrap}.route-strip{left:24px;top:206px;width:calc(100% - 48px)}.route-strip>div:last-child{font-size:7px}.fuel-box{bottom:max(29px,env(safe-area-inset-bottom));left:22px;gap:7px}.fuel-box>div{width:122px}.fuel-icon{font-size:21px}.boost-box{bottom:max(32px,env(safe-area-inset-bottom));right:22px;width:130px}.eyebrow{font-size:8px;letter-spacing:1px}.drive-hint{bottom:110px;left:25px;transform:none;max-width:180px;gap:9px}.drive-hint b{font-size:9px;letter-spacing:1.2px}.drive-hint span{font-size:7px;letter-spacing:.4px}.keycap{width:26px;height:31px}.pedal{bottom:96px;right:26px;width:76px;height:76px}.speed{bottom:173px;left:26px}.speed b{font-size:22px}#launch{top:24%;left:8%;width:84%}h1{font-size:53px;letter-spacing:-2.5px;margin:18px 0}#launch p{font-size:11px;margin-bottom:22px}.launch-kicker{font-size:8px;letter-spacing:2px}#ride{min-height:50px;width:225px}.launch-links{gap:25px;margin-top:26px}.launch-footer{font-size:7px;letter-spacing:1px;margin-top:20px}#toast{font-size:25px;top:31%}.panel{padding:29px 24px}.panel h2{font-size:35px}.result-distance{font-size:64px}.result-stats{gap:15px}.result-stats b{font-size:21px}.result-stats span{font-size:7px}.garage-panel{padding:20px 15px}.garage-header h2{font-size:28px}.garage-header .sub{font-size:10px}.vehicle-grid{grid-template-columns:repeat(4,1fr);gap:5px}.vehicle{padding:7px 2px}.vehicle img{height:39px}.vehicle strong{font-size:8px}.vehicle small{font-size:6px;letter-spacing:0}.vehicle .cost{font-size:8px}.upgrades{grid-template-columns:repeat(2,1fr);gap:7px}.upgrade{padding:10px}.garage-footer{display:block}.daily-note{max-width:none;margin-top:15px}.garage-footer .primary{width:100%}}@media(max-width:649px){.vehicle strong{font-size:10px;letter-spacing:-.25px}.vehicle small{display:none}.vehicle .cost{font-size:10px}.vehicle img{height:43px}}@media(max-height:550px)and (min-width:650px){.result-panel{width:min(720px,100%);display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:22px 28px}.result-main{min-width:0}.result-panel .result-stats{gap:13px;margin-bottom:0}.result-panel .result-stats b{font-size:19px}.result-panel .result-stats span{font-size:7px;letter-spacing:1px}.result-actions{align-self:center;min-width:0}.result-actions .mission:first-child{margin-top:0}.result-panel h2{font-size:29px}.result-panel .result-distance{font-size:58px}.result-panel .badge{margin-bottom:4px}}
