:root{--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--ink: #10141c;--paper: #fdfaf4;--gold: #ffd23f;--danger: #ff5544;--ok: #46d68a;--panel: rgba(16, 20, 28, .82);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#10141c;font-family:var(--font);color:var(--paper);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}#game{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;padding:calc(var(--safe-t) + 10px) calc(var(--safe-r) + 12px) calc(var(--safe-b) + 10px) calc(var(--safe-l) + 12px);display:flex;flex-direction:column;justify-content:space-between}.hud-top{display:flex;align-items:flex-start;gap:8px}.hud-top .left{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.chipline{display:flex;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;background:#ffffffeb;color:#17212e;border-radius:999px;padding:7px 14px 7px 11px;font-weight:900;font-size:16px;line-height:1;letter-spacing:.2px;font-variant-numeric:tabular-nums;box-shadow:0 3px #141e2d2e,0 6px 16px #0000002e}.chip svg{width:17px;height:17px;flex:none;opacity:.75}.chip.coins{color:#b8791a}.fuel{position:relative;height:16px;border-radius:999px;background:#ffffffeb;overflow:hidden;box-shadow:0 3px #141e2d2e,0 6px 16px #0000002e;max-width:200px}.fuel-fill{inset:3px auto 3px 3px}.fuel-fill{position:absolute;inset:2px auto 2px 2px;border-radius:999px;background:linear-gradient(90deg,#46d68a,#b6f05a);transition:width .12s linear,background .3s;width:100%}.fuel.low .fuel-fill{background:linear-gradient(90deg,#ff8a3d,#ffd23f)}.fuel.critical .fuel-fill{background:linear-gradient(90deg,#ff3b30,#ff8a3d);animation:pulse .55s infinite alternate}@keyframes pulse{0%{opacity:1}to{opacity:.45}}.iconbtn{pointer-events:auto;width:46px;height:46px;flex:none;border-radius:16px;border:0;background:#ffffffeb;color:#17212e;display:grid;place-items:center;box-shadow:0 3px #141e2d2e,0 6px 16px #0000002e}.iconbtn svg{width:20px;height:20px}.iconbtn:active{transform:scale(.94)}.toasts{position:absolute;left:0;right:0;top:22%;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{font-weight:900;font-size:20px;letter-spacing:.5px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 18px rgba(255,210,63,.5);animation:toastIn .9s ease-out forwards}.toast .pts{color:var(--gold)}.toast.combo:after{content:attr(data-combo);color:#7bd8ff;margin-left:6px;font-size:16px}@keyframes toastIn{0%{transform:translateY(14px) scale(.85);opacity:0}18%{transform:translateY(0) scale(1.06);opacity:1}30%{transform:scale(1)}75%{opacity:1}to{transform:translateY(-26px);opacity:0}}.pedals{display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.pedal{width:104px;height:104px;border-radius:32px;border:0;padding:0;display:grid;place-items:center;color:#fff;transition:transform .06s ease,box-shadow .06s ease,filter .06s ease}.pedal svg{width:54px;height:54px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.25))}.pedal.gas{background:linear-gradient(180deg,#5ce68f,#23a45c);box-shadow:0 7px #16713e,inset 0 0 0 3px #ffffff59,0 10px 22px #0000004d}.pedal.brake{background:linear-gradient(180deg,#ff8a72,#e0402c);box-shadow:0 7px #93230f,inset 0 0 0 3px #ffffff52,0 10px 22px #0000004d}.pedal.active{transform:translateY(6px) scale(.97);filter:brightness(1.22)}.pedal.gas.active{box-shadow:0 1px #16713e,inset 0 0 0 3px #ffffff80,0 4px 12px #0000004d}.pedal.brake.active{box-shadow:0 1px #93230f,inset 0 0 0 3px #ffffff80,0 4px 12px #0000004d}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);background:#0a1e2d57;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5}.overlay.show{display:flex}.panel{width:min(420px,100%);background:linear-gradient(180deg,#fff,#eef4f8);color:#16212e;border-radius:26px;padding:22px 20px 18px;box-shadow:0 10px #14283c2e,0 22px 50px #00000059;text-align:center;animation:panelIn .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes panelIn{0%{transform:translateY(18px) scale(.96);opacity:0}to{transform:none;opacity:1}}.panel h1{margin:0 0 2px;font-size:30px;letter-spacing:2px;font-weight:900}.panel h2{margin:0 0 14px;font-size:20px;font-weight:800;letter-spacing:1px}.panel .sub{margin:0 0 18px;opacity:.6;font-size:13px;font-weight:700}.rows{display:grid;gap:8px;margin:0 0 18px}.row{display:flex;justify-content:space-between;align-items:center;background:#142d4612;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:700}.row .v{font-variant-numeric:tabular-nums}.row.best .v{color:#c0821a}.btn{pointer-events:auto;width:100%;border:0;border-radius:18px;padding:16px;font-size:17px;font-weight:900;letter-spacing:1px;color:#10141c;background:linear-gradient(180deg,#ffd23f,#f5a623);box-shadow:0 6px #b9761a,0 12px 24px #00000059;transition:transform .06s,box-shadow .06s}.btn:active{transform:translateY(4px);box-shadow:0 2px #b9761a,0 6px 14px #00000059}.btn.ghost{background:#142d461a;color:#22303f;box-shadow:inset 0 0 0 1.5px #142d4629;margin-top:10px;font-size:15px;padding:13px}.btn.ghost:active{transform:translateY(2px);box-shadow:inset 0 0 0 1.5px #142d4629}.tapstart{position:absolute;inset:auto 0 22% 0;text-align:center;font-weight:800;font-size:15px;color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.5);animation:breathe 1.6s ease-in-out infinite;pointer-events:none}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}.debug{position:absolute;left:calc(var(--safe-l) + 12px);top:calc(var(--safe-t) + 92px);font:11px/1.45 ui-monospace,monospace;background:#0009;padding:8px 10px;border-radius:10px;white-space:pre;pointer-events:none;color:#9fe8b0}@media (min-width: 820px){.pedal{width:116px;height:116px}.chip{font-size:18px}}@media (max-height: 620px){.pedal{width:86px;height:86px;border-radius:26px}.pedal svg{width:44px;height:44px}}.devpanel{position:fixed;right:calc(var(--safe-r) + 8px);top:calc(var(--safe-t) + 8px);width:250px;max-height:82vh;overflow:auto;z-index:20;background:#0c1016f0;border-radius:14px;padding:8px 10px;font:11px/1.3 ui-monospace,monospace;color:#cfe8ff;box-shadow:0 8px 30px #00000080;touch-action:auto}.dp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dp-head button{background:#23303f;color:#cfe8ff;border:0;border-radius:6px;width:24px;height:22px}.dp-row{display:grid;grid-template-columns:92px 1fr 42px;gap:5px;align-items:center;margin:3px 0}.dp-row span{opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-row input{width:100%;accent-color:#46d68a;height:16px}.dp-row output{text-align:right;font-variant-numeric:tabular-nums}.dp-actions{display:grid;gap:5px;margin:8px 0 6px}.dp-actions button{background:#2f6b4a;color:#eafff2;border:0;border-radius:8px;padding:7px;font-weight:700;font-size:11px}.dp-actions button:nth-child(2){background:#3a4a5f}.dp-actions button:nth-child(3){background:#4a3a3a}.dp-out{width:100%;background:#0a0e14;color:#7fd8a0;border:0;border-radius:8px;font:10px ui-monospace,monospace}.recover{pointer-events:auto;position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--safe-b) + 118px);display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:11px 18px 11px 14px;background:linear-gradient(180deg,#ffd23f,#f5a623);color:#10141c;font-weight:900;font-size:13px;letter-spacing:.6px;box-shadow:0 5px #b9761a,0 10px 22px #00000059;animation:recoverIn .22s cubic-bezier(.2,.9,.3,1.3)}.recover[hidden]{display:none}.recover svg{width:17px;height:17px}.recover em{font-style:normal;opacity:.6;font-size:11px}.recover:active{transform:translate(-50%) translateY(4px);box-shadow:0 1px #b9761a}@keyframes recoverIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}}.overlay.show{align-items:stretch;justify-content:stretch;padding:0}.overlay .panel{margin:auto}.topbar{position:absolute;top:calc(var(--safe-t) + 10px);left:calc(var(--safe-l) + 12px);right:calc(var(--safe-r) + 12px);display:flex;gap:8px;align-items:center;z-index:3}.topbar .chip{flex:1;justify-content:flex-start}.menu,.page{width:100%;max-width:460px;margin:0 auto;padding:calc(var(--safe-t) + 66px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 18px) calc(var(--safe-l) + 16px);display:flex;flex-direction:column;gap:12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.page{gap:10px}.page-head{display:flex;align-items:center;gap:10px}.page-head h2{margin:0;font-size:19px;letter-spacing:1.5px;font-weight:900;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.45)}.page-head .iconbtn{width:38px;height:38px}.menu{justify-content:center;text-align:center}.logo{margin:0;font-size:clamp(34px,11vw,46px);font-weight:900;letter-spacing:3px;line-height:1;text-shadow:0 4px 0 rgba(0,0,0,.35),0 0 26px rgba(255,210,63,.35)}.logo span{color:var(--gold)}.menu-world{font-size:11.5px;font-weight:900;letter-spacing:1.6px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5)}.showcase{position:relative;width:100%;height:148px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#ffffffe6,#d6ecf8d9);box-shadow:0 5px #14283c26,0 10px 22px #00000029}.showcase.big{height:172px}.showcase canvas{width:100%;height:100%;display:block}.showcase-name{display:block;margin-top:2px;font-weight:900;font-size:14px;letter-spacing:1.6px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.45)}.btn.play{font-size:20px;padding:18px}.menu-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.menu-nav button{pointer-events:auto;border:0;border-radius:18px;padding:12px 4px;background:#ffffffeb;color:#17212e;display:grid;gap:5px;justify-items:center;font-size:9.5px;font-weight:900;letter-spacing:.6px;box-shadow:0 4px #14283c2e,0 8px 18px #0000002e}.menu-nav svg{width:20px;height:20px}.menu-nav button:active{transform:translateY(3px);box-shadow:0 1px #14283c2e}.vlist{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.vlist::-webkit-scrollbar{display:none}.vcard{flex:none;width:92px;border:0;border-radius:14px;padding:9px 6px;background:#ffffff12;color:var(--paper);display:grid;gap:5px;justify-items:center;box-shadow:inset 0 0 0 1px #ffffff0f}.vcard.on{background:#ffd23f2e;box-shadow:inset 0 0 0 2px var(--gold)}.vcard i{width:30px;height:16px;border-radius:5px;background:var(--c);display:block}.vcard span{font-size:10px;font-weight:800}.vcard em{font-size:9.5px;font-style:normal;opacity:.7;display:flex;align-items:center;gap:3px}.vcard em svg{width:11px;height:11px}.vcard em.price{color:var(--gold)}.stats{display:grid;gap:7px}.stat{display:grid;grid-template-columns:84px 1fr;gap:8px;align-items:center;font-size:10px;font-weight:800;letter-spacing:.6px;opacity:.9}.stat i{display:block;height:7px;border-radius:99px;background:#ffffff1a;overflow:hidden}.stat b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#46d68a,#b6f05a)}.upgrades{display:grid;gap:7px}.upg{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#ffffff0d;border-radius:13px;padding:8px 9px}.upg-info span{font-size:10px;font-weight:800;letter-spacing:.7px}.pips{display:flex;gap:1.5px;margin-top:5px}.pips b{width:100%;height:5px;border-radius:2px;background:#ffffff24}.pips b.on{background:var(--gold)}.upgbtn{border:0;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:900;background:linear-gradient(180deg,#ffd23f,#f5a623);color:#10141c;display:inline-flex;align-items:center;gap:4px}.upgbtn svg{width:12px;height:12px}.upgbtn.off{background:#ffffff1a;color:#fdfaf480}.upgbtn:disabled{opacity:.5}.list{display:grid;gap:9px}.wcard{border:0;border-radius:18px;overflow:hidden;padding:0;text-align:left;background:#ffffff0d;color:var(--paper);display:grid;grid-template-columns:82px 1fr;align-items:stretch;box-shadow:inset 0 0 0 1px #ffffff12}.wcard.on{box-shadow:inset 0 0 0 2px var(--gold)}.wc-art{background:linear-gradient(180deg,var(--a),var(--b));position:relative;min-height:74px}.wc-art:after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:var(--g);border-radius:60% 40% 0 0/100% 90% 0 0}.wc-info{padding:10px 12px;display:grid;gap:3px;align-content:center}.wc-info strong{font-size:14px}.wc-info span{font-size:11px;opacity:.62;line-height:1.35}.wc-info em{font-style:normal;font-size:10px;font-weight:800;opacity:.8;display:inline-flex;align-items:center;gap:4px}.wc-info em svg{width:12px;height:12px}.wc-info em.ok{color:var(--ok)}.wc-info em.price{color:var(--gold)}.mission{background:#ffffff0d;border-radius:15px;padding:11px 12px;display:grid;gap:7px}.mission.done{box-shadow:inset 0 0 0 1px #46d68a80}.m-top{display:flex;justify-content:space-between;gap:8px;font-size:12px}.m-top span{opacity:.65;font-variant-numeric:tabular-nums}.bar{display:block;height:6px;border-radius:99px;background:#ffffff1a;overflow:hidden}.bar b{display:block;height:100%;background:linear-gradient(90deg,#46d68a,#b6f05a)}.m-bot{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;opacity:.8}.m-bot span{display:inline-flex;align-items:center;gap:4px}.m-bot svg{width:12px;height:12px}.m-bot em{font-style:normal;color:var(--ok);font-weight:800}.mini{border:0;border-radius:9px;padding:6px 11px;font-size:10px;font-weight:900;background:linear-gradient(180deg,#ffd23f,#f5a623);color:#10141c}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tabs button{border:0;border-radius:12px;padding:9px;font-size:11px;font-weight:800;background:#ffffff12;color:var(--paper)}.tabs button.on{background:var(--gold);color:#10141c}.rank{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;background:#ffffff0d;border-radius:12px;padding:9px 11px;font-size:12.5px}.rank.me{box-shadow:inset 0 0 0 1px var(--gold)}.rank b{opacity:.5;font-variant-numeric:tabular-nums}.rank em{font-style:normal;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums}.form{display:grid;gap:9px}.form input{border:0;border-radius:13px;padding:14px;background:#ffffff14;color:var(--paper);font-size:16px;font-family:inherit}.form input::placeholder{color:#fdfaf466}.muted{opacity:.62;font-size:12px;line-height:1.5;margin:0}.msg{font-size:12px;font-weight:700;min-height:16px;text-align:center}.msg.ok{color:var(--ok)}.msg.bad{color:var(--danger)}.row input[type=range]{width:130px;accent-color:var(--gold)}.row input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold)}.v.code{font-family:ui-monospace,monospace;font-size:12px;color:var(--gold)}.hud.off{display:none}.modes{display:grid;grid-template-columns:1fr 1.5fr;gap:6px}.modes button{border:0;border-radius:14px;padding:10px 6px;font-size:10.5px;font-weight:900;letter-spacing:.6px;background:#ffffffe0;color:#17212e;box-shadow:0 3px #14283c29}.modes button.on{background:var(--gold);color:#10141c;box-shadow:none}.hint{position:absolute;left:calc(var(--safe-l) + 14px);right:calc(var(--safe-r) + 14px);bottom:calc(var(--safe-b) + 118px);display:flex;justify-content:space-between;gap:12px;pointer-events:none;animation:hintIn .4s ease-out}.hint[hidden]{display:none}.hint span{font-size:11px;font-weight:900;letter-spacing:.8px;line-height:1.4;background:#10141cb8;padding:8px 11px;border-radius:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hint-l{text-align:left;color:#ffb3aa}.hint-r{text-align:right;color:#b6f0cc}@keyframes hintIn{0%{opacity:0;transform:translateY(10px)}}.overlay.show{background:#0a1e2d33;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.sechead{font-size:11px;letter-spacing:1.5px;opacity:.55;margin:14px 0 6px;font-weight:800}.chip.bal{opacity:.8;font-size:.72rem}.pix-code{width:100%;font-size:.75rem;background:#00000026;border:1px solid rgba(255,255,255,.2);color:inherit;padding:.5rem;border-radius:.5rem;resize:none;font-family:monospace}select{width:100%;padding:.65rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.2);background:#00000026;color:inherit;font-size:.85rem}.panel .form input,.panel .form select{background:#0000000f;color:#16212e;border:1px solid rgba(0,0,0,.12)}.panel .form input::placeholder{color:#16212e66}.panel .muted{color:#16212e}
