:root{--void:#07090a;--deep:#0b0e10;--panel:#14181a;--panel-2:#191e21;--raised:#202629;--raised-2:#272e32;--bezel:#2e373b;--rule:#232b2f;--rule-strong:#364146;--ink:#e6ecef;--ink-2:#b6c1c6;--ink-3:#8a9499;--ink-4:#616b70;--ink-inverse:#0b0e10;--amber:#d9b25c;--amber-dim:#8a7137;--phosphor:#5fd0a0;--phosphor-dim:#35785c;--alarm:#e07070;--alarm-dim:#8a4444;--ice:#6fb4dd;--ice-dim:#3d6a84;--violet:#a98ad0;--rust:#c2794f;--res-water:#5aa9d6;--res-food:#c8a24a;--res-power:#e0c65a;--res-medicine:#d97f8c;--res-components:#9aa6ac;--res-fuel:#c07a3e;--res-ammo:#b08c6a;--res-hope:#5fd0a0;--good:var(--phosphor);--bad:var(--alarm);--warn:var(--amber);--info:var(--ice);--font-sans:"Inter var", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Cascadia Mono", ui-monospace, "Roboto Mono", Menlo, Consolas, monospace;--scale:1;--fs-xs:calc(10.5px * var(--scale));--fs-sm:calc(12px * var(--scale));--fs-base:calc(13.5px * var(--scale));--fs-md:calc(15px * var(--scale));--fs-lg:calc(18px * var(--scale));--fs-xl:calc(23px * var(--scale));--fs-2xl:calc(30px * var(--scale));--fs-3xl:calc(42px * var(--scale));--lh-tight:1.2;--lh-normal:1.55;--lh-loose:1.7;--tracking-wide:.09em;--tracking-wider:.17em;--r-sm:2px;--r-md:3px;--r-lg:5px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:22px;--sp-6:30px;--sp-7:42px;--shadow-panel:0 1px 0 #ffffff09 inset, 0 8px 24px #00000073;--shadow-raised:0 1px 0 #ffffff0d inset, 0 2px 6px #0006;--glow-amber:0 0 12px #d9b25c47;--glow-phosphor:0 0 12px #5fd0a03d;--glow-alarm:0 0 14px #e070704d;--dur-fast:.11s;--dur:.19s;--dur-slow:.38s;--ease:cubic-bezier(.22, .61, .36, 1);--scanline-opacity:.045;--noise-opacity:.035;--flicker:1;--header-h:52px;--rail-w:232px;--log-w:300px;--tabbar-h:58px}:root[data-motion=reduced]{--dur-fast:0s;--dur:0s;--dur-slow:0s;--scanline-opacity:0;--noise-opacity:0;--flicker:0}:root[data-contrast=high]{--ink:#fff;--ink-2:#dfe7ea;--ink-3:#b4c0c5;--ink-4:#8d979c;--rule:#3d474c;--rule-strong:#5c686e;--panel:#0f1416;--raised:#1d2427;--amber:#f0c96f;--phosphor:#7ee9b8;--alarm:#ff8d8d;--ice:#8bc9ee;--scanline-opacity:0;--noise-opacity:0}:root[data-scale=small]{--scale:.9}:root[data-scale=large]{--scale:1.12}:root[data-scale=xlarge]{--scale:1.26}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--void);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;margin:0}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--amber);text-decoration:none}:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:#d9b25c47}*{scrollbar-width:thin;scrollbar-color:var(--bezel) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bezel);background-clip:content-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--rule-strong);background-clip:content-box}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--ink-4)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--amber-dim)}.prose{color:var(--ink-2);line-height:var(--lh-loose);max-width:68ch}.prose em{color:var(--ink);font-style:italic}.ambience{pointer-events:none;z-index:9000;position:fixed;inset:0}.ambience:before{content:"";opacity:var(--scanline-opacity);background:repeating-linear-gradient(#ffffff0d 0 1px,#0000 1px 3px);position:absolute;inset:0}.ambience:after{content:"";background:radial-gradient(at 50% 0,#d9b25c0d,#0000 55%),radial-gradient(at 50% 120%,#000000bf,#0000 60%);position:absolute;inset:0}@keyframes lamp-flicker{0%,92%,to{opacity:1}93%{opacity:.82}95%{opacity:1}96%{opacity:.9}}.flicker{animation:9s step-end infinite lamp-flicker}:root[data-motion=reduced] .flicker{animation:none}@keyframes pulse-soft{0%,to{opacity:.55}50%{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(220%)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.grow{flex:auto;min-width:0}.wrap{flex-wrap:wrap}.right{margin-left:auto}.center{justify-content:center;align-items:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tone-good{color:var(--good)}.tone-bad{color:var(--bad)}.tone-warn{color:var(--warn)}.tone-info{color:var(--info)}.tone-muted{color:var(--ink-3)}.tone-lore{color:var(--violet)}.divider{background:var(--rule);height:1px;margin:var(--sp-3) 0;border:0}#root{isolation:isolate}.app-bg{z-index:-1;background:radial-gradient(1200px 700px at 50% -12%,#17201f 0%,#0000 62%),linear-gradient(#0a0d0f 0%,#07090a 100%);position:fixed;inset:0}.app-bg:after{content:"";opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.readable{max-width:64ch}.boot{height:100%;color:var(--ink-3);letter-spacing:var(--tracking-wide);place-items:center;display:grid}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--rule-strong);background:var(--raised);color:var(--ink);border-radius:var(--r-md);font-size:var(--fs-sm);letter-spacing:.02em;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);white-space:nowrap;cursor:pointer;padding:7px 12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--raised-2);border-color:var(--bezel)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{font-size:var(--fs-xs);padding:4px 9px}.btn-lg{font-size:var(--fs-md);padding:11px 18px}.btn-block{width:100%}.btn-primary{border-color:var(--amber-dim);color:var(--amber);text-shadow:0 0 8px #d9b25c40;background:linear-gradient(#3a3221,#221e15)}.btn-primary:hover:not(:disabled){border-color:var(--amber);box-shadow:var(--glow-amber)}.btn-danger{border-color:var(--alarm-dim);color:var(--alarm);background:#e070700f}.btn-ghost{color:var(--ink-3);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--ink);background:var(--panel-2);border-color:var(--rule)}.input{background:var(--deep);border:1px solid var(--rule-strong);border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-sm);min-width:0;padding:6px 9px}.input:focus-visible{border-color:var(--amber)}.input-sm{font-size:var(--fs-xs);padding:3px 7px}.input-num{width:68px;font-family:var(--font-mono);text-align:right}.check{align-items:flex-start;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-sm);display:flex}.check-inline{font-size:var(--fs-xs);align-items:center}.inline-field{align-items:center;gap:var(--sp-2);display:inline-flex}.hint{font-size:var(--fs-xs);color:var(--ink-4);line-height:var(--lh-normal)}.empty-state{color:var(--ink-4);font-size:var(--fs-sm);padding:var(--sp-3) 0}.link-back{color:var(--ink-3);font-size:var(--fs-sm);background:0 0;border:none}.link-back:hover{color:var(--amber)}.panel{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-panel);min-width:0}.panel-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--rule);display:flex}.panel-title{font-size:var(--fs-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-2);font-weight:600}.panel-note{font-size:var(--fs-xs);color:var(--ink-4)}.panel-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;margin-left:auto;display:flex}.panel-body{padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.panel-body-flush{padding:0}.grid-2{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;display:grid}.bar{background:var(--deep);border-radius:99px;width:100%;position:relative;overflow:hidden}.bar-fill{height:100%;transition:width var(--dur) var(--ease);border-radius:99px;display:block}.bar-marker{background:var(--ink-3);width:1px;position:absolute;top:0;bottom:0}.meter{align-items:center;gap:var(--sp-2);grid-template-columns:54px 1fr 28px;display:grid}.meter-label{font-size:var(--fs-xs)}.meter-track{background:var(--deep);border-radius:99px;height:4px;overflow:hidden}.meter-fill{height:100%;transition:width var(--dur) var(--ease);display:block}.meter-num{font-size:var(--fs-xs);text-align:right;color:var(--ink-3)}.bd-wrap{display:inline-flex;position:relative}.bd-trigger{border-bottom:1px dotted var(--ink-4);color:inherit;font:inherit;padding:0}.bd-trigger:hover{border-bottom-color:var(--amber);color:var(--amber)}.bd-chip{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-4);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.bd-pop{z-index:300;background:var(--raised);border:1px solid var(--rule-strong);border-radius:var(--r-md);width:min(340px,78vw);box-shadow:var(--shadow-panel);padding:var(--sp-3);animation:rise-in var(--dur) var(--ease);position:fixed}.bd-pop-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--rule);display:flex}.bd-total{font-size:var(--fs-md);color:var(--amber)}.bd-terms{gap:var(--sp-1);padding-top:var(--sp-2);flex-direction:column;display:flex}.bd-terms li{gap:var(--sp-2);font-size:var(--fs-sm);grid-template-columns:1fr auto;display:grid}.bd-term-value{font-size:var(--fs-sm)}.bd-term-detail,.bd-term-fix{font-size:var(--fs-xs);color:var(--ink-4);grid-column:1/-1}.bd-term-fix{color:var(--amber-dim)}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--rule);display:flex;overflow-x:auto}.tab{font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-4);white-space:nowrap;border-bottom:2px solid #0000;padding:6px 10px}.tab-active{color:var(--amber);border-bottom-color:var(--amber)}.tab-count{color:var(--ink-4);margin-left:5px}.chip{border:1px solid var(--rule-strong);font-size:var(--fs-xs);color:var(--ink-3);border-radius:99px;padding:2px 9px}.chip-active{color:var(--amber);border-color:var(--amber-dim);background:#d9b25c14}.menu{min-height:100%;padding:var(--sp-5);place-items:center;display:grid}.menu-inner{gap:var(--sp-4);flex-direction:column;width:min(440px,100%);display:flex}.menu-title{font-size:var(--fs-3xl);letter-spacing:var(--tracking-wider);color:var(--amber);text-shadow:var(--glow-amber);margin:0;font-weight:300}.menu-title-dim{color:var(--ink-3);text-shadow:none;margin-left:.3em}.menu-tag{font-size:var(--fs-sm)}.menu-actions{gap:var(--sp-2);flex-direction:column;display:flex}.menu-row{gap:var(--sp-2);display:flex}.menu-legacy{color:var(--amber)}.menu-stats{gap:var(--sp-2);border-top:1px solid var(--rule);padding-top:var(--sp-3);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.menu-stats dd{font-size:var(--fs-md);color:var(--ink-2);margin:0}.setup{padding:var(--sp-4);gap:var(--sp-4);flex-direction:column;min-height:100%;display:flex}.setup-head{align-items:baseline;gap:var(--sp-3);display:flex}.setup-title{font-size:var(--fs-xl);letter-spacing:var(--tracking-wide);font-weight:300}.setup-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.setup-col{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.setup-brief{gap:var(--sp-3)}.setup-desc,.setup-deadline{font-size:var(--fs-sm)}.seed-row{gap:var(--sp-2);display:flex}.seed-row .input{flex:auto}.choice-list{gap:var(--sp-2);flex-direction:column;display:flex}.choice{gap:2px var(--sp-2);text-align:left;border:1px solid var(--rule);border-radius:var(--r-md);width:100%;padding:var(--sp-2) var(--sp-3);background:var(--panel);grid-template-columns:1fr auto;display:grid}.choice:hover{border-color:var(--rule-strong);background:var(--panel-2)}.choice-active{border-color:var(--amber-dim);background:#d9b25c0f}.choice-name{font-size:var(--fs-base);color:var(--ink)}.choice-hint{font-size:var(--fs-xs);color:var(--ink-4);text-align:right}.choice-tag{font-size:var(--fs-xs);color:var(--ink-3);grid-column:1/-1}.deck{flex-direction:column;height:100%;min-height:0;display:flex}.topbar{align-items:center;gap:var(--sp-3);height:var(--header-h);padding:0 var(--sp-3);border-bottom:1px solid var(--rule);background:linear-gradient(180deg, var(--panel-2), var(--panel));flex:none;display:flex}.topbar-left{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.topbar-day{align-items:baseline;gap:var(--sp-2);display:flex}.topbar-daynum{font-size:var(--fs-lg);color:var(--amber);transition:color var(--dur) var(--ease)}.topbar{position:relative;overflow:hidden}.topbar-turning:after{content:"";pointer-events:none;width:40%;animation:sweep .7s var(--ease);background:linear-gradient(90deg,#0000,#d9b25c29,#0000);position:absolute;inset:0}.daynum-turn{animation:daynum-lift .7s var(--ease)}@keyframes daynum-lift{0%{opacity:0;transform:translateY(5px)}40%{opacity:1;text-shadow:var(--glow-amber);transform:none}to{opacity:1;transform:none}}:root[data-motion=reduced] .topbar-turning:after,:root[data-motion=reduced] .daynum-turn{animation:none}.topbar-weather{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);display:flex}.weather-dot{border-radius:99px;width:7px;height:7px}.topbar-scenario{font-size:var(--fs-xs)}.topbar-horizon{font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:var(--tracking-wide)}.topbar-nav{gap:2px;margin:0 auto;display:flex;overflow-x:auto}.navtab{border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap;align-items:center;gap:5px;padding:6px 10px;display:flex}.navtab:hover{color:var(--ink);background:var(--raised)}.navtab-active{color:var(--amber);background:#d9b25c14}.navtab-key{font-size:var(--fs-xs);color:var(--ink-4)}.topbar-right{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.deck-body{flex:auto;min-height:0;display:flex}.deck-main{min-width:0;padding:var(--sp-3);gap:var(--sp-3);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.deck-mobile .deck-main{padding-bottom:calc(var(--tabbar-h) + var(--sp-4))}.rail{flex:0 0 var(--rail-w);width:var(--rail-w);border-right:1px solid var(--rule);padding:var(--sp-3);gap:var(--sp-3);background:var(--deep);flex-direction:column;display:flex;overflow-y:auto}.rail-head{margin-bottom:-4px}.gauge{flex-direction:column;gap:3px;display:flex}.gauge-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.gauge-name{font-size:var(--fs-sm);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gauge-value{font-size:var(--fs-sm);color:var(--ink);font-family:var(--font-mono);flex:none}.gauge-unit,.gauge-cap{color:var(--ink-4);font-size:var(--fs-xs)}.gauge-foot{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);display:flex}.gauge-inspect{gap:var(--sp-2);margin-left:auto;display:flex}.gauge-critical .gauge-name,.gauge-critical .gauge-value{color:var(--alarm)}.gauge-critical .bar{box-shadow:0 0 0 1px #e0707047}.rail-strip{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--panel)}.rail-toggle{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);display:flex}.rail-chips{flex-wrap:wrap;gap:4px;display:flex}.rail-chip{border-radius:var(--r-sm);font-size:var(--fs-xs);border:1px solid;padding:0 5px}.rail-caret{color:var(--ink-4);margin-left:auto}.rail-expanded{padding:var(--sp-3);gap:var(--sp-3);border-top:1px solid var(--rule);flex-direction:column;display:flex}.log-col{flex:0 0 var(--log-w);width:var(--log-w);border-left:1px solid var(--rule);background:var(--deep);flex-direction:column;min-height:0;display:flex}.log-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--rule);display:flex}.log-filters{gap:4px;margin-left:auto;display:flex}.log-list{padding:var(--sp-2) var(--sp-3);flex-direction:column;flex:auto;gap:6px;display:flex;overflow-y:auto}.log-entry{gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);animation:fade-in var(--dur) var(--ease);grid-template-columns:34px 1fr;display:grid}.log-day{color:var(--ink-4);font-size:var(--fs-xs);padding-top:2px}.log-channel{color:var(--ink-4)}.log-bad{color:var(--alarm)}.log-warn{color:var(--amber)}.log-good{color:var(--phosphor)}.log-lore{color:var(--violet)}.log-system{color:var(--ink-4)}.log-scrim{z-index:80;background:#0000008c;justify-content:flex-end;display:flex;position:fixed;inset:0}.log-drawer{width:min(var(--log-w), 88vw);background:var(--deep);border-left:1px solid var(--rule-strong);animation:rise-in var(--dur) var(--ease);flex-direction:column;display:flex}.tabbar{height:var(--tabbar-h);border-top:1px solid var(--rule);background:var(--panel);z-index:50;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-btn{color:var(--ink-4);font-size:var(--fs-xs);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;display:flex}.tabbar-active{color:var(--amber)}.tabbar-btn .icon{opacity:.9}.sheet-scrim{z-index:60;animation:fade-in var(--dur) var(--ease);background:#04060799;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);border-top:1px solid var(--rule-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;padding:var(--sp-3) var(--sp-3) calc(var(--tabbar-h) + var(--sp-3));animation:rise-in var(--dur) var(--ease)}.sheet-head{padding:0 var(--sp-2) var(--sp-2)}.sheet-list{flex-direction:column;display:flex}.sheet-item{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-2);border-radius:var(--r-md);font-size:var(--fs-md);text-align:left;color:var(--ink);min-height:46px;display:flex}.sheet-item:hover{background:var(--raised)}.guidance{align-items:flex-start;gap:var(--sp-3);border:1px solid var(--amber-dim);border-radius:var(--r-md);padding:var(--sp-3);animation:rise-in var(--dur) var(--ease);background:#d9b25c0d;border-left-width:3px;grid-column:1/-1;display:flex}.guidance-icon{color:var(--amber);margin-top:1px}.guidance-title{font-size:var(--fs-sm);color:var(--amber)}.guidance-body{font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-normal);max-width:68ch}.guidance-body strong{color:var(--ink)}.guidance-body em{color:var(--ink);font-style:normal;font-family:var(--font-mono)}.guidance-x{font-size:var(--fs-xs);color:var(--ink-3);border:1px solid var(--rule-strong);border-radius:var(--r-md);flex:none;min-height:30px;padding:4px 9px}.guidance-x:hover{color:var(--amber);border-color:var(--amber-dim)}.stat-row{gap:var(--sp-4);flex-wrap:wrap;display:flex}.stat{flex-direction:column;gap:1px;display:flex}.stat-value{font-size:var(--fs-md)}.power-row{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.research-strip{gap:var(--sp-2);grid-template-columns:auto 1fr;align-items:center;display:grid}.research-strip .bar{grid-column:1/-1}.alert-list{gap:var(--sp-2);flex-direction:column;display:flex}.alert{align-items:center;gap:var(--sp-2);border-left:2px solid var(--rule-strong);padding:4px var(--sp-2);font-size:var(--fs-sm);display:flex}.alert-bad{border-left-color:var(--alarm);color:var(--alarm)}.alert-warn{border-left-color:var(--amber);color:var(--amber)}.alert-info{border-left-color:var(--ice);color:var(--ink-2)}.alert-text{flex:auto}.alert-fix{color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap}.alert-fix:hover{color:var(--amber);text-decoration:underline}.alert-bad{animation:alert-in var(--dur-slow) var(--ease)}@keyframes alert-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}:root[data-motion=reduced] .alert-bad{animation:none}.note-list,.death-list{font-size:var(--fs-sm);flex-direction:column;gap:3px;display:flex}.mini-crew{gap:var(--sp-1);flex-direction:column;display:flex}.mini-crew-btn{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);text-align:left;width:100%;padding:4px;display:flex}.mini-crew-btn:hover{background:var(--raised)}.mini-crew-name{font-size:var(--fs-sm)}.mini-crew-role{font-size:var(--fs-xs)}.mini-crew-bars{flex-direction:column;flex:none;gap:2px;width:74px;display:flex}.crew-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.crew-card{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--panel);padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.crew-card-away{opacity:.7}.crew-card-head{align-items:center;gap:var(--sp-2);text-align:left;width:100%;display:flex}.crew-name{font-size:var(--fs-base)}.crew-role{font-size:var(--fs-xs)}.crew-meters{flex-direction:column;gap:2px;display:flex}.crew-assign{align-items:center;gap:var(--sp-2);display:flex}.crew-bond{font-size:var(--fs-xs)}.cond-list{font-size:var(--fs-xs);flex-direction:column;gap:2px;display:flex}.trait-row{flex-wrap:wrap;gap:4px;display:flex}.trait-chip{border:1px solid var(--rule);border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--ink-3);padding:0 5px}.memorial-list{gap:var(--sp-2);font-size:var(--fs-sm);flex-direction:column;display:flex}.memorial-list li{align-items:center;gap:var(--sp-2);display:flex}.portrait{border-radius:99px;flex:none}.portrait-dead{filter:grayscale()brightness(.7)}.vault{gap:var(--sp-3);flex-direction:column;display:flex}.vault-deck{gap:var(--sp-1);flex-direction:column;display:flex}.vault-deck-label{padding-left:2px}.vault-slots{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid}.slot{padding:var(--sp-2);border:1px solid var(--rule);border-radius:var(--r-md);background:var(--deep);min-height:78px;font-size:var(--fs-xs);color:var(--ink-3);flex-direction:column;align-items:center;gap:3px;display:flex}.slot:hover{border-color:var(--rule-strong)}.slot-icon{font-size:var(--fs-lg)}.slot-name{text-align:center;width:100%}.slot-built{background:var(--panel-2);color:var(--ink-2)}.slot-sealed{opacity:.55;border-style:dashed}.slot-active{border-color:var(--amber);box-shadow:var(--glow-amber)}.slot-damaged{border-color:var(--alarm-dim);color:var(--alarm)}.slot-building{border-color:var(--ice-dim)}.slot-brownout{background:repeating-linear-gradient(45deg,#0000,#0000 5px,#e0707012 5px 10px)}.slot .bar{width:100%}.slot-level,.slot-staff{color:var(--ink-4)}.build-list,.recipe-list,.inv-list,.priority-list{gap:var(--sp-2);flex-direction:column;display:flex}.build-row,.recipe-row,.inv-row{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--rule);padding-bottom:var(--sp-2);display:flex}.build-row-off,.recipe-row-off{opacity:.55}.icon{flex:none;display:block}.build-icon{width:26px;height:26px;color:var(--ink-3);flex:none}.slot-icon{color:var(--ink-2);display:flex}.slot-built .slot-icon{color:var(--amber)}.slot-damaged .slot-icon{color:var(--alarm)}.build-name,.recipe-name{font-size:var(--fs-base)}.build-desc,.recipe-desc{font-size:var(--fs-xs)}.build-cost,.recipe-cost{font-size:var(--fs-xs);color:var(--ink-4)}.priority-list li{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.priority-list input[type=range]{width:100px;accent-color:var(--amber)}.kv{font-size:var(--fs-sm);flex-direction:column;gap:3px;display:flex}.kv li{justify-content:space-between;gap:var(--sp-3);border-bottom:1px dotted var(--rule);padding-bottom:2px;display:flex}.kv-2col{gap:3px var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.queue-list{gap:var(--sp-2);flex-direction:column;display:flex}.queue-row{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.active-research{gap:var(--sp-2);flex-direction:column;display:flex}.branch-dot{border-radius:99px;flex:none;width:9px;height:9px}.branch-filter{flex-wrap:wrap;gap:4px;display:flex}.tree{gap:var(--sp-4);flex-direction:column;display:flex}.tree-tier{gap:var(--sp-2);flex-direction:column;display:flex}.tree-nodes{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tree-node .row{gap:var(--sp-2);flex-wrap:wrap}.tree-node .right{margin-left:auto}.tree-node .btn{white-space:normal;text-align:center;max-width:100%}.tree-node{border:1px solid var(--rule);border-left:3px solid var(--rule-strong);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);background:var(--panel);flex-direction:column;gap:4px;min-width:0;display:flex}.tree-done{opacity:.6}.tree-active{box-shadow:var(--glow-phosphor)}.tree-locked{opacity:.62}.tree-name{font-size:var(--fs-base)}.tree-desc{font-size:var(--fs-xs);color:var(--ink-3)}.tree-effect{color:var(--amber-dim)}.map-wrap{width:100%;overflow-x:auto}.map{width:100%;max-width:560px;margin:0 auto;display:block}.map-vault{fill:var(--amber);font-size:15px}.map-link{stroke:var(--rule);stroke-width:1px;stroke-dasharray:2 4}.map-icon{fill:var(--ink-2);font-size:9px}.map-label{fill:var(--ink-3);font-size:9.5px;font-family:var(--font-mono);paint-order:stroke;stroke:var(--void);stroke-width:3px;stroke-linejoin:round}.map-node{cursor:pointer}.map-node:hover .map-label{fill:var(--ink)}.map-node-off{opacity:.4}.map-node-selected .map-label{fill:var(--amber)}.map-node:focus-visible circle{stroke:var(--amber);stroke-width:2.5px}.theory-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.theory-card{border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);flex-direction:column;gap:2px;min-width:92px;display:flex}.lore-list{gap:var(--sp-4);flex-direction:column;display:flex}.lore-entry{border-left:2px solid var(--violet);padding-left:var(--sp-3);flex-direction:column;gap:4px;display:flex}.lore-title{font-size:var(--fs-md);font-weight:500}.lore-source{color:var(--ink-4)}.ency-list{gap:var(--sp-3);font-size:var(--fs-sm);flex-direction:column;display:flex}.ency-list li{gap:var(--sp-2);align-items:flex-start;display:flex}.ency-dot{border-radius:99px;flex:none;width:9px;height:9px;margin-top:5px}.modal-scrim{z-index:100;padding:var(--sp-4);animation:fade-in var(--dur) var(--ease);background:#040607b8;place-items:center;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--rule-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-panel);width:100%;max-height:92vh;animation:rise-in var(--dur) var(--ease);flex-direction:column;display:flex}.modal-narrow{max-width:560px}.modal-normal{max-width:760px}.modal-wide{max-width:1080px}.modal-head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-bottom:1px solid var(--rule);display:flex}.modal-title{font-size:var(--fs-lg);letter-spacing:.01em;font-weight:400}.modal-sub{font-size:var(--fs-xs);color:var(--ink-4)}.modal-close{color:var(--ink-4);font-size:var(--fs-md);margin-left:auto;padding:2px 6px}.modal-close:hover{color:var(--alarm)}.modal-body{padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex;overflow-y:auto}.modal-foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--rule);gap:var(--sp-2);display:flex}.event-actor{align-items:center;gap:var(--sp-3);display:flex}.event-body{font-size:var(--fs-base)}.choice-stack{gap:var(--sp-2);flex-direction:column;display:flex}.event-choice{text-align:left;border:1px solid var(--rule-strong);border-radius:var(--r-md);width:100%;padding:var(--sp-3);background:var(--raised);flex-direction:column;gap:3px;display:flex}.event-choice:hover:not(:disabled){border-color:var(--amber-dim);background:var(--raised-2)}.event-choice-off{opacity:.5;cursor:not-allowed}.event-choice-label{font-size:var(--fs-base)}.event-choice-hint{font-size:var(--fs-xs);color:var(--ink-3)}.event-choice-meta{gap:var(--sp-3);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.roll{font-size:var(--fs-xs);color:var(--ink-4)}.exped-head{align-items:baseline;gap:var(--sp-3);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.exped-loc{color:var(--amber)}.exped-last{font-size:var(--fs-sm);border-left:2px solid var(--rule-strong);padding-left:var(--sp-2)}.exped-log{gap:var(--sp-2);font-size:var(--fs-sm);flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.exped-team{gap:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-3);flex-wrap:wrap;display:flex}.haul-list{font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex}.haul-list li{justify-content:space-between;display:flex}.planner{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start;display:grid}.planner-col{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.team-list{flex-direction:column;gap:2px;display:flex}.team-row{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-sm);padding:3px;display:flex}.team-row:hover{background:var(--raised)}.team-row-off{opacity:.5;cursor:not-allowed}.supply-list{font-size:var(--fs-sm);flex-direction:column;gap:4px;display:flex}.supply-list li{align-items:center;gap:var(--sp-2);display:flex}.warn-list{font-size:var(--fs-xs);flex-direction:column;gap:3px;display:flex}.survivor-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}.skill-list{font-size:var(--fs-sm);flex-direction:column;gap:3px;display:flex}.skill-list li{align-items:center;gap:var(--sp-2);display:flex}.skill-pips{gap:2px;display:flex}.pip{background:var(--rule-strong);border-radius:1px;width:6px;height:6px}.pip-on{background:var(--amber)}.trait-list,.rel-list,.history-list,.equip-list{font-size:var(--fs-sm);flex-direction:column;gap:4px;display:flex}.rel-list li,.equip-list li{align-items:center;gap:var(--sp-2);display:flex}.history-list li{color:var(--ink-2)}.slot-list{gap:var(--sp-2);flex-direction:column;display:flex}.slot-row{align-items:center;gap:var(--sp-3);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.slot-row-bad{border-color:var(--alarm-dim)}.settings-list{gap:var(--sp-3);flex-direction:column;display:flex}.settings-list li{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);display:flex}.unlock-list{gap:var(--sp-2);flex-direction:column;display:flex}.unlock-row{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);border-bottom:1px solid var(--rule);padding-bottom:var(--sp-2);display:flex}.unlock-owned{opacity:.6}.unlock-cost{color:var(--amber);text-align:right;min-width:34px}.ending-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.ending-chip{border:1px solid var(--rule-strong);border-radius:var(--r-md);padding:var(--sp-2);font-size:var(--fs-xs);flex-direction:column;flex:160px;gap:2px;min-width:140px;display:flex}.ending-chip-off{opacity:.45}.report{min-height:100%;padding:var(--sp-5) var(--sp-4);overflow-y:auto}.report-inner{gap:var(--sp-4);flex-direction:column;max-width:980px;margin:0 auto;display:flex}.report-title{font-size:var(--fs-2xl);letter-spacing:var(--tracking-wide);font-weight:300}.report-summary{font-size:var(--fs-md);color:var(--ink-2)}.report-epilogue{max-width:68ch}.report-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;display:grid}.report-legacy{font-size:var(--fs-2xl);color:var(--amber)}.report-actions{padding-bottom:var(--sp-5)}.name-list{font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex}.crash{min-height:100%;padding:var(--sp-5) var(--sp-4);place-items:center;display:grid}.crash-inner{gap:var(--sp-3);flex-direction:column;width:min(60ch,100%);display:flex}.crash-title{font-size:var(--fs-2xl);letter-spacing:var(--tracking-wide);color:var(--alarm);font-weight:300}.crash-actions{padding-top:var(--sp-2)}.crash-details{border-top:1px solid var(--rule);padding-top:var(--sp-3)}.crash-details summary{font-size:var(--fs-sm);color:var(--ink-3);cursor:pointer}.crash-trace{margin-top:var(--sp-2);max-height:40vh;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);background:var(--deep);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--sp-3);white-space:pre-wrap;overflow:auto}.toast{left:50%;bottom:var(--sp-5);z-index:200;align-items:center;gap:var(--sp-3);background:var(--raised);border:1px solid var(--rule-strong);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);box-shadow:var(--shadow-panel);animation:rise-in var(--dur) var(--ease);max-width:min(520px,92vw);display:flex;position:fixed;transform:translate(-50%)}.toast-good{border-color:var(--phosphor-dim);color:var(--phosphor)}.toast-bad{border-color:var(--alarm-dim);color:var(--alarm)}.toast-info{color:var(--ink-2)}.toast-x{color:inherit;opacity:.6}@media (max-width:1199px){:root{--rail-w:200px}}@media (max-width:767px){.deck-main{padding:var(--sp-2)}:root{--header-h:56px}.topbar-right .btn{min-width:36px;min-height:36px;padding:6px 10px}.topbar-right .btn-primary{padding:8px 14px}.tabbar-btn{min-height:var(--tabbar-h)}.modal-scrim{place-items:stretch stretch;padding:0}.modal{border:none;border-radius:0;max-width:none;height:100%;max-height:100vh}.menu-title{font-size:var(--fs-2xl)}.crew-grid,.tree-nodes{grid-template-columns:1fr}.tabs{flex-wrap:wrap;row-gap:0}.topbar-nav{overflow-x:auto}.vault-slots{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}}
