:root{--ink:#26352e;--muted:#7a8377;--paper:#eceee5;--green:#b8f52c;--red:#ff4438;--cyan:#31d9ed;--violet:#b290ff;--gold:#ffce42;--scene-saturation:1.25;--scene-contrast:2;--line:#cdd2c5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--red);outline-offset:4px}button{border:0}button:disabled{opacity:.45;cursor:default}.site-header{height:88px;margin:0 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:900;font-size:23px;letter-spacing:-1px;white-space:nowrap}.brand-icon{width:41px;height:41px;background:var(--red);color:#f8f4df;display:grid;place-items:center}.brand-icon img{display:block;width:100%;height:100%}.brand-dot{font-size:9px;display:inline-block;margin:0 5px;vertical-align:middle;color:var(--red)}.header-caption{font:10px 'Courier New',monospace;letter-spacing:1.7px;color:#758071}nav{display:flex;align-items:center;gap:24px}.nav-button{display:flex;align-items:center;gap:9px;font-size:12px;background:none;padding:9px 0}.key-icon{border:1px solid #899383;border-radius:50%;width:15px;height:15px;text-align:center;font:11px monospace}.nav-divider{height:17px;width:1px;background:var(--line)}.icon-button{font-size:24px;background:none;padding:8px}.intro{display:flex;justify-content:space-between;align-items:center;padding:33px 0 29px}.eyebrow{font:10px 'Courier New',monospace;letter-spacing:1.5px;display:flex;align-items:center;gap:8px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6d983e;flex-shrink:0}h1{font-size:clamp(28px,3.35vw,52px);font-weight:900;line-height:1;margin:13px 0 0;letter-spacing:-2.5px}h1 span{color:#7a8c66}.intro-right{text-align:right}.edition{font:10px 'Courier New',monospace;letter-spacing:1px}.edition span{color:#a3aa98;margin:0 8px}.intro-right p{font-size:12px;line-height:1.7;color:#747e6f;margin:9px 0 0}main{width:92%;max-width:1440px;margin:auto}.arcade{border:1px solid #25352d;border-radius:8px;overflow:hidden;box-shadow:0 5px 0 #d4d8cb;background:#22362e}.arcade-top{height:49px;background:#20372d;display:flex;align-items:center;justify-content:space-between;padding:0 25px;color:#dfe9d5;font:10px 'Courier New',monospace;letter-spacing:1px}.live-label{display:flex;gap:10px;align-items:center}.live-label .status-dot{background:var(--green);box-shadow:0 0 7px #a5d64b55}.stage-nav{display:flex;align-items:center;gap:7px}.stage-label{color:#91a78c;font-size:9px;margin-right:12px}.stage-pill{width:23px;height:23px;border:1px solid #667c60;color:#94aa8d;display:grid;place-items:center;border-radius:3px;font-size:10px}.stage-pill.current{background:var(--green);border-color:var(--green);color:#293d23}.stage-pill.done{color:var(--green);border-color:var(--green)}.stage-connector{width:17px;height:1px;background:#526e51}.pause-button{display:flex;align-items:center;gap:7px;background:transparent;color:#dce8d0;font:10px 'Courier New',monospace;letter-spacing:1px;padding:10px}.game-screen{position:relative;background:#8dc8b2;aspect-ratio:960/432;overflow:hidden}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;filter:saturate(var(--scene-saturation)) contrast(var(--scene-contrast));outline:none!important}.hud{position:absolute;top:6.3%;left:4%;right:4%;display:flex;gap:8%;color:#ffffe9;font-family:'Courier New',monospace;text-shadow:2px 2px 0 #34584060;pointer-events:none}.hud-label{display:block;font-size:clamp(7px,.8vw,12px);letter-spacing:1.5px;margin-bottom:6px}.hud strong{font-size:clamp(13px,1.5vw,22px);letter-spacing:1px}.hud-right{margin-left:auto;display:flex;gap:45px}.coin-icon{color:#fff27a}.overlay{position:absolute;inset:0;display:flex;align-items:center;padding:7% 5% 1%;background:linear-gradient(90deg,#0c302253,transparent 80%);pointer-events:none}.overlay.hidden{display:none}.start-card{pointer-events:auto;padding:24px 27px;background:#f0f0ddf2;box-shadow:5px 5px 0 #294b3655;border:1px solid #ffffff90;max-width:330px}.card-eyebrow{font:9px 'Courier New',monospace;letter-spacing:1.7px;color:#6c8059}h2{font-size:31px;line-height:1;letter-spacing:-1.5px;font-weight:900;margin:13px 0}.start-card p{font-size:12px;line-height:1.6;margin:13px 0 18px;color:#647259}.primary-button{background:var(--red);color:#fff9e9;min-height:45px;padding:0 18px;font:11px 'Courier New',monospace;letter-spacing:1.5px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:0 3px 0 #b4392b}.primary-button:hover{background:#d94330}.primary-button span{font:22px Arial}.start-hint{font:9px 'Courier New',monospace;display:block;text-align:center;margin-top:12px;color:#80916d}.overlay-tag{position:absolute;right:4%;bottom:23%;display:flex;flex-direction:column;gap:6px;font:10px 'Courier New',monospace;color:#f3fae4;letter-spacing:2px;text-shadow:1px 2px #325640}.overlay-tag span:last-child{color:#d4edab}.telemetry{height:75px;background:#f3f4e9;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:20px}.thruster-state{display:flex;align-items:center;gap:14px}.jet-symbol{font-size:31px;color:#7d9167}.telemetry-label{font:9px 'Courier New',monospace;letter-spacing:1px;color:#7a866e}.pressure-row{display:flex;align-items:center;gap:12px;margin-top:7px}.pressure-track{height:7px;width:152px;background:#dde2d2}.pressure-track>div{height:100%;width:100%;background:#82a450;transition:width .1s}.pressure-row strong{font:10px 'Courier New',monospace;min-width:33px}.telemetry-middle{display:flex;align-items:center;gap:9px;font:9px 'Courier New',monospace;letter-spacing:1px;color:#839276}.progress-state{min-width:218px}.progress-row{display:flex;align-items:center;gap:12px;margin-top:5px;font:10px 'Courier New',monospace}.progress-track{height:4px;width:142px;background:#dce1d2}.progress-track>div{height:100%;background:#819d60;width:0}.below-game{padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.control-guide{display:flex;align-items:center;gap:24px;font-size:11px;color:#727d69}.control-guide>span{display:flex;align-items:center;gap:6px}.control-guide .controls-label{font:9px 'Courier New',monospace;letter-spacing:1px;color:#849078;margin-right:8px}kbd{font:10px 'Courier New',monospace;display:inline-flex;justify-content:center;align-items:center;min-width:23px;height:23px;padding:0 5px;border:1px solid #c6cebb;border-bottom-width:2px;border-radius:3px;color:#526447;background:#f4f5ec}.wide-key{min-width:51px}.text-button{font:11px Arial;background:transparent;color:#7a866f;display:flex;gap:7px;white-space:nowrap}.text-button:hover{color:var(--red)}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#929b86;font:9px 'Courier New',monospace;padding:17px 0;letter-spacing:.4px}footer p{font-size:9px;letter-spacing:1px}.footer-note{font:10px Arial}.version{white-space:nowrap}.version span{font-size:6px;color:#8aa66b;margin:0 6px}.announcement{position:absolute;left:50%;top:24%;transform:translateX(-50%);padding:8px 16px;background:#213c2ce8;border:1px solid #c4ed5a;color:#eaffb8;font:11px 'Courier New',monospace;letter-spacing:1px;display:none;pointer-events:none}.announcement.show{display:block}.touch-controls{position:absolute;left:3%;right:3%;bottom:5%;justify-content:space-between;display:none;pointer-events:none}.touch-controls>div{display:flex;gap:10px}.touch-controls button{width:48px;height:48px;border-radius:50%;background:#223d2e95;color:#f0f6dc;border:1px solid #f1fad580;pointer-events:auto;touch-action:none;font-size:21px;user-select:none}.touch-controls .touch-jump{background:#e7503bdd;width:58px;height:58px;margin-top:-10px}dialog{border:1px solid #a9b79c;border-radius:8px;padding:36px;max-width:510px;width:calc(100% - 30px);background:#f1f2e7;color:var(--ink);box-shadow:0 20px 80px #132b2a55}dialog::backdrop{background:#112d25b8;backdrop-filter:blur(5px)}dialog h2{font-size:33px;margin:20px 0 15px}dialog>p{font-size:13px;line-height:1.6;color:#6a7861}.dialog-close{position:absolute;right:18px;top:13px;font-size:28px;background:none;color:#78916a}.manual-row{display:flex;gap:18px;align-items:center;border-bottom:1px solid #d7ddcc;padding:6px 0}.manual-row kbd,.manual-symbol{min-width:60px;text-align:center}.manual-symbol{font-size:27px;color:#91a64e}.manual-row p{font-size:12px;line-height:1.6;color:#6d7c62}.manual-row strong{color:#354c2c}.manual-foot{font-size:11px!important;margin:18px 0}.research-note{font-size:10px!important;margin-bottom:0}.research-note a{color:#627c42}body:has(dialog[open]){overflow:hidden}.arcade:fullscreen{border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;background:#13261d}.arcade:fullscreen .game-screen{max-height:calc(100vh - 100px);width:100%;flex-shrink:1}.arcade:fullscreen .telemetry{height:60px;flex-shrink:0}.arcade:fullscreen .arcade-top{flex-shrink:0}@media(min-width:1600px){.intro{padding:38px 0}}@media(max-width:1050px){.header-caption{display:none}.control-guide{gap:14px}.control-guide .controls-label{display:none}.intro{padding:26px 0}.start-card{padding:18px 22px;max-width:295px}h2{font-size:29px}.start-card p{margin:10px 0 14px}.telemetry-middle{display:none}}@media(max-width:700px){.site-header{height:70px;margin:0 4%;gap:8px}.brand{font-size:18px;gap:8px}.brand-icon{width:33px;height:33px}nav{gap:13px}.nav-divider{display:none}.nav-button{font-size:11px}.nav-button .key-icon{display:none}.icon-button{font-size:23px;padding:5px}.intro{padding:24px 0 20px;align-items:flex-end}h1{font-size:30px;letter-spacing:-1.5px;max-width:250px;line-height:1.05}.eyebrow{font-size:8px;letter-spacing:.5px}.intro-right p{display:none}.edition{font-size:8px;letter-spacing:0}.edition span{margin:0 2px}.arcade-top{padding:0 12px;height:43px;font-size:8px}.stage-label{display:none}.stage-connector{width:5px}.stage-nav{gap:4px}.stage-pill{width:19px;height:19px;font-size:9px}.pause-button{padding:8px 0;font-size:13px}.pause-button span{display:none}.game-screen{aspect-ratio:4/3}canvas{object-fit:cover}.hud{top:5%;left:5%;right:5%;gap:20px}.hud-label{font-size:7px;letter-spacing:.4px}.hud strong{font-size:12px}.hud-right{gap:15px}.overlay{padding:15% 5% 11%;justify-content:center;background:#143b2820}.start-card{padding:15px 20px;max-width:265px}.card-eyebrow{font-size:8px}.start-card h2{font-size:27px;margin:9px 0}.start-card p{font-size:11px;margin:10px 0 12px}.primary-button{min-height:39px;font-size:10px}.start-hint{font-size:8px;margin-top:9px}.overlay-tag{display:none}.telemetry{height:68px;padding:0 12px;gap:8px}.jet-symbol{display:none}.thruster-state{gap:0}.telemetry-label{font-size:7px;letter-spacing:.4px}.pressure-track{width:90px;height:6px}.pressure-row{gap:8px}.pressure-row strong{font-size:9px}.progress-state{min-width:135px}.progress-track{width:77px}.progress-row{gap:7px;font-size:9px}.below-game{padding:18px 0;align-items:flex-start}.control-guide{flex-wrap:wrap;gap:9px 14px;font-size:9px;max-width:270px}.control-guide>span{gap:4px}kbd{font-size:8px;height:21px;min-width:20px}.text-button{font-size:10px;padding-top:4px}footer{padding:13px 0;align-items:flex-start;flex-wrap:wrap;gap:3px}footer p{font-size:8px;margin:0}.footer-note{order:3;width:100%;font-size:9px;margin-top:5px}.version{font-size:8px}.announcement{font-size:8px;width:max-content;max-width:90%;text-align:center}}@media(pointer:coarse){.touch-controls{display:flex}.control-guide{display:none}.below-game:before{content:'TOUCH TO DRIVE · HOLD ↑ TO JET JUMP';font:8px 'Courier New',monospace;letter-spacing:.4px;color:#77896c}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.game-screen:not(.is-playing) .touch-controls{display:none}
.creator-credit{display:flex;justify-content:flex-end;padding:0}
.creator-badge{display:inline-flex;flex-direction:column;align-items:center;gap:3px;margin:0;padding:8px 14px;border:1px solid #c1ccb4;border-radius:20px;background:#e3e9d8;color:#5f7251;font:11px/1.6 'Courier New',monospace;text-align:center}
.creator-badge a{color:var(--ink);font-weight:bold;text-decoration-thickness:1px;text-underline-offset:3px}
.creator-badge a:hover{color:var(--red)}
.intro-left{text-align:left}.intro-left p{font-size:12px;line-height:1.7;color:#747e6f;margin:9px 0 0}
@media(max-width:700px){.intro{flex-direction:column;align-items:stretch;gap:14px}.creator-credit{justify-content:flex-end}.creator-badge{font-size:10px;padding:7px 12px;border-radius:14px}}

/* High-tech page shell */
body{
  color:#f4f6f5;
  background-color:#050607;
  background-image:
    radial-gradient(circle at 72% -12%,rgba(255,68,56,.24),transparent 34rem),
    radial-gradient(ellipse at 0% 64%,rgba(49,217,237,.1),transparent 40rem),
    radial-gradient(ellipse at 100% 100%,rgba(178,144,255,.12),transparent 36rem),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:auto,auto,auto,32px 32px,32px 32px;
}
.site-header{border-bottom:1px solid #25292c}
.brand{color:#fff;text-shadow:0 0 22px rgba(255,255,255,.08)}
.brand-icon{box-shadow:0 0 24px rgba(233,80,60,.3)}
.brand-dot{color:#ff5447}
.nav-button,.icon-button{color:#f4f6f5;transition:color .16s ease}
.nav-button:hover,.icon-button:hover{color:#ff5a4c}
.key-icon{border-color:#e9503c;color:#ff7064}
.nav-divider{background:#303437}
.intro{border-bottom:1px solid #1d2022}
.edition{color:#f4f6f5}
.edition span{color:#e9503c}
.intro-left p{color:#b9c5cd}
.creator-badge{
  color:#b9bebe;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border-color:#635080;
  border-radius:4px;
  box-shadow:inset 3px 0 0 var(--violet),0 12px 32px rgba(0,0,0,.28);
}
.creator-badge a{color:var(--violet)}
.creator-badge a:hover{color:#ff5a4c}
.arcade{border-color:#303437;box-shadow:0 0 0 1px rgba(255,68,56,.16),0 24px 80px rgba(0,0,0,.6)}
.arcade-top{background:#0a0d0f;color:#f4f6f5;border-bottom:1px solid #303437}
.stage-label,.stage-pill{color:#aeb4b4}
.stage-pill{border-color:#4b5052;background:#101315}
.stage-pill.current{background:var(--red);border-color:var(--red);color:#fff}
.stage-pill.done{color:var(--red);border-color:var(--red)}
.stage-connector{background:#4b5052}
.live-label .status-dot{background:var(--red);box-shadow:0 0 10px #ff443866}
.pause-button{color:#f4f6f5}
.hud{color:#fff;text-shadow:1px 2px 0 #102b3a,0 0 6px #102b3a80}
.coin-icon{color:var(--gold)}
.start-card{background:#f8fbf4f5;border-color:#fff;box-shadow:5px 5px 0 #102b3a70}
.start-card,.start-card h2{color:#13283a}
.card-eyebrow,.start-hint{color:#46616a}
.start-card p{color:#3e5864}
.primary-button{box-shadow:0 3px 0 #a82020}
.primary-button:hover{background:#e62f31}
.telemetry{background:#0a0d0f;color:#f4f6f5;border-top:1px solid #303437}
.telemetry-label,.telemetry-middle{color:#aeb4b4}
.telemetry-middle .status-dot{background:var(--cyan)}
.jet-symbol{color:var(--cyan)}
.pressure-track,.progress-track{background:#292e30}
.pressure-track>div{background:var(--cyan)}
.progress-track>div{background:var(--violet)}
.touch-controls button{background:#101315e6;color:#f4f6f5;border-color:#4b5052}
.touch-controls .touch-jump{background:var(--red);border-color:#ff7064}
.arcade:fullscreen{background:#050607}
.below-game{border-color:#292d30}
.control-guide{color:#c4c8c8}
.control-guide .controls-label{color:#ff6256}
kbd{color:#f8f9f8;background:#101315;border-color:#4b5052;border-bottom-color:#e9503c;box-shadow:0 0 12px rgba(233,80,60,.08)}
.text-button{color:#ff6256}
.text-button:hover{color:#fff}
footer{color:#a7b8c4}
footer p{color:#f4f6f5}
.version span{color:#e9503c}
dialog{color:#f4f6f5;background:#0a0d0f;border-color:#e9503c;box-shadow:0 28px 100px #000,0 0 40px rgba(233,80,60,.16)}
dialog::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(7px)}
dialog>p,.manual-row p{color:#aeb4b4}
.dialog-close,.manual-symbol,.research-note a{color:#ff6256}
.manual-row{border-color:#292e30}
.manual-row strong{color:#fff}

@media(max-width:700px){
  .creator-badge{border-radius:4px}
}

/* Keep portrait touch controls over the telemetry, below the play field. */
@media(max-width:700px) and (orientation:portrait) and (pointer:coarse){
  .game-screen{overflow:visible}
  .touch-controls{
    top:100%;
    bottom:auto;
    height:68px;
    align-items:center;
    z-index:1;
  }
  .touch-controls .touch-jump{margin-top:0}
  .arcade:fullscreen .touch-controls{height:60px}
}
