:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8f4e5;background:#061a17;font-synthesis:none;-webkit-tap-highlight-color:transparent;--green: #0b4b38;--green-bright: #157054;--gold: #f0c754;--cream: #fff5d9;--ink: #071f1a;--surface: rgba(7, 31, 26, .94)}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{min-height:100dvh;overflow:hidden;overscroll-behavior:none;background:radial-gradient(circle at 20% 20%,rgba(50,125,93,.32),transparent 32%),radial-gradient(circle at 82% 75%,rgba(206,155,52,.18),transparent 31%),linear-gradient(145deg,#061815,#0c2d25 55%,#071f1a);user-select:none;-webkit-user-select:none;touch-action:none}button,input{font:inherit}button{border:0;cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:3px}#app{display:grid;place-items:center;min-height:100dvh;padding:0}#game-shell{position:relative;width:min(100vw,56.25dvh);height:min(100dvh,177.778vw);max-width:450px;max-height:800px;overflow:hidden;background:#071f1a;box-shadow:0 25px 90px #0000008c;isolation:isolate}#game-container,#game-container canvas,#ui-root{position:absolute;inset:0;width:100%;height:100%}#game-container canvas{object-fit:contain}#ui-root{z-index:4;pointer-events:none}#ui-root button,#ui-root input,#ui-root .screen,#ui-root .modal{pointer-events:auto}.desktop-note{display:none}.screen{position:absolute;inset:0;display:flex;flex-direction:column;padding:max(24px,env(safe-area-inset-top)) 22px max(18px,env(safe-area-inset-bottom))}.menu-screen{justify-content:space-between;background:linear-gradient(to bottom,#05181324,#05181314 47%,#051813d6 70%,#051813fa)}.brand-lockup{margin-top:24px;text-align:center;filter:drop-shadow(0 5px 0 rgba(5,25,19,.32))}.eyebrow{display:inline-flex;padding:5px 12px;border-radius:999px;background:#0b3e30;color:#f7d873;font-size:10px;font-weight:900;letter-spacing:.2em}.brand-lockup h1{margin:8px 0 2px;line-height:.83;transform:skewY(-2deg)}.brand-lockup h1 span{display:block;color:var(--cream);font-size:clamp(28px,8vw,37px);letter-spacing:.12em;font-weight:1000}.brand-lockup h1 strong{display:block;color:var(--gold);font-family:Impact,Arial Black,sans-serif;font-size:clamp(47px,14vw,66px);letter-spacing:.01em;-webkit-text-stroke:1px #6e4f10}.brand-lockup p{margin:10px 0 0;font-weight:800;font-size:14px;text-shadow:0 2px 6px #08261d}.menu-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:auto 0 10px}.menu-stats div{padding:11px 14px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#051e18d1;backdrop-filter:blur(10px)}.menu-stats small{display:block;color:#b8cfc4;font-size:9px;font-weight:800;letter-spacing:.1em}.menu-stats strong{display:block;margin-top:3px;font-size:19px;color:#fff4d0}.menu-actions{display:grid;gap:9px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border-radius:14px;font-weight:900;transition:transform .12s ease,filter .12s ease,background .2s ease}.button:active{transform:translateY(2px) scale(.99)}.button.primary{color:#163226;background:linear-gradient(180deg,#f7dd7d,#e8b73c);box-shadow:inset 0 1px #ffffff80,0 5px #9a6b18,0 12px 24px #00000047}.button.secondary{background:#0b352aeb;border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px #ffffff0a}.button.install{min-height:42px;background:#edfaf31f;border:1px dashed rgba(255,255,255,.32)}.button.danger{color:#ffe4dd;background:#733a32;width:100%;box-shadow:none}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.start-button{min-height:56px;font-size:18px;text-transform:uppercase;letter-spacing:.04em}.sound-fab{position:absolute;right:18px;top:max(18px,env(safe-area-inset-top));width:42px;height:42px;border-radius:50%;background:#06231bc7;border:1px solid rgba(255,255,255,.2);font-size:20px}.menu-screen footer{margin-top:13px;text-align:center;color:#a7c0b5;font-size:10px;letter-spacing:.08em}.panel-screen{background:linear-gradient(180deg,#05231cf7,#041915fc)}.scrollable{overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}.panel-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.panel-heading .back{width:45px;height:45px;flex:none;border-radius:13px;background:#ffffff17;font-size:22px}.panel-heading small{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.16em}.panel-heading h2{margin:1px 0 0;font-size:28px}.instruction-card,.settings-card,.warning-card{border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#ffffff0e}.hero-instruction{padding:16px;text-align:center}.gesture{font-size:27px;font-weight:900;color:var(--gold)}.gesture span{display:inline-block;margin:0 20px;font-size:38px}.instruction-card h3,.instruction-grid h3{margin:5px 0 3px;font-size:15px}.instruction-card p,.instruction-grid p,.warning-card p,.settings-card p{margin:0;color:#b9cec5;font-size:12px;line-height:1.45}.instruction-grid{display:grid;gap:8px;margin:10px 0}.instruction-grid article{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:15px;background:#ffffff0b}.round{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;color:#10251e}.round.gold{background:#f2c64f}.round.red{background:#dc6a54}.round.cyan{background:#68cbd9}.round.amber{background:#f0a843}.warning-card{padding:13px 15px;margin-bottom:14px;border-color:#f2c64f40}.warning-card strong{font-size:13px;color:#f5d36b}.settings-card{margin-bottom:13px;overflow:hidden}.setting-row{position:relative;display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.setting-row:last-child{border-bottom:0}.setting-row span{display:grid;gap:3px}.setting-row strong{font-size:14px}.setting-row small{color:#a9c1b6;font-size:10px}.setting-row input{position:absolute;opacity:0}.setting-row i{width:46px;height:26px;padding:3px;flex:none;border-radius:999px;background:#344c45;transition:.2s}.setting-row i:after{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#d9e4de;transition:.2s}.setting-row input:checked+i{background:#d6ae3f}.setting-row input:checked+i:after{transform:translate(20px);background:#fff9e6}.progress-card{padding:15px}.progress-card h3{margin:0 0 4px}.progress-card p{margin-bottom:14px}.text-button{width:100%;padding:13px;background:transparent;color:#b9cec5;text-decoration:underline;font-weight:700}.hud{position:absolute;inset:0;pointer-events:none;padding-top:max(10px,env(safe-area-inset-top))}.hud button{pointer-events:auto}.hud-top{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:7px;padding:0 9px}.score-box,.fuel-box,.coin-box{min-height:59px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#051d17db;box-shadow:0 5px 14px #00000038;backdrop-filter:blur(6px)}.score-box small,.fuel-box small{display:block;font-size:8px;letter-spacing:.1em;color:#a9beb5;font-weight:900}.score-box strong{display:block;font-size:17px;color:var(--cream);line-height:1}.score-box em{font-style:normal;color:#d7b654;font-size:7px;font-weight:800}.fuel-box span{display:flex;justify-content:space-between;align-items:center}.fuel-box span b{font-size:10px}.meter{height:9px;margin:4px 0 6px;overflow:hidden;border-radius:99px;background:#132d27;box-shadow:inset 0 1px 3px #000}.meter i{display:block;height:100%;border-radius:inherit;transition:width .15s linear,background .2s}.meter i[data-level=good]{background:#54c783}.meter i[data-level=low]{background:#ecc44e}.meter i[data-level=critical]{background:#e45946;animation:pulse .8s infinite}.lives{color:#f5c851;font-size:10px;letter-spacing:2px}.coin-box{position:relative;padding-right:35px}.coin-box>b{display:block;color:#f3c957;font-size:9px}.coin-box>strong{font-size:18px}.coin-box button{position:absolute;right:6px;top:7px;width:29px;height:29px;border-radius:9px;background:#ffffff1a;font-weight:900}.status-pills{display:flex;justify-content:center;gap:6px;padding-top:8px}.status-pills span{padding:5px 9px;border-radius:99px;background:#041d17db;border:1px solid rgba(255,255,255,.13);font-size:9px;font-weight:900;color:#f2ca59}.status-pills span[data-shield]{color:#7de0ee}.touch-controls{position:absolute;left:0;right:0;bottom:max(17px,env(safe-area-inset-bottom));display:grid;grid-template-columns:68px 1fr 68px;align-items:end;gap:16px;padding:0 16px}.touch-controls>button{height:63px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#06211bbf;backdrop-filter:blur(6px);font-size:31px;box-shadow:inset 0 1px #ffffff1a,0 7px 20px #00000038}.touch-controls>button:active{background:#e3b945b3;transform:scale(.96)}.touch-controls .boost-control{justify-self:center;width:92px;height:73px;border-radius:22px;padding:9px;display:grid;place-content:center;color:#91a49d;font-size:11px;font-weight:1000}.boost-control i{display:block;width:62px;height:6px;margin-top:6px;overflow:hidden;border-radius:99px;background:#1b312b}.boost-control i b{display:block;width:0;height:100%;background:#9cab9f}.boost-control.ready{color:#142a22;background:linear-gradient(#f9dc72,#dea92e);border-color:#ffe98a;animation:boostReady 1.2s infinite}.boost-control.ready i{background:#8d6a19}.boost-control.ready i b{background:#fff4bd}.boost-control.active{color:#fff;background:#d37831;box-shadow:0 0 28px #f2a946ad}.hide-steer [data-left],.hide-steer [data-right]{visibility:hidden}.modal{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#02120eb8;backdrop-filter:blur(7px)}.modal-card{width:100%;max-width:380px;padding:25px 20px 20px;border:1px solid rgba(255,255,255,.16);border-radius:25px;background:linear-gradient(180deg,#123d30,#08251e);box-shadow:0 25px 60px #00000080;text-align:center}.modal-card>small{color:var(--gold);font-weight:900;font-size:10px;letter-spacing:.13em}.modal-card h2{margin:5px 0 4px;font-size:34px}.modal-card>p{margin:0 0 18px;color:#b9cec5;font-size:13px}.modal-card>.button{width:100%;margin-top:9px}.modal-card .button-row{margin-top:14px}.modal-card .button-row .button{padding-inline:7px;font-size:12px}.final-score{display:grid;padding:14px;margin:10px 0;border-radius:18px;background:#0003}.final-score span,.final-score em{font-size:9px;color:#adc4ba;font-style:normal;font-weight:900;letter-spacing:.12em}.final-score strong{color:#f4cf61;font-size:42px;line-height:1.05}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-grid div{padding:9px;border-radius:12px;background:#ffffff0f}.result-grid small{display:block;color:#9db6ab;font-size:8px}.result-grid b{font-size:14px}.gameover-card.record{border-color:#f6cc53b3;box-shadow:0 0 60px #e3b23040}.game-toast{position:absolute;z-index:40;left:50%;top:max(82px,calc(env(safe-area-inset-top) + 72px));min-width:210px;max-width:88%;padding:10px 15px;transform:translate(-50%);border-radius:13px;background:#07241cf5;border:1px solid rgba(242,199,84,.4);box-shadow:0 9px 25px #00000054;text-align:center;animation:toastIn .25s ease-out}.game-toast strong{display:block;color:#f1ca5b;font-size:12px}.game-toast span{display:block;margin-top:2px;color:#d7e6df;font-size:10px}.fatal{height:100%;display:grid;place-content:center;padding:35px;text-align:center;background:#09271f}.fatal p{color:#b9cec5}@keyframes pulse{50%{opacity:.38}}@keyframes boostReady{50%{transform:translateY(-2px);filter:brightness(1.1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-12px)}}@media(min-width:850px)and (min-height:680px){#app{grid-template-columns:auto 190px;gap:35px;padding:20px}#game-shell{border:8px solid #102a23;border-radius:28px;height:min(92dvh,800px);width:calc(min(92dvh,800px)*.5625)}.desktop-note{display:block;width:175px;color:#9ab5a9;font-size:13px;line-height:1.7}.desktop-note span{color:#f0cf6b;font-weight:800}}@media(max-height:650px){.brand-lockup{margin-top:8px}.brand-lockup h1 strong{font-size:48px}.brand-lockup p{margin-top:5px}.menu-stats{margin-bottom:7px}.menu-actions{gap:6px}.button{min-height:42px}.start-button{min-height:49px}.touch-controls{bottom:8px}.touch-controls>button{height:55px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
