:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8f5e8;background:#9ed3df;font-synthesis:none}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:none}.game-shell,.canvas-host,canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hud{position:absolute;inset:0;pointer-events:none;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.speed{position:absolute;left:max(28px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom));display:flex;align-items:baseline;gap:8px;text-shadow:0 2px 14px #20333780}.speed strong{font-size:clamp(2.8rem,7vw,5.8rem);font-weight:350;letter-spacing:-.07em;line-height:.8;font-variant-numeric:tabular-nums}.speed span{font-size:.68rem;font-weight:750;letter-spacing:.18em;opacity:.82}.gear-indicator{margin-left:10px;padding-left:15px;border-left:1px solid #f8f5e84a;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto;align-items:baseline;column-gap:3px;min-width:54px;text-shadow:0 2px 12px #14272c99}.gear-indicator small{grid-column:1 / 3;font-size:.46rem;font-weight:800;letter-spacing:.16em;opacity:.6}.gear-indicator b{font-size:1.7rem;font-weight:560;line-height:1;font-variant-numeric:tabular-nums}.gear-indicator em{font-style:normal;font-size:.56rem;font-weight:750;opacity:.62}.gear-indicator i{grid-column:1 / 3;width:48px;height:3px;margin-top:5px;overflow:hidden;border-radius:99px;background:#ffffff28}.gear-indicator u{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d7ef8a,#f3c875 72%,#ed6a4d);transform:scaleX(0);transform-origin:left;transition:transform .06s linear}.status{position:absolute;left:max(30px,env(safe-area-inset-left));top:max(28px,env(safe-area-inset-top));padding:10px 15px;border-radius:99px;background:#1e3138a6;backdrop-filter:blur(12px);font-size:.68rem;letter-spacing:.12em;font-weight:720;display:flex;gap:8px;align-items:center}.status i{width:7px;height:7px;border-radius:50%;background:#a7aaa1}.status.active i{background:#d7ef8a;box-shadow:0 0 12px #d7ef8a}.cruise-panel{--cruise-progress: 29%;position:absolute;left:max(28px,env(safe-area-inset-left));top:max(82px,calc(env(safe-area-inset-top) + 54px));width:min(370px,calc(100vw - 56px));padding:9px;border:1px solid #f7f4e72b;border-radius:20px;background:linear-gradient(145deg,#112326e8,#203a3cce);box-shadow:0 18px 42px #0d242942,inset 0 1px #ffffff12;backdrop-filter:blur(14px);display:grid;grid-template-columns:82px 42px 1fr 42px;align-items:center;gap:6px;pointer-events:auto;transition:border-color .25s,box-shadow .25s}.cruise-panel.active{border-color:#d7ef8a66;box-shadow:0 18px 42px #0d242942,0 0 24px #d7ef8a18,inset 0 1px #ffffff16}.cruise-panel.auto{border-color:#7ed8e87d;box-shadow:0 18px 42px #0d242942,0 0 24px #7ed8e81c,inset 0 1px #ffffff16}.cruise-panel.boost{border-color:#f3c8758c}.cruise-toggle,.cruise-step{height:42px;border-radius:12px;background:#ffffff0d;border:1px solid #ffffff14}.cruise-toggle{display:grid;place-content:center;grid-auto-flow:column;align-items:center;gap:7px;font-size:.58rem;font-weight:820;letter-spacing:.1em}.cruise-toggle i{width:7px;height:7px;border-radius:50%;background:#788485;transition:background .2s,box-shadow .2s}.cruise-panel.active .cruise-toggle i{background:#d7ef8a;box-shadow:0 0 10px #d7ef8a}.cruise-panel.auto .cruise-toggle i{background:#7ed8e8;box-shadow:0 0 10px #7ed8e8}.cruise-panel.boost .cruise-toggle i{background:#f3c875;box-shadow:0 0 10px #f3c875}.cruise-toggle:hover,.cruise-step:hover{background:#ffffff18}.cruise-step{font-size:1.3rem;font-weight:420;line-height:1}.cruise-readout{min-width:0;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:baseline;justify-content:center;column-gap:5px;font-variant-numeric:tabular-nums}.cruise-readout small{grid-column:1 / 3;font-size:.46rem;font-weight:750;letter-spacing:.16em;opacity:.52}.cruise-readout strong{font-size:1.45rem;line-height:1;font-weight:520;letter-spacing:-.04em}.cruise-readout em{font-style:normal;font-size:.48rem;font-weight:780;letter-spacing:.08em;opacity:.62}.cruise-range{grid-column:1 / 4;width:100%;height:14px;margin:0;padding:0 3px;appearance:none;background:transparent;cursor:pointer}.cruise-range::-webkit-slider-runnable-track{height:3px;border-radius:99px;background:linear-gradient(90deg,#d7ef8a var(--cruise-progress),#ffffff22 var(--cruise-progress))}.cruise-range::-webkit-slider-thumb{appearance:none;width:13px;height:13px;margin-top:-5px;border-radius:50%;background:#f7f4e7;border:3px solid #526d63;box-shadow:0 2px 8px #0008}.cruise-range::-moz-range-track{height:3px;border-radius:99px;background:#fff2}.cruise-range::-moz-range-progress{height:3px;border-radius:99px;background:#d7ef8a}.cruise-range::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:#f7f4e7;border:3px solid #526d63}.cruise-mode{grid-column:4;grid-row:2;align-self:center;justify-self:center;color:#d7ef8a;font-size:.48rem;font-weight:850;letter-spacing:.1em}.cruise-panel.auto .cruise-mode{color:#8fe5f1}.cruise-panel.boost .cruise-mode{color:#f3c875}.top-actions{position:absolute;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));display:flex;gap:8px;pointer-events:auto}.top-actions button,.quality{padding:10px 14px;border-radius:99px;background:#17282ba8;backdrop-filter:blur(12px);font-size:.64rem;font-weight:740;letter-spacing:.1em}.top-actions button,.quality{flex-shrink:0}.top-actions button:hover{background:#263f48df}.quality{pointer-events:auto;display:flex;align-items:center;gap:7px}.quality span{opacity:.62;font-size:.54rem}.quality select{border:0;outline:0;color:#f8f5e8;background:transparent;font:800 .62rem/1 inherit;letter-spacing:.08em;cursor:pointer}.quality option{color:#e9eee8;background:#22363a}.touch-controls{display:none}.start-screen{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(108deg,#16343f9a,#355c5275 55%,#a9d5d929);backdrop-filter:blur(5px);transition:opacity .6s,visibility .6s;padding:24px}.start-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.start-card{width:min(560px,100%);padding:clamp(28px,6vw,58px);border:1px solid #f8f5e83d;background:#18383ccf;box-shadow:0 30px 90px #0a272b52;border-radius:30px}.eyebrow{color:#d7ef8a;font-size:.68rem;letter-spacing:.22em;font-weight:800}h1{margin:12px 0 15px;font-size:clamp(3.4rem,11vw,6.6rem);line-height:.86;letter-spacing:-.075em;font-weight:480}.start-card>p{margin:0;color:#e5eee7d6;max-width:430px;line-height:1.55;font-size:1.04rem}.controls-copy{margin:28px 0;padding:18px 0;border-top:1px solid #f8f5e826;border-bottom:1px solid #f8f5e826;display:grid;gap:5px;font-size:.82rem}.controls-copy span{opacity:.68}.start-button{width:100%;padding:17px 20px;border-radius:14px;background:#d7ef8a;color:#1b3536;font-weight:850;letter-spacing:.08em;display:flex;justify-content:space-between;transition:transform .2s,background .2s}.start-button:hover{transform:translateY(-2px);background:#e4f6aa}.start-card>small{display:block;margin-top:14px;opacity:.5;font-size:.7rem}.orientation-hint{display:none}.debug-panel{display:none;position:absolute;z-index:4;top:190px;left:max(28px,env(safe-area-inset-left));margin:0;padding:14px 16px;border-radius:12px;color:#dff7ea;background:#10272bd9;font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;pointer-events:none;white-space:pre}.debug-panel.visible{display:block}@media(pointer:coarse){.top-actions{display:none}.speed{bottom:auto;top:max(24px,env(safe-area-inset-top));left:50%;transform:translate(-50%)}.speed strong{font-size:2.6rem}.status{top:max(76px,calc(env(safe-area-inset-top) + 54px));left:50%;transform:translate(-50%)}.cruise-panel{top:max(118px,calc(env(safe-area-inset-top) + 96px));left:50%;transform:translate(-50%);width:min(390px,calc(100vw - 36px));grid-template-columns:76px 44px 1fr 44px}.touch-controls{display:block;position:absolute;inset:0}.steering{pointer-events:auto;position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:min(38vw,300px);height:92px;border:1px solid #ffffff36;background:#17353c65;backdrop-filter:blur(8px);border-radius:28px;display:flex;align-items:center;justify-content:space-around;color:#ffffffad}.steering span{font-size:2.2rem}.steering b{font-size:.65rem;letter-spacing:.16em}.pedals{pointer-events:auto;position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:10px;align-items:end}.pedal{width:min(18vw,112px);border-radius:24px;background:#17353c80;border:1px solid #ffffff36;font-size:.64rem;font-weight:800;letter-spacing:.08em}.pedal:active{background:#d7ef8a99;color:#17353c}.gas{height:112px}.brake{height:82px}.auto-touch,.reset-touch{pointer-events:auto;position:absolute;top:max(24px,env(safe-area-inset-top));padding:13px 16px;border-radius:99px;background:#1e3138a6;font-size:.68rem;font-weight:800}.auto-touch{right:max(18px,env(safe-area-inset-right))}.reset-touch{left:max(18px,env(safe-area-inset-left))}}@media(pointer:coarse)and (orientation:portrait){.orientation-hint.visible{display:block;position:absolute;z-index:5;left:50%;bottom:155px;transform:translate(-50%);text-align:center;color:#fff;background:#19363cc4;padding:12px 18px;border-radius:14px;font-size:.72rem;letter-spacing:.04em}.orientation-hint small{opacity:.65}.steering{width:44vw}.pedal{width:20vw}}@media(max-width:620px)and (pointer:fine){.cruise-panel{top:76px;width:min(330px,calc(100vw - 32px))}.top-actions{right:16px}.quality{display:none}}@media(max-height:520px){.start-card{padding:22px 30px}.start-card>p{font-size:.86rem}.controls-copy{margin:14px 0;padding:10px 0}h1{font-size:3.3rem}.cruise-panel{top:72px;transform:translate(-50%) scale(.88);transform-origin:top center}}.asset-loading{position:fixed;inset:0;display:grid;place-items:center;padding:2rem;color:#183730;background:#a9d8df;font:600 clamp(.9rem,2vw,1.1rem)/1.4 system-ui,sans-serif;letter-spacing:.04em;text-align:center}.asset-loading--error{color:#612828}
