:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0c;--surface:#131315;--surface-2:#1a1a1d;--surface-3:#242428;--line:#2e2e33;--line-2:#4a4a52;--ink:#f4f4f1;--ink-2:#cfcfca;--muted:#8d8d93;--accent:#ff5b1f;--accent-soft:#ff5b1f24;--on-accent:#0b0b0c;--alert:#ff3b30;--good:#5ee08a;--bad:#ff7a6e;--display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--body:"Lexend", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--r:6px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;margin:0;font-weight:700;line-height:1.02}p{margin:0}button{font:inherit;color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex:none;display:block}.label,.mono,.tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:11.5px;font-weight:600}.label{color:var(--muted)}.tag{border:1px solid var(--line-2);color:var(--ink-2);border-radius:3px;padding:2px 6px;line-height:1.3}.tag-warn{border-color:var(--alert);color:var(--alert)}.accent{color:var(--accent)}.hint{color:var(--muted);font-size:14px}.app{background-color:var(--bg);background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;flex-direction:column;min-height:100%;display:flex}.topbar{min-height:60px;padding:8px max(16px, env(safe-area-inset-right,0px)) 8px max(16px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:#0b0b0ceb;align-items:center;gap:16px;display:flex}.topbar-name{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.phases{counter-reset:phase;gap:4px;margin:0 auto;padding:0;list-style:none;display:flex}.phases li{counter-increment:phase;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line);min-width:96px;padding:6px 10px 6px 8px;font-size:11.5px;font-weight:600}.phases li:before{content:"0" counter(phase) "  ";color:var(--line-2);white-space:pre}.phases li.done{color:var(--ink-2);border-bottom-color:var(--ink-2)}.phases li.now{color:var(--ink);border-bottom-color:var(--accent)}.phases li.now:before{color:var(--accent)}.btn{min-height:48px;font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:19px;font-weight:700;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:#ff7440}.btn-secondary{border-color:var(--ink);background:0 0}.btn-secondary:hover{background:var(--surface-3)}.btn-ghost{border-color:var(--line-2);color:var(--ink-2);background:0 0}.btn-ghost:hover{border-color:var(--ink-2);color:var(--ink)}.btn-big{min-height:56px;padding:12px 28px;font-size:22px}.btn-icon{border-color:var(--line-2);background:0 0;width:44px;min-height:44px;padding:0}.btn-icon:hover{border-color:var(--ink)}.btn-icon[aria-pressed=false]{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0;overflow:hidden}.panel-head{background:var(--surface-2);border-bottom:1px solid var(--line);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:11.5px;font-weight:600;display:flex}.panel-head>span:first-child{color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.panel-head>span:first-child:before{content:"";background:var(--accent);width:6px;height:6px}.panel-body{flex-direction:column;gap:12px;padding:14px;display:flex}.panel-dashed{background:0 0;border-style:dashed}.scene-panel svg{width:100%;height:auto;display:block}.screen{width:100%;max-width:1120px;padding:22px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));flex-direction:column;flex:1;gap:18px;margin:0 auto;display:flex;position:relative}.screen-head{flex-direction:column;gap:4px;display:flex}.screen-head h2{font-size:clamp(30px,4.6vw,44px)}.screen-head .label{color:var(--accent)}.title-screen{justify-content:center;align-items:flex-start;overflow:hidden}.title-planet{opacity:.9;background:radial-gradient(circle at 32% 30%,#f08a55 0%,#d4612d 34%,#8f3a17 68%,#2a0e05 100%);border-radius:50%;width:640px;height:640px;position:absolute;top:50%;right:-180px;transform:translateY(-50%);box-shadow:inset -60px -40px 120px #000000bf}.title-planet:after{content:"";border:1px solid #ffffff1f;border-radius:50%;position:absolute;inset:-18px}.title-card{background:#131315f0;width:100%;max-width:540px;position:relative}.title-body{flex-direction:column;gap:20px;padding:24px;display:flex}.title-card h1{font-size:clamp(44px,7.5vw,68px);line-height:.92}.title-sub{color:var(--ink-2);font-size:17px}.title-pip{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);align-items:center;gap:14px;padding:12px;display:flex}.title-pip p{color:var(--ink-2);font-size:15px}.title-pip strong{color:var(--ink)}.title-actions{flex-direction:column;gap:10px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.settings{border:0;border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 22px;margin:0;padding:14px 24px 18px;display:flex}.settings legend{float:left;width:100%;margin-bottom:4px}.toggle{cursor:pointer;align-items:center;gap:10px;font-size:15px;display:inline-flex}.toggle input{appearance:none;border:1px solid var(--line-2);background:var(--surface-3);cursor:pointer;border-radius:999px;width:40px;height:22px;margin:0;transition:background .15s;position:relative}.toggle input:after{content:"";background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.toggle input:checked{background:var(--accent-soft);border-color:var(--accent)}.toggle input:checked:after{background:var(--accent);transform:translate(18px)}.toggle input:disabled{opacity:.4}.segmented{border:1px solid var(--line-2);border-radius:4px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.segmented button{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:0;min-height:56px;padding:10px 14px;display:flex}.segmented button+button{border-left:1px solid var(--line-2)}.segmented strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:20px}.segmented span{font-family:var(--mono);color:var(--muted);letter-spacing:.08em;font-size:11.5px}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.segmented button[aria-pressed=true] span{color:#55555b}.badge-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.badge-form{flex-direction:column;gap:14px;min-width:0;display:flex}.name-presets{flex-wrap:wrap;gap:6px;display:flex}.option-pill{border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:4px;min-height:44px;padding:8px 14px;font-weight:500}.option-pill:hover{border-color:var(--ink-2)}.option-pill[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.name-input{flex-direction:column;gap:6px;display:flex}.name-input input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:4px;max-width:320px;padding:10px 12px;font-size:18px}.name-input input:focus{border-color:var(--accent);outline:none}.roles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.role-card{text-align:left;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:14px;display:flex;position:relative}.role-card:hover{border-color:var(--ink-2)}.role-card[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface-3)}.role-card[aria-pressed=true]:after{content:"Selected";font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:10px;position:absolute;top:10px;right:10px}.role-icon{border:1px solid var(--line-2);background:var(--bg);border-radius:4px;place-items:center;width:46px;height:46px;display:grid}.role-card[aria-pressed=true] .role-icon{border-color:var(--accent);color:var(--accent)}.role-card strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:22px}.role-line{color:var(--ink-2);font-size:14px}.role-perk{font-family:var(--mono);color:var(--ink);border-top:1px dashed var(--line-2);width:100%;padding-top:6px;font-size:12px}.badge-preview{flex-direction:column;gap:14px;display:flex;position:sticky;top:16px}.badge-card{color:#0b0b0c;background:#f4f4f1;border-radius:10px;flex-direction:column;align-items:stretch;display:flex;overflow:hidden;box-shadow:0 18px 50px #0000008c}.badge-top{color:#f4f4f1;font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;border-bottom:4px solid var(--accent);background:#0b0b0c;justify-content:space-between;align-items:center;padding:10px 16px;font-size:18px;font-weight:700;display:flex}.badge-top .mono{color:var(--accent)}.badge-photo{background:#e4e4df;border:2px solid #0b0b0c;border-radius:6px;place-items:center;width:104px;height:104px;margin:18px auto 6px;display:grid}.badge-name{text-align:center;font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere;padding:0 16px;font-size:34px;line-height:1.05}.badge-fields{border-top:1px solid #0b0b0c;grid-template-columns:repeat(3,1fr);margin:14px 16px 16px;display:grid}.badge-fields div{padding:8px 6px 0}.badge-fields div+div{border-left:1px solid #c8c8c2}.badge-fields dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#6b6b70;font-size:10px}.badge-fields dd{margin:0;font-size:14px;font-weight:600}.badge-stripe{opacity:.85;background:repeating-linear-gradient(90deg,#0b0b0c 0 2px,#0000 2px 5px,#0b0b0c 5px 6px,#0000 6px 10px);height:30px;margin:0 16px 16px}.badge-fact{color:var(--ink-2);border-left:2px solid var(--accent);flex-direction:column;gap:4px;padding-left:12px;font-size:14px;display:flex}.badge-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.badge-actions .btn-big{flex:1}.dialogue{background:var(--surface);border:1px solid var(--line-2);border-left:4px solid var(--ink);border-radius:var(--r);z-index:3;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:auto;padding:14px 16px;display:grid;position:relative}.dialogue.mood-alert{border-left-color:var(--alert)}.dialogue.mood-alert .tag{border-color:var(--alert);color:var(--alert)}.dialogue.mood-happy{border-left-color:var(--accent)}.dialogue-body{flex-direction:column;gap:4px;min-width:0;display:flex}.dialogue-head{align-items:center;gap:10px;display:flex}.dialogue-name{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:18px;font-weight:700}.dialogue-text{font-size:clamp(17px,2.2vw,20px);font-weight:500;line-height:1.45}.dialogue-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.pip-shell{fill:var(--surface-3);stroke:var(--ink);stroke-width:2.5px}.pip-glass{fill:#050506}.pip-eye{fill:var(--ink)}.pip-mouth{fill:none;stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.pip-stroke{stroke:var(--ink);stroke-width:2.5px}.pip-signal{fill:var(--ink)}.pip-happy .pip-eye,.pip-happy .pip-signal{fill:var(--accent)}.pip-happy .pip-mouth{stroke:var(--accent)}.pip-alert .pip-eye,.pip-alert .pip-signal{fill:var(--alert)}.pip-alert .pip-mouth,.pip-alert .pip-shell{stroke:var(--alert)}.pip-neck{fill:var(--line-2)}.pip-chassis{fill:var(--ink-2)}.pip-wheel{fill:#0b0b0c;stroke:var(--ink-2);stroke-width:2px}.pip-hub{fill:var(--ink-2)}.cockpit{gap:12px}.cockpit-window{border:1px solid var(--line);background:#020203;border-radius:28px 28px 6px 6px;flex:1;min-height:300px;position:relative;overflow:hidden}.stars{opacity:.8;background-image:radial-gradient(1px 1px at 20% 30%,#fff,#0000),radial-gradient(1px 1px at 70% 20%,#fff,#0000),radial-gradient(1.5px 1.5px at 40% 70%,#fff,#0000),radial-gradient(1px 1px at 85% 60%,#fff,#0000),radial-gradient(1px 1px at 10% 85%,#fff,#0000),radial-gradient(1.5px 1.5px at 60% 45%,#fff,#0000),radial-gradient(1px 1px at 30% 10%,#fff,#0000),radial-gradient(1px 1px at 92% 14%,#fff,#0000);position:absolute;inset:0}.window-mars{aspect-ratio:1;background:radial-gradient(circle at 32% 30%,#f08a55 0%,#d4612d 34%,#8f3a17 68%,#2a0e05 100%);border-radius:50%;width:min(70vw,540px);transition:transform 2.5s ease-out;position:absolute;top:64%;left:50%;overflow:hidden;box-shadow:inset -50px -30px 100px #000000b3}.window-storm{background:radial-gradient(circle,#f5dcbef2,#f0c8a073 60%,#0000 70%);border-radius:50%;width:36%;height:26%;animation:5s linear infinite swirl;position:absolute;top:20%;left:30%}.window-frame{box-shadow:inset 0 0 0 1px var(--line-2);pointer-events:none;border:12px solid #0d0d0f;border-radius:28px 28px 6px 6px;position:absolute;inset:0}.window-frame:before,.window-frame:after{content:"";border-top:2px solid var(--accent);width:22px;height:22px;position:absolute;top:18px}.window-frame:before{border-left:2px solid var(--accent);left:18px}.window-frame:after{border-right:2px solid var(--accent);right:18px}.cockpit-panel{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;display:grid}.panel-screen{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-direction:column;min-width:0;padding:8px 12px;display:flex}.panel-screen span{font-family:var(--mono);letter-spacing:.12em;color:var(--muted);font-size:10.5px}.panel-screen strong{font-family:var(--mono);color:var(--ink);font-size:16px;font-weight:600}.panel-screen.panel-warn{border-color:var(--alert)}.panel-screen.panel-warn strong{color:var(--alert)}.panel-lights{border:1px solid var(--line);background:var(--surface);border-radius:4px;grid-template-columns:repeat(4,10px);align-content:center;gap:8px;padding:0 10px;display:grid}.panel-lights i{border-radius:2px;width:10px;height:10px;display:block}.panel-lights .teal{background:var(--ink-2)}.panel-lights .amber{background:var(--accent)}.panel-lights .red{background:var(--alert);animation:.6s steps(2,end) infinite blink}.alarm-overlay{pointer-events:none;box-shadow:inset 0 0 0 6px var(--alert), inset 0 0 160px #ff281e59;z-index:2;animation:.9s ease-in-out infinite pulse;position:absolute;inset:0}.cockpit.is-alarm .cockpit-window,.cockpit.is-alarm .cockpit-panel{animation:.45s ease-in-out 5 shake}.landing-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.map-ground{fill:#9c5330}.map-grid line{stroke:#0000002e;stroke-width:1px}.map-low{fill:#b4653b}.map-rocks{fill:#5e2c15}.map-ice{fill:#e9f4f8}.map-orbit{fill:none;stroke:#f4f4f1;stroke-width:1.5px;stroke-dasharray:5 5;opacity:.75}.map-storm{fill:#f0d6b6b8;transform-origin:205px 125px;animation:3s ease-in-out infinite swirl-pulse}.map-storm-label{fill:#4a210c;font-family:var(--mono);letter-spacing:.12em;font-size:11px;font-weight:600}.map-marker{cursor:pointer}.map-marker circle{fill:#0b0b0c;stroke:#f4f4f1;stroke-width:2px}.map-code{fill:#f4f4f1;font-family:var(--mono);pointer-events:none;font-size:13px;font-weight:600}.map-name{fill:#f4f4f1;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;paint-order:stroke;stroke:#2a0e05;stroke-width:3px;font-size:11px;font-weight:600}.map-marker.selected circle{fill:var(--accent);stroke:#0b0b0c}.map-marker.selected .map-code{fill:#0b0b0c}.map-marker.locked{cursor:not-allowed;opacity:.5}.site-list{flex-direction:column;gap:10px;display:flex}.site-card{text-align:left;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);cursor:pointer;flex-direction:column;gap:8px;padding:14px;display:flex}.site-card:hover{border-color:var(--ink-2)}.site-card[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface-2)}.site-head{align-items:center;gap:10px;display:flex}.site-code{border:1px solid var(--ink);width:26px;height:26px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.site-card[aria-pressed=true] .site-code{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.site-head strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:24px}.site-pitch{color:var(--ink-2);font-size:15px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font-family:var(--mono);border:1px solid;border-radius:3px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.chip.good{color:var(--good);background:#5ee08a0f;border-color:#5ee08a73}.chip.bad{color:var(--bad);background:#ff7a6e0f;border-color:#ff7a6e73}.descent-sky{border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(#1a0f12,#6b331f 70%,#a5532c);flex:1;min-height:320px;position:relative;overflow:hidden}.phase-heat .descent-sky{background:linear-gradient(#050304,#261013 70%,#4a1d10)}.lander{width:80px;height:120px;transition:top 3s ease-in;position:absolute;top:16%;left:50%;transform:translate(-50%)}.phase-chute .lander{top:34%}.phase-rockets .lander{top:52%}.phase-landed .lander{top:calc(100% - 150px)}.capsule{background:#e9e9e4;border:2px solid #0b0b0c;border-radius:30px 30px 6px 6px;width:60px;height:50px;position:absolute;bottom:30px;left:10px}.heat-glow{background:radial-gradient(circle,#fff3c4,#ff8a3c 40%,#ff461433 70%,#0000);border-radius:50%;width:100px;height:60px;animation:.3s infinite alternate flicker;position:absolute;bottom:10px;left:-10px}.chute{background:repeating-linear-gradient(90deg, var(--accent) 0 20px, #f4f4f1 20px 40px);border-radius:140px 140px 0 0;width:140px;height:70px;position:absolute;top:-70px;left:-30px}.chute:after{content:"";background:#ddd;width:2px;height:34px;position:absolute;top:70px;left:50%}.flames{background:radial-gradient(at top,#fff6c2,#ffae42 50%,#0000 75%);width:36px;height:34px;animation:.15s infinite alternate flicker;position:absolute;bottom:0;left:22px}.descent-ground{background:#8a4526;border-top:2px solid #b4653b;height:90px;position:absolute;bottom:0;left:0;right:0}.dust-puff{background:radial-gradient(#e6b48ce6,#0000 70%);border-radius:50%;width:240px;height:60px;animation:1.2s ease-out forwards puff;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.descent-steps{border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.descent-steps li{text-align:center;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface);padding:10px 6px;font-size:12px;font-weight:600}.descent-steps li+li{border-left:1px solid var(--line)}.descent-steps li.done{color:var(--ink)}.descent-steps li.done:before{content:"✓ ";white-space:pre;color:var(--good)}.descent-steps li.now{background:var(--accent);color:var(--on-accent)}.report-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.report-side{flex-direction:column;gap:12px;min-width:0;display:flex}.report-lesson{color:var(--ink);font-weight:500}.log{margin:0;list-style:none}.log li{align-items:center;gap:10px;font-size:15px;display:flex}.log .dot{border-radius:50%;flex:none;width:8px;height:8px;margin:0 5px}.log li.good{color:var(--good)}.log li.good .dot{background:var(--good)}.log li.bad{color:var(--bad)}.log li.bad .dot{background:var(--bad)}.base-sky{fill:#d39a74}.base-hills{fill:#b67a52}.base-ground{fill:#a9592f;stroke:#87441f;stroke-width:2px}.base-ice{fill:#eef7fa;stroke:#b9dbe8;stroke-width:1.5px}.base-far-ice text{fill:#4a210c;font-size:10px;font-weight:600;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}.solar{fill:#15192a;stroke:#e9e9e4;stroke-width:1.5px}.solar.broken{fill:#3a3a40}.panel-crack{fill:none;stroke:var(--alert);stroke-width:2px}.panel-leg{stroke:#3a3a40;stroke-width:3px}.hab-base{fill:#8e8e94}.hab-dome{fill:#efefea;stroke:#6b6b70;stroke-width:2px}.hab-door{fill:#2a2a2e}.gh-glass{fill:#bef0d2bf;stroke:#efefea;stroke-width:2px}.gh-roof{fill:#e1faebe6;stroke:#efefea;stroke-width:1px}.gh-plant{fill:#3c8f4a}.lander-body{fill:#e9e9e4;stroke:#0b0b0c;stroke-width:2px}.gauges{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gauge{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-align:left;min-width:0;color:var(--ink);flex-direction:column;gap:4px;padding:10px 12px 12px;display:flex}.gauge-btn{cursor:pointer}.gauge-btn:hover{border-color:var(--ink-2)}.gauge-btn.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.gauge-btn.seen:not(.selected){border-color:var(--line-2)}.gauge-top{color:var(--ink-2);align-items:center;gap:8px;display:flex}.gauge-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;flex:1;font-size:11.5px;font-weight:600}.gauge-value{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.gauge-value small{color:var(--muted);margin-left:2px;font-size:16px}.segments{gap:3px;margin-top:4px;display:flex}.segments i{background:var(--surface-3);border-radius:1px;flex:1;height:8px}.segments i.on{background:var(--ink)}.segments.warn i.on{background:var(--alert)}.academy-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.academy-grid h3{font-size:24px}.academy-grid p{color:var(--ink-2)}.academy-screen>.btn{align-self:flex-start}.base-screen{gap:14px}.base-screen>.gauges{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=760px){.base-screen>.gauges{grid-template-columns:1fr 1fr}}.base-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.base-left{flex-direction:column;gap:14px;min-width:0;display:flex}.log li.info{color:var(--ink-2)}.log li.info .dot{background:var(--line-2)}.log li .icon{color:var(--good)}.pool{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;padding-bottom:12px;display:flex}.pool i{background:var(--accent);border-radius:3px;width:18px;height:18px}.pool i.used{border:1px dashed var(--line-2);background:0 0}.pool-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:4px;margin-left:auto;font-size:12px;font-weight:600;display:inline-flex}.system{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon text stepper""icon blocks stepper";align-items:center;gap:4px 12px;padding:12px;display:grid}.system.short{border-color:var(--alert)}.system-icon{border:1px solid var(--line-2);background:var(--bg);border-radius:4px;grid-area:icon;place-items:center;width:44px;height:44px;display:grid}.system-text{flex-direction:column;grid-area:text;min-width:0;display:flex}.system-text strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:20px;line-height:1.1}.system-text span{color:var(--ink-2);font-size:13.5px}.system-blocks{flex-wrap:wrap;grid-area:blocks;gap:3px;min-height:14px;display:flex}.system-blocks i{background:var(--ink);border-radius:2px;width:14px;height:14px}.system-blocks i.need{border:1px dashed var(--alert);background:0 0}.stepper{grid-area:stepper;align-items:center;gap:6px;display:flex}.stepper .btn-icon{font-family:var(--mono);color:var(--ink);font-size:22px;font-weight:600}.stepper-value{text-align:center;min-width:24px;font-family:var(--display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.forecast{border-top:1px dashed var(--line-2);flex-direction:column;gap:8px;padding-top:12px;display:flex}.forecast .log li{font-size:14px}.card-text{max-width:62ch;font-size:18px}.options{flex-direction:column;gap:10px;display:flex}.option{text-align:left;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;transition:border-color .15s,background .15s;display:grid}.option:hover{border-color:var(--accent);background:var(--surface-3)}.option-key{border:1px solid var(--ink);width:34px;height:34px;font-family:var(--mono);border-radius:50%;place-items:center;font-weight:600;display:grid}.option:hover .option-key{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.option-body{flex-direction:column;gap:6px;min-width:0;display:flex}.option-body strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:22px;line-height:1.1}.option-note{color:var(--ink-2);font-size:13.5px}.option-note.perk{color:var(--good)}.option-note.warn{color:var(--alert)}.result-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.lesson .panel-head>span:first-child:before{background:var(--good)}.lesson-text{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;font-size:26px;font-weight:700;line-height:1.1}.real{color:var(--ink-2);border-left:2px solid var(--accent);flex-direction:column;gap:4px;padding-left:12px;font-size:15px;display:flex}.ending-head{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.ending-head .label{color:var(--accent)}.ending-head h2{font-size:clamp(40px,7vw,64px)}.ending-stars{gap:6px;display:flex}.star path{fill:var(--surface-3);stroke:var(--line-2);stroke-width:1px}.star.on path{fill:var(--accent);stroke:var(--accent)}.ending-side{flex-direction:column;gap:14px;min-width:0;display:flex}.ending-side a{color:var(--accent)}.timeline{gap:8px;margin:0;list-style:none}.timeline li{color:var(--ink-2);grid-template-columns:56px minmax(0,1fr);gap:10px;font-size:14px;display:grid}.timeline li.bad span:last-child{color:var(--bad)}.timeline .mono{color:var(--muted)}.solar-rays line{stroke:#ffcf5c;stroke-width:2px;opacity:.55;stroke-dasharray:8 10}.weather-solar .base-sky{fill:#e0a07a}.dust-haze{fill:#c98c5c;opacity:.55;pointer-events:none}.solar.dusty{fill:#6b5a48}.hab-soil{fill:#8a4526;stroke:#5e2c15;stroke-width:1.5px}.hab-light{fill:#fff2a8}.slot-habitat.dim .hab-light{fill:#3a3a40}.slot-habitat.dim .hab-dome{fill:#b9b9b4}.shield-field{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:6 4;opacity:.9}.slot-greenhouse.dark .gh-glass{fill:#505a55bf}.slot-greenhouse.dark .gh-plant{fill:#4a5a4a}@media (width<=760px){.base-layout,.result-layout{grid-template-columns:minmax(0,1fr)}.system{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon text""blocks blocks""stepper stepper"}.stepper{justify-content:flex-end}.option{grid-template-columns:auto minmax(0,1fr)}.option>.icon{display:none}.base-screen .dialogue{bottom:max(8px, env(safe-area-inset-bottom,0px));position:sticky}}.systems-head{flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px}.systems-head>div{flex-direction:column;gap:4px;display:flex}.systems-summary{color:var(--ink-2)}.systems-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);align-items:start;gap:14px;display:grid}.systems-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.system-group:first-child{grid-column:1/-1}.readings{background:var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid}.reading{text-align:left;background:var(--surface);cursor:pointer;border:0;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex;position:relative}.reading:hover{background:var(--surface-2)}.reading.selected{background:var(--surface-3);box-shadow:inset 0 0 0 2px var(--accent)}.reading.seen:after{content:"";background:var(--line-2);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.reading-top{color:var(--ink-2);align-items:center;gap:6px;padding-right:10px;display:flex}.reading-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;flex:1;min-width:0;font-size:10.5px;font-weight:600}.reading-value{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.reading-bar{background:var(--surface-3);border-radius:1px;height:6px;display:block;overflow:hidden}.reading-bar i{background:var(--ink);height:100%;display:block}.status-watch .reading-bar i{background:var(--accent)}.status-low .reading-bar i{background:var(--alert)}.reading-short{color:var(--ink-2);font-size:12.5px;line-height:1.35}.tag-ok{color:var(--good);border-color:#5ee08a80}.tag-watch{border-color:var(--accent);color:var(--accent)}.tag-low{border-color:var(--alert);color:var(--alert)}.simready-screen{max-width:820px}@media (width<=1000px){.systems-layout{grid-template-columns:minmax(0,1fr)}}.rotate-hint{display:none}@media (orientation:portrait) and (width<=820px){.rotate-hint{z-index:50;padding:24px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));background:var(--bg);text-align:center;font-family:var(--display);text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:28px;display:flex;position:fixed;inset:0}.rotate-hint .icon{color:var(--accent);transform:rotate(90deg)}}.app-sim{height:100%;min-height:0}.app-sim .topbar{min-height:48px;padding-block:4px}.sim-screen{min-height:0;padding:10px max(14px, env(safe-area-inset-right,0px)) 12px max(14px, env(safe-area-inset-left,0px));flex-direction:column;flex:1;gap:10px;width:100%;max-width:1600px;margin:0 auto;display:flex}.hud{justify-content:space-between;align-items:stretch;gap:10px;display:flex}.hud-group{flex-wrap:wrap;gap:6px;display:flex}.hud-right{justify-content:flex-end}.meter{background:var(--surface);border:1px solid var(--line);min-width:104px;color:var(--ink-2);border-radius:4px;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;column-gap:8px;padding:6px 10px;display:grid}.meter .icon{grid-row:1/3}.meter-text{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.meter-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:600}.meter-value{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:21px;font-weight:700;line-height:1}.meter-value small{color:var(--muted);margin-left:1px;font-size:12px}.meter-bar{background:var(--surface-3);border-radius:1px;grid-column:2;height:4px;margin-top:4px;overflow:hidden}.meter-bar i{background:var(--ink);height:100%;transition:width .5s;display:block}.meter.warn{border-color:var(--alert)}.meter.warn .icon,.meter.warn .meter-value{color:var(--alert)}.meter.warn .meter-bar i{background:var(--alert)}.meter.done{border-color:var(--good)}.meter.done .meter-bar i{background:var(--good)}.hud-clock{border:1px solid var(--accent);border-radius:4px;flex-direction:column;justify-content:center;min-width:96px;padding:4px 12px;display:flex}.hud-clock .mono{color:var(--accent)}.hud-clock strong{font-family:var(--display);text-transform:uppercase;font-size:20px;line-height:1}.sim-main{flex:1;grid-template-columns:minmax(230px,.85fr) minmax(0,2.4fr) minmax(250px,.95fr);gap:10px;min-height:0;display:grid}.sim-side{flex-direction:column;min-height:0;display:flex}.machine-list,.crew-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.machine{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.machine.on{color:var(--ink)}.machine:disabled{cursor:default}.machine:not(:disabled):hover{background:var(--surface-2)}.machine-text{flex-direction:column;min-width:0;display:flex}.machine-text strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:16px;line-height:1.1}.machine-text span{color:var(--muted);font-size:11.5px;line-height:1.3}.machine-use{color:var(--ink-2);font-size:11px}.switch{border:1px solid var(--line-2);background:var(--surface-3);border-radius:999px;flex:none;width:32px;height:18px;position:relative}.switch i{background:var(--muted);border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.machine.on .switch{border-color:var(--accent);background:var(--accent-soft)}.machine.on .switch i{background:var(--accent);transform:translate(14px)}.power-forecast{border-top:1px solid var(--line);color:var(--ink-2);flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px;display:flex}.power-forecast strong{color:var(--ink);font-family:var(--mono)}.power-forecast .pos{color:var(--good);font-weight:600}.power-forecast .neg{color:var(--alert);font-weight:600}.sim-center{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.sim-scene-wrap{flex:1;min-height:0;display:flex}.sim-scene{width:100%;height:100%;display:block}.greenhouse-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.plot{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:3px;min-width:0;padding:8px 10px;display:flex}.plot.ripe{border-color:var(--good)}.plot-head{color:var(--muted)}.plot strong{font-family:var(--display);text-transform:uppercase;font-size:17px;line-height:1.1}.plot-bar{background:var(--surface-3);border-radius:1px;height:5px;overflow:hidden}.plot-bar i{background:var(--good);height:100%;display:block}.plot-note{color:var(--ink-2);font-size:11.5px}.plot-pick{gap:4px;display:flex}.plot-pick button,.task-pick button{border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:3px;padding:4px 8px;font-size:12px}.plot-pick button[aria-pressed=true],.task-pick button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.plot-pick button:disabled,.task-pick button:disabled{cursor:default;opacity:.6}.crew-card{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px;display:flex}.crew-card.player{box-shadow:inset 3px 0 0 var(--accent)}.crew-top{align-items:center;gap:8px;display:flex}.crew-top strong{font-family:var(--display);text-transform:uppercase;flex:1;font-size:18px}.crew-top .mono{color:var(--muted);font-size:10px}.crew-icon{border:1px solid var(--line-2);border-radius:3px;place-items:center;width:28px;height:28px;display:grid}.crew-bars{grid-template-columns:1fr 1fr;gap:8px;display:grid}.crew-bars span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:2px;font-size:10px;display:flex}.crew-bars i{background:var(--ink);border-radius:1px;height:4px;display:block}.crew-bars .warn{color:var(--alert)}.crew-bars .warn i{background:var(--alert)}.task-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.task-pick button{justify-content:center;align-items:center;gap:4px;padding:5px 4px;display:inline-flex}.sim-screen>.dialogue{margin-top:0;padding:8px 14px}.sim-screen>.dialogue .dialogue-text{font-size:16px}.sim-scene .sun{fill:#fff2c8;opacity:.9}.sim-scene .night-stars circle{fill:#fff;opacity:.8}.sim-scene .hills{fill:#a8673f}.sim-scene.time-night .hills{fill:#3a2219}.sim-scene .plate{fill:#b5612f;stroke:#8a4526;stroke-width:2px}.sim-scene .ice{fill:#eef7fa;stroke:#b9dbe8}.sim-scene .panel{fill:#15192a;stroke:#e9e9e4;stroke-width:1.5px}.sim-scene .panel.broken{fill:#3a3a40}.sim-scene .panel.off{fill:#0b0d16}.sim-scene .leg{stroke:#3a3a40;stroke-width:3px}.sim-scene .module{fill:#e2e2dc;stroke:#3a3a40;stroke-width:1.5px}.sim-scene .dish{fill:#f4f4f1;stroke:#3a3a40;stroke-width:1.5px}.sim-scene .led{fill:var(--good)}.sim-scene .led.off,.sim-scene .oxy:not(.on) .led:first-of-type{fill:#55555b}.sim-scene .puff{fill:#fff;opacity:.6;animation:2s ease-out infinite puff-up}.sim-scene .hab-base{fill:#8e8e94}.sim-scene .hab-dome{fill:#efefea;stroke:#6b6b70;stroke-width:2px}.sim-scene .door{fill:#2a2a2e}.sim-scene .window{fill:#fff2a8}.sim-scene .hab.dim .window{fill:#3a3a40}.sim-scene .gh-wall{fill:#aae1c38c;stroke:#efefea;stroke-width:2px}.sim-scene .gh-roof{fill:#dcfaebd9;stroke:#efefea}.sim-scene .greenhouse.lit .gh-wall{fill:#beffd7cc}.sim-scene .bed{fill:#6b3a1e}.sim-scene .crop{fill:#4c9a52}.sim-scene .crop.potato{fill:#7fa84a}.sim-scene .crop.ripe{stroke:#fff;stroke-width:1.5px}.sim-scene .tank{fill:#e2e2dc;stroke:#3a3a40;stroke-width:1.5px}.sim-scene .fuel-level{fill:var(--accent);opacity:.85}.sim-scene .beacon{fill:var(--accent);animation:1s steps(2,end) infinite blink}.sim-scene .rig{fill:none;stroke:#3a3a40;stroke-width:3px}.sim-scene .astro-body,.sim-scene .astro-helmet{fill:#f4f4f1;stroke:#0b0b0c;stroke-width:1.2px}.sim-scene .astro-visor{fill:#1d2235}.sim-scene .astro.player .astro-visor,.sim-scene .astro-marker{fill:var(--accent)}.sim-scene .night-tint{fill:#0a0c1e;opacity:.35;pointer-events:none}@keyframes puff-up{0%{opacity:.7;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.hud-storm{border:1px solid var(--alert);color:var(--alert);border-radius:4px;align-items:center;gap:8px;padding:4px 10px;display:flex}.hud-storm span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;font-size:10px;display:flex}.hud-storm strong{font-family:var(--display);letter-spacing:.02em;font-size:18px;line-height:1}.hud-storm.today{background:#ff3b301f}.hud-storm.tomorrow{border-color:var(--accent);color:var(--accent)}.crew-bars{grid-template-columns:1fr 1fr 1fr}.task-pick{grid-template-columns:repeat(4,minmax(0,1fr))}.task-pick button{white-space:nowrap;flex-direction:column;gap:1px;padding:4px 2px;font-size:10.5px;line-height:1.1;overflow:hidden}.task-pick button span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.sim-scene .panel.dusty{fill:#6b5a48}.sim-scene .storm-rays line{stroke:#ffcf5c;stroke-width:2.5px;opacity:.6;stroke-dasharray:10 12}.sim-scene .dust-haze{fill:#c98c5c;opacity:.5;pointer-events:none}.event-title{font-size:34px}.event-modal{width:min(720px,100%)}.sim-scene-wrap{background:linear-gradient(#1a1418 0 45%,#6b3a20 45% 100%)}.sim-scene{overflow:hidden}.sim-scene .sky-top,.sim-scene .sky-mid,.sim-scene .sky-bottom{transition:stop-color .8s}.time-morning .sky-top{stop-color:#8a6f86}.time-morning .sky-mid{stop-color:#d9a27e}.time-morning .sky-bottom{stop-color:#e8c09a}.time-day .sky-top{stop-color:#b98a6c}.time-day .sky-mid{stop-color:#e2b48e}.time-day .sky-bottom{stop-color:#ecc7a2}.time-evening .sky-top{stop-color:#2c3a64}.time-evening .sky-mid{stop-color:#8a7a96}.time-evening .sky-bottom{stop-color:#c98a6a}.time-night .sky-top{stop-color:#03040a}.time-night .sky-mid{stop-color:#0d1022}.time-night .sky-bottom{stop-color:#241a2a}.sim-scene .stars circle{fill:#fff;opacity:0;transition:opacity .8s}.sim-scene.time-night .stars circle{opacity:.85}.sim-scene.time-evening .stars circle{opacity:.25}.sim-scene .sun{fill:#fffaf0}.sim-scene .mesa-far{fill:#b98563;opacity:.75}.sim-scene .mesa-near{fill:#9e6440}.sim-scene .grain{fill:#000;opacity:.35}.sim-scene .rock{fill:#6e3a20}.sim-scene .track{fill:none;stroke:#6a3519;stroke-width:4px;stroke-dasharray:3 5;opacity:.5}.sim-scene .shadow-soft{fill:#000;opacity:.28}.sim-scene .ice{fill:#eef6f8;stroke:#c8e1ea;stroke-width:1px}.sim-scene .ice-shine{fill:#fff;opacity:.8}.sim-scene .box-edge{stroke:#5c5f66;stroke-width:1.2px}.sim-scene .box-top{fill:#f6f7f8;opacity:.6}.sim-scene .metal-box{fill:#d7d9dc;stroke:#5c5f66;stroke-width:1px}.sim-scene .post{stroke:#6b6e75;stroke-width:3px}.sim-scene .post.thin{stroke-width:1.5px}.sim-scene .pipe{fill:none;stroke:#9a9da3;stroke-width:5px;stroke-linecap:round}.sim-scene .vent-grille{fill:#4a4d54}.sim-scene .rig{fill:none;stroke:#5c5f66;stroke-width:3px;stroke-linejoin:round}.sim-scene .rig-bit{stroke:#3a3c41;stroke-width:2.5px}.sim-scene .drill.on .rig-bit{stroke:var(--accent);stroke-dasharray:4 3;animation:.4s linear infinite drill}.sim-scene .panel-frame{fill:none;stroke:#c9ccd1;stroke-width:1.6px}.sim-scene .panel-sheen{fill:#fff;opacity:.14}.sim-scene .panel-dust{fill:#b77a4f;opacity:0;transition:opacity .6s}.sim-scene .solar.dusty .panel-dust{opacity:.55}.sim-scene .crack{fill:none;stroke:#ff5a4a;stroke-width:2px}.sim-scene.time-night .panel-face{filter:brightness(.5)}.sim-scene .cell-window{fill:#111317}.sim-scene .cell{fill:#23262c}.sim-scene .hab-shell{stroke:#5c5f66;stroke-width:1.4px}.sim-scene .seam{stroke:#8a8d93;stroke-width:1px;opacity:.7}.sim-scene .hab-skirt{fill:#6d7077}.sim-scene .airlock{stroke:#5c5f66;stroke-width:1.2px}.sim-scene .airlock-door{fill:#3b3e45}.sim-scene .window-frame{fill:#2a2d33;stroke:#9a9da3;stroke-width:2px}.sim-scene .gh-floor-back{fill:#2a1f1a;opacity:.7}.sim-scene .bed{fill:#4b3527;stroke:#2c1f17;stroke-width:1px}.sim-scene .bed-soil{fill:#2b1d14}.sim-scene .plant ellipse,.sim-scene .plant circle{transition:all .6s}.sim-scene .lettuce ellipse{fill:#4f9e4a;stroke:#2f6b2d;stroke-width:.6px}.sim-scene .lettuce .heart{fill:#8fd06a}.sim-scene .lettuce.ripe ellipse{fill:#63b856}.sim-scene .potato ellipse{fill:#3e8a3c;stroke:#285e27;stroke-width:.5px}.sim-scene .potato .stem{stroke:#3c6e2a;stroke-width:1.4px}.sim-scene .potato .flower{fill:#f4f1ff}.sim-scene .farmer-body{fill:#2f5d8a}.sim-scene .farmer.player .farmer-body{fill:var(--accent)}.sim-scene .farmer-head{fill:#e2b48e}.sim-scene .farmer-legs{stroke:#23364d;stroke-width:3px;stroke-linecap:round}.sim-scene .tank-shell{fill:url(#metal);stroke:#5c5f66;stroke-width:1.4px}.sim-scene .tank-shine{fill:#fff;opacity:.35}.sim-scene .tank-base{fill:#5c5f66}.sim-scene .gauge-glass{fill:#0d1015;stroke:#3a3d44;stroke-width:1px}.sim-scene .gauge-fill{transform-box:fill-box;transform-origin:50% 100%;transition:transform .7s}.sim-scene .tank-water .gauge-fill{fill:#3aa0ff}.sim-scene .tank-oxygen .gauge-fill{fill:#7fe0ff}.sim-scene .tank-fuel .gauge-fill{fill:var(--accent)}.sim-scene .gauge-tick{stroke:#3a3d44;stroke-width:1px}.sim-scene .rover-deck{fill:#3b3e45}.sim-scene .wheel{fill:#22252a;stroke:#4a4d54;stroke-width:2px}.sim-scene .hub{fill:#9a9da3}.sim-scene .suit-body,.sim-scene .suit-helmet{fill:#f2f2ee;stroke:#6b6e75;stroke-width:1px}.sim-scene .suit-pack{fill:#c9cbcf;stroke:#6b6e75;stroke-width:1px}.sim-scene .suit-legs{fill:#e3e3de;stroke:#6b6e75;stroke-width:1px}.sim-scene .suit-arm{fill:none;stroke:#e3e3de;stroke-width:4px;stroke-linecap:round}.sim-scene .suit-visor{fill:url(#visor)}.sim-scene .player-mark{fill:var(--accent)}.sim-scene .light{pointer-events:none;transition:fill .8s,opacity .8s}.sim-scene.time-morning .light{fill:#ffb070;opacity:.08}.sim-scene.time-day .light{fill:#fff;opacity:0}.sim-scene.time-evening .light{fill:#2a2f66;opacity:.28}.sim-scene.time-night .light{fill:#04061a;opacity:.62}.sim-scene .dust-haze{fill:#c08055;opacity:.45;transition:fill .8s,opacity .8s}.sim-scene.time-evening .dust-haze{fill:#5e3a2a;opacity:.5}.sim-scene.time-night .dust-haze{fill:#1c120e;opacity:.55}.sim-scene .dust-streak{stroke:#e8b48a;stroke-width:2px;opacity:.45;stroke-dasharray:40 30;animation:1.4s linear infinite dust-blow}.sim-scene .solar-storm .particle{stroke:#ffd36a;stroke-width:1.6px;opacity:.5;stroke-dasharray:6 18;animation:.8s linear infinite particles}.sim-scene .window{fill:#ffd98a;filter:url(#glow);transition:fill .4s}.sim-scene .window.off{fill:#2a3346;filter:none}.sim-scene.time-day .window,.sim-scene.time-morning .window{fill:#f4e2b8;filter:none}.sim-scene .person{fill:#1d2230}.sim-scene .person.player{fill:#6b2a10}.sim-scene .grow-light{fill:#ff4fd8;opacity:0;transition:opacity .6s}.sim-scene .grow-light.on{opacity:.12}.sim-scene.time-night .grow-light.on,.sim-scene.time-evening .grow-light.on{opacity:.32}.sim-scene .gh-glass{fill:url(#glass);stroke:#e6f2f6;stroke-width:2px}.sim-scene .gh-rib{stroke:#e6f2f6;stroke-width:1.4px;opacity:.55}.sim-scene .gh-interior.dim{filter:brightness(.35)}.sim-scene .gh-glint{fill:none;stroke:#fff;stroke-width:3px;opacity:.45;stroke-linecap:round}.sim-scene .lamp{stroke:#1d2026;stroke-width:1.5px}.sim-scene .lamp.on{fill:#4ee08a;filter:url(#glow)}.sim-scene .lamp.off{fill:#4a4d54}.sim-scene .lamp.broken{fill:#ff3b30;filter:url(#glow);animation:.8s steps(2,end) infinite blink}.sim-scene .lamp-label{fill:#2a2d33;font-family:var(--mono);text-anchor:middle;font-size:9px;font-weight:600}.sim-scene .cell.full{fill:#4ee08a}.sim-scene .cell.full.low{fill:#ff3b30}.sim-scene .flare{fill:#ffb347;filter:url(#glow);animation:1.2s ease-in-out infinite blink}.sim-scene .steam circle{fill:#fff;opacity:.55;animation:2.4s ease-out infinite puff-up}.sim-scene .steam circle:nth-child(2){animation-delay:1.2s}.sim-scene .readout rect{fill:#0a0b0ed1;stroke:#ffffff40;stroke-width:1px}.sim-scene .readout text{text-anchor:middle;font-family:var(--mono);fill:#f4f4f1}.sim-scene .readout-label{letter-spacing:.12em;fill:#b9bbc0;font-size:10px}.sim-scene .readout-value{font-size:16px;font-weight:600}@keyframes drill{to{stroke-dashoffset:-14px}}@keyframes dust-blow{to{stroke-dashoffset:-140px}}@keyframes particles{to{stroke-dashoffset:-48px}}.eva-bar{background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;display:flex}.eva-bar.active{border-color:var(--accent)}.eva-bar-title{font-family:var(--display);text-transform:uppercase;align-items:center;gap:6px;font-size:16px;font-weight:700;display:inline-flex}.eva-bar-info{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.eva-bar-rover,.eva-bar-check{color:var(--ink-2);font-size:11px}.eva-bar-check{color:var(--alert)}.eva-bar-check.ok{color:var(--good)}.btn-small{min-height:32px;padding:4px 12px;font-size:15px}.eva-modal{width:min(1040px,100%)}.eva-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;display:grid;overflow-y:auto}.eva-col{flex-direction:column;gap:8px;min-width:0;display:flex}.eva-crew{flex-wrap:wrap;gap:6px;display:flex}.eva-sites{flex-direction:column;gap:6px;display:flex}.eva-site{text-align:left;background:var(--surface-2);border:1px solid var(--line-2);cursor:pointer;border-radius:4px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.eva-site:hover{border-color:var(--ink-2)}.eva-site[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.eva-site.short{opacity:.65}.eva-site-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.eva-site-head strong{font-family:var(--display);text-transform:uppercase;font-size:19px}.eva-site-head .mono{color:var(--ink-2);font-size:11px}.eva-site-what{color:var(--ink-2);font-size:13px}.checklist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.checklist li{border:1px solid var(--line);border-radius:4px;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:8px;padding:6px 8px;display:grid}.checklist li strong{font-size:14px;display:block}.checklist li small{color:var(--ink-2);font-size:12px;display:block}.checklist .check-mark{border-radius:50%;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.checklist li.ok{border-color:#5ee08a66}.checklist li.ok .check-mark{color:var(--good);background:#5ee08a2e}.checklist li.no{border-color:#ff3b3066}.checklist li.no .check-mark{color:var(--alert);background:#ff3b302e}.sim-scene .rover-charge-bg{fill:#111317}.sim-scene .rover-charge{fill:#4ee08a}.sim-scene .rover-charge.broken{fill:#ff3b30}@media (width<=900px){.eva-body{grid-template-columns:minmax(0,1fr)}}@media (height<=520px){.eva-bar{gap:6px;padding:2px 6px}.eva-bar-title{font-size:12px}.eva-bar-info,.eva-bar-rover{font-size:10px}.eva-bar .btn-small{min-height:26px;padding:2px 8px;font-size:12px}}.modal-backdrop{z-index:40;padding:16px max(16px, env(safe-area-inset-right,0px)) 16px max(16px, env(safe-area-inset-left,0px));background:#0000009e;place-items:center;display:grid;position:fixed;inset:0}.modal{flex-direction:column;width:min(880px,100%);max-height:100%;display:flex;box-shadow:0 24px 80px #0009}.report-body{overflow-y:auto}.report-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.report-res{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;padding:8px 10px}.report-res-head{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.report-res-head strong{font-family:var(--display);letter-spacing:0;margin-left:auto;font-size:20px}.report-res .pos{color:var(--good)}.report-res .neg{color:var(--alert)}.report-res ul{flex-direction:column;gap:2px;margin:6px 0 0;padding:0;list-style:none;display:flex}.report-res li{color:var(--ink-2);justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:10px 14px;display:flex}.ending-banner{border:1px solid var(--good);background:#5ee08a0f;border-radius:4px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.ending-banner.emergency{border-color:var(--alert);background:#ff3b3014}.ending-banner strong{font-family:var(--display);text-transform:uppercase;font-size:28px}.ending-stars-row{gap:4px;display:flex}@media (height<=880px){.machine-text span{display:none}.machine{padding-block:7px}}@media (width<=1100px){.sim-main{grid-template-columns:minmax(200px,.8fr) minmax(0,2fr) minmax(220px,.9fr)}.meter{min-width:88px;padding:5px 8px}.machine-text span{display:none}}@media (height<=520px){.app-sim .topbar{min-height:34px;padding-block:2px}.app-sim .topbar-name{font-size:15px}.app-sim .topbar .btn-icon{width:32px;min-height:32px}.app-sim .phases{display:none}.sim-screen{gap:6px;padding-top:6px;padding-bottom:6px}.hud{gap:4px}.hud-group{flex-wrap:nowrap;gap:3px}.meter{column-gap:4px;min-width:0;padding:2px 6px}.meter .icon{width:12px;height:12px}.meter-label{display:none}.meter-value{font-size:14px}.meter-value small{font-size:9px}.meter-bar{height:2px;margin-top:2px}.hud-clock{min-width:0;padding:2px 8px}.hud-clock .mono{font-size:9px}.hud-clock strong{font-size:13px}.sim-main{grid-template-columns:minmax(150px,.8fr) minmax(0,2fr) minmax(170px,.9fr);gap:6px}.sim-side .panel-head{padding:4px 8px;font-size:9.5px}.machine{gap:5px;padding:4px 6px}.machine-text strong{font-size:12px}.machine-use{font-size:9px}.switch{width:24px;height:14px}.switch i{width:8px;height:8px}.machine.on .switch i{transform:translate(10px)}.power-forecast{padding:4px 6px;font-size:10px}.greenhouse-row{gap:4px}.plot{gap:1px;padding:3px 6px}.plot strong{font-size:12px}.plot-note,.plot-head{display:none}.plot-pick button,.task-pick button{padding:2px 4px;font-size:10px}.crew-card{gap:3px;padding:5px 6px}.crew-top strong{font-size:13px}.crew-top .mono,.crew-bars{display:none}.crew-icon{width:20px;height:20px}.task-pick button span{display:none}.sim-screen>.dialogue{gap:8px;padding:4px 8px}.sim-screen>.dialogue .dialogue-pip,.sim-screen>.dialogue .dialogue-head{display:none}.sim-screen>.dialogue .dialogue-text{font-size:12px}.sim-screen>.dialogue .btn{min-height:34px;padding:4px 12px;font-size:15px}.hud-storm{gap:4px;padding:2px 6px}.hud-storm span{font-size:8px}.hud-storm strong{font-size:12px}.sim-side .panel-head>span:last-child{display:none}.machine .tag{letter-spacing:.04em;padding:1px 3px;font-size:8px}.modal .panel-body{gap:8px;padding:8px}.event-title{font-size:22px}.option{gap:8px;padding:8px}.option-body strong{font-size:16px}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px,3px)}50%{transform:translate(5px,-4px)}75%{transform:translate(-3px,-2px)}}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes blink{50%{opacity:.2}}@keyframes swirl{to{transform:rotate(360deg)}}@keyframes swirl-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes flicker{0%{opacity:.75}to{opacity:1}}@keyframes puff{0%{opacity:0;transform:translate(-50%)scale(.4)}30%{opacity:1}to{opacity:0;transform:translate(-50%)scale(1.4)}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition:none!important;animation:none!important}.reduce-motion .alarm-overlay{opacity:.7}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1000px){.phases li{min-width:0;padding:6px}}@media (width<=900px){.phases{display:none}.topbar-name{margin-right:auto}}@media (width<=760px){.phases{display:none}.topbar-name{margin-right:auto}.badge-layout,.landing-layout,.report-layout{grid-template-columns:minmax(0,1fr)}.badge-preview{position:static}.roles{grid-template-columns:minmax(0,1fr)}.cockpit-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-lights{display:none}.title-planet{width:420px;height:420px;top:120px;right:-220px;transform:none}.dialogue{grid-template-columns:auto minmax(0,1fr)}.dialogue-actions{grid-column:1/-1}.dialogue-actions .btn-primary{flex:1}.landing-screen .dialogue{bottom:max(8px, env(safe-area-inset-bottom,0px));position:sticky}.btn-big{width:100%}.descent-steps li{letter-spacing:.04em;font-size:10.5px}}
