:root{
  color-scheme:dark;
  --bg:#08151b;--panel:#101f26;--panel2:#14262d;--stroke:#2b4149;
  --white:#e8eee9;--muted:#819ba0;--soft:#b2c5c1;
  --cyan:#58d9de;--amber:#eeb879;--green:#8cd6a6;--violet:#baa9dc;
  font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  font-size:13px;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;
}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;background:var(--bg);color:var(--white);min-width:340px}
button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.app-shell{max-width:1920px;margin:auto}
.topbar{height:77px;border-bottom:1px solid #213940;display:flex;align-items:center;justify-content:space-between;padding:0 35px;background:#0b1a21;gap:15px}
.brand-lockup{display:flex;align-items:center;gap:13px}.brand-icon{height:41px;width:41px;background:#16343a;border:1px solid #32606a;border-radius:12px;display:grid;place-items:center;box-shadow:inset 0 0 16px #173f48}
.brand-icon span{font-size:37px;font-weight:300;line-height:1;color:var(--cyan);transform:translateY(-5px)}
.brand-name{font-size:16px;letter-spacing:.145em;font-weight:760;color:#f5f2e9}.brand-slash{color:#8ad2d2;font-weight:450}.brand-subtitle{font-size:9px;letter-spacing:.16em;margin-top:5px;color:#73959a;font-weight:650}
.topbar-right{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:.12em;font-weight:720;color:#9ebbb8}.dot-label{display:flex;align-items:center;gap:9px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #67c8a47a}.divider-line{height:22px;width:1px;background:var(--stroke)}.topbar-tag span{margin:0 3px;color:#58848b}
.intro{display:flex;align-items:end;justify-content:space-between;gap:25px;padding:26px 35px 29px}
.eyebrow,.tiny-heading{font-size:10px;letter-spacing:.15em;font-weight:750;color:#81a2a4}.eyebrow{display:flex;gap:10px;align-items:center;margin:0 0 12px}.micro-line{width:16px;height:2px;background:var(--cyan)}
h1{font-size:clamp(26px,2.45vw,38px);line-height:1.14;letter-spacing:-.045em;margin:0;font-weight:650;color:#f1f1e9}h1 em{font-family:Georgia,serif;font-weight:400;color:#95d6d3}
.intro-copy{margin:11px 0 0;color:#91aeb0;line-height:1.63;max-width:710px;font-size:12px}
.intro-meta{display:flex;flex-direction:column;align-items:end;gap:10px;white-space:nowrap}.badge-polish{padding:8px 12px;border:1px solid #365459;background:#152c30;font-size:9px;font-weight:750;color:#bbd9d5;letter-spacing:.15em;border-radius:4px}.meta-coord{color:#668d91;font-size:9px;letter-spacing:.11em}
.workspace{display:grid;grid-template-columns:287px minmax(0,1fr) 291px;align-items:stretch;gap:14px;padding:0 23px}
.panel,.scene-frame,.metric,.scene-context{border:1px solid var(--stroke);background:var(--panel);border-radius:10px}
.sidebar{padding:22px 19px;min-width:0}
.panel-heading{display:flex;align-items:center;justify-content:space-between;margin:1px 0 27px;gap:10px}.panel-heading>div{display:flex;align-items:center;gap:10px}.section-index{height:24px;width:24px;display:grid;place-items:center;border:1px solid #3f5b61;border-radius:5px;color:#80b4b4;font-size:9px;font-weight:800}
h2{font-size:17px;margin:0;letter-spacing:-.02em;font-weight:640}.panel-eyebrow{font-size:9px;letter-spacing:.09em;color:#698c90;font-weight:750}.control-block{margin:0 0 5px}.control-block .tiny-heading{margin:0 0 18px}
.presets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.preset{border:1px solid #31505a;background:#162d35;color:#a0b7b9;padding:11px 6px;border-radius:5px;font-size:11px;font-weight:700;transition:.12s}
.preset:hover,.view-switch button:hover{background:#28464e;color:#fff}.preset.active{background:#20484c;border-color:#59a6a6;color:#a5e8e3;box-shadow:inset 0 0 0 1px #245d62}
.rule{height:1px;background:#294148;margin:22px 0}
.range-label{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:#bbcfca;font-weight:550;margin:14px 0 10px}.range-label output{font-size:11px;color:#80dfe3;font-weight:750;white-space:nowrap}
input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:5px;border-radius:5px;background:linear-gradient(90deg,#2d9fa7,#27464d);outline:none;margin:13px 0 0}
input[type=range].amber{background:linear-gradient(90deg,#836341,#574736)}input[type=range].green{background:linear-gradient(90deg,#4f9e85,#2f554b)}
input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:15px;border-radius:50%;border:3px solid #d5f8f2;background:#379da5;box-shadow:0 1px 5px #031015}
input[type=range]::-moz-range-thumb{height:10px;width:10px;border-radius:50%;border:3px solid #d5f8f2;background:#379da5}
.range-limits{display:flex;justify-content:space-between;color:#718b8d;font-size:9px;letter-spacing:.07em;margin:9px 0 18px}
.select-label{display:block;color:#b9ceca;font-size:11px;margin:18px 0 9px;font-weight:550}
select{background:#192f37;border:1px solid #31505a;color:#d4e5de;border-radius:6px;padding:11px 12px;width:100%;min-width:0;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2391b4b7' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:30px;font-size:11px}
.pump-list{margin-top:14px;border:1px solid #2a464c;border-radius:7px;overflow:hidden}.pump-switch{height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;gap:8px;cursor:pointer;background:#152931}.pump-switch+.pump-switch{border-top:1px solid #2b464d}
.pump-text{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:640;color:#dae6dc}.pump-symbol{width:27px;height:27px;border:1px solid #39717b;background:#1b4650;border-radius:5px;display:grid;place-items:center;color:#80dfe3;font-size:11px}.pump-text small{display:block;margin-top:3px;font-size:8px;letter-spacing:.12em;color:#78acaa;font-weight:750}.pump-switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{position:relative;width:35px;height:20px;border-radius:14px;background:#41545b;flex:none;transition:background .15s}.switch-track:after{content:"";width:14px;height:14px;background:#c4d4d0;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .15s}.pump-switch input:checked+.switch-track{background:#328a84}.pump-switch input:checked+.switch-track:after{transform:translateX(15px);background:#dff9ef}.pump-switch input:focus-visible+.switch-track{outline:2px solid #a8faf1;outline-offset:2px}
.inline-note{margin-top:10px;color:#6f9698;font-size:10px;line-height:1.55}.action-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:17px}.btn{min-height:39px;border-radius:5px;border:1px solid transparent;font-weight:720;font-size:11px;padding:9px 11px;white-space:nowrap}
.btn-primary{background:#63d5d2;color:#0b2328;display:flex;align-items:center;justify-content:center;gap:9px}.btn-primary:hover{background:#86e9df}.btn-primary span:first-child{font-size:14px}.btn-secondary{background:#1b333a;color:#c4dbd7;border-color:#38545c}.btn-secondary:hover{background:#23444c}
.visual-column{min-width:0;display:flex;flex-direction:column;gap:12px}
.scene-frame{position:relative;min-height:530px;background:radial-gradient(ellipse at 45% 60%,#254e4c 0,#15323c 45%,#0c202b 100%);overflow:hidden}
.scene-frame canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.scene-frame canvas:active{cursor:grabbing}
.scene-top,.scene-bottom{position:absolute;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:7px;pointer-events:none;left:18px;right:18px}.scene-top{top:18px}.scene-bottom{bottom:16px}
.scene-live{border:1px solid #385c5d;background:#10272cde;color:#a8dad1;border-radius:4px;font-weight:760;font-size:9px;letter-spacing:.14em;padding:9px 10px;display:flex;align-items:center;gap:8px}.green-blink{width:6px;height:6px;border-radius:50%;background:#7ee0a4;box-shadow:0 0 11px #6bffb15b}.scene-live.paused .green-blink{background:var(--amber);box-shadow:none}.scene-counter{font-size:10px;color:#b5d5d2;letter-spacing:.15em;font-weight:750;border:1px solid #36545b;background:#112b35d9;padding:9px 12px;border-radius:4px;font-variant-numeric:tabular-nums}
.scene-mark{position:absolute;pointer-events:none;z-index:1;font-size:9px;font-weight:800;letter-spacing:.11em;color:#d7ede5;text-shadow:0 1px 5px #0c242b;display:flex;align-items:center;gap:6px}.scene-mark-polder{left:14%;top:43%}.scene-mark-gate{right:7%;top:42%}.scene-mark-pump{right:21%;bottom:30%}
.marker-dash{display:inline-block;width:6px;height:6px;border:1.6px solid #d9eddb;border-radius:50%;box-shadow:0 0 0 3px #94c0ac33}.amber-dash{border-color:#ffe0a7}.cyan-dash{border-color:#a5f2f1}
.view-switch{pointer-events:auto;display:flex;flex-wrap:wrap;gap:2px;background:#10252bdd;padding:4px;border:1px solid #39545b;border-radius:6px;backdrop-filter:blur(10px)}.view-switch button{border:0;background:transparent;color:#8eabaa;font-size:10px;padding:8px 9px;border-radius:4px;font-weight:720}.view-switch button.selected{background:#4bb2b1;color:#082629}
.camera-hint{font-size:9px;color:#bbd5d1;letter-spacing:.06em;text-shadow:0 1px 5px #03141b}
.scene-error{z-index:6;position:absolute;top:85px;left:20px;right:20px;padding:14px 17px;color:#ffd8ce;background:#6b2e2eea;border-radius:5px;line-height:1.5;font-size:12px}.scene-error[hidden]{display:none}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{padding:16px 15px 14px;min-width:0;background:#13252c}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#8caeae;font-size:9px;letter-spacing:.075em;font-weight:760;white-space:nowrap}.metric-icon{font-size:18px;color:#628d8f;font-weight:300}
.metric-value{color:#e8f0e7;font-size:31px;letter-spacing:-.055em;font-weight:630;line-height:1.16;margin-top:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-value small{font-size:12px;color:#8aadaa;margin-left:4px;letter-spacing:0;font-weight:550}.metric-foot{margin-top:12px;display:flex;align-items:center;gap:6px;color:#6e979b;font-size:8px;letter-spacing:.09em;font-weight:760;white-space:nowrap}.metric-dot{height:6px;width:6px;border-radius:50%;display:inline-block}.metric-dot.cyan{background:var(--cyan)}.metric-dot.green{background:var(--green)}.metric-dot.amber{background:var(--amber)}.metric-dot.violet{background:var(--violet)}
.scene-context{display:flex;align-items:start;gap:14px;background:linear-gradient(110deg,#13262d,#102026);padding:17px 19px}.roundel{width:34px;height:34px;flex:none;border-radius:50%;background:#294c4e;border:1px solid #47877e;display:grid;place-items:center;font-size:11px;color:#b9e5d9;font-weight:800;letter-spacing:.1em}.scene-context strong{font-size:12px;color:#d5e7df}.scene-context p{font-size:11px;line-height:1.62;color:#87aaac;margin:5px 0 0}
.status-card{background:#15312f;border:1px solid #345f53;border-radius:7px;padding:14px 13px 12px;margin-top:-4px}.status-top{display:flex;gap:5px;align-items:center;justify-content:space-between}.status-top .tiny-heading{font-size:8px;letter-spacing:.10em}.status-pill{font-size:8px;letter-spacing:.08em;border-radius:3px;padding:5px 6px;font-weight:800}.status-pill.normal{background:#21503c;color:#a3ecc6}.status-pill.warning{background:#57472b;color:#ffdaa2}.status-pill.critical{background:#613630;color:#ffd6bf}.status-card strong{display:block;font-size:14px;margin-top:13px;font-weight:660;color:#e6f2e9}.status-card p{font-size:10px;color:#9cc3b5;line-height:1.6;margin:6px 0 0}
.chart-top{display:flex;justify-content:space-between;align-items:end;margin-top:28px}.chart-top .tiny-heading{margin:0 0 5px}.chart-top h3{font-size:15px;margin:0;font-weight:630}.chart-detail{color:#71999b;font-size:10px}
.chart-container{height:192px;margin-top:14px}.chart-container canvas{width:100%;height:100%;display:block}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;color:#9db9b7;font-size:9px;margin-top:4px}.chart-legend span{display:flex;align-items:center;gap:5px}.legend-line{display:inline-block;width:14px;height:2px}.legend-line.dashed{background:repeating-linear-gradient(90deg,#e8bd7d 0 4px,transparent 4px 7px)}
.flow-row{display:flex;justify-content:space-between;gap:6px;padding:13px 0;border-bottom:1px solid #293e45;font-size:11px;color:#9eb9b9}.flow-row strong{font-size:11px;font-weight:650;color:#dcebe4;font-variant-numeric:tabular-nums;white-space:nowrap}.flow-row.total strong{color:#f5c19c}.balance-row{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#799d9f}.balance-row output{color:#82d6c5;font-size:10px;font-weight:700;white-space:nowrap}
.method-note{margin-top:26px;border:1px solid #365058;border-radius:7px;background:#172e34;padding:0 11px}.method-note summary{list-style:none;cursor:pointer;padding:13px 0;font-size:11px;color:#b5d4cd;font-weight:650;display:flex;justify-content:space-between}.method-note summary::-webkit-details-marker{display:none}.method-note summary span{font-size:15px;color:#75b3b4}.method-note[open] summary span{transform:rotate(45deg)}.method-note p{color:#8caeaf;font-size:11px;line-height:1.65}.method-note a{display:inline-block;color:#87e3dd;margin:5px 0 15px;text-decoration:none;font-size:11px}
.footer{margin:18px 23px 12px;border-top:1px solid #20373e;padding:17px 7px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#5e8588;font-size:9px;letter-spacing:.11em;font-weight:650}.footer strong{color:#8eaaa9}.footer-version span{margin:0 5px}
@media (min-width:1680px){.workspace{grid-template-columns:304px minmax(0,1fr) 310px}.scene-frame{min-height:590px}.sidebar{padding:23px}.metric{padding:18px}}
@media (max-width:1350px){.workspace{grid-template-columns:252px minmax(0,1fr) 255px;gap:10px;padding:0 15px}.sidebar{padding:19px 14px}.scene-frame{min-height:485px}.metric{padding:14px 10px}.metric-label{font-size:8px}.metric-value{font-size:25px}.metric-foot{font-size:7.5px}.topbar{padding:0 23px}.intro{padding-left:23px;padding-right:23px}.scene-mark{font-size:8px}.camera-hint{display:none}}
@media (max-width:1060px){.workspace{grid-template-columns:270px minmax(0,1fr)}.data-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.data-panel .panel-heading{grid-column:1/-1;margin-bottom:16px}.status-card{grid-column:1}.chart-top{grid-column:2;grid-row:2;margin-top:0}.chart-container{grid-column:2;grid-row:3}.chart-legend{grid-column:2;grid-row:4}.data-panel>.rule{grid-column:1/-1}.data-panel>.tiny-heading,.flow-row,.balance-row,.method-note{grid-column:1/-1}.scene-frame{min-height:550px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:29px}}
@media (max-width:760px){.topbar{height:auto;min-height:71px;padding:14px 17px}.topbar-right{display:none}.intro{padding:25px 17px;display:block}.intro-meta{align-items:start;flex-direction:row;margin-top:17px;gap:10px}.meta-coord{align-self:center}.workspace{display:flex;flex-direction:column;padding:0 11px;gap:12px}.visual-column{order:0}.controls-panel{order:1}.data-panel{order:2;display:block}.data-panel .chart-top{margin-top:23px}.data-panel .chart-container{height:175px}.scene-frame{min-height:450px}.sidebar{padding:20px}.scene-mark{display:none}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:29px}.intro-copy{font-size:12px}.footer{margin:14px 13px}.control-block .tiny-heading{margin-bottom:13px}}
@media (max-width:445px){.scene-frame{min-height:360px}.scene-top{left:8px;right:8px;top:9px}.scene-live,.scene-counter{font-size:8px;padding:7px}.scene-bottom{left:9px;right:9px;bottom:9px}.view-switch{width:100%;justify-content:space-between}.view-switch button{padding:8px 7px;font-size:9px}.intro-meta{flex-wrap:wrap}.metric{padding:12px}.metric-value{font-size:26px}.metric-label{font-size:7.5px}.footer{font-size:8px}.brand-name{font-size:14px}.brand-subtitle{font-size:8px}}
@media (prefers-reduced-motion:reduce){.pulse-dot,.green-blink{animation:none!important}}
