:root{--ink: #e6ecf5;--paper: #0d1117;--dim: #6f7b8c;--accent: #4fb8ff;--warn: #ff7a5c;--radius: 12px;--grain: .05;--font-ui: "Berkeley Mono", "SF Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--font-body: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--pad: clamp(12px, 2vw, 28px);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);overflow:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;background:repeating-linear-gradient(to bottom,rgb(0 0 0 / .16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgb(0 0 0 / .45) 100%);opacity:min(.5,calc(var(--grain) * 2.2));transition:opacity 1.2s ease}#app{height:100%;display:flex;flex-direction:column}.topbar{display:flex;flex-direction:column;gap:7px;padding:9px var(--pad);border-bottom:1px solid color-mix(in srgb,var(--dim) 45%,transparent);font-size:12px;letter-spacing:.08em;text-transform:uppercase;flex:0 0 auto}.topline{display:flex;align-items:baseline;gap:clamp(6px,1.1vw,16px);flex-wrap:wrap}.topbar .year{font-size:22px;letter-spacing:.14em;color:var(--accent);text-transform:none}.topbar .act{color:var(--dim)}.topbar .spacer{flex:1 1 auto}.topbar button{font-size:10px;padding:6px 9px}.gauges{display:flex;gap:clamp(8px,1.4vw,20px);flex-wrap:wrap}.gauge{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:88px;max-width:150px}.gauge b{font-weight:500;font-size:10px;color:var(--dim);letter-spacing:.04em;white-space:nowrap}.gauge .bar{height:4px;background:color-mix(in srgb,var(--dim) 30%,transparent);position:relative}.gauge .bar i{position:absolute;inset:0 auto 0 0;background:var(--accent);transition:width .6s ease}.gauge.warn .bar i{background:var(--warn)}.gauge.holding .bar i{background:color-mix(in srgb,var(--accent) 55%,transparent)}.gauge.holding .val{color:var(--accent)}.gauge b .held{font-style:normal;color:var(--accent);letter-spacing:.04em;margin-left:3px}.gauge .val{font-size:11px;color:var(--ink);font-variant-numeric:tabular-nums}.gauge .val sup{font-size:8.5px;line-height:0;vertical-align:super;letter-spacing:.02em}.patrons{display:flex;align-items:center;gap:clamp(7px,1.2vw,16px);flex-wrap:wrap}.patrons>b{font-weight:500;font-size:9.5px;color:var(--dim);letter-spacing:.14em;white-space:nowrap}.patron{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--dim)}.patron .bar{display:block;width:clamp(26px,4.5vw,54px);height:3px;background:color-mix(in srgb,var(--dim) 30%,transparent)}.patron .bar i{display:block;height:100%;background:var(--dim);transition:width .6s ease}.patron .lab{letter-spacing:.04em;white-space:nowrap}.patron .v{color:var(--ink);font-variant-numeric:tabular-nums}.owed{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--dim)}.owed .bar{display:block;width:clamp(26px,4.5vw,54px);height:3px;background:color-mix(in srgb,var(--dim) 30%,transparent)}.owed .bar i{display:block;height:100%;background:var(--dim);transition:width .6s ease}.owed .lab{letter-spacing:.04em;white-space:nowrap}.owed .v{color:var(--ink);font-variant-numeric:tabular-nums}.owed.warn{color:var(--warn)}.owed.warn .bar i{background:var(--warn)}.owed.warn .v{color:var(--warn)}.owed .asking{color:var(--warn);letter-spacing:.06em;white-space:nowrap}.stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.backdrop{position:absolute;inset:0;--bd: .34;opacity:var(--bd)}.backdrop svg{width:100%;height:100%;display:block}.backdrop.fade{animation:bdIn 1.4s ease both}@keyframes bdIn{0%{opacity:0;transform:scale(1.04)}to{opacity:var(--bd);transform:none}}.portrait{position:absolute;left:clamp(8px,4vw,80px);bottom:0;width:clamp(150px,22vw,280px);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 30%,transparent));animation:portraitIn .5s ease both}.portrait svg{width:100%;height:auto;display:block}@keyframes portraitIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.dialogue{position:absolute;left:0;right:0;bottom:0;padding:var(--pad);padding-left:clamp(8px,4vw,80px);background:linear-gradient(to top,var(--paper) 42%,color-mix(in srgb,var(--paper) 82%,transparent) 78%,transparent)}.dialogue .inner{max-width:74ch;margin-left:auto;margin-right:auto;border-left:2px solid var(--accent);padding:12px 0 12px 18px;border-radius:0 var(--radius) var(--radius) 0}.speaker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;min-height:1em}.speaker .kind{color:var(--dim);letter-spacing:.08em;margin-left:10px;text-transform:none}.text{font-family:var(--font-body);font-size:clamp(16px,1.55vw,21px);line-height:1.62;min-height:4.9em;white-space:pre-wrap}.text.system{font-family:var(--font-ui);font-size:clamp(13px,1.2vw,16px);letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.caret{display:inline-block;width:.55em;height:1.05em;background:var(--accent);vertical-align:-.16em;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.continue{margin-top:10px;font-size:11px;color:var(--dim);letter-spacing:.14em}.choices{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-width:74ch;margin-left:auto;margin-right:auto}.choice{text-align:left;background:color-mix(in srgb,var(--paper) 70%,transparent);border:1px solid color-mix(in srgb,var(--dim) 55%,transparent);border-radius:var(--radius);color:var(--ink);padding:11px 15px;font:inherit;font-size:clamp(13px,1.25vw,16px);cursor:pointer;transition:border-color .15s,background .15s,transform .12s}.choice:hover,.choice:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);transform:translate(3px);outline:none}.choice .hint{display:block;margin-top:4px;font-size:11px;color:var(--dim);font-family:var(--font-ui);letter-spacing:.04em}.panel{position:absolute;inset:0;background:var(--paper);overflow-y:auto;padding:var(--pad);animation:panelIn .25s ease both}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel.no-entry{animation:none}.panel h2{font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 4px}.panel .sub{color:var(--dim);font-size:12px;margin-bottom:20px;max-width:82ch;line-height:1.6}.panel .wrap{max-width:1180px;margin:0 auto}button,.btn{font:inherit;font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:transparent;color:var(--ink);border:1px solid color-mix(in srgb,var(--dim) 60%,transparent);border-radius:var(--radius);padding:7px 13px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}button:hover:not(:disabled),.btn:hover{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.38;cursor:not-allowed}button.primary{border-color:var(--accent);color:var(--accent)}button.primary:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.card{border:1px solid color-mix(in srgb,var(--dim) 45%,transparent);border-radius:var(--radius);padding:12px 14px;text-align:left;cursor:pointer;background:transparent;color:inherit;font:inherit;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s,transform .12s;text-transform:none;letter-spacing:normal}.card:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-2px)}.card .name{font-size:14px;letter-spacing:.02em}.card .blurb{font-size:12px;color:var(--dim);line-height:1.5}.card .cost{font-size:11px;color:var(--accent);letter-spacing:.1em}.card.picked{border-color:var(--fam, var(--accent));background:color-mix(in srgb,var(--fam, var(--accent)) 14%,transparent);border-left-width:3px}.card.picked:hover:not(:disabled){border-color:var(--fam, var(--accent));background:color-mix(in srgb,var(--fam, var(--accent)) 20%,transparent)}.card.picked .name:after{content:" ✓";color:var(--fam, var(--accent))}.card.picked .cost{color:var(--fam, var(--accent))}.tslots{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;margin:26px auto 18px;max-width:660px;width:100%}.tslot{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,transparent);color:inherit;font:inherit;cursor:pointer;text-align:left;text-transform:none;letter-spacing:normal;transition:border-color .15s,background .15s,transform .12s}.tslot.empty{border-style:dashed;background:transparent}.tslot:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);transform:translateY(-2px)}.tslot .n{font-size:10px;letter-spacing:.18em;color:var(--dim);text-transform:uppercase}.tslot .line{font-size:14px}.tslot .line b{color:var(--accent);font-size:17px;font-variant-numeric:tabular-nums}.tslot .sub{font-size:10.5px;color:var(--dim);letter-spacing:.06em}.usegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.uses{border-top:2px solid var(--fam);padding-top:8px}.uses h3{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fam)}.uses h3 .n{color:var(--dim);letter-spacing:.04em;margin-left:4px}.use{display:flex;gap:10px;align-items:baseline;padding:7px 0 7px 10px;border-left:2px solid color-mix(in srgb,var(--fam) 40%,transparent);margin-bottom:4px}.use .yr{font-size:11px;color:var(--fam);font-variant-numeric:tabular-nums;min-width:3.2em}.use .body{display:flex;flex-direction:column;gap:3px}.use .body b{font-size:12.5px;font-weight:500;letter-spacing:.01em}.use .body i{font-style:normal;font-family:var(--font-body);font-size:12.5px;color:var(--dim);line-height:1.55}.use.projected{border-left-style:dashed}.use.projected .yr:after{content:" ·"}.use.projected .body b:after{content:" projected";font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-left:6px}.verdicts{display:flex;flex-direction:column;gap:10px;max-width:82ch}.verdict{border-left:2px solid color-mix(in srgb,var(--accent) 45%,transparent);padding:2px 0 2px 12px}.verdict b{display:block;font-weight:500;color:var(--accent);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px}.verdict span{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--dim)}.dist{display:flex;gap:2px;height:14px;margin:4px 0 2px;max-width:900px}.dist i{display:block;background:var(--fam);min-width:2px;transition:flex .6s ease}.log-line.led b{color:var(--fam)}.log-line.led span{color:var(--ink)}.slots{display:flex;flex-direction:column;gap:8px;max-width:760px}.slot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 12px;border:1px solid color-mix(in srgb,var(--dim) 40%,transparent);border-radius:var(--radius);font-size:12px}.slot.empty{border-style:dashed}.slot.current{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.slot .n{font-size:16px;color:var(--accent);font-variant-numeric:tabular-nums;min-width:1.4em;text-align:center}.slot .what{color:var(--dim)}.slot .what b{color:var(--ink);font-size:14px}.slot .what i{font-style:italic}.slot .acts{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.slot .acts button{font-size:10px;padding:5px 8px}.pending{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:18px;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,transparent);font-size:11px}.pending .lab{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;font-size:10px}.pending .items{display:flex;flex-wrap:wrap;gap:5px}.pending .items .drop{font:inherit;font-style:normal;padding:2px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent);background:transparent;cursor:pointer;display:inline-flex;align-items:baseline;gap:5px}.pending .items .drop .x{font-style:normal;color:var(--dim)}.pending .items .drop:hover,.pending .items .drop:focus-visible{border-color:var(--warn);color:var(--warn)}.pending .items .drop:hover .x,.pending .items .drop:focus-visible .x{color:var(--warn)}.pending .tot{margin-left:auto;color:var(--ink);font-variant-numeric:tabular-nums}.pending .proj{flex-basis:100%;color:var(--dim);line-height:1.6;border-top:1px dashed color-mix(in srgb,var(--accent) 30%,transparent);padding-top:7px;margin-top:2px}.pending .proj b{color:var(--ink);font-weight:500;letter-spacing:.06em}.pending .proj.unlocks{border-top:none;padding-top:0;color:var(--accent)}.pending .reveal{font-size:10.5px;padding:3px 9px;border-radius:999px;margin:0 4px 0 0;border:1px dashed var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);text-transform:none;letter-spacing:.02em}.pending .reveal:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-style:solid}.pending .proj .hint{color:var(--dim)}.card{border-left:2px solid var(--fam, color-mix(in srgb, var(--dim) 45%, transparent))}.card .effects{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:2px}.card .effects i{font-style:normal;font-size:10.5px;letter-spacing:.02em;color:var(--fam, var(--accent));border:1px solid color-mix(in srgb,var(--fam, var(--accent)) 40%,transparent);border-radius:999px;padding:2px 7px;line-height:1.4}.card .effects i.more{color:var(--dim);border-color:color-mix(in srgb,var(--dim) 35%,transparent)}.card.unaffordable{opacity:.42}.card.unaffordable .cost{color:var(--warn)}.filterbar.tabs button{font-size:11px}.filterbar button .n{color:var(--dim);margin-left:5px;font-size:9.5px}.filterbar button.on .n{color:inherit}.filterbar.schools{margin-top:-6px}.filterbar.schools button{border-color:color-mix(in srgb,var(--fam, var(--dim)) 45%,transparent)}.filterbar.schools button.on{border-color:var(--fam, var(--accent));color:var(--fam, var(--accent))}.filterbar.schools .swatch{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--fam, var(--accent));margin-right:6px;vertical-align:0}.ledger{display:flex;flex-direction:column;gap:6px}.ledger-row{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:2px 12px;padding:7px 0 7px 10px;border-left:2px solid var(--fam, var(--accent));font-size:12px}.ledger-row b{font-weight:400}.ledger-row .spent{color:var(--warn);font-variant-numeric:tabular-nums}.ledger-row .eff{grid-column:1 / -1;color:var(--dim);font-size:11px;line-height:1.5}.ledger-row .undo{grid-column:2;grid-row:3;justify-self:end;align-self:start;font-size:10px;padding:2px 8px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border:1px solid color-mix(in srgb,var(--dim) 45%,transparent);background:transparent;cursor:pointer}.ledger-row .undo:hover,.ledger-row .undo:focus-visible{color:var(--warn);border-color:var(--warn)}.ledger-note{color:var(--dim);font-size:11px;line-height:1.6;max-width:62ch;margin:8px 0 0}.section-head{display:flex;align-items:baseline;gap:12px;margin:26px 0 10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}.section-head:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--dim) 30%,transparent)}.filterbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.filterbar button.on{border-color:var(--accent);color:var(--accent)}.tree{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;align-items:start}.fam{border-top:2px solid var(--fam);padding-top:8px}.fam h3{margin:0 0 2px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fam)}.fam .creed{font-size:11px;color:var(--dim);line-height:1.5;margin-bottom:4px;font-style:italic}.fam .stats{font-size:10px;color:var(--dim);letter-spacing:.08em;margin-bottom:10px}.node{border-left:2px solid color-mix(in srgb,var(--fam) 40%,transparent);padding:6px 0 6px 10px;margin-bottom:7px;cursor:pointer;position:relative}.node:hover{background:color-mix(in srgb,var(--fam) 10%,transparent)}.node .n{font-size:13px}.node .y{font-size:10px;color:var(--dim);letter-spacing:.06em}.node .p{height:3px;background:color-mix(in srgb,var(--dim) 28%,transparent);margin-top:5px}.node .p i{display:block;height:100%;background:var(--fam)}.node.mature{border-left-color:var(--fam)}.node.mature .n:after{content:" ✓";color:var(--fam)}.node.locked{opacity:.34;cursor:default}.node.dormant{opacity:.6}.node.dormant .n:after{content:" (dormant)";color:var(--warn);font-size:10px}.node.active .n:after{content:" ·";color:var(--accent)}.lede{font-family:var(--font-body);font-size:15px;line-height:1.6;margin:0 0 16px}.standings{display:flex;flex-direction:column;gap:9px;max-width:900px}.standing{display:grid;grid-template-columns:minmax(120px,190px) 1fr 44px;align-items:center;gap:4px 12px;font-size:12px}.standing .who{color:var(--fam);letter-spacing:.04em}.standing .track{height:9px;background:color-mix(in srgb,var(--dim) 22%,transparent)}.standing .track i{display:block;height:100%;background:var(--fam);transition:width .5s ease}.standing .pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.standing .breakdown{grid-column:2 / -1;font-size:10.5px;color:var(--dim);letter-spacing:.04em}.pacts{display:flex;flex-direction:column;gap:14px;max-width:900px}.pactrow{border-left:2px solid var(--fam);padding:2px 0 6px 12px;display:flex;flex-direction:column;gap:5px}.pacthead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.pacthead .who{color:var(--fam);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.pacthead .creed{font-family:var(--font-body);font-size:12.5px;color:var(--dim);line-height:1.5}.pactline{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;font-size:11px}.pactline .tag{color:var(--dim);letter-spacing:.08em;min-width:108px;font-size:10px;text-transform:uppercase}.pactline .chips{display:flex;flex-wrap:wrap;gap:5px}.pact{font-size:10.5px;letter-spacing:.04em;padding:2px 7px;border-radius:999px;color:var(--fam, var(--dim));border:1px solid color-mix(in srgb,var(--fam, var(--dim)) 40%,transparent)}.pact.ally{background:color-mix(in srgb,var(--fam) 12%,transparent)}.pact.ally.thin{border-style:dashed;background:none}.pact.ally.thin:after{content:" · thin";color:var(--dim)}.pact.rival{border-style:dotted}.pact.rival:before{content:"× "}.pact.none{color:var(--dim);border-color:transparent;padding-left:0;font-style:italic}.pactsum{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px;font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums}.pactsum .up{color:var(--fam)}.pactsum .down{color:color-mix(in srgb,var(--ink) 70%,var(--dim))}.chart-wrap{border:1px solid color-mix(in srgb,var(--dim) 30%,transparent);border-radius:var(--radius);overflow:hidden}.chart{display:block;width:100%;height:clamp(180px,26vh,300px);background:color-mix(in srgb,var(--dim) 8%,transparent)}.axis{position:relative;height:20px;border-top:1px solid color-mix(in srgb,var(--dim) 25%,transparent);background:color-mix(in srgb,var(--dim) 8%,transparent)}.axis .tick{position:absolute;top:4px;transform:translate(-50%);font-size:10px;letter-spacing:.06em;color:var(--dim);font-variant-numeric:tabular-nums}.axis .tick.start{transform:none}.axis .tick.end{transform:translate(-100%)}.chart-note{font-size:11px;color:var(--dim);line-height:1.6;max-width:82ch;margin:8px 0 0}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:11px;color:var(--dim)}.legend .key i{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--fam);margin-right:6px}.legend .key.dashed i{width:14px;height:0;border-top:2px dashed var(--ink);border-radius:0;vertical-align:3px}.pline.p0,.patron-key.p0 i{stroke:var(--warn);background:var(--warn)}.pline.p1,.patron-key.p1 i{stroke:var(--accent);background:var(--accent)}.pline.p2,.patron-key.p2 i{stroke:var(--ink);background:var(--ink)}.pline.p3,.patron-key.p3 i{stroke:var(--dim);background:var(--dim)}.pline.p2{stroke-dasharray:6 4}.pline.p3{stroke-dasharray:2 4}.patron-key.p2 i{height:0;width:14px;border-top:2px dashed var(--ink);border-radius:0;background:none;vertical-align:3px}.patron-key.p3 i{height:0;width:14px;border-top:2px dotted var(--dim);border-radius:0;background:none;vertical-align:3px}.dtree{border-left:2px solid color-mix(in srgb,var(--dim) 35%,transparent);margin-left:8px;padding-left:0}.branch{position:relative;padding:0 0 22px 20px}.branch:before{content:"";position:absolute;left:0;top:9px;width:14px;height:2px;background:color-mix(in srgb,var(--dim) 35%,transparent)}.branch:after{content:"";position:absolute;left:-5px;top:5px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.node-year{font-size:13px;letter-spacing:.1em;color:var(--accent)}.node-year span{color:var(--dim);font-size:10.5px;letter-spacing:.06em}.twigs{margin-top:8px;display:flex;flex-direction:column;gap:8px}.twig{border-left:2px solid var(--fam, color-mix(in srgb, var(--dim) 40%, transparent));padding:4px 0 4px 12px}.twig .what{font-size:13px;line-height:1.5}.twig .kindtag{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-right:6px}.twig.choice .kindtag{color:var(--accent)}.twig .conseq{display:flex;flex-wrap:wrap;gap:3px 6px;margin-top:5px}.twig .conseq i{font-style:normal;font-size:10.5px;color:var(--fam, var(--dim));border:1px solid color-mix(in srgb,var(--fam, var(--dim)) 35%,transparent);border-radius:999px;padding:1px 7px}.twig .conseq i.none{color:var(--dim);border-style:dashed}.twig .favoured{font-size:10px;color:var(--fam);letter-spacing:.08em;margin-top:4px}.fruit{margin-top:4px;display:flex;flex-direction:column;gap:3px}.outcome{font-size:11.5px;color:var(--accent);line-height:1.5;padding-left:12px}.outcome.crisis{color:var(--warn)}.codex-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.entry{border-left:2px solid var(--fam, var(--accent));padding-left:12px}.entry h4{margin:0 0 2px;font-size:14px}.entry .meta{font-size:11px;color:var(--dim);margin-bottom:6px;letter-spacing:.05em}.entry p{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.6}.entry .src{font-size:10px;color:var(--dim);margin-top:6px;line-height:1.5}.report{max-width:760px;margin:0 auto}.report li{margin-bottom:9px;line-height:1.55;font-family:var(--font-body);font-size:15px}.report .crisis{color:var(--warn)}.report ul{padding-left:18px}.plate{display:block}.plate.pixel{image-rendering:pixelated}.plate-bed{position:absolute;inset:0;overflow:hidden;animation:plateIn 2.4s ease both}.actbreak>*:not(.plate-bed),.title-screen>*:not(.plate-bed){position:relative;z-index:1}.plate-bed .plate{width:100%;height:100%;object-fit:cover;opacity:.3;animation:plateDrift 26s ease-in-out infinite alternate}.plate-bed:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 58% 42% at center,color-mix(in srgb,var(--paper) 78%,transparent),transparent 72%),radial-gradient(ellipse at center,transparent 20%,var(--paper) 92%)}.title-bed .plate{opacity:.22}html[data-era=teletype] .plate-bed .plate{mix-blend-mode:multiply;opacity:.52}html[data-era=teletype] .title-bed .plate{opacity:.4}html[data-era=teletype] .plate-strip .plate{mix-blend-mode:multiply}html[data-era=web] .plate-bed .plate{opacity:.38}html[data-era=teletype] .plate-bed:after,html[data-era=web] .plate-bed:after{background:radial-gradient(ellipse 62% 46% at center,color-mix(in srgb,var(--paper) 88%,transparent),transparent 74%),radial-gradient(ellipse at center,transparent 18%,var(--paper) 94%)}@keyframes plateIn{0%{opacity:0}to{opacity:1}}@keyframes plateDrift{0%{transform:scale(1.06) translate3d(-1%,-.5%,0)}to{transform:scale(1.12) translate3d(1%,.5%,0)}}.plate-credit{font-size:10px;letter-spacing:.1em;color:var(--dim);max-width:62ch;margin-top:6px;opacity:.85}.plate-strip{float:right;width:clamp(150px,26%,250px);margin:0 0 14px 20px}.plate-strip .plate{width:100%;height:auto;border:1px solid color-mix(in srgb,var(--dim) 40%,transparent);border-radius:var(--radius);opacity:.85}.plate-strip figcaption{font-size:10px;letter-spacing:.08em;color:var(--dim);margin-top:6px}.plate-entry .plate{width:100%;max-width:340px;height:auto;margin-bottom:8px;border:1px solid color-mix(in srgb,var(--dim) 40%,transparent)}.actbreak{position:fixed;inset:0;z-index:80;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:var(--pad);animation:abIn .7s ease both}@keyframes abIn{0%{opacity:0}to{opacity:1}}.actbreak .numeral{font-size:clamp(48px,9vw,120px);letter-spacing:.2em;color:var(--accent);line-height:1}.actbreak .title{font-family:var(--font-body);font-size:clamp(22px,3.4vw,40px)}.actbreak .years{font-size:13px;letter-spacing:.3em;color:var(--dim)}.actbreak .device{font-size:11px;letter-spacing:.12em;color:var(--dim);max-width:60ch;margin-top:18px}.actbreak .rule{width:min(420px,70vw);height:1px;background:var(--accent);animation:ruleGrow 1.1s ease both}@keyframes ruleGrow{0%{transform:scaleX(0)}to{transform:none}}.title-screen{position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:var(--pad)}.title-screen h1{font-size:clamp(30px,6vw,68px);letter-spacing:.16em;margin:0;font-weight:400}.title-screen .tag{font-family:var(--font-body);font-size:clamp(15px,1.8vw,21px);color:var(--dim);max-width:56ch;line-height:1.6}.title-screen .row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:12px}.title-screen .foot{font-size:11px;color:var(--dim);letter-spacing:.08em;margin-top:26px;line-height:1.8}.lamp{animation:lampFlicker 2.4s steps(2) infinite}@keyframes lampFlicker{0%,42%{opacity:inherit}43%,to{opacity:.15}}.log-list{max-width:760px;margin:0 auto}.report .log-list{max-width:none;margin:0}.log-line{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--dim) 18%,transparent);font-size:13px;line-height:1.5}.log-line b{color:var(--dim);font-weight:400;font-variant-numeric:tabular-nums}.log-line.breakthrough b{color:var(--accent)}.log-line.crisis{color:var(--warn)}.log-line.system{color:var(--accent);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.detail{position:fixed;inset:auto 0 0;z-index:70;background:var(--paper);border-top:2px solid var(--accent);padding:var(--pad);max-height:62vh;overflow-y:auto;animation:detailIn .22s ease both}@keyframes detailIn{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.detail .wrap{max-width:780px;margin:0 auto}.detail p{font-family:var(--font-body);font-size:15px;line-height:1.65}html{transition:background-color .9s ease}body{transition:background-color .9s ease,color .9s ease}html[data-era=teletype] .text,html[data-era=teletype] .speaker{text-shadow:0 .5px 0 color-mix(in srgb,var(--ink) 22%,transparent)}html[data-era=teletype] .choice,html[data-era=teletype] .card{border-style:dashed}html[data-era=teletype] .topbar{border-bottom-style:double;border-bottom-width:3px}html[data-era=phosphor] body:after{background:repeating-linear-gradient(to bottom,rgb(0 0 0 / .34) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 42%,rgb(0 0 0 / .72) 100%);opacity:.62}html[data-era=phosphor] .text,html[data-era=phosphor] .speaker,html[data-era=phosphor] .topbar .year,html[data-era=phosphor] .actbreak .numeral{text-shadow:0 0 7px color-mix(in srgb,var(--accent) 60%,transparent)}html[data-era=phosphor] .choice:hover,html[data-era=phosphor] .card:hover:not(:disabled){box-shadow:0 0 14px color-mix(in srgb,var(--accent) 28%,transparent)}html[data-era=cga] body:after{background:repeating-linear-gradient(to right,rgb(0 0 0 / .16) 0 1px,transparent 1px 3px),repeating-linear-gradient(to bottom,rgb(0 0 0 / .3) 0 2px,transparent 2px 4px);opacity:.5}html[data-era=cga] .choice,html[data-era=cga] .card,html[data-era=cga] button,html[data-era=cga] .btn{border-width:2px;border-color:var(--dim);background:transparent}html[data-era=cga] .choice:hover,html[data-era=cga] .choice:focus-visible,html[data-era=cga] .card:hover:not(:disabled),html[data-era=cga] button:hover:not(:disabled){background:var(--accent);color:var(--paper);border-color:var(--ink);transform:none}html[data-era=cga] .card:hover .blurb,html[data-era=cga] .card:hover .cost,html[data-era=cga] .choice:hover .hint{color:var(--paper)}html[data-era=cga] .card:hover .effects i{color:var(--paper);border-color:color-mix(in srgb,var(--paper) 55%,transparent)}html[data-era=cga] .gauge .bar,html[data-era=cga] .standing .track,html[data-era=cga] .patron .bar,html[data-era=cga] .owed .bar{background-image:repeating-conic-gradient(var(--dim) 0% 25%,transparent 0% 50%);background-size:4px 4px;background-color:transparent}html[data-era=cga] .dialogue .inner{border-left-width:3px}html[data-era=cga] .backdrop{--bd: .55}html[data-era=web] body:after{background:radial-gradient(ellipse at center,transparent 70%,rgb(0 0 0 / .12) 100%);opacity:.5}html[data-era=web] .choice,html[data-era=web] .card,html[data-era=web] button,html[data-era=web] .btn{background:linear-gradient(to bottom,color-mix(in srgb,var(--ink) 3%,transparent),color-mix(in srgb,var(--ink) 9%,transparent));box-shadow:inset 1px 1px color-mix(in srgb,#fff 70%,transparent),1px 1px color-mix(in srgb,var(--ink) 22%,transparent)}html[data-era=web] .choice:hover,html[data-era=web] .card:hover:not(:disabled){transform:none}html[data-era=web] .speaker{text-decoration:underline;text-underline-offset:3px}html[data-era=glass] .panel,html[data-era=glass] .detail{background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px)}html[data-era=glass] .choice,html[data-era=glass] .card{background:color-mix(in srgb,var(--ink) 5%,transparent);box-shadow:0 2px 14px #00000047}html[data-era=glass] .dialogue .inner{background:linear-gradient(to right,color-mix(in srgb,var(--accent) 7%,transparent),transparent 60%)}html[data-era=ambient] body:after{background:radial-gradient(ellipse at center,transparent 60%,rgb(0 0 0 / .4) 100%);opacity:.45}html[data-era=ambient] .choice,html[data-era=ambient] .card{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--accent) 9%,transparent)}html[data-era=ambient] .speaker{letter-spacing:.22em}html[data-era=lucid] body:after{opacity:0}html[data-era=lucid] .choice,html[data-era=lucid] .card,html[data-era=lucid] button,html[data-era=lucid] .btn{border-color:color-mix(in srgb,var(--dim) 34%,transparent);background:transparent}html[data-era=lucid] .dialogue .inner{border-left-color:color-mix(in srgb,var(--ink) 55%,transparent)}html[data-era=lucid] .text{letter-spacing:.015em;line-height:1.78}html[data-era=lucid] .speaker{letter-spacing:.3em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,.btn:focus-visible,.card:focus-visible{outline-offset:1px}.dialogue .inner{transition:border-color .6s ease}.text.done+.continue{opacity:.7}.choice:active{transform:translate(1px) scale(.997)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:720px){.plate-strip{float:none;width:min(100%,260px);margin:0 0 16px}.portrait{width:116px;left:6px;opacity:.9}.dialogue{padding-left:12px}.text{min-height:6.5em}.gauges{gap:7px 10px}.gauge{min-width:74px}.gauge b{font-size:8.5px;letter-spacing:.01em}.topbar .act{font-size:10px}.patron .bar{display:none}.patrons{gap:4px 10px}}
