@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-400-italic.woff2) format("woff2")}:root{--bg: #15181f;--panel: #11141a;--ink: #c3c7d2;--ink-bright: #e4e8f2;--dim: #848b9a;--faint: #4c5363;--rule: #212630;--rule-strong: #323847;--ember: #c2a05e;--rust: #b66e64;--font: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--t-prose: 14px;--t-row: 12.5px;--t-meta: 11px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--t-meta);line-height:1.5;-webkit-font-smoothing:antialiased}body{overflow:hidden}::selection{background:#232936;color:var(--ink-bright)}#app{display:flex;flex-direction:column;height:100%;max-width:none;margin:0;padding:0}#app>.statusline,#app>.viewport-band,#app>.footer{flex:0 0 auto}#app>.layout{flex:1 1 auto;min-height:0}.statusline{display:flex;align-items:baseline;justify-content:space-between;gap:16px;background:var(--ink);color:var(--bg);font-size:var(--t-meta);letter-spacing:.1em;padding:5px 18px;white-space:nowrap}.statusline>*{min-width:0;overflow:hidden;text-overflow:ellipsis}.sl-left{display:flex;align-items:baseline;gap:10px}.sl-home{color:inherit;text-decoration:none;opacity:.75}.sl-home:hover{opacity:1}.sl-home:focus-visible{outline:1px solid currentColor;outline-offset:2px;opacity:1}.statusline .sl-mid{text-align:center}.statusline .sl-right{text-align:right;font-variant-numeric:tabular-nums}.layout{display:grid;grid-template-columns:380px minmax(0,1fr);min-height:0;height:100%}.rail{min-width:0;min-height:0;overflow-y:auto;border-right:1px solid var(--rule);padding:18px 20px 30px}.story{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:34px 52px 40px}@media(max-width:1100px){.layout{grid-template-columns:320px minmax(0,1fr)}.story{padding:28px 32px}}.tabbar{display:none}@media(max-width:900px){.layout{grid-template-columns:1fr;min-height:0}.rail,.story{grid-column:1;grid-row:1;border-right:none;min-height:0}.story{padding:16px 16px 8px;overflow:hidden}.rail{padding:14px 16px 24px;overflow-y:auto}.layout.show-story .rail,.layout.show-console .story{display:none}.readout.is-strip{position:static;background:var(--panel);margin:0;padding:7px 12px;border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 16px}.readout.is-strip>div{display:contents}.readout.is-strip .resource{flex:0 0 auto;gap:6px;padding:2px 0}.readout.is-strip .resource-name,.readout.is-strip .resource-leader{display:none}.readout.is-strip.has-live .resource:not(.has-rate):not(.has-note){display:none}.readout.is-strip.has-live.is-expanded .resource:not(.has-rate){display:flex}.readout.is-strip .resource-rate{flex:0 0 auto;text-align:left}.readout-more{background:none;border:none;border-radius:0;color:var(--ember);font-family:inherit;font-size:var(--t-meta);padding:2px 0;cursor:pointer;margin-left:auto}.statusline .sl-left{display:flex}.statusline .sl-ship{display:none}.statusline{justify-content:space-between;padding:5px 12px}.footer{padding:8px 12px;gap:8px 8px;flex-wrap:wrap;justify-content:center}.footer>span:first-child{display:none}.footer .spacer{display:none}.footer button{white-space:nowrap}.tabbar{display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;border-top:1px solid var(--rule)}.tab{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--panel);border:none;border-top:1px solid transparent;border-radius:0;color:var(--dim);font-family:inherit;font-size:var(--t-meta);letter-spacing:.14em;padding:13px 8px;cursor:pointer}.tab.is-active{background:var(--bg);border-top-color:var(--ember);color:var(--ink)}.tab-badge:empty{display:none}.tab-badge{font-size:var(--t-meta);letter-spacing:0;color:var(--ember)}.tab-badge.is-fault{color:var(--rust);border:1px solid var(--rust);padding:0 4px}}.viewport-band{display:grid;grid-template-rows:1fr auto;transition:grid-template-rows .32s ease-out;border-bottom:1px solid var(--rule);background:var(--panel)}.viewport-band.is-folded{grid-template-rows:0fr auto}.viewport{margin:0;padding:0;min-height:0;line-height:0;overflow:hidden}.viewport svg{display:block;width:100%;height:auto;max-height:30vh}.viewport-bar{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-top:1px solid var(--rule);border-radius:0;color:var(--faint);font-family:inherit;font-size:var(--t-meta);letter-spacing:.14em;padding:5px 18px;cursor:pointer;text-align:left}.viewport-band.is-folded .viewport-bar{border-top:none}.viewport-bar:hover{color:var(--dim)}.viewport-caret{transition:transform .32s ease-out}.viewport-band:not(.is-folded) .viewport-caret{transform:rotate(90deg)}@keyframes viewport-cut{0%{opacity:.35}to{opacity:1}}.viewport.is-change svg{animation:viewport-cut .7s ease-out both}@media(prefers-reduced-motion:reduce){.viewport.is-change svg{animation:none}.viewport-band,.viewport-caret{transition:none}}@media(max-width:900px){.viewport svg{max-height:22vh}.viewport-bar{padding:5px 18px}}.log-body em,.ending-epilogue em{font-style:italic}.readout{position:sticky;top:-18px;z-index:2;background:var(--bg);margin:-18px -20px 0;padding:18px 20px 8px;border-bottom:1px solid var(--rule)}.resource{display:flex;align-items:baseline;gap:8px;padding:5px 0;min-width:0}.resource-token{flex:0 0 46px;font-size:var(--t-meta);color:var(--dim);letter-spacing:.1em}.resource-name{font-size:var(--t-meta);color:var(--dim);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:5ch}.resource-note{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resource-leader{flex:1 1 auto;min-width:8px;border-bottom:1px dotted var(--rule);transform:translateY(-3px)}.resource-vals{white-space:nowrap;font-size:var(--t-row);color:var(--ink);font-variant-numeric:tabular-nums}.resource-cap{font-size:var(--t-meta);color:var(--faint)}.resource-rate{flex:0 0 54px;text-align:right;font-size:var(--t-meta);font-variant-numeric:tabular-nums}.rate-pos{color:var(--dim)}.rate-neg{color:var(--rust)}.rate-zero{color:var(--faint)}.resource.near-cap .resource-vals{color:var(--ember)}.resource-note{flex:0 0 auto;font-size:var(--t-meta);letter-spacing:.05em;white-space:nowrap}.resource-note:empty{display:none}.readout-more{display:none}.group{margin-top:20px}.group-title{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--t-meta);color:var(--faint);text-transform:uppercase;letter-spacing:.14em;margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--rule)}.item-row{display:flex;align-items:baseline;gap:8px;width:100%}.item{position:relative;display:block;width:100%;text-align:left;background:none;border:none;border-radius:0;color:var(--ink);font-family:inherit;font-size:var(--t-row);padding:5px 0;margin:0;cursor:pointer;transition:color .1s,background .1s}.item-gutter{flex:0 0 9px;font-size:var(--t-meta);color:var(--ember);line-height:1;visibility:hidden}.item.is-revealed .item-gutter,.item.action .item-gutter{visibility:visible}.group-new{color:var(--ember);letter-spacing:0}.group-new:empty{display:none}.group-fold{display:block;background:none;border:none;border-radius:0;color:var(--faint);font-family:inherit;font-size:var(--t-meta);text-align:left;padding:6px 0 6px 16px;cursor:pointer}.group-fold:after{content:" ▸"}.group-fold.is-open:after{content:" ▾"}.group-fold:hover{color:var(--dim)}.group-folded .item{opacity:.55}.item-name{color:var(--ink);min-width:0}.item-owned{font-size:var(--t-meta);color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}.item-leader{flex:1 1 auto;min-width:8px;border-bottom:1px dotted var(--rule);transform:translateY(-3px)}.item-cost{font-size:var(--t-meta);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.item.is-short .item-cost{color:var(--rust)}.item.is-done .item-cost{color:var(--dim)}.item-status{display:block;padding-left:17px;margin-top:2px;font-size:var(--t-meta);letter-spacing:.05em;line-height:1.3}.item-status:empty{display:none}.item-status.is-idle{color:var(--faint)}.item-status.is-starved,.resource-note.is-starved{color:var(--rust)}.item-status.is-ceiling,.resource-note.is-ceiling{color:var(--ember)}.item:hover:not(:disabled){background:#e4e8f209}.item:hover:not(:disabled) .item-name{color:var(--ink-bright)}.item:active:not(:disabled){transform:translateY(1px)}.item:disabled{cursor:not-allowed}.item:disabled .item-gutter,.item:disabled .item-name,.item:disabled .item-owned{opacity:.4}.item:disabled .item-leader{opacity:.5}.item.action:disabled{border-color:var(--rule)}.item.action{border:1px solid var(--rule-strong);padding:9px 10px;margin-bottom:6px}.item.action .item-gutter{color:var(--dim)}.cooldown-fill{position:absolute;left:0;bottom:0;height:1px;background:var(--dim);width:0%}.log{flex:1 1 auto;min-height:0;overflow-y:auto;max-width:calc(62ch + 100px);-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 34%,rgba(0,0,0,.28) 88%,rgba(0,0,0,.12) 100%);mask-image:linear-gradient(to bottom,#000 0 34%,#00000047 88%,#0000001f);transition:-webkit-mask-image .26s ease-out,mask-image .26s ease-out}.log:hover,.log:focus-within{-webkit-mask-image:none;mask-image:none}@media(prefers-reduced-transparency:reduce),(forced-colors:active){.log{-webkit-mask-image:none;mask-image:none}}.log:focus-visible{outline:1px solid var(--rule-strong);outline-offset:6px}.log-entry{display:grid;grid-template-columns:82px minmax(0,1fr);column-gap:18px;margin:0 0 20px;align-items:start}.log-reg{text-align:right;padding-right:18px;border-right:1px solid var(--rule);font-size:var(--t-meta);letter-spacing:.16em;color:var(--faint);line-height:1.7;align-self:stretch}.log-body{font-size:var(--t-prose);line-height:1.7;color:var(--ink);text-wrap:pretty}.log-story .log-body{color:var(--ink)}.log-story:first-child .log-body{color:var(--ink-bright)}.log-warn .log-body{color:var(--ember)}.log-danger .log-body{color:var(--rust)}.log-system{margin-bottom:16px}.log-system .log-body{color:var(--dim);font-size:var(--t-row);line-height:1.6}.sys-card{background:var(--panel);border:1px solid var(--rule);padding:8px 10px;max-width:54ch}.sys-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.sys-key{font-size:var(--t-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.sys-thing{font-size:var(--t-row);color:var(--ink)}.sys-note{font-size:var(--t-meta);line-height:1.5;color:var(--dim);margin-top:4px}.log-entry.has-card .log-body{color:inherit;font-size:inherit}.log-alert .log-reg{color:var(--rust);border-right-color:var(--rust)}.log-alert .log-body{color:var(--ink)}.log-prompt .log-reg{color:var(--ember)}.log-prompt .log-body{color:var(--ember);background:#c2a05e14;border-top:1px solid rgba(194,160,94,.32);border-bottom:1px solid rgba(194,160,94,.32);padding:12px 14px}@keyframes log-arrive{0%{opacity:.001;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes log-warm{0%{background-color:#e4e8f21a}to{background-color:transparent}}@keyframes log-warm-ember{0%{background-color:#c2a05e29}to{background-color:transparent}}.log-entry.is-new{animation:log-arrive .42s cubic-bezier(.16,1,.3,1) both,log-warm 2.2s ease-out}.log-entry.is-new.log-warn,.log-entry.is-new.log-danger,.log-entry.is-new.log-alert{animation:log-arrive .42s cubic-bezier(.16,1,.3,1) both,log-warm-ember 2.6s ease-out}@media(prefers-reduced-motion:reduce){.log-entry.is-new{animation:log-warm .9s ease-out}.log-entry.is-new.log-warn,.log-entry.is-new.log-danger,.log-entry.is-new.log-alert{animation:log-warm-ember .9s ease-out}}.footer{display:flex;gap:14px;align-items:center;padding:10px 18px;border-top:1px solid var(--rule);color:var(--faint);font-size:var(--t-meta)}.footer button{background:none;border:1px solid var(--rule);border-radius:0;color:var(--faint);font-family:inherit;font-size:var(--t-meta);padding:4px 10px;cursor:pointer}.footer button:hover{border-color:var(--rule-strong);color:var(--ink)}.footer .spacer{flex:1}.empty-hint{color:var(--faint);font-style:italic;font-size:var(--t-meta)}.item.is-capped .item-cost,.launch-btn.is-capped .item-cost{color:var(--rust);font-weight:600}.launch-btn{width:100%;margin-bottom:8px;padding:11px;background:#c2a05e0f;border:1px solid rgba(194,160,94,.42);border-radius:0;color:var(--ember);font-family:inherit;font-size:var(--t-row);text-align:left;letter-spacing:.02em;cursor:pointer;transition:border-color .1s,background .1s}.launch-btn:hover:not(:disabled){border-color:var(--ember);background:#c2a05e1f}.launch-btn:disabled{opacity:.4;cursor:not-allowed}.drone-status{margin:0 0 24px;font-size:11px;color:var(--faint)}.decision-overlay{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0c10e0}.decision-card{width:640px;max-width:100%;max-height:86vh;overflow-y:auto;background:var(--bg);border:1px solid var(--rule-strong);padding:32px 34px 22px}.decision-head{font-size:var(--t-meta);letter-spacing:.18em;color:var(--ember);margin-bottom:14px}.decision-q{font-size:var(--t-prose);line-height:1.7;color:var(--ember);margin-bottom:20px}.decision-option{display:flex;gap:10px;width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--rule);border-radius:0;color:var(--ink);font-family:inherit;padding:12px 0;cursor:pointer}.decision-option:hover{background:#e4e8f209}.decision-option:hover .decision-name{color:var(--ink-bright)}.decision-option:focus-visible{outline:1px solid var(--ember);outline-offset:-1px}.decision-mark{color:var(--ember);font-size:var(--t-row)}.decision-name{font-size:var(--t-row);color:var(--ink-bright)}.decision-desc{font-size:var(--t-meta);line-height:1.5;color:var(--dim);margin-top:3px}.decision-foot{margin-top:18px;font-size:var(--t-meta);line-height:1.5;color:var(--faint)}.ending-overlay,.exped-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0c10eb}.ending-overlay{z-index:100}.ending-card{max-width:600px;text-align:center;border:1px solid var(--rule-strong);background:var(--bg);padding:40px 34px}.ending-eyebrow{color:var(--dim);letter-spacing:.12em;font-size:12px}.ending-title{font-size:30px;font-weight:600;letter-spacing:.02em;margin:12px 0 20px;color:var(--ink-bright)}.ending-epilogue{color:var(--ink);line-height:1.8;font-size:15px;margin:0 0 22px}.ending-stance{color:var(--dim);font-style:italic;margin-bottom:28px}.ending-btn{background:none;border:1px solid var(--rule-strong);border-radius:0;color:var(--ember);font-family:inherit;font-size:14px;padding:10px 24px;cursor:pointer;letter-spacing:.04em}.ending-btn:hover{border-color:var(--ember)}.exped-card{width:100%;max-width:500px;border:1px solid var(--rule-strong);background:var(--bg);padding:22px 24px}.exped-eyebrow{color:var(--dim);letter-spacing:.14em;font-size:12px;text-align:center;margin-bottom:14px}.exped-stats{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin-bottom:16px;font-size:12px}.exped-stat-label{color:var(--faint);margin-right:5px;letter-spacing:.05em}.exped-stat-val{color:var(--ink);font-variant-numeric:tabular-nums}.exped-stat-val.low{color:var(--rust)}.exped-stat-val.good{color:var(--sage)}.exped-grid{margin:0 auto 16px;width:fit-content;line-height:1;font-size:24px;border:1px solid var(--rule);padding:12px 14px}.exped-row{display:flex}.exped-cell{width:22px;text-align:center;color:var(--faint)}.exped-me{color:var(--ink-bright);font-weight:700}.exped-fog{color:#181c24}.exped-empty{color:#2b313d}.exped-wall{color:#4c5363}.exped-cache{color:var(--sage)}.exped-enemy{color:var(--rust)}.exped-hazard{color:var(--ember)}.exped-relic{color:var(--ink-bright)}.exped-cells{color:var(--ink)}.exped-start{color:var(--ember)}.exped-controls{display:flex;gap:18px;align-items:center;justify-content:center;margin-bottom:14px;min-height:92px}.exped-dpad{display:flex;flex-direction:column;align-items:center;gap:4px}.exped-dpad-mid{display:flex;gap:4px}.exped-side{display:flex;flex-direction:column;gap:6px}.exped-btn{background:none;border:1px solid var(--rule);border-radius:0;color:var(--ink);font-family:inherit;font-size:13px;padding:8px 12px;cursor:pointer;min-width:40px}.exped-btn:hover:not(:disabled){border-color:var(--dim);color:var(--ink-bright)}.exped-btn:disabled{opacity:.35;cursor:not-allowed}.exped-attack{border-left:2px solid var(--rust)}.exped-extract{border-left:2px solid var(--ember);color:var(--ember)}.exped-done{text-align:center}.exped-result{font-size:19px;letter-spacing:.06em;margin-bottom:4px}.exped-result.good{color:var(--sage)}.exped-result.bad{color:var(--rust)}.exped-result-sub{color:var(--dim);font-size:13px;margin-bottom:8px}.exped-result-gear{color:var(--sage);font-size:13px;margin-bottom:14px}.exped-result-gear.bad{color:var(--rust)}.exped-hint{color:var(--faint);font-size:10.5px;text-align:center;margin-bottom:12px;line-height:1.7}.exped-log{border-top:1px solid var(--rule);padding-top:10px;font-size:12px;max-height:116px;overflow-y:auto}.exped-log-line{padding:2px 0;color:var(--dim)}.exped-log-line:first-child{color:var(--ink)}
