.view-switch{z-index:12;background:var(--surface);border-radius:8px;gap:2px;padding:2px;display:inline-flex;position:absolute;top:10px;left:50px}.view-switch button{color:var(--ink-2);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease, color .16s ease;background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:550}.view-switch button[aria-pressed=true]{background:var(--surface-3);color:var(--ink)}.view-switch button:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.view-switch button:hover{color:var(--ink)}}@media (max-width:899px){.view-switch{top:8px;left:10px}}.zone-note{z-index:12;background:var(--surface);max-width:min(420px,100% - 70px);color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:7px 8px 7px 12px;font-size:13px;display:flex;position:absolute;top:52px;left:50px}.zone-note b{color:var(--ink);font-weight:600}@media (max-width:899px){.zone-note{top:48px;left:10px}}.site{background:var(--bg);height:62svh;min-height:380px;position:relative}.site-stage{position:absolute;inset:0;overflow:hidden}.site-scene{position:absolute;inset:0}.site-canvas{touch-action:none;inset:0;position:absolute!important}.site-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.site-anchor{position:absolute;top:0;left:0}.site-loading{color:var(--ink-3);place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.site-sim{color:var(--ink-3);pointer-events:none;font-size:13px;position:absolute;bottom:10px;left:16px}.site-sim strong{color:var(--amber);letter-spacing:.02em;font-weight:650}.site-reset{font-size:12px;position:absolute;bottom:10px;right:16px}.site-label{white-space:nowrap;color:var(--ink);background:#0a1117db;border-radius:6px;align-items:center;gap:7px;padding:3px 8px;font-size:13px;font-weight:550;transition:background-color .16s;display:inline-flex}.site-label:before{content:"";background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.site-label[data-status=stale]:before{background:var(--stale)}.site-label[data-status=watch]:before{background:var(--watch)}.site-label[data-status=warning]:before{background:var(--warning)}.site-label[data-status=critical]:before{background:var(--critical)}.site-label[data-selected=true]{background:var(--surface-3)}.site-label-val{color:var(--water);font-weight:600}.site-label[data-status=warning] .site-label-val{color:var(--warning)}.site-label[data-status=critical] .site-label-val{color:var(--critical)}.site-ft{white-space:nowrap;color:var(--ink);background:#0a1117cc;border-radius:4px;padding:1px 5px;font-size:12px;font-weight:650}.site-ft[data-status=warning]{color:var(--warning)}.site-ft[data-status=critical]{color:var(--critical)}.site-river{color:var(--ink-3);white-space:nowrap;font-size:12px}.site-rail{z-index:2;background:#0a1117e6;border-radius:10px;width:206px;max-height:calc(100% - 100px);padding:6px;position:absolute;top:52px;left:16px;overflow:auto}.site-rail ol{margin-top:6px;list-style:none}.site-rail ol[hidden]{display:none}.rail-toggle{width:100%;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:4px 8px;font-size:12px;font-weight:550;display:flex}@media (hover:hover) and (pointer:fine){.rail-toggle:hover{color:var(--ink)}}.rail-btn{text-align:left;width:100%;color:var(--ink-2);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease, color .16s ease;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.rail-btn i{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.rail-btn[data-status=stale] i{background:var(--stale)}.rail-btn[data-status=watch] i{background:var(--watch)}.rail-btn[data-status=warning] i{background:var(--warning)}.rail-btn[data-status=critical] i{background:var(--critical)}.rail-btn b{color:var(--ink);margin-left:auto;font-size:12px;font-weight:600}.rail-btn[aria-pressed=true]{background:var(--surface-3);color:var(--ink)}.rail-btn:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.rail-btn:hover{background:var(--surface-2);color:var(--ink)}}.site-panel{z-index:3;background:var(--surface);width:340px;max-height:calc(100% - 20px);animation:site-in .22s var(--ease-out);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex;position:absolute;top:10px;right:10px;overflow:auto}@keyframes site-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.sp-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.sp-title{letter-spacing:-.015em;text-wrap:balance;font-size:17px;font-weight:600;line-height:1.2}.sp-status{color:var(--ok);margin-top:4px;font-size:12px;font-weight:600;display:inline-block}.sp-status[data-status=stale]{color:var(--stale)}.sp-status[data-status=watch]{color:var(--watch)}.sp-status[data-status=warning]{color:var(--warning)}.sp-status[data-status=critical]{color:var(--critical)}.sp-close{padding:4px 9px;font-size:12px}.sp-does{color:var(--ink-2);font-size:13px;line-height:1.5}.sp-block{flex-direction:column;gap:6px;display:flex}.sp-sensors{flex-direction:column;gap:2px;display:flex}.sp-sensors li{grid-template-columns:8px 1fr auto;align-items:start;gap:9px;padding:5px 0;font-size:13px;display:grid}.sp-sensors .dot{margin-top:5px}.sp-sensors li[data-status=stale] .dot{background:var(--stale)}.sp-sensors li[data-status=watch] .dot{background:var(--watch)}.sp-sensors li[data-status=warning] .dot{background:var(--warning)}.sp-sensors li[data-status=critical] .dot{background:var(--critical)}.sp-sname{flex-direction:column;gap:1px;min-width:0;display:flex}.sp-sname small{color:var(--ink-3);font-size:12px}.sp-sname em{color:var(--ink-2);margin-top:2px;font-size:12px;font-style:normal}.sp-sval{text-align:right;font-weight:600}.sp-sval small{color:var(--ink-3);font-size:12px;font-weight:400}.sp-sensors li[data-status=warning] .sp-sval{color:var(--warning)}.sp-sensors li[data-status=critical] .sp-sval{color:var(--critical)}.sp-chips{flex-wrap:wrap;gap:6px;display:flex}.sp-chips li{background:var(--surface-2);color:var(--ink-2);border-radius:6px;padding:3px 8px;font-size:12px}.sp-manual{flex-direction:column;gap:6px;display:flex}.sp-mbtn{text-align:left;background:var(--surface-2);width:100%;color:var(--ink);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease;border:0;border-radius:8px;padding:9px 11px;font-size:13px;font-weight:550}.sp-mbtn[aria-pressed=true]{background:var(--surface-3)}.sp-mbtn:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.sp-mbtn:hover{background:var(--surface-3)}}.sp-impact{color:var(--ink-2);flex-direction:column;gap:6px;padding:8px 4px 2px;font-size:13px;display:flex}.sp-notice{color:var(--amber);font-size:12px}.sp-zones{text-align:left;background:var(--surface-2);color:var(--ink);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease;border:0;border-radius:8px;grid-template-columns:96px 1fr;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:grid}.sp-zones:disabled{cursor:default;opacity:.6}.sp-zones:not(:disabled):active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.sp-zones:not(:disabled):hover{background:var(--surface-3)}}.sp-zones svg{width:96px;height:auto}.sp-zones path{fill:var(--surface-3);stroke:var(--surface-2);stroke-width:3px;transition:fill .2s}.sp-zones g[data-hit=true] path{fill:var(--water);fill-opacity:.55}.sp-zones text{fill:var(--ink-3);font-size:44px;font-weight:600}.sp-zones g[data-hit=true] text{fill:var(--ink)}@media (min-width:900px){.site{height:auto;min-height:0;position:absolute;inset:0 372px 84px 0}}@media (max-width:899px){.site{flex-direction:column;height:auto;min-height:0;display:flex}.site-stage{height:56svh;min-height:320px;position:relative}.site-rail,.site-panel{width:auto;max-height:none;margin:8px var(--pad) 0;position:static}.site-rail ol:not([hidden]){grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){.site-panel{animation:none}.rail-btn,.sp-mbtn,.sp-zones,.view-switch button{transition:none}}@media (max-width:899px){.site-label{padding:2px 6px;font-size:12px}.site-label-val{display:none}}
:root{--tone-calm:var(--water);--tone-ok:var(--ok)}[data-tone=calm]{--tone:var(--water)}[data-tone=ok]{--tone:var(--ok)}[data-tone=watch]{--tone:var(--watch)}[data-tone=warning]{--tone:var(--warning)}[data-tone=critical]{--tone:var(--critical)}.scroll-head{z-index:2;background:inherit;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 0 6px;display:flex;position:sticky;top:0}.readouts{overscroll-behavior:contain;background:var(--surface);padding-top:0;overflow-y:auto}.readouts .scroll-head{background:var(--surface)}.scroll-win{overscroll-behavior:contain;background:var(--surface-2);border-radius:8px;max-height:min(240px,34svh);padding:0 10px 8px;overflow-y:auto}.scroll-win .scroll-head{background:var(--surface-2);padding-top:10px}.scroll-win:focus-visible,.narr-list:focus-visible{outline:2px solid var(--water);outline-offset:2px}.beats{color:var(--ink-2);flex-wrap:wrap;gap:4px 12px;padding:2px 0 8px;font-size:12px;display:flex}.beats li{align-items:center;gap:6px;display:inline-flex}.beats i{background:var(--ok);border-radius:50%;width:7px;height:7px}.beats li[data-ok=false] i{background:var(--warning)}.feed{flex-direction:column;gap:8px;display:flex}.feed li{grid-template-columns:56px 64px minmax(0,1fr);align-items:baseline;gap:8px;font-size:13px;line-height:1.35;display:grid}.feed time{color:var(--ink-3);font-size:12px}.feed-who{color:var(--ink-2);overflow-wrap:anywhere;font-size:12px;font-weight:600}.feed li[data-kind=claude] .feed-who{color:var(--water)}.feed li[data-kind=rule] .feed-who,.feed li[data-kind=detection] .feed-who{color:var(--warning)}.feed li[data-kind=decision] .feed-who{color:var(--ok)}.feed li[data-kind=resident] .feed-who{color:var(--amber-ink,var(--warning))}.feed-text{overflow-wrap:anywhere;color:var(--ink)}.narrator{--tone:var(--water);background:var(--surface);overscroll-behavior:contain;border-radius:10px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex;overflow-y:auto}.narr-head{align-items:center;gap:8px;display:flex}.narr-label{color:var(--ink-2);letter-spacing:.01em;align-items:center;gap:8px;margin-right:auto;font-size:12px;font-weight:600;display:inline-flex}.narr-label i{background:var(--tone);border-radius:50%;width:8px;height:8px;transition:background-color .24s}.narr-step{color:var(--ink-3);white-space:nowrap;font-size:12px}.narr-nav{gap:2px;display:inline-flex}.narr-nav button,.narr-collapse{width:32px;height:32px;color:var(--ink-2);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease, color .16s ease;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.narr-nav button:active:not(:disabled),.narr-collapse:active{transform:scale(.95)}.narr-nav button:disabled{opacity:.35;cursor:default}.narr-body{min-width:0;animation:narr-in .26s var(--ease-out);flex-direction:column;gap:8px;display:flex}.narr-headline{letter-spacing:-.015em;text-wrap:balance;overflow-wrap:anywhere;font-size:19px;font-weight:640;line-height:1.2}.narr-text{color:var(--ink);overflow-wrap:anywhere;flex-direction:column;gap:6px;font-size:14px;line-height:1.45;display:flex}.narr-why-line{color:var(--ink-2);background:var(--surface-2);overflow-wrap:anywhere;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.45}.narr-why-line b{color:var(--ink-3);margin-bottom:2px;font-size:12px;font-weight:600;display:block}.narr-why{color:var(--ink-2);font-size:13px}.narr-why summary{cursor:pointer;min-height:32px;color:var(--water);padding:6px 0;font-weight:550}.narr-why p{background:var(--surface-2);border-radius:8px;padding:8px 10px;line-height:1.45}.narr-now{background:var(--water);color:#041217;text-align:left;cursor:pointer;width:100%;transition:transform .16s var(--ease-out);border:0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.narr-now:active{transform:scale(.98)}.narr-now small{opacity:.85;overflow-wrap:anywhere;font-size:12px;font-weight:450}.narr-hist{flex-direction:column;gap:6px;display:flex}.narr-hist-toggle{color:var(--ink-2);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;min-height:28px;padding:4px 0;font-size:12px;text-decoration:underline}.narr-list{overscroll-behavior:contain;flex-direction:column;gap:2px;max-height:148px;padding-right:2px;display:flex;overflow-y:auto}.narr-list button{width:100%;color:var(--ink-2);text-align:left;cursor:pointer;transition:background-color .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border:0;border-radius:6px;grid-template-columns:8px minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:6px 8px;font-size:13px;line-height:1.3;display:grid}.narr-list li[data-shown=true] button{background:var(--surface-3);color:var(--ink)}.narr-h{overflow-wrap:anywhere}.narr-list time{color:var(--ink-3);white-space:nowrap;font-size:12px}.narr-dot{background:var(--tone,var(--water));border-radius:50%;align-self:center;width:8px;height:8px}@media (hover:hover) and (pointer:fine){.narr-list button:hover{background:var(--surface-2);color:var(--ink)}.narr-collapse:hover,.narr-nav button:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}}@keyframes narr-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.narrator[data-collapsed=true] .narr-text,.narrator[data-collapsed=true] .narr-why-line,.narrator[data-collapsed=true] .narr-hist,.narrator[data-collapsed=true] .narr-now{display:none}.narrator[data-collapsed=true]{gap:6px}.narrator[data-collapsed=true] .narr-headline{font-size:16px}.narr-collapse{cursor:pointer;border:0}.narr-sentinel{pointer-events:none;order:1;height:1px;margin-bottom:-1px}.narr-expand{display:none}@media (max-width:899px){.narrator[data-stuck=true]{gap:0;padding-block:6px}.narrator[data-stuck=true] .narr-text,.narrator[data-stuck=true] .narr-why,.narrator[data-stuck=true] .narr-hist,.narrator[data-stuck=true] .narr-nav,.narrator[data-stuck=true] .narr-now{display:none}.narrator[data-stuck=true] .narr-headline{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.narrator[data-stuck=true] .narr-head{display:none}.narrator[data-stuck=true] .narr-expand{cursor:pointer;background:0 0;border:0;width:100%;display:block;position:absolute;inset:0}}.callouts{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.callout-lines{position:absolute;inset:0;overflow:visible}.callout-mark{--tone:var(--water)}.callout-mark line{stroke:var(--tone);stroke-width:1.6px;opacity:.85}.callout-mark circle{fill:var(--tone)}.callout-mark .callout-ring{fill:none;stroke:var(--tone);stroke-width:1.5px;opacity:.55;transform-box:fill-box;transform-origin:50%;animation:callout-ping 2.4s var(--ease-out) infinite}.callout{--tone:var(--water);will-change:transform;position:absolute;top:0;left:0}.callout-card{background:var(--surface-2);min-width:140px;max-width:250px;color:var(--ink);opacity:0;transform-origin:0 100%;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);border-radius:10px;padding:10px 12px;transform:translateY(6px)scale(.97)}.callout[data-placed=true] .callout-card{opacity:1;transform:none}.callout-title{letter-spacing:-.01em;overflow-wrap:anywhere;align-items:baseline;gap:8px;font-size:15px;font-weight:650;line-height:1.25;display:flex}.callout-title:before{content:"";background:var(--tone);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.callout[data-kind=resident][data-tone=calm] .callout-title:before,.callout[data-kind=resident][data-tone=watch] .callout-title:before{box-shadow:inset 0 0 0 2px var(--tone);background:0 0}.callout[data-kind=resident][data-tone=calm]{--tone:var(--ink-2)}.callout-sub{color:var(--ink-2);overflow-wrap:anywhere;margin-top:3px;padding-left:16px;font-size:13px;line-height:1.35}@keyframes callout-ping{0%{opacity:.7;transform:scale(.7)}80%,to{opacity:0;transform:scale(1.7)}}.map-tools{z-index:12;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:10px;left:214px}.map-btn{background:var(--surface);min-height:34px;color:var(--ink-2);cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease, color .16s ease;border:0;border-radius:8px;align-items:center;gap:7px;padding:6px 11px;font-size:13px;display:inline-flex}.map-btn[aria-pressed=true]{background:var(--surface-3);color:var(--ink)}.map-btn:active{transform:scale(.97)}.map-btn:focus-visible{outline:2px solid var(--water);outline-offset:1px}.map-tools .map-toggle{font-size:13px;position:static}@media (hover:hover) and (pointer:fine){.map-btn:hover{background:var(--surface-3);color:var(--ink)}}.info-btn{width:36px;height:36px;color:var(--ink-2);transition:transform .16s var(--ease-out), background-color .16s ease, color .16s ease;background:0 0;border-radius:50%;place-items:center;text-decoration:none;display:inline-grid;position:relative}.info-btn:active{transform:scale(.95)}.info-tip{z-index:40;background:var(--surface-3);color:var(--ink);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .125s var(--ease-out), transform .125s var(--ease-out);border-radius:6px;padding:5px 9px;font-size:12px;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-2px)}.info-btn:focus-visible .info-tip{opacity:1;transform:none}@media (hover:hover) and (pointer:fine){.info-btn:hover{background:var(--surface-3);color:var(--ink)}.info-btn:hover .info-tip{opacity:1;transition-delay:.25s;transform:none}}.fold{background:var(--surface);border-radius:10px}.fold>summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:10px;min-height:48px;padding:12px 14px;font-size:14px;font-weight:600;list-style:none;display:flex}.fold>summary::-webkit-details-marker{display:none}.fold>summary small{color:var(--ink-3);font-size:12px;font-weight:400}.fold>summary:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);width:8px;height:8px;transition:transform .16s var(--ease-out);align-self:center;margin-left:4px;transform:translateY(-2px)rotate(45deg)}.fold[open]>summary:after{transform:translateY(1px)rotate(-135deg)}.fold>.panel{background:0 0;padding-top:0}@media (min-width:900px){.left-rail{z-index:10;top:54px;left:12px;bottom:calc(var(--dock-h,250px) / var(--ps,1));pointer-events:none;flex-direction:column;gap:10px;width:340px;min-height:0;display:flex;position:absolute}.left-rail>*{pointer-events:auto}.left-rail .narrator{flex:0 auto;min-height:0;max-height:64%}.left-rail .readouts{flex:120px;align-self:stretch;width:100%;min-height:120px;max-height:none}.stage[data-note=true] .left-rail{top:100px}.stage[data-view=plant] .left-rail{top:auto;bottom:calc((var(--dock-h,94px) + 34px) / var(--ps,1));width:360px}.stage[data-view=plant] .left-rail .narrator{max-height:46svh}.map-tools{left:214px}.dock{padding-left:12px}}@media (max-width:899px){.stage{flex-direction:column;display:flex}.map-wrap{order:0;height:46svh;min-height:300px}.left-rail,.dock{display:contents}.narrator{z-index:15;padding:10px var(--pad) 12px;border-radius:0 0 12px 12px;order:1;gap:6px;max-height:56svh;position:sticky;top:0}.side{order:2;padding-bottom:0}.left-rail .readouts{margin:var(--pad) var(--pad) 0;order:3;max-height:42svh}.plant{margin:8px var(--pad) 0;order:4}.replay{z-index:16;margin-top:var(--pad);padding:8px var(--pad) calc(8px + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0;order:5;position:sticky;bottom:0}.map-tools{top:auto;bottom:28px;left:10px}.narr-headline{font-size:17px}.narr-text{font-size:14px}.narr-body{gap:6px}.callout-card{min-width:120px;max-width:200px;padding:8px 10px}.callout-title{font-size:14px}.callout-sub{padding-left:16px;font-size:12.5px}.replay{padding:6px var(--pad) calc(6px + env(safe-area-inset-bottom,0px));grid-template-columns:auto minmax(0,1fr) auto;gap:0 10px}.replay .legend,.replay .rmode,.replay .rtime small{display:none}.replay .rtime{grid-column:auto;font-size:13px}.replay .live-btn{grid-column:1/-1;margin-top:4px}.btn.play{width:40px;height:40px}}@media (max-width:430px){.topbar{padding:8px var(--pad);gap:6px 12px}.controls{gap:6px 8px;width:100%}.field{flex:100%}.field select{width:100%}.field-sub{display:none}.feed li{grid-template-columns:52px minmax(0,1fr)}.feed-who,.feed-text{grid-column:2}.evidence li{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){.narr-body{animation:none}.callout-card{transition:opacity .16s linear;transform:none}.callout-mark .callout-ring{opacity:.4;animation:none}.narr-nav button,.map-btn,.info-btn,.narr-now{transition:none}}
