:root{--paper:#f3f1e8;--ink:#202720;--blue:#243bd1;--line:#d7d9ce;--muted:#778075;--cyan:#7fe7de;--orange:#edaa67}*{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{cursor:pointer;font:inherit;color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ec9861;outline-offset:3px}button{transition:background .15s,transform .15s}button:hover{filter:brightness(.95)}button:active{transform:translateY(1px)}.masthead{height:78px;padding:0 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--blue);font-weight:900;font-size:27px;letter-spacing:-1px}.logo{display:grid;place-items:center;width:42px;height:42px;background:var(--blue);color:var(--paper);font-size:39px;font-weight:400}.brand-sub{display:block;font:7px monospace;letter-spacing:1.4px;margin-top:3px}.header-note{font:10px monospace;letter-spacing:1.5px;color:#777e73}.utilities{display:flex;gap:18px}.utilities button{background:none;border:0;font:11px monospace;padding:8px 0}main{max-width:1536px;margin:auto;padding:30px 4% 0}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font:9px monospace;letter-spacing:1.4px;color:var(--muted);margin:0 0 9px}h1{font-size:clamp(25px,3vw,43px);line-height:1.15;letter-spacing:-1.7px;margin:0;font-weight:800}h1 em{color:var(--blue);font-style:normal}.status{font:9px monospace;letter-spacing:1px;display:flex;align-items:center;gap:8px}.status i,.flight-top i{width:6px;height:6px;background:#6a8a55;border-radius:50%;display:inline-block}.missions{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-bottom:17px}.missions button{border:0;border-right:1px solid var(--line);padding:16px 20px;display:flex;gap:17px;align-items:center;text-align:left;background:transparent}.missions button:last-child{border:0}.missions button>span{font:11px monospace;color:#848b7f}.missions button div{font-weight:bold;font-size:14px}.missions small{display:block;font:8px monospace;letter-spacing:1px;margin-top:6px;opacity:.65}.missions b{margin-left:auto;font-weight:400}.missions button.active{background:var(--blue);color:white}.missions button.active>span{color:#adb6ff}.console{display:grid;grid-template-columns:minmax(0,1fr) 270px;border:1px solid #bfc4b9}.viewport{position:relative;min-height:580px;overflow:hidden;background:#111e21}canvas{position:absolute;width:100%;height:100%;display:block;touch-action:none;outline:0}.flight-top,.flight-bottom{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;color:#9bb3ad;font:9px monospace;letter-spacing:1px;pointer-events:none}.flight-top{top:20px}.flight-top i{background:#8ad5b6;margin-right:8px;box-shadow:0 0 8px #83ca9866}.flight-bottom{bottom:18px}.flight-bottom button{pointer-events:auto;background:#203336;border:1px solid #577471;color:#accac4;padding:7px 11px;font:9px monospace}.map-legend{position:absolute;bottom:58px;left:24px;display:flex;gap:22px;font:8px monospace;letter-spacing:.8px}.cyan{color:var(--cyan)}.orange{color:var(--orange)}.telemetry{background:#eeefe6;padding:19px 20px;display:flex;flex-direction:column}.panel-head{display:flex;justify-content:space-between;color:var(--blue);font:10px monospace;letter-spacing:1.5px;padding-bottom:16px;border-bottom:1px solid var(--line)}.objective{padding:20px 0 15px}.objective h2{font-size:22px;letter-spacing:-.6px;margin:0 0 9px}.objective>p:last-child{font-size:11px;line-height:1.6;margin:0;color:#70796f}.score-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.score-row span,.resource-label,.readouts span,.attitude{font:8px monospace;letter-spacing:.6px}.score-row strong{font:26px monospace;color:var(--blue);letter-spacing:-1px}.resources{padding:18px 0 14px}.resource-label{display:flex;justify-content:space-between;margin-bottom:8px}.resource-label strong{font-weight:400}.meter{height:5px;background:#d3d9cd;margin-bottom:17px}.meter i{display:block;height:100%;width:100%;background:var(--blue);transition:width .15s}.meter.health{height:3px;margin-bottom:0}.meter.health i{background:#7c8c6c}#supply-icons{display:flex;gap:5px;margin-bottom:14px}#supply-icons i{height:12px;width:20px;border:1px solid #7a8374;background:#859079}#supply-icons i.empty{background:transparent;opacity:.3}.integrity{font-size:7px}.readouts{display:grid;grid-template-columns:1fr 1fr;gap:18px 10px;padding:17px 0;border-top:1px solid var(--line)}.readouts span{display:block;color:#737c70;font-size:7px;margin-bottom:7px}.readouts strong{font:18px monospace}.readouts small{font:9px monospace;color:#7f887c}.advice{border-left:2px solid var(--blue);background:#e3e6d9;padding:11px 12px;margin:4px 0 16px;min-height:78px}.advice span{font:8px monospace;color:var(--blue);letter-spacing:.5px}.advice p{font-size:11px;line-height:1.5;margin:6px 0 0}.attitude{display:flex;justify-content:space-between;margin-top:auto;padding-bottom:15px}.attitude strong{color:var(--blue);font-size:8px}.side-actions{display:flex;gap:8px}.side-actions button{flex:1;border:1px solid #b6bdaa;background:transparent;font:10px monospace;padding:10px 4px}.controls{display:flex;justify-content:space-between;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}.controls>div{display:flex;align-items:center;gap:5px}.controls span{font-size:10px;color:#687261;margin-left:3px}kbd{display:inline-block;border:1px solid #bdc5b3;border-bottom-width:2px;border-radius:3px;min-width:20px;padding:4px;text-align:center;font:9px monospace;background:#eff0e7}footer{display:flex;justify-content:space-between;gap:10px;padding:18px 0 23px;font:8px monospace;color:#8c9287;letter-spacing:.5px}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#101e21f7 10%,#101e21de 51%,#101e2133);display:flex;align-items:center;padding:48px;z-index:4;color:var(--paper)}.overlay.hidden,.hidden{display:none!important}.intro{max-width:490px}.intro .eyebrow{color:#a6b9a4;margin-bottom:22px}.intro h2{font-size:clamp(38px,4.1vw,60px);letter-spacing:-2.8px;line-height:1.03;margin:0 0 24px;font-weight:800}.intro h2 em{font-family:Georgia,serif;font-weight:400;color:var(--cyan)}.intro>p{max-width:345px;color:#a8bcb6;font-size:13px;line-height:1.75;margin:0 0 25px}.primary{border:0;background:#dee985;color:#203124;padding:14px 20px;font-size:12px;font-weight:bold}.secondary{background:transparent;color:#b7c7bf;border:1px solid #58716b;padding:13px 18px;font-size:11px}.intro .buttons{display:flex;gap:10px;flex-wrap:wrap}.intro .fineprint{font:8px monospace;letter-spacing:1px;color:#768f84;margin-top:20px}.stamp{display:inline-block;border:1px solid #738c74;color:#a1bfa0;transform:rotate(-5deg);padding:6px 10px;margin-bottom:23px;font:9px monospace;letter-spacing:2px}.results{display:flex;gap:25px;margin:22px 0 26px}.results span{font:8px monospace;color:#92aba1}.results strong{display:block;font:26px monospace;color:#dfeb9b;margin-top:6px}.tutorial{position:absolute;left:22px;bottom:85px;background:#eef0dfee;color:#21362f;border:1px solid #bcc7a9;padding:17px 19px;width:min(370px,calc(100% - 44px));z-index:3;box-shadow:0 8px 30px #0003}.tutorial>div:first-child{display:flex;justify-content:space-between;font:9px monospace;color:var(--blue)}.tutorial h3{font-size:18px;margin:12px 0 6px;letter-spacing:-.5px}.tutorial p{font-size:11px;line-height:1.6;margin:0 0 13px}.lesson-track{height:3px;background:#cbd1bd}.lesson-track i{height:3px;display:block;background:var(--blue)}#skip-tutorial{border:0;background:none;font:9px monospace;padding:10px 0 0;color:#69775e}#toast{position:absolute;top:55px;left:50%;transform:translateX(-50%);font:11px monospace;line-height:1.5;color:#dfe9ac;background:#1c3432e8;border:1px solid #7c927555;padding:10px 15px;text-align:center;width:max-content;max-width:85%;opacity:0;transition:opacity .2s;z-index:5}#toast.show{opacity:1}dialog{border:1px solid #8d9e80;background:var(--paper);color:var(--ink);max-width:760px;width:calc(100% - 30px);padding:38px;max-height:90vh}dialog::backdrop{background:#081a1bcc;backdrop-filter:blur(5px)}dialog h2{font-size:32px;letter-spacing:-1px;margin:0 0 16px}dialog p{font-size:12px;line-height:1.7}.dialog-close:first-child{position:absolute;right:12px;top:8px;background:none;border:0;font-size:25px}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:22px 0}.manual-grid b{font:10px monospace;color:var(--blue)}.touch-controls{display:none}@media(min-width:1550px){.viewport{min-height:660px}}@media(max-width:1050px){.header-note{display:none}.console{grid-template-columns:minmax(0,1fr) 240px}.telemetry{padding:16px}.controls{flex-wrap:wrap;justify-content:center}.status{display:none}.overlay{padding:30px}.missions button{padding:14px 12px;gap:10px}.missions small{font-size:7px}.viewport{min-height:610px}.intro h2{font-size:44px}.map-legend{gap:10px;font-size:7px}}@media(max-width:700px){main{padding:22px 15px 0}.masthead{padding:0 15px;height:65px}.utilities{gap:14px}.utilities button{font-size:10px}.brand-sub{font-size:6px}.page-title{margin-bottom:20px}h1{font-size:28px;letter-spacing:-1px}.eyebrow{font-size:8px}.missions small,.missions b{display:none}.missions button{padding:12px 7px;gap:6px}.missions button div{font-size:10px}.missions button>span{font-size:8px}.console{display:flex;flex-direction:column}.viewport{min-height:520px}.telemetry{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.panel-head{grid-column:1/-1}.objective{padding:0}.objective h2{font-size:19px}.score-row{border:0;align-self:start;flex-direction:column;align-items:flex-end;gap:5px}.resources{padding:4px 0;grid-row:3/5}.readouts{padding:4px 0;border:0;gap:12px}.advice{margin:0;min-height:0}.attitude{padding:8px 0}.side-actions{align-self:end}.overlay{padding:28px}.intro h2{font-size:45px}.intro>p{font-size:12px}.flight-top,.flight-bottom{left:16px;right:16px}.map-legend{left:16px}.controls{gap:12px}.controls span{font-size:9px}.touch-controls{display:flex;flex-wrap:wrap;gap:7px;padding-top:14px}.touch-controls button{flex:1 0 21%;background:#e4e8d9;border:1px solid #b6bdaa;padding:12px 5px;font:10px monospace;touch-action:none;user-select:none}footer{flex-wrap:wrap;font-size:7px}.manual-grid{grid-template-columns:1fr}dialog{padding:28px}.tutorial{bottom:81px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:700px){.touch-controls{padding:12px;border-bottom:1px solid var(--line);background:#e9eddf}.resources{grid-row:auto;grid-column:1/-1}.readouts{grid-column:1/-1;grid-template-columns:1fr 1fr}.readouts span{font-size:8px}.readouts strong{font-size:20px}.advice{grid-column:1/-1}.advice p{font-size:12px}.attitude{align-self:center}.overlay{background:linear-gradient(90deg,#101e21f5,#101e21ad)}.utilities button{white-space:nowrap}.brand-sub{max-width:105px;line-height:1.4}}
