#root,body,html{height:100%}body{-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d2233;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sim{-webkit-touch-callout:none;--inset-top:env(safe-area-inset-top,0px);--inset-right:env(safe-area-inset-right,0px);--inset-bottom:env(safe-area-inset-bottom,0px);--inset-left:env(safe-area-inset-left,0px);background:#87ceeb;height:100vh;height:100dvh;overflow:hidden;position:relative;user-select:none;-webkit-user-select:none;width:100vw}.sim canvas{display:block;outline:none;touch-action:none}.hud{font-feature-settings:"tnum";color:#eaf6ff;display:flex;flex-direction:column;font-variant-numeric:tabular-nums;gap:.6rem;left:calc(1rem + var(--inset-left));pointer-events:none;position:absolute;text-shadow:0 1px 3px #000000b3;top:calc(1rem + var(--inset-top))}.hud-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a162280;border-radius:10px;padding:.6rem .9rem}.hud-panel span{font-size:.65rem;letter-spacing:.14em;opacity:.75}.hud-game{gap:.7rem;min-width:15rem}.hud-game,.hud-score{display:flex;flex-direction:column}.hud-score strong{color:#ffd76a;font-size:1.9rem;font-weight:700;line-height:1.05}.hud-fuel-head{align-items:baseline;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:.28rem}.hud-fuel-head em{font-size:.62rem;font-style:normal;opacity:.62}.fuel-bar{background:#ffffff29;border-radius:999px;height:8px;overflow:hidden}.fuel-bar>div{border-radius:999px;height:100%;transition:width .15s linear,background .3s ease}.fuel-ok>div{background:#4ade80}.fuel-low>div{background:#fbbf24}.fuel-critical>div{background:#f87171}.combo-pips{display:flex;gap:4px;margin-top:.35rem}.combo-pips i{background:#ffffff29;border-radius:999px;height:3px;width:100%}.combo-pips i.on{background:#ffd76a}.hud-lives{align-items:center;display:flex;gap:.6rem}.hud-lives strong{display:flex;gap:.18rem}.hud-lives i{font-size:.95rem;font-style:normal;opacity:.22}.hud-lives i.on{color:#7dd3fc;opacity:1}.hud-readouts{display:flex;gap:1.15rem}.hud-readouts>div{display:flex;flex-direction:column;min-width:4.1rem}.hud-readouts strong{font-size:1.1rem;font-weight:600}.alerts{align-items:center;gap:.55rem;left:50%;pointer-events:none;position:absolute;text-align:center;top:24%;transform:translateX(-50%);z-index:15}.alert,.alerts{display:flex;flex-direction:column}.alert{animation:alert-blink .85s steps(2) infinite;border-radius:10px;color:#fff;font-size:1.35rem;font-weight:800;gap:.15rem;letter-spacing:.16em;padding:.55rem 1.6rem;text-shadow:0 2px 8px #0009}.alert em{font-size:.72rem;font-style:normal;font-weight:600;letter-spacing:.08em;opacity:.9;text-transform:none}.alert-boundary{background:#b45a0ad1}.alert-fuel{background:#be1e1ed1}.alert-stall{background:#962882d1}@keyframes alert-blink{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.alert{animation:none}}.controls-help{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a162273;border-radius:10px;bottom:calc(1rem + var(--inset-bottom));color:#eaf6ff;display:flex;flex-direction:column;font-size:.78rem;gap:.15rem;left:calc(1rem + var(--inset-left));padding:.6rem .9rem;pointer-events:none;position:absolute}.controls-help strong{font-size:.65rem;letter-spacing:.14em;margin-bottom:.2rem;opacity:.75;text-transform:uppercase}.loading{align-items:center;background:linear-gradient(#0d2233,#14405c);color:#eaf6ff;display:flex;flex-direction:column;gap:.9rem;inset:0;justify-content:center;position:absolute;z-index:20}.loading-title{font-size:1.1rem;letter-spacing:.02em}.loading-bar{background:#ffffff2e;border-radius:999px;height:6px;overflow:hidden;width:min(360px,70vw)}.loading-bar>div{background:#6ec1ff;height:100%;transition:width .2s ease-out}.loading-hint{font-size:.78rem;opacity:.7}.overlay{align-items:center;background:#060e168c;display:flex;inset:0;justify-content:center;position:absolute;z-index:30}.overlay-card{background:#fff;border-radius:14px;box-shadow:0 18px 50px #00000059;padding:2rem 2.4rem;text-align:center}.overlay-card h2{color:#c0392b;margin:0 0 .4rem}.overlay-card p{color:#4a5568;font-size:.9rem;margin:0 0 1.2rem}.fatal-error button,.overlay-card button{background:#1f6feb;border:0;border-radius:999px;color:#fff;cursor:pointer;font-size:.95rem;padding:.6rem 1.4rem}.fatal-error button:hover,.overlay-card button:hover{background:#1a5fd0}.fatal-error{align-items:center;background:#0d2233;color:#eaf6ff;display:flex;flex-direction:column;gap:.8rem;height:100vh;justify-content:center;padding:2rem;text-align:center}.fatal-error p{font-size:.9rem;max-width:40rem;opacity:.8}.overlay-card h2{color:#0f2333}.overlay-score{color:#b8860b;font-size:2rem;font-weight:700;margin:.2rem 0 .6rem!important}.overlay-lives{font-size:.8rem!important;letter-spacing:.08em;margin-bottom:1rem!important;opacity:.7;text-transform:uppercase}.start-card{display:flex;flex-direction:column;gap:.55rem;max-width:min(28rem,92vw);min-width:min(24rem,86vw)}.start-card label{color:#64748b;font-size:.65rem;letter-spacing:.14em;margin-top:.4rem;text-transform:uppercase}.start-card input{-webkit-touch-callout:default;border:2px solid #cbd5e1;border-radius:10px;font-family:inherit;font-size:1.05rem;padding:.7rem .9rem;user-select:text;-webkit-user-select:text}.start-card input:focus{border-color:#1f6feb;outline:none}.start-card button{margin-top:.5rem}.start-card button:disabled{background:#cbd5e1;cursor:not-allowed}.overlay-note{color:#64748b;font-size:.72rem!important;margin:.4rem 0 0!important}.board{margin:.4rem 0 1.1rem;text-align:left}.board h3{color:#64748b;font-size:.65rem;letter-spacing:.16em;margin:0 0 .45rem;text-transform:uppercase}.board ol{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.board li{grid-gap:.6rem;font-feature-settings:"tnum";align-items:center;background:#f1f5f9;border-radius:7px;display:grid;font-variant-numeric:tabular-nums;gap:.6rem;grid-template-columns:1.4rem 1fr auto;padding:.4rem .6rem}.board li.you{background:#fff4d6;box-shadow:inset 0 0 0 2px #f0c34a}.board .rank{color:#94a3b8;font-size:.8rem;font-weight:700}.board .who{align-items:center;color:#0f2333;display:flex;font-weight:600;gap:.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board .who em{background:#f0c34a;border-radius:999px;color:#4a3708;font-size:.6rem;font-style:normal;font-weight:700;letter-spacing:.08em;padding:1px 6px;text-transform:uppercase}.board .pts{color:#b8860b;font-weight:700}.touch-controls{-webkit-touch-callout:none;inset:0;pointer-events:none;position:absolute;user-select:none;-webkit-user-select:none;z-index:12}.touch-controls>.tc-left,.touch-controls>.tc-right{bottom:calc(.9rem + var(--inset-bottom));position:absolute}.tc-left{left:calc(.9rem + var(--inset-left))}.tc-right{align-items:flex-end;display:flex;gap:.7rem;right:calc(.9rem + var(--inset-right))}.tc-stick{--stick-radius:58px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 50% 50%,#0a16222e,#0a162285);border:1px solid #eaf6ff47;border-radius:50%;height:calc(var(--stick-radius)*2);pointer-events:auto;position:relative;touch-action:none;width:calc(var(--stick-radius)*2)}.tc-stick-axis{color:#eaf6ff;font-size:.6rem;opacity:.45;pointer-events:none;position:absolute}.tc-ax-up{top:6px}.tc-ax-down,.tc-ax-up{left:50%;transform:translateX(-50%)}.tc-ax-down{bottom:6px}.tc-ax-left{left:7px}.tc-ax-left,.tc-ax-right{top:50%;transform:translateY(-50%)}.tc-ax-right{right:7px}.tc-knob{background:#eaf6ffd1;border:1px solid #ffffff80;border-radius:50%;box-shadow:0 4px 14px #00000059;height:54px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:54px}.tc-throttle{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a162273;border:1px solid #eaf6ff47;border-radius:999px;display:flex;flex-direction:column;gap:.35rem;padding:.45rem .4rem;pointer-events:auto}.tc-btn,.tc-full,.tc-reset{-webkit-tap-highlight-color:transparent;align-items:center;background:#eaf6ff29;border:0;border-radius:50%;color:#eaf6ff;display:flex;font-size:1rem;height:46px;justify-content:center;padding:0;touch-action:none;width:46px}.tc-btn:active,.tc-full:active,.tc-reset:active{background:#eaf6ff6b;color:#0d2233}.tc-throttle-gauge{align-items:flex-end;background:#ffffff29;border-radius:999px;display:flex;height:74px;overflow:hidden;width:8px}.tc-throttle-gauge>div{background:#6ec1ff;border-radius:999px;transition:height .12s linear;width:100%}.tc-corner{display:flex;gap:.45rem;position:absolute;right:calc(.9rem + var(--inset-right));top:calc(.9rem + var(--inset-top))}.tc-full,.tc-reset{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a162273;border:1px solid #eaf6ff47;font-size:1.15rem;pointer-events:auto}.rotate-hint{display:none}@media (orientation:portrait) and (pointer:coarse){.rotate-hint{align-items:center;background:linear-gradient(#0d2233,#14405c);color:#eaf6ff;display:flex;flex-direction:column;gap:1.5rem;inset:0;justify-content:center;padding:2rem;position:absolute;text-align:center;z-index:40}.rotate-hint .rotate-phone{animation:rotate-nudge 2.6s ease-in-out infinite;border:3px solid #eaf6ff;border-radius:10px;box-shadow:inset 0 0 0 3px #0d2233,0 0 0 0 #0000;height:96px;width:58px}.rotate-hint h2{font-size:1.35rem;letter-spacing:.01em;margin:0}.rotate-hint p{font-size:.92rem;line-height:1.5;margin:0;max-width:20rem;opacity:.8}.rotate-hint .rotate-stuck{animation:none;opacity:.45;transform:rotate(0deg)}.rotate-aside{background:#ffd76a1f;border:1px solid #ffd76a52;border-radius:10px;color:#ffd76a;font-size:.82rem!important;line-height:1.5;max-width:21rem;opacity:1!important;padding:.65rem .85rem}.rotate-diag{font-size:.62rem!important;line-height:1.35;max-width:26rem;opacity:.5;word-break:break-all}.rotate-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.rotate-alt,.rotate-go{-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;min-height:46px;padding:.7rem 1.3rem}.rotate-go{background:#1f6feb;color:#fff}.rotate-alt{background:#0000;border:1px solid #eaf6ff59;color:#eaf6ff}}@keyframes rotate-nudge{0%,20%{transform:rotate(0deg)}45%,80%{transform:rotate(-90deg)}to{transform:rotate(0deg)}}@media (prefers-reduced-motion:reduce){.rotate-hint strong{animation:none}}@media (max-height:520px),(max-width:900px),(pointer:coarse){.hud{align-items:flex-start;gap:.3rem;left:calc(.5rem + var(--inset-left));top:calc(.5rem + var(--inset-top))}.hud-panel{border-radius:8px;padding:.35rem .55rem}.hud-game{align-items:center;flex-direction:row;gap:.6rem;min-width:0}.hud-fuel-head,.hud-lives>span,.hud-score>span{display:none}.hud-score strong{font-size:1.05rem}.hud-fuel{width:4.6rem}.fuel-bar{height:6px}.combo-pips{gap:3px;margin-top:.25rem}.combo-pips i{height:2px}.hud-lives i{font-size:.7rem}.hud-lives strong{gap:.1rem}.hud-readouts{gap:.6rem}.hud-readouts>div{min-width:2.5rem}.hud-readouts strong{font-size:.8rem}.hud-panel span{font-size:.5rem;letter-spacing:.1em}.alerts{top:16%}.alert{font-size:1rem;letter-spacing:.1em;padding:.4rem 1rem}.alert em{font-size:.62rem}.overlay{padding:calc(.6rem + var(--inset-top)) .8rem calc(.6rem + var(--inset-bottom))}.overlay-card{-webkit-overflow-scrolling:touch;max-height:100%;overflow-y:auto;padding:1.2rem 1.3rem}.overlay-card h2{font-size:1.15rem}.overlay-card p{font-size:.82rem;margin-bottom:.8rem}.overlay-score{font-size:1.5rem}.board{margin-bottom:.8rem}.board li{font-size:.85rem;padding:.3rem .5rem}.start-card{gap:.3rem;max-width:min(23rem,80vw);min-width:min(19rem,74vw)}.start-card h2{font-size:1.05rem;margin-bottom:.15rem}.start-blurb{display:none}.start-card label{margin-top:.1rem}.start-card input{padding:.5rem .7rem}.start-card button[type=submit]{margin-top:.25rem;padding:.55rem 1.4rem}.levels{gap:.3rem;margin-top:.25rem}.levels legend{margin-bottom:.2rem}.levels .level{padding:.4rem .3rem}.levels .level strong{font-size:.8rem}.levels .level em{font-size:.56rem}.install-note{font-size:.66rem!important;margin-top:.4rem!important;padding:.4rem .55rem}}@media (max-height:430px){.tc-stick{--stick-radius:46px}.tc-knob{height:44px;width:44px}.tc-throttle-gauge{height:52px}.tc-btn,.tc-full,.tc-reset{height:42px;width:42px}}@media (pointer:coarse){.fatal-error button,.overlay-card button{-webkit-tap-highlight-color:transparent;min-height:46px;padding:.7rem 1.6rem}.start-card input{font-size:16px}}.install-note{background:#f1f5f9;border-radius:8px;line-height:1.45;margin-top:.7rem!important;padding:.55rem .7rem;text-align:left}.install-note strong{color:#0f2333}.tutorial{inset:0;pointer-events:none;position:absolute;z-index:18}.tutor-tag{align-items:center;animation:tutor-pulse 1.15s ease-in-out infinite;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1622d1;border:1px solid #ffd76a8c;border-radius:999px;box-shadow:0 6px 18px #00000059;color:#ffd76a;display:flex;font-size:.72rem;font-weight:700;gap:.4rem;letter-spacing:.02em;max-width:46vw;padding:.34rem .7rem;position:absolute;white-space:nowrap}.tutor-tag i{color:#fff;font-size:.85rem;font-style:normal;opacity:.9}.tutor-hud{left:calc(.5rem + var(--inset-left));top:calc(5.5rem + var(--inset-top))}.tutor-corner{right:calc(.9rem + var(--inset-right));top:calc(4.3rem + var(--inset-top))}.tutor-centre{animation-name:tutor-pulse-centred;left:50%;top:26%;transform:translateX(-50%)}.tutor-stick{bottom:calc(9.3rem + var(--inset-bottom));left:calc(.9rem + var(--inset-left))}.tutor-throttle{bottom:calc(4.4rem + var(--inset-bottom));right:calc(5.1rem + var(--inset-right))}.tutor-dismiss{font-feature-settings:"tnum";-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1622b3;border:1px solid #ffffff4d;border-radius:999px;bottom:calc(.9rem + var(--inset-bottom));color:#eaf6ff;cursor:pointer;font-family:inherit;font-size:.72rem;font-variant-numeric:tabular-nums;left:50%;padding:.42rem 1.1rem;pointer-events:auto;position:absolute;transform:translateX(-50%)}.tutor-dismiss:active{background:#eaf6ff47}@keyframes tutor-pulse{50%{opacity:.42}}@keyframes tutor-pulse-centred{0%,to{opacity:1;transform:translateX(-50%)}50%{opacity:.42;transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.tutor-tag{animation:none}}.tutor-legend{bottom:calc(8.4rem + var(--inset-bottom));left:calc(1rem + var(--inset-left))}@media (pointer:fine){.tutor-hud{top:calc(14rem + var(--inset-top))}}@media (max-height:430px){.tutor-tag{font-size:.66rem;padding:.28rem .6rem}.tutor-stick{bottom:calc(7.7rem + var(--inset-bottom))}.tutor-throttle{bottom:calc(3.9rem + var(--inset-bottom))}}.fs-corner{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a162273;border:1px solid #eaf6ff47;border-radius:50%;color:#eaf6ff;cursor:pointer;display:flex;font-size:1.05rem;height:40px;justify-content:center;opacity:.55;padding:0;position:absolute;right:calc(1rem + var(--inset-right));top:calc(1rem + var(--inset-top));transition:opacity .15s ease;width:40px;z-index:16}.fs-corner:hover{opacity:1}.fs-prompt{align-items:stretch;border-radius:999px;bottom:calc(3.4rem + var(--inset-bottom));box-shadow:0 8px 24px #0006;display:flex;gap:1px;left:50%;overflow:hidden;position:absolute;transform:translateX(-50%);z-index:17}.fs-prompt-go,.fs-prompt-no{-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1622e0;border:0;color:#ffd76a;cursor:pointer;font-family:inherit;font-size:.76rem;font-weight:700}.fs-prompt-go{padding:.55rem 1rem}.fs-prompt-no{color:#eaf6ff;opacity:.6;padding:.55rem .8rem}.fs-prompt-go:active,.fs-prompt-no:active{background:#eaf6ff3d}@media (pointer:coarse){.fs-prompt-go,.fs-prompt-no{font-size:.8rem;min-height:44px}}.levels{grid-gap:.4rem;border:0;display:grid;gap:.4rem;grid-template-columns:repeat(3,1fr);margin:.5rem 0 0;padding:0}.levels legend{color:#64748b;font-size:.65rem;letter-spacing:.14em;margin-bottom:.35rem;padding:0;text-transform:uppercase}.levels .level{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#475569;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.15rem;padding:.6rem .4rem;text-align:center;transition:border-color .12s ease,background .12s ease}.levels .level strong{font-size:.9rem}.levels .level em{font-size:.62rem;font-style:normal;line-height:1.25;opacity:.75;overflow-wrap:anywhere}.levels .level:hover{background:#f1f5f9;border-color:#cbd5e1}.levels .level.on{background:#eff6ff;border-color:#1f6feb;color:#0f2333}.levels .level.on em{opacity:.9}.fuel-endless>div{background:linear-gradient(90deg,#4ade80,#7dd3fc,#4ade80);opacity:.55}@media (pointer:coarse){.levels .level{min-height:58px}}@media (max-height:420px){.overlay-card{padding:.9rem 1.1rem}.start-card{gap:.25rem}.start-card h2{font-size:.95rem;margin-bottom:.1rem}.start-card label{font-size:.58rem}.start-card input{font-size:16px;padding:.42rem .65rem}.levels legend{display:none}.levels .level{min-height:0;padding:.35rem .25rem}.levels .level strong{font-size:.75rem}.levels .level em{font-size:.53rem}.start-card button[type=submit]{font-size:.85rem;padding:.5rem 1.2rem}}