.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}}
