@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";html,body,#root{min-height:100%}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f4ec;min-height:100vh;margin:0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}:root{--bg:#eef2ee;--ink:#17211e;--muted:#66736e;--panel:#fbfcf8;--panel-strong:#fff;--line:#cdd8d2;--line-strong:#93a39b;--green:#16766f;--green-soft:#d9f3ec;--amber:#c9731c;--amber-soft:#fff0d9;--red:#bf3b32;--red-soft:#ffe3df;--blue:#2d6da3;--shadow:0 18px 55px #1f312b1f;--radius:8px}*{box-sizing:border-box}button{font:inherit}button:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 45%, transparent);outline-offset:2px}.sim-shell{gap:1rem;width:min(1720px,100%);margin:0 auto;padding:clamp(1rem,2vw,1.5rem);display:grid}.sim-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;padding:.7rem 0 .9rem;display:flex}.eyebrow,.panel-label,.event-log,.status,.stage-kicker,.pump,.rule-chip,.view-tabs,.code-tag,.flow-stage-card,.flow-summary,.pinout-table{font-family:IBM Plex Mono,monospace}.eyebrow{color:var(--green);text-transform:uppercase;margin:0 0 .25rem;font-size:.78rem;font-weight:600}h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(1.8rem,4.4vw,3.7rem);line-height:.98}.view-tabs{border:1px solid var(--line);background:#ffffffb8;border-radius:999px;gap:.35rem;padding:.25rem;display:inline-flex;box-shadow:0 8px 20px #1f312b14}.view-tabs button{min-height:2.1rem;color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border:0;border-radius:999px;padding:.38rem .72rem;font-size:.74rem;font-weight:800}.view-tabs button.active{background:var(--green-soft);color:#0d514b}.status span{background:var(--line-strong);border-radius:999px;width:.62rem;height:.62rem}.sim-grid{grid-template-columns:minmax(230px,270px) minmax(720px,1fr) minmax(260px,330px);align-items:start;gap:1rem;display:grid}.simulator-stack{gap:1rem;display:grid}.control-panel,.status-panel,.plant-view{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 92%, white);box-shadow:var(--shadow)}.control-panel,.status-panel{flex-direction:column;gap:.9rem;padding:.9rem;display:flex}.control-panel{align-self:start}.status-panel,.plant-view{align-self:start;width:100%}.status-panel{min-height:650px;max-height:650px}.panel-section{gap:.62rem;display:grid}.panel-label{color:var(--muted);text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.label-row,.control-with-tip{align-items:center;gap:.45rem;min-width:0;display:flex}.label-row{justify-content:flex-start}.control-with-tip{grid-template-columns:minmax(0,1fr) auto;display:grid}.info-tip{z-index:5;border:1px solid var(--line);width:1.05rem;height:1.05rem;color:var(--muted);cursor:help;background:#ffffffd9;border-radius:999px;flex:none;place-items:center;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:800;line-height:1;display:inline-grid;position:relative}.info-tip:after{content:attr(data-tooltip);border:1px solid var(--line);color:#fff;opacity:0;pointer-events:none;text-transform:none;background:#17211e;border-radius:7px;width:min(17rem,100vw - 2rem);padding:.58rem .66rem;font-family:IBM Plex Sans,sans-serif;font-size:.78rem;font-weight:500;line-height:1.35;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translate(-50%,4px);box-shadow:0 12px 30px #1f312b2e}.info-tip:hover,.info-tip:focus-visible{border-color:var(--line-strong);color:var(--green)}.info-tip:hover:after,.info-tip:focus-visible:after{opacity:1;transform:translate(-50%)}.stepper button,.segmented button,.reset-button,.toggle{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink);cursor:pointer;border-radius:7px;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s}.stepper button,.segmented button,.reset-button{min-height:2.35rem;padding:.55rem .65rem;font-weight:700}.stepper button:hover,.segmented button:hover,.reset-button:hover,.toggle:hover{border-color:var(--line-strong);transform:translateY(-1px)}.segmented button.active{border-color:color-mix(in srgb, var(--green) 48%, var(--line));background:var(--green-soft);color:#0d514b;box-shadow:inset 0 0 0 1px #16766f1a}.stepper,.segmented{grid-template-columns:1fr 1fr;gap:.44rem;display:grid}.switch-stack{gap:.46rem;display:grid}.toggle{text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:.62rem;width:100%;padding:.56rem .62rem;display:grid}.toggle-track{background:#d8e0dc;border-radius:999px;width:2rem;height:1.1rem;padding:.13rem;transition:background .16s}.toggle-track span{background:#fff;border-radius:999px;width:.84rem;height:.84rem;transition:transform .18s;display:block;box-shadow:0 2px 6px #0000002e}.toggle.on{border-color:color-mix(in srgb, var(--amber) 40%, var(--line));background:var(--amber-soft)}.toggle.on .toggle-track{background:var(--amber)}.toggle.on .toggle-track span{transform:translate(.9rem)}.reset-button{background:var(--ink);color:#fff;border-color:var(--ink)}.plant-view{background-color:#f9fbf6;background-image:linear-gradient(90deg,#cdd8d26b 1px,#0000 1px),linear-gradient(#cdd8d26b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;align-content:start;min-height:650px;padding:clamp(.9rem,2.2vw,1.3rem);display:grid;overflow:hidden}.plant-head{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;display:flex}.plant-head strong{margin-top:.14rem;font-size:1.05rem;display:block}.rule-chip{border:1px solid var(--line);background:var(--green-soft);color:#0d514b;text-transform:uppercase;border-radius:999px;min-width:max-content;padding:.45rem .58rem;font-size:.72rem;font-weight:700}.system-map{grid-template-rows:290px 54px 290px;grid-template-columns:minmax(190px,1fr) 42px minmax(190px,1fr) 42px minmax(190px,1fr);align-items:stretch;gap:0;min-height:570px;display:grid;position:relative}.system-stage{z-index:2;border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:#fffefa;grid-template-rows:auto minmax(0,1fr) auto;gap:.5rem;height:100%;min-height:0;padding:.86rem;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #1f312b17}.system-stage:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#16766f21,#0000 68%);border-radius:50%;height:26%;position:absolute;inset:auto 8% 3%}.system-stage.selected{border-color:color-mix(in srgb, var(--green) 52%, var(--line));box-shadow:0 18px 42px #1f312b21,0 0 0 3px #16766f1f}.tank-card{appearance:none;width:100%;color:inherit;font:inherit;cursor:pointer}.tank-card:hover{border-color:color-mix(in srgb, var(--green) 36%, var(--line));transform:translateY(-1px)}.tank-card[data-fault=true]{border-color:color-mix(in srgb, var(--red) 46%, var(--line))}.stage-pretreatment{grid-area:1/1}.stage-eq{grid-area:1/3}.stage-atu{grid-area:1/5}.stage-effluent{grid-area:3/1}.stage-chlorinator{grid-area:3/3}.stage-disposal{grid-area:3/5}.flow-pipe{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.flow-pipe span{background:#7d918947;border-radius:999px;width:100%;height:.36rem;overflow:hidden}.flow-pipe.active span{background:linear-gradient(90deg, #fff0 0 24%, #ffffff6b 38%, #fff0 54%), var(--green);background-size:3.8rem 100%,100% 100%;animation:.98s linear infinite pipe-lane-flow;box-shadow:0 0 0 5px #16766f17}.pipe-top-a{grid-area:1/2}.pipe-top-b{grid-area:1/4}.pipe-bottom-a{grid-area:3/2}.pipe-bottom-b{grid-area:3/4}.turn-pipe{z-index:1;grid-area:2/1/auto/-1;width:100%;height:100%;overflow:visible}.turn-pipe path{fill:none;stroke:#7d918947;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px;vector-effect:non-scaling-stroke}.turn-pipe.active path{stroke:var(--green);stroke-dasharray:9 13;animation:1.1s linear infinite turn-pipe-flow}.stage-copy{z-index:2;justify-content:space-between;align-items:start;gap:.7rem;display:flex;position:relative}.stage-copy>div{min-width:0}.stage-kicker,.stage-copy p{color:var(--muted);margin:0}.stage-kicker{text-transform:uppercase;font-size:.68rem;font-weight:700}.stage-copy h2{overflow-wrap:anywhere;margin:.1rem 0 .15rem;font-size:clamp(.98rem,1.35vw,1.28rem);line-height:1.06}.stage-copy p{overflow-wrap:anywhere;font-size:.78rem;line-height:1.25}.stage-copy strong{font-size:.86rem;line-height:1}.float-state{border:1px solid var(--line);background:var(--green-soft);color:#0d514b;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.42rem .52rem;font-family:IBM Plex Mono,monospace;font-weight:800}.stage-copy .float-state{line-height:1}.tank-svg{z-index:2;filter:drop-shadow(0 18px 24px #1f312b2e);place-self:center;width:min(100%,230px);max-height:170px;position:relative}.tank-glass{fill:#ffffff94;stroke:#6c7d778c;stroke-width:2px}.tank-outline{fill:none;stroke:#33433d;stroke-width:3px}.water-fill{transition:y .56s cubic-bezier(.2,.8,.2,1),height .56s cubic-bezier(.2,.8,.2,1)}.wave{fill:#c4f9eb6b;transition:d .56s cubic-bezier(.2,.8,.2,1)}.wave.moving{animation:1.6s ease-in-out infinite water-pulse}.float-mark line{stroke:#17211e33;stroke-dasharray:5 6}.float-mark circle{fill:#fff;stroke:#7d9189;stroke-width:2px;transition:fill .16s,stroke .16s}.float-mark text{fill:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.62rem;font-weight:700}.float-mark.active line{stroke:#bf3b3294}.float-mark.active circle{fill:var(--red);stroke:#7f1f18}.pump-row{z-index:2;grid-template-columns:1fr 1fr;gap:.5rem;display:grid;position:relative}.pump{border:1px solid var(--line);min-height:2.25rem;color:var(--muted);background:#fff;border-radius:999px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.pump.active{border-color:color-mix(in srgb, var(--green) 42%, var(--line));background:var(--green);color:#fff;animation:.9s ease-in-out infinite pump-thrum;box-shadow:0 0 0 6px #16766f1f}.atu-card,.disposal-card,.passive-card,.chlorinator-card{align-self:center;min-height:0}.atu-card{background:linear-gradient(#fffefa,#ecf8f4)}.atu-card.fault{background:var(--red-soft)}.blower-stack{z-index:2;grid-template-columns:repeat(3,1fr);align-self:center;gap:.72rem;display:grid;position:relative}.blower-stack span{aspect-ratio:1;background:radial-gradient(circle,#fff 0 23%,#0000 24%),conic-gradient(from 20deg,#d6e3df,#9ab1aa,#d6e3df);border:2px solid #86a19a;border-radius:999px}.atu-card.active .blower-stack span{border-color:var(--green);animation:1.1s linear infinite blower-spin}.disposal-card{background:linear-gradient(#fffefa,#eef7eb)}.passive-card{background:linear-gradient(#fffefa,#f4f7f3)}.process-graphic{z-index:2;filter:drop-shadow(0 16px 22px #1f312b1c);place-self:center;width:min(100%,280px);min-height:130px;position:relative}.process-vessel{fill:#ffffffad;stroke:#7d9189;stroke-width:2px}.process-pipe,.field-manifold,.field-lateral{fill:none;stroke:#b7c8c2;stroke-linecap:round;stroke-linejoin:round;stroke-width:8px}.process-pipe.muted{stroke:#cddbd7}.process-layer,.process-baffle,.process-node{fill:none;stroke:#7d9189;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.process-node{fill:#fff}.muted-liquid{fill:#d9efea;opacity:.85}.scum{stroke:#8fb3aa;stroke-width:5px}.sludge{stroke:#9ea7a2;stroke-width:9px}.chlorinator-body{fill:#ffffffbd;stroke:#9cb8ca}.chlorinator-water{fill:none;stroke:#9fc2d8;stroke-linecap:round;stroke-width:12px}.chlorine-tablet{fill:#fff;stroke:#2d6da3;stroke-width:2px}.chlorinator-cap{stroke:#9cb8ca}.field-manifold,.field-lateral{stroke:#bbd0b5}.field-perf{fill:none;stroke:#d7e3d1;stroke-linecap:round;stroke-width:5px}.chlorinator-card{background:linear-gradient(#fffefa,#eef6fb)}.chlorinator-graphic.active .process-pipe,.chlorinator-graphic.active .chlorinator-water{stroke:var(--blue)}.chlorinator-graphic.active .chlorine-tablet{fill:#e8f4fb}.chlorinator-graphic.active .process-pipe{stroke-dasharray:14 10;animation:1.1s linear infinite turn-pipe-flow}.disposal-graphic.active .process-pipe,.disposal-graphic.active .field-manifold,.disposal-graphic.active .field-lateral{stroke:var(--green);stroke-dasharray:16 10;animation:1.1s linear infinite turn-pipe-flow}.disposal-graphic.active .field-perf{stroke:#9ec698}.status-grid,.float-list{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.status{border:1px solid var(--line);min-height:2.18rem;color:var(--muted);background:#fff;border-radius:7px;align-items:center;gap:.48rem;padding:.48rem .54rem;font-size:.72rem;font-weight:700;display:inline-flex}.status.active{color:#0d514b;border-color:color-mix(in srgb, var(--green) 40%, var(--line));background:var(--green-soft)}.status.active span{background:var(--green);box-shadow:0 0 0 5px #16766f1f}.status.warn.active,.status.warn{color:#7a251e;border-color:color-mix(in srgb, var(--red) 42%, var(--line));background:var(--red-soft)}.status.warn.active span,.status.warn span{background:var(--red);box-shadow:0 0 0 5px #bf3b321f}.event-section{flex:1;grid-template-rows:auto minmax(0,1fr);min-height:0}.event-log{height:100%;min-height:8rem;color:var(--ink);flex-direction:column;gap:.42rem;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex;overflow:auto}.event-log li{border:1px solid var(--line);background:#fff;border-radius:7px;padding:.5rem .56rem;line-height:1.35}.flow-page{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background-color:#f9fbf6;background-image:linear-gradient(90deg,#cdd8d26b 1px,#0000 1px),linear-gradient(#cdd8d26b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;gap:1rem;padding:1rem;display:grid}.flow-lane{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.8rem;display:grid}.flow-stage-card,.detail-section,.pinout-card{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffdb;padding:.9rem}.flow-stage-card{align-content:start;gap:.72rem;font-size:.76rem;display:grid}.flow-stage-main{grid-template-columns:minmax(110px,.8fr) 1fr;align-items:center;gap:.7rem;display:grid}.flow-stage-card h2,.section-head h2,.pinout-card h3{color:var(--ink);margin:.1rem 0 0;font-size:1.05rem;line-height:1.1}.flow-summary,.transfer-copy,.muted-copy,.question-card span,.rule-row p,.rule-row span{color:var(--muted);margin:0;line-height:1.4}.count-chip,.code-tag{border:1px solid var(--line);background:var(--green-soft);color:#0d514b;text-transform:uppercase;border-radius:999px;align-items:baseline;gap:.25rem;width:fit-content;padding:.32rem .46rem;font-size:.68rem;font-weight:800;display:inline-flex}.code-tag{text-transform:none}.code-tag-detail{color:var(--muted);font-weight:600}.tag-list,.stage-rules,.io-columns,.rules-table,.questions-grid,.pinout-grid{gap:.5rem;display:grid}.tag-list{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.io-columns{grid-template-columns:1fr 1fr}.stage-rules{color:var(--ink);margin:0;padding-left:1.1rem;line-height:1.35}.detail-section{gap:.8rem;display:grid}.section-head{gap:.1rem;display:grid}.rules-table,.questions-grid,.pinout-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.rule-row,.question-card{border:1px solid var(--line);background:#fff;border-radius:7px;gap:.32rem;padding:.72rem;display:grid}.rule-row strong,.question-card strong{color:var(--green);text-transform:uppercase;font-size:.74rem}.pinout-card{min-width:0;overflow:hidden}.pinout-table{border:1px solid var(--line);background:#fff;border-radius:7px;max-height:24rem;margin-top:.55rem;font-size:.68rem;overflow:auto}.pinout-row{border-bottom:1px solid var(--line);grid-template-columns:6rem minmax(11rem,1.4fr) 3rem 3rem minmax(10rem,1fr) 4rem;min-width:48rem;display:grid}.pinout-row:last-child{border-bottom:0}.pinout-row span{overflow-wrap:anywhere;padding:.42rem}.pinout-row.heading{z-index:1;background:var(--green-soft);color:#0d514b;text-transform:uppercase;font-weight:800;position:sticky;top:0}.pinout-row.spare{color:var(--muted);background:#eef2ee8a}.diagram-svg{width:100%;min-height:110px;overflow:visible}.tank-shape,.atu-box,.chlorinator-box{fill:#ffffffb8;stroke:#7d9189;stroke-width:2px}.tank-liquid{fill:#75d8cf;opacity:.78}.diagram-line,.field-line{stroke:#7d9189;stroke-width:2px;stroke-linecap:round}.diagram-line.thick{stroke-width:6px}.diagram-node{fill:#fff;stroke:#7d9189;stroke-width:2px}.diagram-node.active,.blower-ring{fill:var(--green-soft);stroke:var(--green);stroke-width:2px}.diagram-label{fill:var(--ink);font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:700}.diagram-label.muted{fill:var(--muted)}.field-line{stroke:var(--green);stroke-width:5px}.legacy-flow{gap:2rem;width:min(1040px,100%);margin:0 auto;display:grid}.legacy-section{gap:1rem;display:grid}.legacy-section-head{align-items:center;display:flex}.legacy-eyebrow,.legacy-label,.legacy-question-number,.legacy-pinout-id{font-family:IBM Plex Mono,monospace}.legacy-eyebrow,.legacy-label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.legacy-stage-grid,.legacy-stage-card-copy,.legacy-copy-block,.legacy-question-stack,.legacy-pinout-stack{gap:1rem;display:grid}.legacy-stage-sequence-item{gap:.75rem;display:grid}.legacy-stage-sequence-arrow{color:var(--muted);justify-items:center;gap:.2rem;padding:.2rem 0 .5rem;display:grid}.legacy-stage-sequence-line{background:var(--line-strong);width:1px;height:1.3rem}.legacy-stage-sequence-arrow span{text-align:center;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.72rem}.legacy-stage-sequence-glyph{font-size:1.15rem;line-height:1}.legacy-stage-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:1.5rem}.legacy-stage-card-head{gap:.45rem;margin-bottom:1rem;display:grid}.legacy-stage-card-head h3{color:var(--ink);margin:0;font-size:1.2rem;line-height:1.2}.legacy-stage-card-head p{color:var(--muted);margin:0;line-height:1.45}.legacy-stage-card-title-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.legacy-flow .count-chip{color:var(--muted);background:#f3efe5}.legacy-stage-card-body{grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.legacy-flow .tag-list{flex-wrap:wrap;gap:.45rem;display:flex}.legacy-bullet-list{gap:.35rem;margin:0;padding-left:1.1rem;display:grid}.legacy-bullet-list li{line-height:1.45}.legacy-logic-table{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.legacy-logic-row{grid-template-columns:1.05fr 1.1fr 1.1fr;display:grid}.legacy-logic-row>div{border-top:1px solid var(--line);padding:.9rem 1rem;line-height:1.45}.legacy-logic-row>div+div{border-left:1px solid var(--line)}.legacy-logic-head{color:var(--ink);background:#f3efe5;font-weight:700}.legacy-logic-head>div{border-top:0}.legacy-pinout-block{gap:.7rem;display:grid}.legacy-pinout-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow-x:auto}.legacy-pinout-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.92rem}.legacy-pinout-table th,.legacy-pinout-table td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:.78rem .9rem;line-height:1.35}.legacy-pinout-table th{color:var(--ink);text-transform:uppercase;background:#f3efe5;border-top:0;font-size:.78rem}.legacy-pinout-id{font-size:.82rem}.legacy-question-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:1rem}.legacy-question-head{grid-template-columns:auto 1fr;align-items:start;gap:.8rem;display:grid}.legacy-question-copy{gap:.25rem;display:grid}.legacy-question-copy p{color:var(--ink);margin:0;font-weight:700;line-height:1.45}.legacy-question-note{color:var(--muted);font-size:.92rem;line-height:1.45}.legacy-question-number{border:1px solid var(--line);min-width:2.1rem;color:var(--ink);background:#f3efe5;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .45rem;font-size:.74rem;line-height:1.2;display:inline-flex}@keyframes water-pulse{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:.9;transform:translateY(-3px)}}@keyframes pump-thrum{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes blower-spin{to{transform:rotate(360deg)}}@keyframes pipe-lane-flow{to{background-position:3.8rem 0,0 0}}@keyframes turn-pipe-flow{to{stroke-dashoffset:-22px}}@media (width<=1540px){.sim-grid{grid-template-columns:minmax(220px,270px) minmax(0,1fr)}.status-panel{grid-column:1/-1;grid-template-columns:1fr 1fr 1.2fr;min-height:auto;max-height:none;display:grid}}@media (width<=1180px){.system-map{grid-template-rows:auto auto;grid-template-columns:repeat(3,minmax(140px,1fr));gap:.8rem;min-height:auto}.stage-pretreatment,.stage-eq,.stage-atu,.stage-effluent,.stage-chlorinator,.stage-disposal{grid-area:auto}.flow-pipe,.turn-pipe{display:none}.system-stage{min-height:255px;padding:.76rem}.stage-copy h2{font-size:.92rem}.stage-copy p{font-size:.72rem}.stage-copy strong{font-size:.78rem}}@media (width<=980px){.system-map{grid-template-columns:repeat(2,minmax(180px,1fr));min-height:auto}.system-stage,.atu-card,.disposal-card,.passive-card,.chlorinator-card{min-height:330px}}@media (width<=760px){.sim-shell{padding:.8rem}.sim-header{flex-direction:column;align-items:start}.sim-grid{grid-template-columns:1fr}.status-panel{display:flex}.plant-view{min-height:auto}.plant-head{flex-direction:column;align-items:start}.tank-svg{width:min(100%,320px)}.flow-stage-main,.io-columns,.system-map{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
