:root{--ground: #171a16;--ground-2: #1d211c;--ink: #d6d2c4;--dim: #8a8578;--faint: #57534a;--line: #2c302a;--amber: #d8b45a;--rust: #c06a52;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--ground);color:var(--ink);font:14px/1.6 var(--mono);font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;text-align:left}button:disabled{cursor:default}#app{display:flex;flex-direction:column;min-height:100vh}.statusline{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 1rem;background:var(--ink);color:var(--ground);letter-spacing:.08em;font-size:12.5px}.statusline .doom{font-weight:600}.frame{flex:1;display:grid;grid-template-columns:380px 1fr;min-height:0}.rail{border-right:1px solid var(--line);padding:1rem;overflow-y:auto;background:var(--ground-2)}.story{padding:1.25rem 1.5rem;overflow-y:auto;max-width:72ch}@media(max-width:860px){.frame{grid-template-columns:1fr}.rail{border-right:none;border-bottom:1px solid var(--line)}}.group{margin-bottom:1.4rem}.group h2{font-size:11px;font-weight:400;letter-spacing:.18em;color:var(--faint);margin:0 0 .5rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}.aim{border:1px solid var(--line);padding:.7rem .8rem;margin-bottom:1.4rem}.aim .eyebrow{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.16em;color:var(--faint)}.aim .title{font-size:15px;margin:.15rem 0 .4rem}.aim .say{color:var(--dim);font-size:12.5px}.aim .have{margin-top:.35rem;font-size:12.5px}.res{display:grid;grid-template-columns:3.6rem 1fr auto;gap:.5rem;padding:.22rem 0;font-size:13px}.res .short{color:var(--dim)}.res .cap{color:var(--faint)}.res .rate{color:var(--dim)}.res .fault{color:var(--rust)}.plan-row{display:grid;grid-template-columns:1fr auto auto auto;gap:.45rem;align-items:center;padding:.28rem 0;border-bottom:1px solid var(--line);font-size:13px}.plan-row:last-child{border-bottom:none}.plan-row .hours{min-width:2.4rem;text-align:right}.plan-row .note{color:var(--faint);font-size:11.5px}.plan-btn{border:1px solid var(--line);width:1.6rem;height:1.6rem;display:grid;place-items:center;color:var(--dim)}.plan-btn:not(:disabled):hover{color:var(--ink);border-color:var(--dim)}.plan-btn:disabled{opacity:.35}.plan-total{font-size:11.5px;color:var(--faint);margin-top:.4rem}.row{display:block;width:100%;padding:.45rem .55rem;border:1px solid var(--line);margin-bottom:.45rem;background:var(--ground)}.row:not(:disabled):hover{border-color:var(--dim)}.row:disabled{opacity:.55}.row .head{display:flex;justify-content:space-between;gap:.6rem}.row .name{font-size:13px}.row .price{color:var(--dim);font-size:12.5px;white-space:nowrap}.row .price.short{color:var(--rust)}.row .sub{color:var(--faint);font-size:11.5px;margin-top:.15rem}.row .why{color:var(--rust);font-size:11.5px;margin-top:.15rem}.row.fixture{opacity:1;border-style:dashed;cursor:default}.row.choice{border-color:var(--amber)}.row.choice .name{color:var(--amber)}.entry{display:grid;grid-template-columns:3.2rem 1fr;gap:.8rem;margin-bottom:.9rem}.entry .tag{font-size:10.5px;letter-spacing:.14em;color:var(--faint);padding-top:.25rem;text-align:right}.entry .text{border-left:1px solid var(--line);padding-left:.8rem}.entry.warn .text{color:var(--amber);border-left-color:var(--amber)}.entry.danger .text{color:var(--rust);border-left-color:var(--rust)}.entry.system .text{color:var(--dim);font-size:12.5px}.entry.system .syskey{color:var(--ink);letter-spacing:.1em;font-size:11px}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1.2rem;padding:.55rem 1rem;border-top:1px solid var(--line);color:var(--faint);font-size:11.5px}.footer button{color:var(--dim);border:1px solid var(--line);padding:.15rem .5rem;font-size:11.5px}.footer button:hover{color:var(--ink)}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0d0f0ce0;z-index:90}.overlay .card{max-width:34rem;margin:1rem;border:1px solid var(--amber);background:var(--ground-2);padding:1.4rem 1.6rem}.overlay .card h2{color:var(--amber);letter-spacing:.14em;font-size:14px;margin:0 0 .6rem}.overlay .card p{color:var(--dim);font-size:13px}.overlay .card button{margin-top:.8rem;border:1px solid var(--line);padding:.3rem .8rem;color:var(--ink)}
