@font-face{font-family:Silkscreen;src:url('./assets/fonts/Silkscreen-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
:root{color-scheme:dark;--ink:#edf2db;--navy:#081529;--panel:#0c1d31;--steel:#38566b;--cyan:#8fe3e1;--coral:#fa7183;--muted:#90afbc;--pixel:Silkscreen,monospace}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--navy);color:var(--ink)}body{font:15px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}.game{height:100svh;min-height:680px;position:relative;overflow:hidden;isolation:isolate;background:#8ab3bb}#universe{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;z-index:-3}.scanlines{position:absolute;inset:0;pointer-events:none;z-index:-2;background:repeating-linear-gradient(0deg,#0717270a 0 1px,transparent 1px 4px)}.flight-hud{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 112px));display:grid;grid-template-columns:190px 1fr 190px;align-items:start;gap:30px}.instrument{background:var(--navy);padding:12px 20px 13px;border-bottom:4px solid #254359;clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 5px,100% 5px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 5px),0 calc(100% - 5px),0 8px,8px 8px)}.instrument>span{display:block;font:10px var(--pixel);letter-spacing:2px;color:var(--muted);margin-bottom:6px}.instrument strong{font:24px var(--pixel);color:var(--cyan);white-space:nowrap}.instrument strong small{font-size:12px}.instrument.score{text-align:right}.instrument.score strong{color:var(--coral)}.mission-status{text-align:center;padding-top:2px}.wordmark{color:var(--navy);font:18px var(--pixel);text-decoration:none;letter-spacing:2px}.wordmark span{display:block;font-size:8px;letter-spacing:1.4px;margin-top:4px}.game[data-stage]:not([data-stage="0"]) .wordmark{color:var(--ink)}.round-pips{display:flex;justify-content:center;gap:5px;margin:12px auto 5px}.round-pips i{width:15px;height:15px;display:block;background:#0e253a;border:2px solid #497083;box-shadow:0 2px #071522}.round-pips i.done{background:#e9cc89;border-color:#f2e3ae}.round-pips i.current{background:var(--coral);border-color:#ffadad}.mission-status>span{font:9px var(--pixel);letter-spacing:1px;color:var(--navy)}.game[data-stage]:not([data-stage="0"]) .mission-status>span{color:var(--muted)}.utility{position:absolute;top:135px;left:4%;right:4%;display:flex;justify-content:space-between}.icon-button{background:var(--panel);border:2px solid var(--steel);box-shadow:3px 3px #08152966;color:var(--ink);padding:9px 12px;font:10px var(--pixel)}.icon-button:first-child{font-size:17px;min-width:40px}.icon-button span{color:var(--cyan)}.icon-button:hover{border-color:var(--cyan)}.route{padding:10px 8px;background:#081529cf;position:absolute;right:4.5%;top:29%;height:46%;width:144px;font:9px var(--pixel);color:#7396ac}.route-title{font-size:8px;letter-spacing:1px;display:block;margin-bottom:16px}.route ol{list-style:none;margin:0;padding:0 0 0 12px;border-left:2px solid #62899c55;display:flex;flex-direction:column-reverse;justify-content:space-between;height:calc(100% - 30px)}.route li{position:relative;padding:3px 0;font-size:8px;white-space:nowrap}.route li:before{content:'';position:absolute;left:-17px;top:6px;width:7px;height:7px;background:#315870;border:1px solid #83a9b4}.route li.reached{color:var(--cyan)}.route li.current{color:var(--coral)}.route li.current:before{background:var(--coral);border-color:#ffd4ca;box-shadow:0 0 0 3px #fa718322}.location-tag{position:absolute;left:5%;bottom:28%;font:11px var(--pixel);color:var(--ink);max-width:270px;background:#081529cf;padding:10px 14px;border-left:3px solid var(--cyan)}.location-tag>i,.telemetry i{display:inline-block;width:5px;height:5px;background:var(--cyan);margin-right:9px;animation:blink 2s steps(2,end) infinite}.location-tag small{display:block;color:var(--muted);font-size:8px;margin:6px 0 0 14px;line-height:1.5}.mission-card{background:var(--panel);box-shadow:0 7px #06102080;padding:28px 36px;text-align:left;border-top:3px solid #35576a;clip-path:polygon(10px 0,calc(100% - 10px) 0,calc(100% - 10px) 5px,100% 5px,100% calc(100% - 10px),calc(100% - 10px) calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,10px calc(100% - 5px),0 calc(100% - 5px),0 10px,10px 10px)}.intro-panel,.result-panel{position:absolute;top:max(29%,260px);left:50%;transform:translateX(-50%);width:min(590px,calc(100% - 44px))}.eyebrow{font:11px/1.6 var(--pixel);letter-spacing:2px;color:var(--coral);margin-bottom:15px}h1,h2{font:26px/1.6 var(--pixel);font-weight:400;margin:0 0 16px;color:var(--ink)}.mission-card p{color:#b2c9d0;font-size:14px;line-height:1.8;margin:0 0 23px}.primary-button{background:var(--coral);border:3px solid #b84867;border-top-color:#ffa9ad;border-left-color:#ffa9ad;box-shadow:0 4px #061326;color:#121e30;padding:13px 18px;font:11px var(--pixel);min-height:49px}.primary-button:hover{background:#ff95a1}.primary-button span{margin-left:13px}.best-line{font:9px var(--pixel);color:var(--muted);margin-top:20px}.best-line strong{color:var(--cyan);font-weight:400;margin-left:12px}.play-panel{position:absolute;inset:0;pointer-events:none;transition:opacity .2s}.play-panel>*{pointer-events:auto}.prompt-card{position:absolute;top:max(29%,260px);left:50%;transform:translateX(-50%);width:min(610px,calc(100% - 44px));padding:25px 34px}.prompt-card h2{font-size:25px;line-height:1.65;margin-bottom:20px}.prompt-card .prompt-hint{font:9px/1.6 var(--pixel);letter-spacing:1px;color:var(--muted);margin:0}.answer-dock{position:absolute;bottom:10%;left:50%;transform:translateX(-50%);width:min(740px,calc(100% - 56px));display:flex;gap:15px;align-items:flex-start}.timer-case{width:66px;min-width:66px;height:66px;background:#0b2034;border:3px solid #345d73;box-shadow:0 0 0 4px #071527b0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--cyan)}.timer-case span{font:24px var(--pixel)}.timer-case small{font:8px var(--pixel);color:var(--muted)}.answer-controls{flex:1;min-width:0}.answer-controls form{display:flex;gap:12px}input{width:100%;min-width:0;background:#071729;border:2px solid #4ba4b5;color:var(--ink);height:61px;padding:0 16px;outline:none;font:15px var(--pixel);caret-color:var(--coral);border-radius:0}input::placeholder{color:#657f96}input:focus{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}.submit-button{height:61px;white-space:nowrap;min-width:113px}.time-track{height:4px;background:#244157;margin-top:6px;margin-right:125px}.time-track i{display:block;width:100%;height:100%;background:var(--cyan);transition:width 1s linear}.dock-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font:8px/1.7 var(--pixel);color:var(--muted)}.dock-meta button{font:9px var(--pixel);color:var(--ink);border:0;background:none;padding:0 1px;white-space:nowrap}.dock-meta button:hover{color:var(--coral)}.transit{position:absolute;left:50%;top:31%;transform:translateX(-50%);text-align:center;background:#081529eF;border-top:3px solid var(--cyan);padding:24px 36px;min-width:320px;max-width:90%}.transit span{display:block;font:10px var(--pixel);color:var(--coral);letter-spacing:2px}.transit strong{display:block;font:29px/1.6 var(--pixel);margin:12px 0;color:var(--ink)}.transit small{font:9px var(--pixel);color:var(--cyan)}.game.is-launching .play-panel{opacity:0;pointer-events:none}.game.is-launching .play-panel>*{pointer-events:none}.result-stats{display:flex;gap:32px;margin-bottom:25px}.result-stats span{font:8px var(--pixel);color:var(--muted);display:block}.result-stats strong{font:15px var(--pixel);color:var(--cyan);display:block;margin-top:7px;max-width:220px;overflow-wrap:anywhere}.telemetry{position:absolute;left:4%;right:4%;bottom:22px;display:flex;justify-content:space-between;color:#95b6c0;font:8px var(--pixel);letter-spacing:1px}.telemetry span{background:#081529b8;padding:3px 6px}.is-hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(510px,calc(100% - 32px));background:var(--panel);color:var(--ink);border:3px solid var(--steel);padding:28px}dialog::backdrop{background:#030d1de6}dialog p{font-size:13px;color:#bed1da;line-height:1.8}dialog h2{font-size:21px}.dialog-close{float:right;color:var(--coral);background:none;border:0;font-size:25px}@keyframes blink{50%{opacity:.4}}
@media(max-width:1100px){.route{right:2%;width:116px}.route-title{font-size:7px}.route li{font-size:7px}.location-tag{font-size:9px;left:3%;max-width:215px;bottom:25%}.location-tag small{font-size:7px}.flight-hud{width:calc(100% - 100px);grid-template-columns:165px 1fr 165px}.prompt-card{width:min(570px,calc(100% - 280px))}.prompt-card h2{font-size:22px}}
@media(max-width:750px){.game{min-height:700px}.flight-hud{top:18px;width:calc(100% - 32px);grid-template-columns:104px 1fr 104px;gap:10px}.instrument{padding:10px}.instrument>span{font-size:7px;letter-spacing:1px}.instrument strong{font-size:15px}.instrument strong small{font-size:8px}.wordmark{font-size:13px;letter-spacing:0}.wordmark span{display:none}.round-pips{gap:3px;margin-top:9px}.round-pips i{height:10px;width:10px;border-width:1px}.mission-status>span{font-size:6px;letter-spacing:0}.utility{top:94px;left:17px;right:17px}.icon-button{font-size:8px;padding:6px 8px}.icon-button:first-child{font-size:12px;min-width:32px}.route{display:none}.location-tag{left:18px;bottom:29%;padding:7px 9px;max-width:calc(100% - 36px);font-size:8px}.location-tag small{font-size:6px;margin-top:3px}.intro-panel,.result-panel{top:max(25%,195px);width:calc(100% - 36px)}.mission-card{padding:23px}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:12px}h1,h2{font-size:22px}.mission-card p{font-size:12px}.primary-button{font-size:9px;padding:11px 13px}.best-line{font-size:7px}.prompt-card{top:max(24%,195px);width:calc(100% - 36px);padding:20px 24px}.prompt-card h2{font-size:19px;line-height:1.6;margin-bottom:14px}.prompt-card .prompt-hint{font-size:7px;letter-spacing:0}.answer-dock{bottom:11%;width:calc(100% - 36px);gap:10px}.timer-case{width:44px;min-width:44px;height:52px;border-width:2px}.timer-case span{font-size:18px}.timer-case small{font-size:6px}.answer-controls form{gap:7px}input{height:52px;font-size:11px;padding:0 10px}.submit-button{min-width:75px;height:52px;padding:10px 7px;font-size:8px}.time-track{margin-right:82px}.dock-meta{font-size:6px;margin-top:8px}.dock-meta button{font-size:7px}.telemetry{bottom:15px;left:15px;right:15px;font-size:6px;letter-spacing:0}.telemetry span:last-child{display:none}.transit{top:28%;padding:22px;min-width:280px}.transit strong{font-size:24px}.result-stats{gap:15px}.result-stats strong{font-size:12px}.result-stats span{font-size:7px}}
@media(max-width:370px){.flight-hud{grid-template-columns:94px 1fr 94px;gap:5px}.wordmark{font-size:11px}.mission-status>span{font-size:5px}.prompt-card h2{font-size:17px}.location-tag{bottom:30%}input{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.location-tag{top:194px;bottom:auto}
@media(max-width:750px){.location-tag{top:145px;bottom:auto}}

@media(max-width:750px){#universe{height:calc(100% - 170px)}.game{background:var(--navy)}.answer-dock{bottom:7%}}

@media(max-width:370px){.instrument strong{font-size:12px}.instrument strong small{font-size:7px}}

/* Readable, crawlable supporting content lives below the playable viewport. */
.skip-link{position:absolute;top:12px;left:12px;z-index:20;padding:10px 16px;color:var(--navy);background:var(--cyan);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.game-guide{max-width:1120px;margin:0 auto;padding:0 42px 42px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.8;color:#c4d5df}
.guide-nav{display:flex;flex-wrap:wrap;gap:12px 28px;padding:23px 0;border-bottom:1px solid var(--steel);font:11px/1.8 var(--pixel)}
.game-guide a{color:var(--cyan);text-underline-offset:4px}.guide-nav a{text-decoration:none}.guide-nav a:hover{text-decoration:underline}
.guide-intro{max-width:820px;padding:48px 0 20px}.game-guide .eyebrow{color:var(--coral);font:10px/1.6 var(--pixel);letter-spacing:2px}
.game-guide h1{font:28px/1.6 var(--pixel);color:var(--ink);margin:12px 0 24px}.game-guide h2{font:18px/1.7 var(--pixel);color:var(--ink);margin:0 0 20px}.game-guide p{margin:0 0 18px}
.guide-columns{display:grid;grid-template-columns:1fr 1fr;gap:52px;padding:22px 0 36px}.game-guide section{scroll-margin-top:28px}.play-steps{padding-left:24px;margin:0 0 20px}.play-steps li{padding-left:5px;margin-bottom:10px}
.game-guide strong{color:var(--ink);font-weight:650}.journey-guide{padding:32px 0;border-top:1px solid var(--steel);border-bottom:1px solid var(--steel)}.feature-list{padding-left:22px}.feature-list li{margin:9px 0}
.game-faq{padding:38px 0 24px}.game-faq details{border-top:1px solid #294357;padding:18px 0}.game-faq details:last-child{border-bottom:1px solid #294357}.game-faq summary{cursor:pointer;color:var(--ink);font-weight:650;padding-right:8px}.game-faq details p{margin:16px 0 2px;max-width:850px}
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;padding-top:25px;font-size:13px;color:var(--muted)}.script-notice{padding:18px;border:1px solid var(--coral);color:var(--ink)}
@media(max-width:750px){.game-guide{padding:0 22px 30px;font-size:15px}.guide-nav{gap:12px 20px;font-size:9px}.guide-intro{padding-top:32px}.game-guide h1{font-size:22px}.game-guide h2{font-size:16px}.guide-columns{grid-template-columns:1fr;gap:26px;padding-bottom:20px}}

input[aria-invalid="true"]{border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral)}

.round-pips i.missed{background:#422638;border-color:var(--coral);background-image:linear-gradient(45deg,transparent 42%,var(--coral) 43%,var(--coral) 57%,transparent 58%)}

/* Keep the pixel world; make the HUD brand and content heading order readable. */
.wordmark-heading{margin:0;font:inherit;line-height:1}.wordmark{color:#edf7e7;text-shadow:2px 2px #081529}
.guide-intro>h2{font:28px/1.6 var(--pixel);margin:12px 0 24px}.route li{font-size:9px;line-height:1.6}
.game-guide summary:focus-visible,.game-guide a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
@media(max-width:750px){.guide-intro>h2{font-size:22px}.wordmark-heading{font:inherit;line-height:1}}
