.viz-root{color-scheme:light;--page: #f6f1e4;--surface-1: #fcfaf4;--text-primary: #1f1b14;--text-secondary: #57524a;--text-muted: #857f74;--grid: #e6e1d4;--axis: #c8c1b1;--border: rgba(31, 27, 20, .1);--series-1: #2a78d6;--series-2: #eb6834;--band: rgba(31, 27, 20, .035);--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--accent: #4f6b33;--seq-lo: #cde2fb;--seq-hi: #104281;--div-neg: #d03b3b;--div-mid: #f0efec;--div-pos: #2a78d6}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])) .viz-root{color-scheme:dark;--page: #12110d;--surface-1: #1d1b17;--text-primary: #f0ece2;--text-secondary: #c6c0b2;--text-muted: #8f897d;--grid: #2d2a24;--axis: #3d3a33;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--band: rgba(255, 255, 255, .04);--accent: #a3c27a;--seq-lo: #1c3a5e;--seq-hi: #9ec5f4;--div-mid: #383835}}:root[data-theme=dark] .viz-root{color-scheme:dark;--page: #12110d;--surface-1: #1d1b17;--text-primary: #f0ece2;--text-secondary: #c6c0b2;--text-muted: #8f897d;--grid: #2d2a24;--axis: #3d3a33;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--band: rgba(255, 255, 255, .04);--accent: #a3c27a;--seq-lo: #1c3a5e;--seq-hi: #9ec5f4;--div-mid: #383835}*{box-sizing:border-box}html,body{margin:0}body{background:#f6f1e4}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])) body{background:#12110d}}:root[data-theme=dark] body{background:#12110d}.viz-root{min-height:100vh;background:var(--page);color:var(--text-primary);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.eco-top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.eco-brand{color:var(--text-primary);text-decoration:none;font-weight:700}.eco-mock{font-size:12px;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.eco-main{max-width:1120px;margin:0 auto;padding:8px 16px 64px}h1{font-size:28px;line-height:1.2;margin:18px 0 6px}h2{font-size:19px;margin:34px 0 6px;padding-top:10px;border-top:1px solid var(--border)}.eco-sub{color:var(--text-secondary);max-width:62ch;margin:0 0 8px}.eco-note{color:var(--text-secondary);font-size:14px;margin:0 0 12px}section{scroll-margin-top:12px}.eco-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.eco-tile{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:12px 14px;min-height:92px}.eco-tile .lab{font-size:13px;color:var(--text-secondary)}.eco-tile .val{font-size:24px;font-weight:600;line-height:1.25;margin-top:2px}.eco-tile .sub{font-size:13px;color:var(--text-muted)}.eco-tile.health{grid-column:span 2}.badge{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--text-primary)}.badge i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-style:normal;font-size:12px;color:#fff}.badge i{background:var(--text-muted)}.badge.ok i{background:var(--good)}.badge.watch i{background:var(--warning);color:#0b0b0b}.badge.alarm i{background:var(--critical)}@media (max-width: 420px){.eco-tile.health{grid-column:1 / -1}}.viz-multiples{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.viz-small,.viz-card{margin:0;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:10px 10px 6px}.viz-small figcaption,.viz-card h3{font-size:14px;font-weight:600;margin:0 0 2px 2px}.viz-card h3{margin-bottom:6px}.viz-note{display:block;font-weight:400;font-size:12px;color:var(--text-muted)}.viz-svg{display:block;width:100%;height:auto;overflow:visible}.viz-grid{stroke:var(--grid);stroke-width:1}.viz-axis{stroke:var(--axis);stroke-width:1}.viz-tick{fill:var(--text-muted);font-size:10px;font-variant-numeric:tabular-nums}.viz-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.viz-area{opacity:.1;stroke:none}.viz-dot{stroke:var(--surface-1);stroke-width:2}.viz-cross{stroke:var(--text-muted);stroke-width:1;pointer-events:none}.viz-band{fill:var(--band)}.viz-band-label{fill:var(--text-muted);font-size:9px}.viz-bar{outline:none}.viz-bar:hover,.viz-bar:focus{filter:brightness(1.12)}.viz-legend{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;margin:4px 0 8px;padding:0;font-size:13px;color:var(--text-secondary)}.viz-legend li{display:inline-flex;align-items:center;gap:6px}.viz-key{display:inline-block;flex:none}.viz-key.line{width:14px;height:2px;border-radius:1px}.viz-key.box{width:10px;height:10px;border-radius:2px}.viz-empty{color:var(--text-muted);font-style:italic;background:var(--surface-1);border:1px dashed var(--border);border-radius:12px;padding:18px;margin:0}.viz-tip{position:absolute;z-index:10;pointer-events:none;background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font:12px/1.4 system-ui,sans-serif;box-shadow:0 4px 14px #00000026;min-width:120px}.viz-tip-title{color:var(--text-secondary);margin-bottom:2px}.viz-tip-row{display:flex;align-items:center;gap:6px}.viz-tip-val{font-variant-numeric:tabular-nums;min-width:3ch}.viz-tip-name{color:var(--text-secondary)}.viz-table{margin:6px 0 0;font-size:13px}.viz-table summary{cursor:pointer;color:var(--text-secondary);padding:4px 0}.viz-table-wrap{overflow-x:auto;max-height:360px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.viz-table table{border-collapse:collapse;width:100%}.viz-table caption{text-align:left;padding:6px 8px;color:var(--text-muted)}.viz-table th,.viz-table td{padding:4px 8px;border-bottom:1px solid var(--grid);text-align:left;white-space:nowrap}.viz-table td.num{text-align:right;font-variant-numeric:tabular-nums}.viz-table thead th{position:sticky;top:0;background:var(--surface-1);color:var(--text-secondary);font-weight:600}.viz-bars{display:grid;gap:6px}.viz-bar-row{display:grid;grid-template-columns:minmax(90px,34%) 1fr auto;align-items:center;gap:8px;font-size:13px;outline:none}.viz-bar-label{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-bar-track{height:12px}.viz-bar-fill{display:block;height:12px;border-radius:0 4px 4px 0;min-width:2px}.viz-bar-val{font-variant-numeric:tabular-nums;color:var(--text-primary);min-width:4ch;text-align:right}.viz-bar-row:hover .viz-bar-fill,.viz-bar-row:focus .viz-bar-fill{filter:brightness(1.12)}.eco-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:10px}#eco-area{margin-top:10px}.eco-select{font:inherit;font-size:14px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:4px 8px}.eco-map-controls{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.eco-map-controls label{display:inline-flex;align-items:center;gap:6px;font-size:14px;background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:4px 12px;cursor:pointer}.eco-map-controls input{accent-color:var(--accent);margin:0}.eco-map{position:relative;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;overflow:hidden;aspect-ratio:544 / 509;max-width:760px}.eco-map img,.eco-map canvas{position:absolute;inset:0;width:100%;height:100%}.eco-map img{opacity:.85}.eco-map-legend{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin:6px 0;flex-wrap:wrap}.eco-ramp{width:160px;height:10px;border-radius:5px;border:1px solid var(--border)}.eco-button{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;border-radius:999px;padding:8px 16px}:root[data-theme=dark] .eco-button{color:#12110d}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])) .eco-button{color:#12110d}}.eco-button[aria-disabled=true]{opacity:.45;pointer-events:none}@media (forced-colors: active){.viz-line{stroke:CanvasText}.badge i{forced-color-adjust:none}}.viz-card .viz-svg{max-height:260px}.eco-more{margin-top:8px}.eco-more>summary{cursor:pointer;color:var(--text-secondary);font-size:14px;padding:6px 0}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])) .eco-map img{filter:brightness(.72) saturate(.9)}}:root[data-theme=dark] .eco-map img{filter:brightness(.72) saturate(.9)}@media (max-width: 600px){.viz-small .viz-svg{max-height:200px}}.eco-log td:last-child{white-space:normal;min-width:16ch}@media (max-width: 480px){.eco-log .viz-table-wrap{max-height:none;overflow:visible;border:0;background:none}.eco-log table,.eco-log tbody,.eco-log tr,.eco-log td{display:block;width:100%}.eco-log thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eco-log caption{display:block;padding:0 0 6px}.eco-log tr{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:8px}.eco-log td{border:0;padding:2px 0;white-space:normal;display:grid;grid-template-columns:4.5em 1fr;gap:8px}.eco-log td:before{content:attr(data-label);color:var(--text-muted);font-size:12px}}.eco-log-more{display:none;font:inherit;font-size:14px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:6px 14px;cursor:pointer}@media (max-width: 480px){.eco-log:not(.all) tr.more{display:none}.eco-log-more{display:inline-block}}.eco-stage{font-size:24px;font-weight:600;margin:4px 0 8px}.eco-meter{position:relative;height:10px;border-radius:5px;background:var(--grid);margin:4px 0 6px}.eco-meter-band{position:absolute;top:0;bottom:0;background:var(--axis);border-radius:5px}.eco-meter-mark{position:absolute;top:-4px;width:4px;height:18px;border-radius:2px;transform:translate(-2px);box-shadow:0 0 0 2px var(--surface-1)}.eco-credit{font-size:12px;color:var(--text-muted);margin:6px 0 0}
