:root{color-scheme:dark;background:#07121e;color:#e7f6fa;--aqua:#66ffe0;--blue:#55cfff}body{background:radial-gradient(ellipse at 50% -10%,#103243 0,transparent 60%),#07121e}.shell{max-width:1360px;padding:18px 28px 32px}.top{padding-bottom:14px;border-color:#2c54605c}.brand .mark{border-radius:10px;background:linear-gradient(145deg,#77ffe0,#199eae);box-shadow:0 0 26px #40e7c122}.brand strong{font-size:17px}.brand small{font-size:12px}.mode{background:#17313d;color:#b2d8e5;border:1px solid #356070;font-size:12px}.topright #clock{font-size:12px}.machine-row{margin:20px 0 8px}.machine-row h1{margin:0;font-size:26px}.machine-row .lead{margin:5px 0 0;font-size:14px}.nav{margin:16px 0;border-color:#2d4d60}.nav button{font-size:14px}.nav-icon{display:none}.card{background:linear-gradient(145deg,#122b3a,#0c202e);border-color:#31536380;box-shadow:inset 0 1px #9cecff0b}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{padding:15px}.metric .value{font-size:25px;margin:8px 0 2px}.metric label{font-size:12px}.metric small{font-size:12px}.metric.reservoir-metric,.metric[data-metric="Pump status"],.metric[data-metric="Active points"],.metric[data-metric="Oil delivered today"]{display:none}.btn{border-color:#436678;background:#162e3e;min-height:44px;transition:background .18s,transform .18s}.btn:active{transform:scale(.97)}.btn.primary{color:#04252a;background:linear-gradient(120deg,#73ffdb,#42cfe5);border:0;box-shadow:0 3px 24px #4cf1cf24}.visualizer{position:relative;isolation:isolate;margin-bottom:12px;padding:20px 24px 16px;border:1px solid #416f8170;border-radius:20px;background:radial-gradient(ellipse at 30% 43%,#17556b50,transparent 53%),linear-gradient(125deg,#0e293b,#081522 78%);box-shadow:inset 0 1px #a9ecff20,0 20px 45px #0003;overflow:hidden}.visualizer:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(#3a7d9322 1px,transparent 1px),linear-gradient(90deg,#3a7d9322 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(transparent,#000,transparent)}.visualizer:after{content:"";position:absolute;left:25px;top:0;width:100px;height:2px;background:linear-gradient(90deg,transparent,#6cffdd,transparent);box-shadow:0 0 12px #47f2d7}.visual-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.visual-head .eyebrow{color:#a9cbd9;font-size:12px;letter-spacing:.14em}.visual-state{font-size:12px;color:#75f2cf;text-align:right;max-width:52%}.visual-state.fault{color:#ffba84}.visual-stage{display:grid;grid-template-columns:minmax(0,1.4fr) 50px minmax(140px,1fr);align-items:center;width:min(720px,100%);margin:0 auto;min-height:280px}.reservoir-hud{min-width:0;text-align:center;position:relative}.reservoir-hud svg{width:100%;max-width:310px;display:block;margin:auto;overflow:visible}.hud-track{fill:none;stroke:#5181974a;stroke-width:1}.hud-ticks{fill:none;stroke:#72bace82;stroke-width:4;stroke-dasharray:1 7}.hud-orbit{fill:none;stroke:#70e6e05c;stroke-width:1.5;stroke-dasharray:98 70;transform-origin:130px 130px;animation:orbit 28s linear infinite}.hud-glow{fill:none;stroke:#42f7d5;stroke-width:8;filter:url(#halo);opacity:.15}.hud-level{fill:none;stroke:url(#ringColor);stroke-width:4;stroke-linecap:round;transform:rotate(-90deg);transform-origin:130px 130px;stroke-dasharray:82 100;transition:stroke-dasharray .65s}.hud-label,.hud-number,.hud-sub{text-anchor:middle;fill:#e6ffff;font-family:inherit}.hud-label{font-size:12px;letter-spacing:2px;fill:#b3dae3}.hud-number{font-size:36px;font-weight:750;letter-spacing:-1.5px;paint-order:stroke;stroke:#092d3944;stroke-width:5px}.hud-sub{font-size:10px;letter-spacing:1px;fill:#c1fff1}.reservoir-hud.low .hud-level{stroke:#ffb568}.reservoir-hud.low .hud-sub{fill:#ffe1ab}.reservoir-hud.low #largeFluid{filter:sepia(1) saturate(2)}#largeFluid{transition:transform .65s}.liquid-wave{animation:wave 5s linear infinite}.liquid-wave.second{animation-direction:reverse;animation-duration:7s}.hud-caption{display:flex;align-items:center;justify-content:center;gap:7px;position:relative;margin-top:-12px;font-size:12px;letter-spacing:.08em;color:#b5d8e5}.run-dot{height:6px;width:6px;border-radius:50%;background:#4a788d}.is-running .run-dot{background:#71ffda;box-shadow:0 0 12px #71ffda}.circuit-branch{height:240px;align-self:center}.circuit-branch svg{height:100%;width:100%;overflow:visible}.branch-base,.branch-flow{fill:none;stroke-width:1.5;stroke-linejoin:round}.branch-base{stroke:#40687b}.branch-flow{stroke:#6affe0;stroke-dasharray:6 18;opacity:.15}.is-running .branch-flow{opacity:1;animation:flow .7s linear infinite;filter:drop-shadow(0 0 3px #60e5d2)}.manifold{display:grid;gap:8px}.visual-channel{position:relative;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #436c7b80;border-radius:10px;padding:9px 12px;min-height:42px;background:linear-gradient(110deg,#133549,#102537);color:#e2f5fb;text-align:left;transition:.2s}.visual-channel:after{content:"";position:absolute;width:3px;height:15px;left:-1px;top:50%;transform:translateY(-50%);background:#5ac7cb;border-radius:3px;box-shadow:0 0 8px #5ac7cb66}.visual-channel.selected{border-color:#72e8d6aa;background:linear-gradient(110deg,#174654,#123346)}.visual-channel:hover,.visual-channel:focus-visible{outline:2px solid #85ffe1;outline-offset:3px}.visual-channel.fault:after{background:#ffac86;box-shadow:0 0 8px #ffa16e88}.visual-channel.fault{border-color:#b7805566}.visual-channel b{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.visual-channel small{font-size:13px;color:#a9d1db;white-space:nowrap}.visual-footer{display:flex;justify-content:space-between;align-items:center;margin:10px 0;color:#8aafc0;font-size:13px}.text-button{border:0;color:#89e5e0;background:none;min-height:36px;padding:5px 0;font-size:13px}.visual-actions{display:grid;grid-template-columns:1.5fr 1fr;gap:10px}.visual-actions .btn{font-size:14px}.visual-actions .btn:first-child{background:linear-gradient(110deg,#73ffe0,#54d2ed);border:0;color:#062734;font-weight:750;box-shadow:0 0 22px #50e3d91a}.visual-actions .btn:last-child{background:#142e3f;color:#c6e6ed;border:1px solid #447083;box-shadow:none;font-weight:500}.visual-actions .btn:disabled{opacity:.6}.overview-secondary{margin-top:10px}.point{min-height:160px}.point .flow{font-size:23px}.point .eyebrow{font-size:12px}.card h2{font-size:18px}dialog{width:min(440px,calc(100% - 28px));border:1px solid #477485;border-radius:20px;padding:22px;color:#ecfaff;background:linear-gradient(145deg,#173648,#0b1c2b);box-shadow:0 30px 90px #0009}dialog::backdrop{background:#010b16bd;backdrop-filter:blur(8px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-header h2{margin:0}.demo-label{display:flex;justify-content:space-between;margin:24px 0 10px}#levelDemo{width:100%;accent-color:#65efcf;min-height:44px}.level-presets{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #79ffe0;outline-offset:3px}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes wave{to{transform:translateX(80px)}}@keyframes flow{to{stroke-dashoffset:-24}}
@media(max-width:760px){html,body{height:100%;overflow:hidden}.shell{height:100dvh;max-width:none;padding:10px 14px 0;display:flex;flex-direction:column;overflow:hidden}.top{flex:none;min-height:43px;padding-bottom:9px;gap:5px}.brand{gap:9px}.brand .mark{width:29px;height:29px;font-size:20px;border-radius:8px}.brand strong{font-size:14px;letter-spacing:.025em}.brand small{display:none}.topright{gap:5px}.topright #clock,.topright #healthPill{display:none}.mode{font-size:0;padding:5px 7px;letter-spacing:.06em;border-radius:5px}.mode:after{content:'DEMO';font-size:11px}.machine-row{margin:12px 0 10px;flex:none}.machine-row h1{font-size:20px}.machine-row .lead{font-size:12px;margin-top:2px;max-width:100%;color:#90b2c3}.machine-row>.actions{display:none}main{flex:1;min-height:0;overflow:auto;padding-bottom:8px;scrollbar-width:thin}main>section:not(.hidden){min-height:100%}#overview:not(.hidden){display:flex;flex-direction:column;gap:9px}.visualizer{flex:1;min-height:0;margin:0;padding:14px 12px 12px;display:flex;flex-direction:column;border-radius:16px}.visual-head{gap:8px;min-height:25px}.visual-head .eyebrow{font-size:10px;letter-spacing:.1em}.visual-state{font-size:11px}.visual-stage{flex:1;min-height:200px;grid-template-columns:minmax(0,1.3fr) 20px minmax(112px,1fr);width:100%;margin:0}.reservoir-hud svg{max-height:235px;width:100%}.hud-caption{font-size:10px;letter-spacing:.045em;margin-top:-7px;white-space:nowrap}.manifold{gap:7px}.visual-channel{padding:8px 7px;min-height:37px;gap:4px;display:block}.visual-channel b{font-size:12px;max-width:100%}.visual-channel small{display:block;font-size:11px;margin-top:1px}.circuit-branch{height:229px;max-height:100%}.visual-footer{margin:6px 0 4px;font-size:12px}.text-button{font-size:12px;min-height:32px}.visual-actions{gap:7px}.visual-actions .btn{font-size:13px;padding:8px 5px;min-height:42px;border-radius:8px}.metrics{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.metric{padding:10px 12px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;min-height:57px}.metric label{font-size:11px;letter-spacing:.025em;max-width:57%}.metric .value{font-size:19px;letter-spacing:-.05em;margin:0}.metric small{display:none}.overview-secondary{display:none}.nav{order:5;flex:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0 -14px;padding:8px 5px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid #345263;background:#0a1927;overflow:visible}.nav button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:2px 0 0;font-size:10px;line-height:1.1;border:0!important;color:#8aa9ba;min-height:43px;position:relative}.nav button.active{color:#70f7db;background:radial-gradient(ellipse at top,#37cfb91f,transparent 80%)}.nav button.active:before{content:'';position:absolute;top:-9px;width:24px;height:2px;background:#6affdf;box-shadow:0 0 9px #6affdf}.nav-icon{display:block;width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav #alarmCount{position:absolute;top:-2px;right:4px;font-size:10px;color:#ffbe89}.formgrid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.main-grid{grid-template-columns:1fr}.card{padding:17px}.metric.card{padding:10px 12px}.field label{font-size:14px}.field input,.field select{font-size:16px}.tablewrap{max-width:100%}.points{grid-template-columns:repeat(2,minmax(0,1fr))}#channels .canvas{height:190px}.detail-grid{font-size:14px}.detail-grid span{font-size:13px}h2{font-size:18px}.btn{font-size:14px}.report{font-size:14px}.notice{font-size:12px}.lead{line-height:1.3}}
@media(max-width:760px) and (max-height:730px){.shell{padding-top:6px}.top{min-height:35px;padding-bottom:5px}.machine-row{margin:8px 0}.machine-row .lead{display:none}.visualizer{padding-top:8px}.visual-stage{min-height:170px}.reservoir-hud svg{max-height:205px}.visual-channel{min-height:32px;padding:5px 6px}.manifold{gap:5px}.circuit-branch{height:190px}.metric{min-height:48px}.metric.card{padding:7px 10px}.visual-footer{margin:1px 0}.visual-actions .btn{min-height:40px}.nav{padding-top:6px;padding-bottom:max(7px,env(safe-area-inset-bottom))}}
@media(max-width:760px) and (max-height:570px){html,body{overflow:auto}.shell{min-height:570px;height:auto}main{overflow:visible}.visual-stage{min-height:210px}.nav{position:sticky;bottom:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Photo-based reservoir with an independent, data-driven liquid layer. */
.photo-reservoir{align-self:center}.reservoir-photo-stage{position:relative;width:100%;max-width:285px;margin:0 auto;padding-bottom:37px;isolation:isolate}.reservoir-photo-stage:before{content:'';position:absolute;inset:15% 5% 15%;z-index:-1;background:radial-gradient(ellipse,#46d5d526,transparent 70%);filter:blur(10px)}.reservoir-photo{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 9px 10px #0009);pointer-events:none}.photo-liquid-window{position:absolute;z-index:2;left:16%;right:13%;top:25.5%;bottom:22.2%;overflow:hidden;border-radius:2% 2% 48% 48% / 2% 2% 10% 10%;mix-blend-mode:screen;pointer-events:none}.photo-liquid{position:absolute;left:0;right:0;bottom:0;height:82%;background:linear-gradient(90deg,#10a99c44,#23d6b77d 48%,#159fa95c);border-top:2px solid #99ffdfd9;box-shadow:inset 0 6px 15px #51e8d83b;transition:height .65s ease!important}.photo-liquid:before{content:'';position:absolute;left:-50%;top:-4px;width:200%;height:9px;border-radius:50%;background:linear-gradient(90deg,transparent,#abffe9aa,transparent,#abffe955,transparent);animation:photoWave 4s ease-in-out infinite alternate}.photo-reservoir.low .photo-liquid{background:linear-gradient(90deg,#c6722d40,#ffc36582,#cf842f55);border-top-color:#ffe0a1;filter:none!important}.photo-reservoir .photo-level-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:8px;padding:4px 0;color:#dffff6}.photo-level-label>span{font-size:25px;font-weight:750;letter-spacing:-1px}.photo-level-label small{font-size:10px;max-width:48px;line-height:1.25;text-align:left;letter-spacing:.06em;color:#a4dccd}.photo-reservoir.low .photo-level-label small{color:#ffca89}.photo-reservoir .hud-caption{margin-top:4px}#largeFluid.photo-liquid{transform:none!important}.photo-reservoir .photo-liquid-window{top:calc((100% - 37px)*.29);bottom:calc(37px + (100% - 37px)*.112)}@keyframes photoWave{to{transform:translateX(20px);opacity:.65}}
@media(max-width:760px){.reservoir-photo-stage{max-width:205px;padding-bottom:34px}.photo-reservoir .photo-liquid-window{top:calc((100% - 34px)*.29);bottom:calc(34px + (100% - 34px)*.112)}.photo-level-label>span{font-size:22px}.photo-level-label small{font-size:9px}.photo-reservoir .hud-caption{font-size:9px;margin-top:2px}.photo-reservoir{min-width:0}.visual-stage{grid-template-columns:minmax(0,1.4fr) 17px minmax(112px,1fr)}}
@media(max-width:760px) and (max-height:730px){.reservoir-photo-stage{max-width:170px}.photo-reservoir .hud-caption{font-size:9px}.photo-level-label>span{font-size:20px}}
@media(prefers-reduced-motion:reduce){.photo-liquid{transition:none!important}.photo-liquid:before{animation:none!important}}
.photo-liquid-window{mix-blend-mode:normal}
/* Layered amber lubricant: depth, meniscus, reflections and viscous motion. */
.photo-liquid-window{overflow:hidden;border-radius:3% 3% 48% 48% / 3% 3% 11% 11%}.photo-liquid,#largeFluid.photo-liquid{border:0;background:linear-gradient(90deg,rgba(87,40,5,.79) 0%,rgba(160,83,12,.77) 13%,rgba(213,136,33,.70) 36%,rgba(179,91,12,.78) 70%,rgba(83,39,5,.88) 100%);box-shadow:inset 0 -12px 15px #36180666,inset 5px 0 10px #ffce702b;transition:height 1.65s cubic-bezier(.22,.72,.2,1)!important;overflow:visible;border-radius:0 0 48% 48% / 0 0 10px 10px;will-change:height}.photo-liquid:before,.photo-liquid:after{display:none}.liquid-depth{position:absolute;inset:0;background:linear-gradient(180deg,#ffcd6744 0%,transparent 22%,#71380028 65%,#31180588 100%);border-radius:inherit}.liquid-surface{position:absolute;top:-6px;left:0;width:100%;height:13px;border-radius:50%;background:radial-gradient(ellipse at 42% 28%,#ffe5a6e8 0%,#e9b14aef 32%,#b77723f2 67%,#77400de0 100%);box-shadow:0 -1px 1px #ffe3a5bf,0 3px 4px #6e3a1260,inset 0 -2px 2px #63361177;transform-origin:center;animation:viscousSurface 6s ease-in-out infinite}.liquid-surface i{position:absolute;inset:2px 12% 4px;border-top:1px solid #fff0c7aa;border-radius:50%;transform:rotate(-2deg);opacity:.75}.liquid-sheen{position:absolute;inset:5px 8% 4%;overflow:hidden;border-radius:0 0 45% 45%}.liquid-sheen:before{content:'';position:absolute;inset:-30% -80%;background:linear-gradient(108deg,transparent 40%,#ffe8a409 46%,#fff0b740 49%,#ffecc31c 52%,transparent 57%);transform:translateX(-12%);animation:oilShimmer 9s ease-in-out infinite}.liquid-current{position:absolute;inset:7px 6px 0;overflow:hidden;opacity:.15;background:repeating-radial-gradient(ellipse at 25% -15%,transparent 0 14px,#ffdf8b45 16px,transparent 19px 30px);mask-image:linear-gradient(#000,transparent 85%);animation:greaseCurrent 10s ease-in-out infinite alternate}.glass-reflection{position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,transparent 3%,#eaffff36 7%,transparent 12%,transparent 82%,#efffff29 90%,transparent 95%);pointer-events:none}.photo-reservoir.low .photo-liquid{background:linear-gradient(90deg,#74300bd9,#cc722dcc 38%,#b35316d9 75%,#623009df);border:0;box-shadow:inset 0 -10px 12px #371b0980}.photo-reservoir.low .liquid-surface{background:radial-gradient(ellipse at 42% 28%,#ffdab1,#da8c42 45%,#814616);box-shadow:0 -1px 1px #ffd2a5,0 3px 4px #69321977}.photo-reservoir.low .photo-level-label{color:#ffe0b6;text-shadow:0 0 14px #e08b382a}.photo-reservoir.empty .photo-liquid{visibility:hidden}.photo-reservoir.full .liquid-surface{top:0}.photo-reservoir.level-changing .liquid-surface,.is-running .liquid-surface{animation:workingSurface 1.7s ease-in-out infinite}.photo-reservoir.level-changing .liquid-current,.is-running .liquid-current{opacity:.3;animation-duration:2.7s}.photo-reservoir.level-changing .liquid-sheen:before{animation-duration:2.5s}.photo-reservoir.level-changing .reservoir-photo-stage:before{background:radial-gradient(ellipse,#f4b8532c,transparent 70%)}@keyframes viscousSurface{0%,100%{transform:scaleY(.9) rotate(-.4deg)}50%{transform:scaleY(1.08) rotate(.4deg)}}@keyframes workingSurface{0%,100%{transform:scaleY(.9) rotate(-1.2deg)}50%{transform:scaleY(1.15) rotate(1.2deg)}}@keyframes oilShimmer{0%,100%{transform:translateX(-12%);opacity:.4}50%{transform:translateX(12%);opacity:.85}}@keyframes greaseCurrent{to{transform:translateY(5px) scaleX(1.025)}}
@media(prefers-reduced-motion:reduce){.photo-liquid,#largeFluid.photo-liquid{transition:none!important}.liquid-surface,.liquid-current,.liquid-sheen:before{animation:none!important}}
