:root{--void: #0b0d14;--panel: #12151f;--panel-lit: #171b26;--rule: #262d3b;--rule-soft: #1c2130;--ice: #cfe0f0;--dim: #75839a;--dimmer: #4b5568;--signal: #5fd4c4;--matter: #d9a441;--data: #9a9ae0;--organism: #d0407e;--alarm: #ff6b4a;--thermal: #ff7a3d;--kinetic: #dbe2ec;--electric: #6fb4ff;--corrosive: #9ad84f;--notch: polygon(0 6px, 6px 0, 100% 0, 100% calc(100% - 6px) , calc(100% - 6px) 100%, 0 100%);--sans: "IBM Plex Sans", system-ui, sans-serif;--cond: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--void);color:var(--ice);font-family:var(--sans);font-size:13px;line-height:1.5;overflow:hidden;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.shell{display:grid;grid-template-columns:minmax(0,1fr) 316px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"vitals analysis" "stage analysis" "palette analysis";height:100vh;gap:1px;background:var(--rule-soft)}.vitals{grid-area:vitals;background:var(--panel);display:flex;align-items:stretch;gap:22px;padding:10px 16px}.stage{grid-area:stage;background:#07080c;position:relative;display:grid;place-items:center;min-height:0;overflow:hidden}.palette{grid-area:palette;background:var(--panel);padding:10px 16px 12px}.analysis{grid-area:analysis;background:var(--panel);padding:14px 16px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}canvas{display:block;image-rendering:auto}.clock{min-width:132px;display:flex;flex-direction:column;justify-content:center;gap:2px}.clock-phase{margin:0;font-family:var(--cond);font-size:19px;font-weight:600;letter-spacing:.01em}.clock-night{margin:0;font-family:var(--cond);font-size:12px;color:var(--dim)}.timebar{margin-top:5px;height:3px;background:var(--rule-soft)}.timebar i{display:block;height:100%;width:0;background:var(--signal);transition:width .12s linear}.vitals[data-phase=night] .timebar i{background:var(--organism)}.ledger{margin:0;display:grid;grid-template-columns:repeat(4,auto);align-items:center;gap:0 22px}.ledger>div{display:flex;flex-direction:column;gap:1px}.ledger dt{font-family:var(--cond);font-size:11px;color:var(--dim)}.ledger dd{margin:0;font-family:var(--mono);font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}#v-matter{color:var(--matter)}#v-data{color:var(--data)}#v-core{color:var(--signal)}#v-core[data-hurt=true]{color:var(--alarm)}.meter{flex:1;min-width:190px;max-width:380px;display:flex;flex-direction:column;justify-content:center;gap:3px}.meter-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--cond);font-size:11px;color:var(--dim)}.meter-read{font-family:var(--mono);font-size:12px;color:var(--ice);font-variant-numeric:tabular-nums}.meter-track{position:relative;height:9px;background:var(--rule-soft);overflow:hidden}.meter-track--thin{height:4px}.meter-fill{display:block;height:100%;width:0;background:var(--signal);transition:width .12s linear}.meter[data-deficit=true] .meter-fill{background:var(--alarm)}.meter-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ice);opacity:.75}.meter-charge{display:block;height:100%;width:0;background:var(--matter);opacity:.85;transition:width .16s linear}.meter-note{margin:0;font-size:11px;color:var(--dimmer)}.meter[data-deficit=true] .meter-note{color:var(--alarm)}.act{align-self:center;padding:0 22px;height:46px;min-width:168px;border:1px solid var(--signal);background:transparent;color:var(--signal);font-family:var(--cond);font-size:15px;font-weight:600;clip-path:var(--notch);transition:background .14s ease,color .14s ease}.act:hover:not(:disabled){background:var(--signal);color:#06110f}.act:disabled{border-color:var(--rule);color:var(--dimmer);cursor:default}.act:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.palette-rows{display:flex;flex-wrap:wrap;gap:6px}.chip{position:relative;border:1px solid var(--rule);background:var(--panel-lit);padding:6px 10px 7px;min-width:126px;text-align:left;clip-path:var(--notch);transition:border-color .12s ease,background .12s ease}.chip:hover:not(:disabled){border-color:var(--dim)}.chip[aria-pressed=true]{border-color:var(--signal);background:#16241f}.chip:disabled{opacity:.42;cursor:default}.chip-name{display:block;padding-right:12px;font-family:var(--cond);font-size:12.5px;font-weight:500;white-space:nowrap}.chip-foot{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:3px}.chip-cost{font-family:var(--mono);font-size:11.5px;color:var(--matter);font-variant-numeric:tabular-nums}.chip-key{position:absolute;top:4px;right:7px;font-family:var(--mono);font-size:10px;color:var(--dimmer)}.chip-bar{position:absolute;left:0;top:0;bottom:0;width:3px}.palette-tip{margin:8px 0 0;font-size:12px;color:var(--dim);min-height:18px}.panel-title{margin:0;font-family:var(--cond);font-size:13px;font-weight:600;color:var(--ice);padding-bottom:6px;border-bottom:1px solid var(--rule)}.panel-title--spaced{margin-top:2px}.radar-wrap{display:grid;place-items:center;padding:2px 0 0}.radar-legend{display:flex;gap:14px;justify-content:center;margin-top:2px;font-family:var(--cond);font-size:11px;color:var(--dim)}.radar-legend span{display:inline-flex;align-items:center;gap:5px}.radar-legend i{width:14px;height:8px;display:inline-block}.resists{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.resists li{display:grid;grid-template-columns:78px 1fr 46px;align-items:center;gap:8px;font-family:var(--cond);font-size:12px}.resist-track{position:relative;height:6px;background:var(--rule-soft)}.resist-track i{position:absolute;top:0;bottom:0;left:50%}.resist-val{font-family:var(--mono);font-size:11.5px;text-align:right;font-variant-numeric:tabular-nums;color:var(--dim)}.resist-val[data-sign=pos]{color:var(--ice)}.resist-val[data-sign=neg]{color:var(--organism)}.incubation{border:1px solid var(--rule);border-left:3px solid var(--organism);background:#1a1220;padding:9px 11px 10px}.incubation[data-empty=true]{border-left-color:var(--rule);background:var(--panel-lit)}.incubation h3{margin:0 0 3px;font-family:var(--cond);font-size:13px;font-weight:600}.incubation p{margin:0;font-size:11.5px;color:var(--dim);line-height:1.45}.incubation .weak{color:var(--organism);margin-top:4px}.incubation .eta{font-family:var(--mono);font-size:11px;color:var(--ice);margin-top:5px}.log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:11.5px;line-height:1.45}.log li{display:grid;grid-template-columns:22px 1fr;gap:8px;color:var(--dim)}.log b{font-family:var(--mono);font-weight:400;font-size:10.5px;color:var(--dimmer);padding-top:1px}.log li[data-tone=good]{color:var(--signal)}.log li[data-tone=warn]{color:#e5a3bf}.screen[hidden]{display:none}.screen{position:absolute;inset:0;background:#07080ced;display:grid;place-items:center;padding:24px;overflow-y:auto}.card{width:min(560px,100%);border:1px solid var(--rule);background:var(--panel);clip-path:var(--notch);padding:24px 26px 22px}.card h1{margin:0;font-family:var(--cond);font-size:26px;font-weight:600;letter-spacing:.005em}.card .sub{margin:3px 0 18px;color:var(--dim);font-size:12.5px}.card h2{margin:18px 0 8px;font-family:var(--cond);font-size:12px;font-weight:600;color:var(--dim);border-bottom:1px solid var(--rule);padding-bottom:5px}.card p{margin:0 0 10px;font-size:12.5px;line-height:1.55;color:#a9b8cb;max-width:62ch}.rows{display:flex;flex-direction:column;gap:4px}.row{display:grid;grid-template-columns:96px 1fr 62px;align-items:center;gap:10px;font-family:var(--cond);font-size:12px}.row .bar{height:7px;background:var(--rule-soft)}.row .bar i{display:block;height:100%}.row .num{font-family:var(--mono);font-size:11.5px;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}.card .act{margin-top:20px;align-self:flex-start}.verdict{font-family:var(--mono);font-size:12px;color:var(--signal)}.verdict[data-bad=true]{color:var(--alarm)}@media (max-width: 1120px){.shell{grid-template-columns:minmax(0,1fr) 264px}.ledger{grid-template-columns:repeat(2,auto);gap:0 16px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.chip{padding-right:10px}.chip-draw{font-family:var(--mono);font-size:10.5px;color:var(--dimmer);font-variant-numeric:tabular-nums}.chip-eff{margin-left:auto;padding:0 5px 1px;font-family:var(--mono);font-size:10.5px;font-variant-numeric:tabular-nums;border:1px solid}.chip-eff[data-sign=bad]{color:var(--alarm);border-color:var(--alarm);background:#241414}.chip-eff[data-sign=good]{color:#0d1a12;border-color:var(--signal);background:var(--signal)}.palette-tip b{font-weight:500;color:var(--ice)}.panel-sub{margin:0 0 -4px;font-family:var(--cond);font-size:11.5px;font-weight:500;color:var(--dim)}.coach{position:absolute;left:50%;bottom:16px;transform:translate(-50%);width:min(660px,calc(100% - 32px));display:flex;align-items:flex-start;gap:14px;padding:13px 14px 14px 16px;background:#12151ff5;border:1px solid var(--rule);border-left:3px solid var(--signal);clip-path:var(--notch);pointer-events:none}.coach[hidden]{display:none}.coach[data-tone=warn]{border-left-color:var(--organism)}.coach-body{flex:1;min-width:0}.coach h3{margin:0 0 3px;font-family:var(--cond);font-size:14px;font-weight:600;color:var(--ice)}.coach[data-tone=warn] h3{color:#f0a8c4}.coach p{margin:0;font-size:12.5px;line-height:1.5;color:#a9b8cb;max-width:68ch}.coach-close{pointer-events:auto;flex:none;align-self:center;padding:6px 12px;border:1px solid var(--rule);background:transparent;color:var(--dim);font-family:var(--cond);font-size:12px}.coach-close:hover{border-color:var(--dim);color:var(--ice)}.coach-close:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.panel-note{margin:0;font-size:11.5px;color:var(--dim);line-height:1.45}.research{display:grid;grid-template-columns:1fr 1fr;gap:5px}.res{position:relative;border:1px solid var(--rule);background:var(--panel-lit);padding:6px 8px 7px;text-align:left;clip-path:var(--notch)}.res:hover:not(:disabled){border-color:var(--dim)}.res:disabled{opacity:.4;cursor:default}.res[data-owned=true]{opacity:1;border-color:var(--signal);background:#142320}.res-name{display:block;font-family:var(--cond);font-size:11.5px;font-weight:500;line-height:1.25}.res-cost{display:block;margin-top:2px;font-family:var(--mono);font-size:10.5px;color:var(--data);font-variant-numeric:tabular-nums}.res[data-owned=true] .res-cost{color:var(--signal)}.palette-foot{display:flex;align-items:center;gap:16px;margin-top:8px}.palette-tip{margin:0;flex:1}.ghost{flex:none;padding:6px 13px;border:1px solid var(--rule);background:transparent;color:var(--dim);font-family:var(--cond);font-size:12px;clip-path:var(--notch)}.ghost:hover{border-color:var(--signal);color:var(--signal)}.ghost:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.ghost[data-on=true]{border-color:var(--organism);color:var(--organism)}.demo-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);width:min(700px,calc(100% - 24px));display:flex;align-items:center;gap:14px;padding:9px 12px 10px 14px;background:#12151ff2;border:1px solid var(--rule);border-left:3px solid var(--signal);clip-path:var(--notch);pointer-events:none}.demo-bar[hidden]{display:none}.demo-bar .lead{flex:none;font-family:var(--cond);font-size:12px;font-weight:600;color:var(--signal)}.demo-bar .why{flex:1;min-width:0;font-size:12px;color:#a9b8cb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paused{position:absolute;inset:0;display:grid;place-items:center;background:#07080c6b;font-family:var(--cond);font-size:26px;font-weight:600;letter-spacing:.08em;color:var(--ice);pointer-events:none}.paused[hidden]{display:none}.ghost kbd{font-family:var(--mono);font-size:10px;padding:1px 4px;margin-left:5px;border:1px solid var(--rule);color:var(--dimmer)}.ghost[data-armed=true]{border-color:var(--alarm);color:var(--alarm)}.panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.badge{font-family:var(--mono);font-size:10px;padding:1px 6px 2px;border:1px solid var(--data);color:#0d0b1a;background:var(--data);animation:badge-pulse 2.4s ease-in-out infinite}.badge[hidden]{display:none}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.badge{animation:none}}#v-data[data-spendable=true]{text-shadow:0 0 12px rgba(154,154,224,.7)}.research--wide{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:4px}.card .res-name{font-size:12px}.clock-goal{margin:3px 0 0;font-family:var(--cond);font-size:11px;color:var(--signal);display:flex;align-items:center;gap:6px}.clock-goal i{flex:1;height:3px;background:var(--rule-soft);max-width:90px}.clock-goal i b{display:block;height:100%;background:var(--signal)}.campaign{position:fixed;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 0%,#17141f,#0b0d14 55%,#07080c);overflow-y:auto;padding:40px 32px 56px}.campaign[hidden]{display:none}.camp-inner{max-width:940px;margin:0 auto}.camp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:1px solid var(--rule)}.camp-head h1{margin:0;font-family:var(--cond);font-size:30px;font-weight:600;letter-spacing:.01em}.camp-head p{margin:4px 0 0;font-size:12.5px;color:var(--dim);max-width:56ch}.camp-purse{flex:none;text-align:right;font-family:var(--mono);font-size:12px;color:var(--dim);line-height:1.6}.camp-purse b{color:var(--data);font-weight:500}.camp-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}.camp-card{display:grid;grid-template-columns:44px 1fr 190px;align-items:center;gap:18px;width:100%;padding:14px 18px 15px;border:1px solid var(--rule);border-left:3px solid var(--rule);background:var(--panel);text-align:left;clip-path:var(--notch);transition:border-color .13s ease,background .13s ease}.camp-card:hover:not(:disabled){border-color:var(--dim);border-left-color:var(--signal);background:var(--panel-lit)}.camp-card:disabled{opacity:.42;cursor:default}.camp-card[data-done=true]{border-left-color:var(--signal)}.camp-card[data-endless=true]{border-left-color:var(--organism);margin-top:10px}.camp-num{font-family:var(--mono);font-size:20px;color:var(--dimmer);font-variant-numeric:tabular-nums}.camp-card[data-done=true] .camp-num{color:var(--signal)}.camp-name{display:block;font-family:var(--cond);font-size:17px;font-weight:600}.camp-brief{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--dim);max-width:62ch}.camp-meta{text-align:right;font-family:var(--cond);font-size:11.5px;color:var(--dim);line-height:1.6}.camp-meta b{display:block;font-family:var(--mono);font-size:11px;color:var(--signal);font-weight:400}.camp-meta .locked{color:var(--dimmer)}.camp-foot{margin-top:22px;display:flex;align-items:center;gap:14px;font-size:12px;color:var(--dimmer)}.camp-foot .ghost{margin-left:auto}.camp-diff{margin-top:18px;padding:13px 16px 14px;border:1px solid var(--rule);border-left:3px solid var(--matter);background:var(--panel);clip-path:var(--notch)}.camp-diff-head{display:flex;align-items:baseline;gap:12px;font-family:var(--cond);font-size:13px;font-weight:600}.camp-diff-note{font-weight:400;font-size:12px;color:var(--dim)}.camp-diff-row{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.diff{flex:1 1 130px;padding:7px 12px 8px;border:1px solid var(--rule);background:var(--panel-lit);text-align:left;clip-path:var(--notch);transition:border-color .12s ease,background .12s ease}.diff:hover{border-color:var(--dim)}.diff[aria-pressed=true]{border-color:var(--matter);background:#241d10}.diff-name{display:block;font-family:var(--cond);font-size:13px;font-weight:500}.diff-mult{display:block;margin-top:1px;font-family:var(--mono);font-size:11px;color:var(--dimmer)}.diff[aria-pressed=true] .diff-mult{color:var(--matter)}.camp-diff-foot{margin:9px 0 0;font-size:11.5px;line-height:1.5;color:var(--dimmer);max-width:76ch}
