@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}:root{--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--bg-0:#04070f;--bg-1:#0a0f1adb;--bg-2:#101726eb;--bg-3:#131c2e;--bg-hover:#94a3b817;--bg-active:#94a3b824;--border:#94a3b824;--border-strong:#94a3b847;--text-0:#f8fafc;--text-1:#cbd5e1;--text-2:#94a3b8;--text-3:#a8b3c4;--brand:#d71920;--brand-2:#ff5a3c;--accent:#4cc2ff;--accent-soft:#4cc2ff24;--accent-border:#4cc2ff61;--bu-distribution:#38bdf8;--bu-thermal:#f97316;--bu-renewables:#22c55e;--state-energized:#22c55e;--state-deenergized:#64748b;--state-faulted:#ef4444;--state-unknown:#a855f7;--voltage-69:#f59e0b;--voltage-34-5:#fb923c;--voltage-13-8:#38bdf8;--voltage-lv:#a3e635;--ok:#22c55e;--warn:#f59e0b;--danger:#ef4444;--radius-s:6px;--radius-m:10px;--radius-l:14px;--radius-pill:999px;--shadow:0 12px 32px #00000080, 0 1px 0 #ffffff0a inset;--blur:blur(16px) saturate(150%);--header-h:56px;--panel-w:360px;--gap:12px;--status-h:30px;--fs-9:9px;--fs-9-5:9.5px;--fs-10-5:10.5px;--fs-11:11px;--fs-11-5:11.5px;--fs-12:12px;--fs-12-5:12.5px;--fs-13:13px;--fs-13-5:13.5px;--fs-15:15px;--fs-16:16px;--fs-18:18px;--fs-26:26px;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--border-w:1px;--dur-100:.1s;--dur-120:.12s;--dur-140:.14s;--dur-180:.18s;--ease-panel:cubic-bezier(.2, .7, .2, 1);--z-vignette:5;--z-panel:15;--z-credits:16;--z-chrome:20;--z-dock-sheet:25;--z-popover:30;--z-screen:50}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg-0);height:100%;color:var(--text-0);font-family:var(--font-sans);font-size:var(--fs-13);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.45;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#4cc2ff59}*{scrollbar-width:thin;scrollbar-color:#94a3b847 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#94a3b847;border-radius:8px}::-webkit-scrollbar-track{background:0 0}.shell{width:100%;height:100%;position:relative}.cesium-container{position:absolute;inset:0}.cesium-container .cesium-viewer,.cesium-container .cesium-widget,.cesium-container .cesium-widget canvas{width:100%;height:100%}.vignette{pointer-events:none;z-index:var(--z-vignette);background:linear-gradient(#04070f8c 0,#0000 120px),linear-gradient(0deg,#04070f99 0,#0000 90px);position:absolute;inset:0}.header{height:var(--header-h);background:var(--bg-1);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--border);z-index:var(--z-chrome);grid-template-columns:auto minmax(0,auto) minmax(0,1fr);align-items:center;gap:16px;padding:0 14px 0 12px;display:grid;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:linear-gradient(145deg, var(--brand) 0%, var(--brand-2) 100%);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 6px 16px #d7192059}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-title{font-weight:700;font-size:var(--fs-16);letter-spacing:.14em}.brand-sub{font-size:var(--fs-11);color:var(--text-2);white-space:nowrap;letter-spacing:.01em}.brand-divider{background:var(--border-strong);width:1px;height:26px;margin:0 4px}.segmented{border-radius:var(--radius-m);border:1px solid var(--border);background:#0206178c;flex-shrink:1;align-items:center;gap:2px;min-width:0;padding:3px;display:inline-flex}.segmented button{color:var(--text-2);font-weight:500;font-size:var(--fs-12-5);white-space:nowrap;transition:background var(--dur-140), color var(--dur-140);border-radius:7px;align-items:center;gap:7px;padding:6px 12px;display:inline-flex}.segmented button:hover{color:var(--text-0);background:var(--bg-hover)}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{color:var(--text-0);background:var(--bg-active);box-shadow:inset 0 1px #ffffff0d}.segmented .bu-dot{background:var(--dot,var(--text-2));border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #00000040}.header-center{flex-shrink:1;justify-content:center;min-width:0;display:flex}.toolbar{justify-self:end;align-items:center;gap:2px;min-width:0;max-width:100%;display:flex}.toolbar-row{flex:auto;align-items:center;gap:2px;min-width:0;display:flex;overflow:hidden}.toolbar-row::-webkit-scrollbar{display:none}.tool-btn{border-radius:var(--radius-s);height:34px;color:var(--text-1);font-weight:500;font-size:var(--fs-12-5);white-space:nowrap;transition:background var(--dur-120), color var(--dur-120), border-color var(--dur-120);border:1px solid #0000;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.tool-btn:hover{background:var(--bg-hover);color:var(--text-0)}.tool-btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-border);color:#e6f6ff}.tool-btn svg{opacity:.9;flex:none}.toolbar-sep{background:var(--border-strong);width:1px;height:22px;margin:0 6px}.home-btn{border-radius:var(--radius-s);width:34px;height:34px;color:var(--text-1);transition:background var(--dur-120), color var(--dur-120), border-color var(--dur-120);border:1px solid #0000;flex:none;justify-content:center;align-items:center;gap:7px;margin-right:6px;padding:0;display:inline-flex}.home-btn:hover{background:var(--bg-hover);color:var(--text-0);border-color:var(--border-strong)}.toolbar-measure{visibility:hidden;pointer-events:none;white-space:nowrap;position:absolute;top:-9999px;left:-9999px;overflow:visible}.toolbar-more{flex:none;display:inline-flex;position:relative}.toolbar-more-menu{z-index:var(--z-popover);flex-direction:column;gap:2px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.toolbar-more-menu .tool-btn{justify-content:flex-start;width:100%}.panel-stack{top:calc(var(--header-h) + var(--gap));left:var(--gap);bottom:calc(var(--gap) + var(--status-h));width:var(--panel-w);gap:var(--gap);z-index:var(--z-panel);pointer-events:none;flex-direction:column;padding-right:2px;display:flex;position:absolute;overflow-y:auto}.panel-stack>*{pointer-events:auto}.panel{background:var(--bg-1);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow);animation:panel-in var(--dur-180) var(--ease-panel);flex-shrink:0;overflow:hidden}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)scale(.995)}to{opacity:1;transform:none}}.panel-head{border-bottom:1px solid var(--border);background:#ffffff04;align-items:center;gap:9px;padding:10px 10px 10px 14px;display:flex}.panel-head svg{color:var(--text-2)}.panel-title{font-weight:600;font-size:var(--fs-13);letter-spacing:.01em}.panel-actions{gap:2px;margin-left:auto;display:flex}.icon-btn{width:26px;height:26px;color:var(--text-2);border-radius:6px;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text-0)}.panel-body{max-height:60vh;padding:12px 14px 14px;overflow-y:auto}.panel-note{color:var(--text-2);font-size:var(--fs-12);margin:0 0 10px}.panel-note strong{color:var(--text-1);font-weight:600}.panel-warning{border-radius:var(--radius-s);color:#fde68a;font-size:var(--fs-12);background:#f59e0b14;border:1px solid #f59e0b4d;gap:8px;margin:0 0 10px;padding:9px 10px;display:flex}.panel-warning svg{flex:none;margin-top:1px}.panel-warning-secondary{color:var(--text-2);font-size:var(--fs-11);margin-top:4px}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field label,.section-title{font-size:var(--fs-10-5);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:600}.section-title{align-items:center;gap:8px;margin:14px 0 6px;display:flex}.section-title:first-child{margin-top:0}.section-title .meta{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--text-3);margin-left:auto;font-weight:500}.input,.select{border-radius:var(--radius-s);border:1px solid var(--border-strong);width:100%;height:34px;color:var(--text-0);transition:border-color var(--dur-120), box-shadow var(--dur-120);background:#0206178c;outline:none;padding:0 10px}.input::placeholder{color:var(--text-3)}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b98ad' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.select option{background:var(--bg-3)}.range{width:100%;accent-color:var(--accent)}.check-list{flex-direction:column;gap:1px;display:flex}.check-item{border-radius:var(--radius-s);cursor:pointer;color:var(--text-1);text-align:left;width:100%;transition:background var(--dur-100);align-items:center;gap:9px;padding:7px 8px;display:flex}.check-item:hover{background:var(--bg-hover);color:var(--text-0)}.check-item[aria-selected=true]{background:var(--accent-soft)}.check-item input{accent-color:var(--accent);margin:0}.check-item .meta{color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-11);white-space:nowrap;margin-left:auto}.check-item .sub{color:var(--text-3);font-size:var(--fs-11);margin-top:1px;display:block}.ion-asset-group+.ion-asset-group{margin-top:8px}.ion-asset-group summary{cursor:pointer;border-radius:var(--radius-s);font-size:var(--fs-10-5);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:8px;padding:6px 4px;font-weight:600;list-style:none;display:flex}.ion-asset-group summary::-webkit-details-marker{display:none}.ion-asset-group summary:before{content:"▸";color:var(--text-3);transition:transform var(--dur-120);flex-shrink:0}.ion-asset-group[open] summary:before{transform:rotate(90deg)}.ion-asset-group summary:hover{background:var(--bg-hover);color:var(--text-0)}.ion-asset-group summary .meta{margin-left:auto}.ion-asset-group .check-list{margin:4px 0 8px}.ion-asset-group .check-item>span:first-of-type{overflow-wrap:break-word;min-width:0}.btn{border-radius:var(--radius-s);background:var(--accent-soft);border:1px solid var(--accent-border);color:#e6f6ff;height:32px;transition:background var(--dur-120);justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover{background:#4cc2ff3d}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{border-color:var(--border-strong);color:var(--text-1);background:#94a3b814}.btn.secondary:hover{background:var(--bg-active)}.btn.danger{color:#fecaca;background:#ef444424;border-color:#ef444466}.btn.sm{height:28px;font-size:var(--fs-12);padding:0 10px}.btn-row{flex-wrap:wrap;gap:6px;display:flex}.share-link-row{gap:6px;margin-bottom:10px;display:flex}.share-link-input{min-width:0;font-size:var(--fs-11-5);flex:auto}.kv{font-size:var(--fs-12);grid-template-columns:minmax(96px,38%) 1fr;gap:5px 12px;margin:0;display:grid}.kv dt{color:var(--text-2)}.kv dd{color:var(--text-0);word-break:break-word;margin:0}.kv dd.mono{font-family:var(--font-mono);font-size:var(--fs-11-5)}.hazard-row,.risk-row{margin-bottom:10px}.legend{font-size:var(--fs-12);color:var(--text-1);flex-wrap:wrap;gap:6px 14px;margin-top:10px;display:flex}.legend .swatch{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}ul.legend{padding:0;list-style:none}.legend li{align-items:center;display:inline-flex}.attribution{font-size:var(--fs-10-5);font-family:var(--font-mono);color:var(--text-3);word-break:break-word;margin:6px 0 0}.mono{font-family:var(--font-mono)}.muted{color:var(--text-2)}.pill{height:22px;font-size:var(--fs-11);border:1px solid var(--border-strong);background:#02061766;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-weight:600;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px}.state-energized{color:var(--state-energized)}.state-deenergized{color:var(--state-deenergized)}.state-faulted{color:var(--state-faulted)}.state-unknown{color:var(--state-unknown)}.state-live{color:var(--ok)}.state-offline{color:var(--danger)}.state-connecting,.state-idle{color:var(--warn)}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;display:grid}.stat{border-radius:var(--radius-m);border:1px solid var(--border);background:#02061773;padding:10px 11px}.stat .label{font-size:var(--fs-10-5);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.stat .value{font-size:var(--fs-18);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px;font-weight:600}.stat .value small{font-size:var(--fs-11);color:var(--text-2);margin-left:3px;font-weight:500}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);height:26px;color:var(--text-1);font-size:var(--fs-12);transition:background var(--dur-120), border-color var(--dur-120);border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip:hover{background:var(--bg-hover)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text-0)}.chip[disabled]{opacity:.45;cursor:not-allowed}.chip[disabled]:hover{background:0 0}.chip .swatch{border-radius:50%;width:8px;height:8px}.table{border-collapse:collapse;width:100%;font-size:var(--fs-12)}.table th{text-align:left;font-size:var(--fs-10-5);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--border);padding:6px;font-weight:600}.table td{border-bottom:1px solid var(--border);color:var(--text-1);padding:7px 6px}.table.props-table{table-layout:fixed}.table.props-table td{overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.table.props-table th:first-child,.table.props-table td:first-child{width:42%}.table.rows-selectable td:first-child{padding:0}.table.rows-selectable tbody tr{cursor:pointer}.table.rows-selectable tbody tr:hover td{background:var(--bg-hover);color:var(--text-0)}.table td button.row-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:7px 6px;display:block}.table td button.row-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table td.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.statusbar{height:var(--status-h);background:var(--bg-1);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-2);z-index:var(--z-chrome);align-items:center;gap:18px;padding:0 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.statusbar .grow{flex:1}.statusbar .item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.cesium-widget-credits,.cesium-viewer .cesium-widget-credits,.cesium-widget .cesium-widget-credits{z-index:var(--z-credits);font-size:var(--fs-11);opacity:.9;left:8px!important;bottom:calc(var(--status-h) + 8px)!important;display:block!important;position:absolute!important}.synthetic-watermark{right:12px;bottom:calc(var(--status-h) + 6px);z-index:var(--z-credits);border-radius:var(--radius-s);border:1px solid var(--warn);color:var(--warn);font-family:var(--font-mono);font-size:var(--fs-10-5);letter-spacing:.04em;text-transform:uppercase;pointer-events:none;background:#0206178c;padding:4px 10px;font-weight:600;position:absolute}.toast{left:50%;bottom:calc(var(--status-h) + 16px);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-m);box-shadow:var(--shadow);z-index:var(--z-popover);animation:panel-in var(--dur-180) ease-out;padding:9px 14px;position:absolute;transform:translate(-50%)}.loading-screen{background:radial-gradient(ellipse at 50% 40%, #0e1730 0%, var(--bg-0) 70%);z-index:var(--z-screen);color:var(--text-2);place-items:center;display:grid;position:absolute;inset:0}.loading-brand{flex-direction:column;align-items:center;gap:14px;display:flex}.loading-brand .brand-mark{border-radius:14px;width:56px;height:56px}.loading-brand .brand-title{font-size:var(--fs-26);letter-spacing:.22em}.loading-bar{background:#94a3b826;border-radius:2px;width:180px;height:2px;overflow:hidden}.loading-bar:after{content:"";background:var(--accent);width:40%;height:100%;animation:1.1s ease-in-out infinite slide;display:block}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.right-dock{top:calc(var(--header-h) + var(--gap));right:var(--gap);width:var(--panel-w);gap:var(--gap);z-index:var(--z-panel);max-height:calc(100% - var(--header-h) - var(--status-h) - 2 * var(--gap));flex-direction:column;display:flex;position:absolute}.bu-badge{font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;color:var(--text-1);align-items:center;gap:6px;font-weight:600;display:inline-flex}.bu-badge .bu-dot{border-radius:50%;width:8px;height:8px}.ion-note{border-radius:var(--radius-s);color:#fde68a;font-size:var(--fs-12);background:#f59e0b14;border:1px solid #f59e0b4d;gap:8px;margin-bottom:10px;padding:9px 10px;display:flex}.ion-note svg{flex:none;margin-top:1px}@media (width<=1180px){.segmented button .seg-label{display:none}.segmented button{padding:6px 9px}.tool-btn .tool-label{display:none}.tool-btn{padding:0 9px}}@media (width<=720px){:root{--panel-w:calc(100vw - 24px)}.brand-sub{display:none}.right-dock{top:auto;left:0;right:0;bottom:var(--status-h);width:100%;max-height:55vh;z-index:var(--z-dock-sheet)}.right-dock .panel{border-radius:var(--radius-l) var(--radius-l) 0 0;flex-direction:column;max-height:55vh;display:flex}.right-dock .panel-body{flex:auto;max-height:none}}.hover-tooltip{z-index:var(--z-chrome);pointer-events:none;color:#f8fafc;max-width:290px;font-size:var(--fs-12);background:#0b1220;border-radius:6px;padding:8px 12px;position:absolute}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.insight{flex-direction:column;gap:10px;display:flex}.insight-chips{margin-bottom:2px}.insight-list{flex-direction:column;gap:8px;display:flex}.insight-bubble{border-radius:var(--radius-m);max-width:88%;font-size:var(--fs-12-5);white-space:pre-wrap;padding:7px 10px;line-height:1.4}.insight-bubble-user{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--text-0);align-self:flex-end}.insight-bubble-assistant{border:1px solid var(--border);color:var(--text-1);background:#94a3b814;align-self:flex-start}.insight-system{font-style:italic;font-size:var(--fs-11-5);color:var(--text-3);align-self:flex-start}.insight-working{font-size:var(--fs-12);color:var(--text-2);align-self:flex-start}.insight-input-row{background:var(--bg-1);align-items:flex-end;gap:6px;padding:8px 0 2px;display:flex;position:sticky;bottom:-14px}.insight-textarea{resize:none;height:auto;min-height:34px;max-height:96px;padding-top:8px}.insight-mic-active{color:var(--danger);background:#ef444424;animation:1.4s ease-out infinite insight-mic-pulse}@keyframes insight-mic-pulse{0%{box-shadow:0 0 #ef444473}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.insight-mic-hint{font-size:var(--fs-11-5);color:var(--danger);margin:0;padding:2px 0 0}.insight-header{font-size:var(--fs-11-5);justify-content:space-between;align-items:center;gap:8px;display:flex}.insight-meter{font-family:var(--font-mono);color:var(--text-3)}.insight-meter-amber{color:var(--warn)}.insight-meter-red{color:var(--danger)}.insight-link-btn{font-size:var(--fs-11-5);color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.insight-link-btn:hover{color:var(--text-0)}.insight-reset-confirm{color:var(--text-2)}.insight-compacted-group{border-bottom:1px dashed var(--border);flex-direction:column;gap:8px;padding-bottom:4px;display:flex}.insight-status-line{font-family:var(--font-mono);font-size:var(--fs-10-5);color:var(--text-3);align-self:flex-start;margin-top:2px}.exposure-root{--exposure-level-3:var(--danger);--exposure-level-2:var(--warn);--exposure-level-1:#eab308;--exposure-none:var(--ok);--exposure-na:var(--text-2);flex-direction:column;gap:10px;display:flex}.exposure-head{flex-direction:column;gap:2px;display:flex}.exposure-title{font-size:var(--fs-15);color:var(--text-0);margin:0;font-weight:600}.exposure-kpis{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.exposure-kpis>:nth-child(-n+3){grid-column:span 2}.exposure-kpis>:nth-child(n+4){grid-column:span 3}.exposure-kpi{border-radius:var(--radius-m);border:1px solid var(--border);background:#02061773;min-width:0;padding:8px}.exposure-kpi-label{font-size:var(--fs-9-5);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);line-height:1.25}.exposure-kpi-value{font-size:var(--fs-16);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-0);margin-top:2px;font-weight:600}.exposure-kpi-value small{font-size:var(--fs-10-5);color:var(--text-2);margin-left:2px;font-weight:500}.exposure-kpi-footnote{margin-top:-2px}.exposure-bar-block{width:100%}.exposure-bar-row{margin-bottom:8px}.exposure-bar-label{font-size:var(--fs-11);color:var(--text-1);margin-bottom:3px}.exposure-bar-track{border-radius:var(--radius-s);border:1px solid var(--border);background:#94a3b814;width:100%;height:18px;display:flex;overflow:hidden}.exposure-seg{justify-content:center;align-items:center;height:100%;display:flex;overflow:hidden}.exposure-seg-level-3{background:var(--exposure-level-3)}.exposure-seg-level-2{background:var(--exposure-level-2)}.exposure-seg-level-1{background:var(--exposure-level-1)}.exposure-seg-none{background:var(--exposure-none)}.exposure-seg-not-available{background:var(--exposure-na)}.exposure-seg-label{font-size:var(--fs-9);color:#04070f;text-shadow:0 1px #ffffff59;white-space:nowrap;padding:0 3px;font-weight:700}.exposure-bar-legend{font-size:var(--fs-10-5);color:var(--text-2);flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.exposure-bar-collapsed{margin-top:4px}.exposure-bar-collapsed>summary{font-size:var(--fs-11-5);color:var(--text-2);cursor:pointer}.exposure-bar-collapsed .panel-note{margin-top:4px}.exposure-legend-item{align-items:center;gap:4px;display:inline-flex}.exposure-swatch{border-radius:2px;width:8px;height:8px;display:inline-block}.exposure-tree{flex-direction:column;gap:2px;display:flex}.exposure-node>summary{cursor:pointer;list-style:none}.exposure-node>summary::-webkit-details-marker{display:none}.exposure-node-name{font-weight:500}.exposure-node-tags{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.exposure-badge-note{color:var(--text-2);font-weight:400}.exposure-region{padding-left:0}.exposure-region-summary{flex-wrap:wrap;row-gap:2px}.exposure-site,.exposure-facility{border-left:1px solid var(--border);margin-left:10px;padding-left:8px}.exposure-asset-row{width:calc(100% - 10px);margin-left:10px}.exposure-asset-row[aria-pressed=true]{background:var(--accent-soft);color:var(--text-0)}.exposure-drawer{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.exposure-plain-list{font-size:var(--fs-12);color:var(--text-1);margin:4px 0 0;padding-left:18px}.exposure-plain-list li+li{margin-top:6px}@media (width<=720px){.exposure-kpis{grid-template-columns:repeat(2,1fr)}.exposure-kpis>:nth-child(-n+3),.exposure-kpis>:nth-child(n+4){grid-column:span 1}}.welcome-screen{background:radial-gradient(ellipse at 50% 40%, #0e1730 0%, var(--bg-0) 70%);z-index:var(--z-screen);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.welcome-card{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:420px;display:flex}.welcome-mark{background:linear-gradient(145deg, var(--brand) 0%, var(--brand-2) 100%);color:#fff;border-radius:14px;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 6px 16px #d7192059}.welcome-title{font-size:var(--fs-26);letter-spacing:-.01em;color:var(--text-0);margin:0;font-weight:700}.welcome-subtitle,.welcome-byline{font-size:var(--fs-13-5);color:var(--text-2);margin:0}.welcome-byline a{color:inherit;text-underline-offset:2px;text-decoration:underline}.welcome-actions{gap:10px;margin-top:8px;display:flex}.welcome-btn-user,.welcome-btn-admin{justify-content:center;min-width:120px}@media (width<=400px){.welcome-actions{flex-direction:column;width:100%}.welcome-btn-user,.welcome-btn-admin{width:100%}}.events-kpis{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.events-kpi-tile{border-radius:var(--radius-m);border:1px solid var(--border);background:#02061773;flex:140px;padding:10px 11px}.events-kpi-label{font-size:var(--fs-10-5);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.events-kpi-value{font-size:var(--fs-18);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-0);margin-top:2px;font-weight:600}.events-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.events-filters .input{flex:100px;min-width:0}.events-synthetic-chip{margin-left:6px}.hazardwatch-list{flex-direction:column;gap:10px;display:flex}.hazardwatch-card{border:1px solid var(--border-strong);background:#02061740;border-radius:8px;padding:10px}.hazardwatch-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hazardwatch-chip{height:20px;font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.hazardwatch-chip-red{background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--danger)}.hazardwatch-chip-orange{background:color-mix(in srgb, var(--warn) 25%, transparent);color:var(--warn)}.hazardwatch-chip-green{background:color-mix(in srgb, var(--ok) 25%, transparent);color:var(--ok)}.hazardwatch-kind{font-size:var(--fs-12);color:var(--text-2);text-transform:capitalize}.hazardwatch-synthetic{color:var(--warn);border-color:var(--warn)}.hazardwatch-title{margin-top:6px;font-weight:600}.hazardwatch-affected{margin-top:8px}.hazardwatch-source{font-size:var(--fs-12);margin-top:8px;display:inline-block}.risk-spinner{border:2px solid var(--bg-hover);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;margin:12px auto;animation:.7s linear infinite risk-spin}@keyframes risk-spin{to{transform:rotate(360deg)}}.risk-tree{flex-direction:column;gap:2px;display:flex}.risk-node summary{cursor:pointer;border-radius:var(--radius-s);color:var(--text-2);align-items:center;gap:8px;padding:6px 4px;list-style:none;display:flex}.risk-node summary::-webkit-details-marker{display:none}.risk-node summary:before{content:"▸";color:var(--text-3);transition:transform var(--dur-120);flex-shrink:0}.risk-node[open]>summary:before{transform:rotate(90deg)}.risk-node summary:hover{background:var(--bg-hover);color:var(--text-0)}.risk-site>.check-list,.risk-facility{margin-left:14px}.risk-node-name{overflow-wrap:break-word;min-width:0}.risk-node-tags{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.risk-asset-row{font:inherit;background:0 0;border:none;margin-left:14px}.risk-asset-row .pill{flex-shrink:0;margin-left:auto}.risk-asset-row[aria-pressed=true]{background:var(--accent-soft)}.risk-network-group{margin-top:10px}.risk-network-group summary{cursor:pointer;border-radius:var(--radius-s);font-size:var(--fs-10-5);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:8px;padding:6px 4px;font-weight:600;list-style:none;display:flex}.risk-network-group summary::-webkit-details-marker{display:none}.risk-network-group .check-item{cursor:default}.exposure-kpi-caption{font-size:var(--fs-9-5);color:var(--text-2);margin-top:2px;line-height:1.25}.exposure-no-facility-group>summary{color:var(--warn)}.sites-section-title{margin-top:4px}.sites-facility-list{margin-top:2px}.sites-facility-row{font-size:var(--fs-12);color:var(--text-1);justify-content:space-between;gap:8px;padding:3px 0 3px 14px;display:flex}.sites-facility-asset-count{color:var(--text-2);font-variant-numeric:tabular-nums}.projects-list{flex-direction:column;gap:8px;display:flex}.projects-card{border:1px solid var(--border-strong);border-radius:var(--radius-s);flex-direction:column;gap:4px;padding:8px;display:flex}.projects-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.projects-card-head button.row-btn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.projects-card-head button.row-btn:hover,.projects-card-head button.row-btn:focus-visible{color:var(--accent)}.projects-card-head .meta{color:var(--text-3);font-size:var(--fs-11);flex-shrink:0}.projects-card>.meta{color:var(--text-3);font-size:var(--fs-11)}.projects-desc{color:var(--text-2);font-size:var(--fs-12);margin:0}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.kv-row{display:contents}.kv dd.pre-wrap{white-space:pre-wrap}.tech-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);display:inline-block}.table td>.tech-dot{margin-right:6px}.table th.num{text-align:right}.table .row-btn .sub{color:var(--text-3);font-size:var(--fs-11);display:block}.inspector-badges{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.inspector-sources{font-size:var(--fs-11-5)}ul.inspector-sources{padding-left:var(--space-4);margin:0}.inspector-sources li{word-break:break-all}.inspector-disclaimer{margin-top:var(--space-2);font-size:var(--fs-11)}.about-credits{padding-left:var(--space-4);font-size:var(--fs-12);color:var(--text-1);margin:0}.assets-kind-label{text-transform:capitalize}.swatch-state-energized{background:var(--state-energized)}.swatch-state-deenergized{background:var(--state-deenergized)}.swatch-state-faulted{background:var(--state-faulted)}.swatch-state-unknown{background:var(--state-unknown)}.swatch-voltage-69{background:var(--voltage-69)}.swatch-voltage-34-5{background:var(--voltage-34-5)}.swatch-voltage-13-8{background:var(--voltage-13-8)}.swatch-voltage-lv{background:var(--voltage-lv)}.portfolio-note{margin-top:2px}.portfolio-bu-chips{margin-bottom:6px}.portfolio-footer{align-items:center}.check-item.portfolio-labels-toggle{width:auto;padding:0 var(--space-1);margin-left:auto}.check-item.projects-terrain-toggle{padding:0}.layers-opacity-field{margin-top:10px}.sites-site-btn{text-align:left;flex:1}.insight-working-stage{font-style:italic}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ds-empty{padding:var(--space-4) var(--space-3);border:var(--border-w) dashed var(--border);border-radius:var(--radius-m);color:var(--text-2);font-size:var(--fs-12);text-align:center;margin:0}.ds-skeleton{gap:var(--space-2);display:grid}.ds-skeleton-line{height:var(--space-3);border-radius:var(--radius-s);background:var(--bg-active);animation:ds-skeleton-pulse calc(var(--dur-180) * 6) ease-in-out infinite alternate;display:block}.ds-skeleton-line:last-child:not(:first-child){width:60%}@keyframes ds-skeleton-pulse{0%{opacity:1}to{opacity:.45}}.ds-sheet-backdrop{z-index:var(--z-dock-sheet);background:var(--bg-0);opacity:.5;position:fixed;inset:0}.ds-sheet{z-index:var(--z-dock-sheet);background:var(--bg-2);max-height:85vh;-webkit-backdrop-filter:var(--blur);border-top:var(--border-w) solid var(--border-strong);border-radius:var(--radius-l) var(--radius-l) 0 0;box-shadow:var(--shadow);padding-bottom:env(safe-area-inset-bottom);animation:ds-sheet-in var(--dur-180) var(--ease-panel);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes ds-sheet-in{0%{transform:translateY(100%)}to{transform:none}}.ds-sheet-grip{width:var(--space-8);height:var(--space-1);margin:var(--space-2) auto 0;border-radius:var(--radius-s);background:var(--border-strong);flex:none}.ds-sheet-body{padding:var(--space-3) var(--space-4) var(--space-4);overscroll-behavior:contain;overflow-y:auto}@media (width<=720px){:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--phone-tab-h:64px;--phone-status-h:24px;--phone-header-h:calc(117px + var(--safe-top));--phone-bottom:calc(var(--phone-tab-h) + var(--phone-status-h) + var(--safe-bottom));--phone-map-bottom:calc(var(--phone-bottom) + var(--phone-sheet-h,0px))}.header.header-phone{height:auto;padding:var(--safe-top) 0 0;flex-direction:column;align-items:stretch;gap:0;display:flex}.header-phone .header-row{justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 8px 0 12px;display:flex}.header-phone .header-row.header-bu{height:auto;padding:0 12px 8px}.header-phone .home-btn{width:44px;height:44px;margin-right:0}.header-phone .segmented{width:100%;display:flex}.header-phone .segmented button{flex:auto;justify-content:center;height:44px;padding:0 10px}.header-phone .segmented button .seg-label{display:inline}.statusbar{bottom:calc(var(--phone-tab-h) + var(--safe-bottom));height:var(--phone-status-h)}.statusbar .item:not(.statusbar-camera):not(.statusbar-hazard){display:none}.tabbar{height:calc(var(--phone-tab-h) + var(--safe-bottom));padding:6px 4px calc(6px + var(--safe-bottom));background:var(--bg-1);border-top:1px solid var(--border);z-index:var(--z-chrome);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:absolute;bottom:0;left:0;right:0}.tabbar-btn{border-radius:var(--radius-m);min-width:0;height:52px;color:var(--text-1);font-size:var(--fs-11);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-weight:500;display:flex}.tabbar-btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-border);color:#e6f6ff}.header,.panel,.statusbar,.ds-sheet{-webkit-backdrop-filter:none;backdrop-filter:none}.ds-sheet.ds-sheet-docked{bottom:var(--phone-bottom);background:var(--bg-1);border:1px solid var(--border);border-bottom:0;max-height:45dvh;padding-bottom:0;position:absolute;overflow:hidden}.ds-sheet.ds-sheet-docked[data-snap=full]{height:calc(100dvh - var(--phone-header-h) - var(--phone-bottom));max-height:none}.ds-sheet-docked .ds-sheet-grip{margin:10px auto 0}.ds-sheet-docked .panel-head{flex:none;height:52px;padding:0 4px 0 14px}.ds-sheet-docked .panel-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ds-sheet-docked .panel-actions{flex:none;gap:0}.ds-sheet-docked .icon-btn{width:44px;height:44px}.ds-sheet-docked .ds-sheet-body{flex:auto;min-height:0;padding:12px 14px 14px}.ds-sheet-docked .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-sheet-docked .stats>label:first-child{grid-column:1/-1}.ds-sheet-docked .stats>label:nth-child(2){grid-column:span 2}.ds-sheet-docked .stats>label+.btn{align-self:end}.more-group+.more-group{margin-top:14px}.more-group-title{margin:0 0 6px}.more-list{flex-direction:column;gap:2px;display:flex}.more-item{border-radius:var(--radius-s);width:100%;height:48px;color:var(--text-1);font-size:var(--fs-13-5);text-align:left;border:1px solid #0000;align-items:center;gap:12px;padding:0 12px;font-weight:500;display:flex}.more-item[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-border);color:#e6f6ff}.shell .cesium-container .cesium-viewer-bottom{bottom:0!important;left:0!important}.shell .cesium-container .cesium-widget-credits{left:12px!important;bottom:calc(var(--phone-map-bottom) + 4px)!important}.toast{bottom:calc(var(--phone-map-bottom) + 16px)}.synthetic-watermark{bottom:calc(var(--phone-map-bottom) + 6px)}.toast.measure-hold-hint{bottom:calc(var(--phone-map-bottom) + 46px)}.hazard-row .segmented{width:100%;display:flex}.hazard-row .segmented button{flex:1 1 0;justify-content:center;height:44px;padding:0 10px}.check-item input[type=checkbox]{width:18px;height:18px;margin:0}}.measure-mode{flex:1 1 0;justify-content:center}.measure-finish{flex:100%;justify-content:center}@property --hold-progress{syntax:"<percentage>";inherits:false;initial-value:0%}@keyframes measure-hold-fill{to{--hold-progress:100%}}.measure-hold-ring{pointer-events:none;width:44px;height:44px;z-index:var(--z-popover);background:conic-gradient(var(--accent) var(--hold-progress), var(--accent-border) 0);border-radius:50%;margin:-22px 0 0 -22px;animation:linear forwards measure-hold-fill;position:absolute;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}@media (prefers-reduced-motion:reduce){.measure-hold-ring{--hold-progress:100%;animation:none}}@media (pointer:coarse){.home-btn,.icon-btn{width:44px;height:44px}.tool-btn,.segmented button,.header button,.panel button,.ds-sheet button,.toolbar-more-menu button,.check-item,summary{min-height:44px}.tool-btn{flex:none;height:44px}.panel button,.ds-sheet button,.segmented button,.tool-btn{min-width:44px}.segmented button,.tool-btn{justify-content:center}.shell input:not([type=checkbox]):not([type=radio]):not([type=range]),.shell textarea,.shell select{min-height:44px;font-size:16px}input[type=range]{height:44px}.shell dd a,.inspector-sources li a,.hazardwatch-source{align-items:center;min-height:44px;display:inline-flex}}@media (pointer:coarse) and (width>=721px) and (width<=1180px){.header .segmented button .seg-label{display:inline}}
