:root{--paper:#f3efe6;--paper-2:#ebe5d8;--card:#faf8f2;--ink:#2b2a27;--ink-2:#5d5a52;--ink-3:#8f8a7e;--rule:#d8d0c0;--sepia:#95643a;--slate:#476580;--moss:#557a2f;--ochre:#a07a2c;--live:#2c7a5f;--warn:#b5523b;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--hand:"Caveat", "Segoe Print", cursive;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:14px/1.45 var(--serif);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}code{font:.92em var(--mono);background:var(--paper-2);border-radius:2px;padding:0 4px}a{color:inherit}.app{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:250px minmax(0,1fr) 380px;height:100vh;display:grid}.top{border-bottom:1px solid var(--rule);grid-column:1/-1;align-items:center;gap:28px;padding:14px 24px 12px;display:flex}.title h1{letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:30px;font-weight:400;line-height:1}.title p{color:var(--ink-2);margin:5px 0 0;font-size:13.5px;font-style:italic}.title p span{font-style:normal;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);font-size:11px}.mode{color:var(--ink-2);flex-wrap:wrap;flex:1;align-items:center;gap:10px;font-size:13px;display:flex}.mode .link{border:0;border-bottom:1px dotted var(--ink-3);cursor:pointer;color:var(--ink-2);background:0 0;padding:0;font-size:12px}.year{font:300 52px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em;overflow:hidden}.year span{animation:.55s cubic-bezier(.2,.7,.2,1) roll;display:inline-block}@keyframes roll{0%{opacity:0;transform:translateY(60%)}to{opacity:1;transform:none}}.badge{font:500 10px/1 var(--mono);letter-spacing:.08em;white-space:nowrap;text-transform:uppercase;border-radius:2px;padding:4px 6px 3px}.badge-live{background:var(--live);color:#fff}.badge-sim{border:1px solid var(--ink-3);color:var(--ink-2)}.badge-fallback{border:1px solid var(--warn);color:var(--warn)}.left,.right{padding:16px 18px;overflow-y:auto}.left{border-right:1px solid var(--rule)}.right{border-left:1px solid var(--rule);flex-direction:column;gap:10px;padding-top:14px;display:flex}h2{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}section+section{margin-top:22px}.lenses{flex-direction:column;gap:3px;display:flex}.lens-btn{text-align:left;border:1px solid #0000;border-left:3px solid var(--rule);cursor:pointer;background:0 0;border-radius:0 3px 3px 0;grid-template-rows:auto auto;grid-template-columns:18px 1fr;column-gap:8px;padding:6px 8px;transition:background .25s,border-color .25s;display:grid}.lens-btn .k{font:10px var(--mono);color:var(--ink-3);grid-row:1/3;padding-top:3px}.lens-btn .n{font-size:15px}.lens-btn .w{color:var(--ink-3);font-size:11.5px;font-style:italic}.lens-btn:hover{background:var(--paper-2)}.lens-btn.on{background:var(--card);border-color:var(--rule)}.lens-btn.lens-ground.on{border-left-color:var(--ink)}.lens-btn.lens-memory.on{border-left-color:var(--sepia)}.lens-btn.lens-present.on{border-left-color:var(--slate)}.lens-btn.lens-possibility.on{border-left-color:var(--moss)}.lens-btn.lens-palimpsest.on{border-left-color:var(--ochre)}.blurb{color:var(--ink-2);min-height:3.5em;margin:10px 2px 0;font-size:13px;font-style:italic}.people-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.people-list li{grid-template-columns:10px auto 1fr;align-items:baseline;gap:6px;font-size:13px;animation:.8s both appear;display:grid}.people-list i{background:var(--ink-3);border-radius:50%;width:7px;height:7px;display:inline-block}.people-list span{color:var(--ink-3);font-size:11.5px;font-style:italic}.people-list .lens-memory i{background:var(--sepia)}.people-list .lens-present i{background:var(--slate)}.people-list .lens-possibility i{background:var(--moss)}.people-list .gone{opacity:.45}.people-list .gone i{border:1px solid var(--ink-3);background:0 0}.stage{background:radial-gradient(ellipse at 50% 40%, #f8f5ee 0%, var(--paper) 70%);position:relative;overflow:hidden}.scene{width:100%;height:100%;position:absolute;inset:0}.caption{color:#f3efe6;text-align:center;background:#2b2a27db;border-radius:2px;width:fit-content;max-width:min(720px,90%);margin:0 auto;padding:10px 18px;font-size:16px;font-style:italic;animation:.6s both fade;position:absolute;bottom:18px;left:0;right:0}.inspector-wrap{pointer-events:auto;width:300px;max-height:calc(100% - 90px);position:absolute;top:14px;left:14px;overflow-y:auto}.inspector{border:1px solid var(--rule);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#faf8f2ed;border-radius:2px;padding:12px 14px}.inspector h3{margin:0;font-size:19px;font-weight:400}.inspector h4{font:500 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:12px 0 6px}.inspector .hint{color:var(--ink-2);margin:4px 0 0;font-size:13px;font-style:italic}.inspector .ground-state{font-family:var(--mono);color:var(--ink-2);margin:2px 0 0;font-size:11.5px}.inspector .building{color:var(--ochre)}.inspector .reading p{margin:3px 0;font-size:13px}.inspector .reading.lens-memory{color:var(--sepia)}.inspector .reading.lens-present{color:var(--slate);font-family:var(--mono);font-size:12px}.inspector .reading.lens-possibility{color:var(--moss);font-family:var(--hand);font-size:19px;line-height:1.1}.inspector .faded{opacity:.45}.inspector .meta{color:var(--ink-3);font-size:11px;font-family:var(--mono)}.layers{margin:0;padding:0;font-size:12.5px;list-style:none}.layers li{padding:1px 0}.yr{font:500 11px var(--mono);color:var(--ochre);margin-right:4px}.whispers{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.whisper{border-left:2px solid var(--ink-3);padding-left:8px}.whisper.lens-memory{border-color:var(--sepia)}.whisper.lens-present{border-color:var(--slate)}.whisper.lens-possibility{border-color:var(--moss)}.whisper.gone{opacity:.55}.whisper q{font-size:13px;font-style:italic;display:block}.whisper .meta{margin-top:2px;display:block}.carry{font:10.5px var(--mono);border:1px solid var(--ochre);color:var(--ochre);cursor:pointer;background:0 0;border-radius:2px;margin-top:4px;padding:2px 6px}.carry:hover{background:var(--ochre);color:var(--paper)}.scene polygon,.scene line,.scene circle,.scene ellipse,.scene polyline{vector-effect:non-scaling-stroke}.flat{stroke:#50463240;stroke-width:.6px}.f-street{fill:#e7e1d3}.f-stone{fill:#ddd6c5}.cobble{fill:url(#cobble);stroke:none}.cobble-dot{fill:#b9ae96}.f-asphalt{fill:#a29e94}.f-gravel{fill:#e2d8bf}.f-sand{fill:#e9d7a6}.f-water{fill:#a7bfc6}.f-pale{fill:#ece5d4}.f-grass{fill:#b9c69a}.f-earth{fill:#b39873}.box polygon{stroke:#32281959;stroke-width:.5px;stroke-linejoin:round}.m-stone.t{fill:#e5dfd1}.m-stone.s{fill:#cbc3b0}.m-stone.e{fill:#b7ae99}.m-wood.t{fill:#c8a879}.m-wood.s{fill:#aa8b5e}.m-wood.e{fill:#95784e}.m-hedge.t{fill:#93a66c}.m-hedge.s{fill:#728951}.m-hedge.e{fill:#617646}.m-plaster.t{fill:#f0e9db}.m-plaster.s{fill:#ddd3bf}.m-plaster.e{fill:#cbbfa6}.m-car.t{fill:#c1bcb1}.m-car.s{fill:#9f9a8f}.m-car.e{fill:#8d887d}.m-red.t{fill:#c87358}.m-red.s{fill:#a95b44}.m-red.e{fill:#934e3a}.m-bronze.t{fill:#8c6c3b}.m-bronze.s{fill:#6f5530}.m-bronze.e{fill:#5d4728}.m-house.s{fill:#ebe1cd;stroke:#3228194d;stroke-width:.5px}.m-house.e{fill:#d8cbb0;stroke:#3228194d;stroke-width:.5px}.roof.s{fill:#ad6d52;stroke:#3228194d;stroke-width:.5px}.roof.e{fill:#93573f;stroke:#3228194d;stroke-width:.5px}.window{fill:#8796a0;opacity:.55}.slide{fill:#d9a35a;stroke:#32281959;stroke-width:.5px}.ball{fill:#c87358}.ringline{fill:none;stroke:#7e6545;stroke-width:.7px}.line{stroke:var(--ink-2);stroke-width:1px;fill:none}.line.stall{stroke:#e9e4d8;stroke-width:1.2px}.line.pergola{stroke:#8f7650;stroke-width:1.6px}.line.frame{stroke:#6b5a44;stroke-width:1.6px}.tree .trunk{stroke:#6b5a44;stroke-linecap:round}.tree .shade{fill:#3c321e1f}.canopy{stroke:#28371940;stroke-width:.6px}.canopy.c1{fill:#7c9a5b}.canopy.c2{fill:#8aa866}.canopy.c3{fill:#9ab774}.ground-layer{transition:filter .9s}.lens-memory .ground-layer{filter:sepia(.5)saturate(.7)brightness(1.04)}.lens-present .ground-layer{filter:saturate(.45)brightness(1.02)}.lens-possibility .ground-layer{filter:saturate(1.3)brightness(1.03)}.lens-palimpsest .ground-layer{filter:grayscale(.8)opacity(.7)}.plot{cursor:pointer}.hit{fill:#0000}.outline{fill:none;stroke:#0000;stroke-width:1.3px;stroke-dasharray:5 3;transition:stroke .2s}.plot.is-focus .outline,.plot.is-selected .outline{stroke:var(--ink)}.construction .fence{fill:none;stroke:var(--ochre);stroke-width:1.3px;stroke-dasharray:7 3}.construction .fencepost line{stroke:var(--ochre);stroke-width:1.2px}.construction .future{filter:saturate(.35);transition:opacity 1s}.pending{fill:none;stroke:var(--ochre);stroke-width:1.4px;stroke-dasharray:3 3;transform-box:fill-box;transform-origin:50%;animation:8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.heat{fill:url(#hatch);pointer-events:none;transition:opacity 1s}.hatch-line{stroke:var(--warn);stroke-width:1.4px}.work-tag rect{fill:var(--ochre)}.work-tag text{fill:#fbf7ec;font:500 11px var(--mono)}.work-tag{pointer-events:none;animation:.6s both fade}.ghost{pointer-events:none}.ghost *{stroke-dasharray:3 2.5;fill:none!important;stroke:var(--sepia)!important;stroke-width:.9px!important;filter:none!important}.ghost-memory{opacity:.8;animation:5s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.55}50%{opacity:.9}}.ghost-sheet *{stroke:var(--ochre)!important}.ghost .sheet{stroke-dasharray:none;fill:#faf6ec80!important}.ghost .sheet-year{font:500 12px var(--mono);fill:var(--ochre)!important;stroke:none!important}.ghost-sheet{animation:.9s both fade}@keyframes fade{0%{opacity:0}}.person line{stroke-width:1.6px;stroke:var(--ink-2)}.person circle{fill:var(--ink-2)}.person text{font:9px var(--mono);fill:var(--ink-2)}.person.lens-memory line{stroke:var(--sepia)}.person.lens-memory circle{fill:var(--sepia)}.person.lens-present line{stroke:var(--slate)}.person.lens-present circle{fill:var(--slate)}.person.lens-possibility line{stroke:var(--moss)}.person.lens-possibility circle{fill:var(--moss)}.person{pointer-events:none;transition:opacity .5s}.person.dim{opacity:.22}.notes{pointer-events:none}.notes>g{transition:opacity .3s}.notes .muted{opacity:.3}.note{animation:.5s both fade}.note rect{fill:#faf8f2ed;stroke:var(--rule);stroke-width:.8px}.note text{font:10.5px var(--mono);fill:var(--ink-2)}.note .by{fill:var(--ink-3);font-size:9px}.note.faded{opacity:.38}.notes-ground .note text{font:500 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;fill:var(--ink-2)}.notes-memory .note rect{stroke:var(--sepia);stroke-dasharray:3 2}.notes-memory .note text{font:italic 11.5px var(--serif);fill:var(--sepia)}.notes-memory .note-trace rect{fill:#efe2cc;stroke-dasharray:none}.notes-present .note rect{stroke:var(--slate)}.notes-present .note text{fill:var(--slate)}.notes-present .note-warn rect{stroke:var(--warn)}.notes-present .note-warn text{fill:var(--warn)}.notes-possibility .note rect{fill:#f5f8ece6;stroke:var(--moss);stroke-dasharray:1 3;stroke-linecap:round;stroke-width:1.4px}.notes-possibility .note text{font:600 15px var(--hand);fill:var(--moss)}.notes-possibility .note .by{font:9px var(--mono)}.daemon .who{color:var(--ink-2);margin:0 0 8px;font-size:13.5px;font-style:italic}.daemon .who b{color:var(--ink);font-style:normal;font-weight:500}.weights{gap:3px;display:grid}.weights div{font:10.5px var(--mono);color:var(--ink-3);grid-template-columns:68px 1fr 34px;align-items:center;gap:6px;display:grid}.weights i{background:var(--ochre);max-width:100%;height:4px;transition:width 1s;display:block}.weights b{text-align:right;font-weight:400}.ledger{flex-direction:column;gap:10px;padding-bottom:20px;display:flex}.entry{animation:.7s both appear}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.entry header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.entry header .yr{font-size:13px}.kicker{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.entry-decision{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--ochre);border-radius:2px;padding:10px 12px}.entry-decision.is-wait{border-left-color:var(--ink-3);background:0 0}.entry-decision dl{grid-template-columns:62px 1fr;gap:3px 8px;margin:0;display:grid}.entry-decision dt{font:500 9.5px/1.9 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ochre)}.entry-decision dd{margin:0;font-size:13px;animation:.8s both appear}.entry-decision dd:nth-of-type(2){animation-delay:.5s}.entry-decision dd:nth-of-type(3){animation-delay:1s}.entry-decision .decided{font-weight:500}.span{font:11px var(--mono);color:var(--ink-2);align-items:center;gap:6px;margin:9px 0 2px;animation:.8s 1.4s both appear;display:flex}.span i{background:var(--ochre);height:1px;position:relative}.span i:after{content:"";border:3.5px solid #0000;border-left:5px solid var(--ochre);position:absolute;top:-3px;right:-1px}.span b{color:var(--ochre);white-space:nowrap;margin-left:6px;font-weight:500}.utterance{color:var(--ink);margin:8px 0 0;font-size:14px;font-style:italic;animation:1s 1.8s both appear}.vnote{font:10.5px/1.4 var(--mono);color:var(--warn);margin:4px 0 0}.entry-done{border-left:3px double var(--ink);padding:6px 10px}.entry-done p{margin:0;font-size:13px}.entry-done.too-late{border-left-color:var(--warn)}.stamp{font:600 10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--warn);border:1.5px solid var(--warn);margin-left:auto;padding:2px 5px;transform:rotate(-4deg)}.entry-refusal{border-left:3px solid var(--warn);padding:6px 10px;font-size:13px}.entry-refusal p{margin:0}.entry-event{color:var(--ink-2);margin:0;padding-left:2px;font-size:12.5px;font-style:italic}.entry-thinking{color:var(--ochre);font-style:italic}.dots:after{content:"";animation:1.6s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.bottom{border-top:1px solid var(--rule);background:var(--paper-2);grid-column:1/-1;padding:10px 24px 12px}.timeline{height:calc(26px + var(--lanes) * 19px);margin:0 6px;position:relative}.tl-decade{font:10px var(--mono);color:var(--ink-3);position:absolute;top:0;transform:translate(-50%)}.tl-decade:after{content:"";height:calc(var(--lanes) * 19px + 8px);border-left:1px dotted var(--rule);position:absolute;top:14px;left:50%}.tl-future{background:repeating-linear-gradient(-45deg,#0000 0 5px,#8f8a7e17 5px 6px);transition:left .5s;position:absolute;top:16px;bottom:0;right:0}.tl-now{border-left:1.5px solid var(--ink);z-index:2;transition:left .5s cubic-bezier(.2,.7,.2,1);position:absolute;top:12px;bottom:-4px}.tl-now span{font:500 10.5px var(--mono);background:var(--ink);color:var(--paper);padding:1px 4px;position:absolute;top:-13px;left:4px}.tl-event{background:var(--ink-3);border-radius:50%;width:5px;height:5px;position:absolute;bottom:-2px;transform:translate(-50%)}.tl-bar{border:1px solid var(--ochre);background:#a07a2c1a;border-radius:1px;height:15px;animation:.6s both appear;position:absolute;overflow:hidden}.tl-bar i{background:#a07a2c59;transition:width .5s;position:absolute;inset:0 auto 0 0}.tl-bar span{font:9.5px/13px var(--mono);white-space:nowrap;color:var(--ink);padding:0 4px;display:block;position:relative}.tl-bar.a-wait{border-style:dashed;border-color:var(--ink-3);background:0 0;height:9px;margin-top:3px}.tl-bar.a-wait span{display:none}.tl-bar.a-wait i{background:#8f8a7e33}.tl-bar.done:not(.a-wait){border-color:var(--ink-3);background:#8f8a7e1f}.tl-bar.done i{background:#8f8a7e40}.tl-bar.src-live:not(.a-wait){border-color:var(--live)}.controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.controls button{background:var(--card);border:1px solid var(--rule);cursor:pointer;border-radius:2px;padding:6px 12px;font-size:13.5px}.controls button:hover:not(:disabled){border-color:var(--ink-2)}.controls button:disabled{opacity:.45;cursor:default}.controls button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.controls .sep{width:12px}.controls .seed,.controls .keys{font:10.5px var(--mono);color:var(--ink-3)}.controls .keys{margin-left:auto}.controls .end{color:var(--ochre);font-style:italic}@media (width<=1100px){.app{grid-template-rows:auto auto 70vh auto auto;grid-template-columns:1fr;height:auto}.top{flex-wrap:wrap;gap:10px 20px;padding:12px 16px}.left{border:0;order:3}.stage{min-height:70vh}.right{border:0;max-height:none}.inspector-wrap{width:auto;max-height:none;padding:0 12px 12px;position:static}.stage{flex-direction:column;display:flex}.scene{flex:none;height:55vh;position:relative}.bottom{padding:10px 16px;overflow-x:auto}.timeline{min-width:700px}}
