*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.m-4{margin:1rem}.block{display:block}.table{display:table}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.outline{outline-style:solid}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#152d46;background:#f2f5f9;font-synthesis:none;--navy: #102d49;--blue: #1769ae;--muted: #687d91;--border: #dfe7ee;--green: #13876b;--radius: 18px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,summary,input,select{scroll-margin-top:20px}:focus-visible{outline:3px solid #65afe4;outline-offset:3px}h1,h2,h3,p,figure{margin:0}button,select{touch-action:manipulation}button svg,.section-icon svg,.technical-note svg,.notice-icon svg{flex-shrink:0}p{overflow-wrap:break-word}svg{display:block}input[type=checkbox]{accent-color:#1769ae}input[type=number]{-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[hidden]{display:none!important}.studio-app{min-height:100vh}.app-topbar{background:var(--navy);color:#fff;border-bottom:1px solid #24435e}.topbar-inner{max-width:1440px;margin:auto;padding:18px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:.12em}.brand small{display:block;font-size:8px;letter-spacing:.3em;color:#9cb6ce;margin-top:2px}.brand-symbol{height:42px;width:42px;background:#1b4a70;border:1px solid #376285;border-radius:11px;display:grid;place-items:center;color:#b4e2ff}.topbar-status{display:flex;align-items:center;gap:9px;font-size:11px;color:#c0d2e1}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#66c6b3}.version-label{border-left:1px solid #3c556d;margin-left:14px;padding-left:20px;font-size:10px;letter-spacing:.12em;color:#90afca}.app-main{max-width:1440px;margin:auto;padding:38px 36px 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{display:block;color:#64829d;font-size:9px;font-weight:750;letter-spacing:.16em;line-height:1.5;margin-bottom:8px}.page-heading h1{font-size:35px;line-height:1.2;letter-spacing:-1.5px;font-weight:760;color:var(--navy)}.page-heading h1 span{color:var(--blue)}.page-heading p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:8px}.project-stamp{display:flex;gap:13px;align-items:center;border:1px solid #d7e3ec;background:#f9fbfd;padding:13px 18px;border-radius:13px;color:#3b78a8}.project-stamp strong{font-size:12px;display:block;color:#24435c}.project-stamp span{font-size:11px;color:var(--muted);display:block;margin-top:4px;font-variant-numeric:tabular-nums}.configuration-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 4px 18px #193d6510}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.step-index{border-radius:10px;width:36px;height:36px;display:grid;place-items:center;font-size:11px;font-weight:750;background:#edf4fa;color:#4781ac}.panel-heading h2{font-size:15px;font-weight:720;letter-spacing:-.2px}.panel-heading p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce5ed;background:#f8fafc;border-radius:7px;padding:6px 9px;color:#6c8092;font-size:9px;font-weight:600;line-height:1.4;white-space:normal}.panel-heading>.badge{margin-left:auto}.badge-blue{background:#eef6fd;color:#3279ae;border-color:#d5e8f8}.configuration-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.field{min-width:0}.field-head{display:flex;align-items:center;justify-content:space-between;min-height:28px;gap:4px;margin-bottom:6px}.field-head label{font-size:11px;font-weight:650;color:#496176;line-height:1.5}.field-input-wrap{position:relative}.field-input{display:block;width:100%;min-width:0;min-height:49px;padding:11px 38px 11px 14px;border:1px solid #d7e2eb;border-radius:10px;background:#f8fafc;color:#173650;font-weight:650;font-size:18px;line-height:1.4;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:#5597cb;background:#fff;box-shadow:0 0 0 3px #3c8ecd15;outline:0}.field-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#91a3b4;font-size:12px}.field-error .field-input{border-color:#de8e93;background:#fff9fa}.field-error-message{font-size:10px;color:#b04c58;line-height:1.6;margin-top:7px}.help-wrap{display:inline-flex;flex-shrink:0}.help-button{width:28px;height:28px;border:0;background:transparent;color:#93a7b9;border-radius:50%;display:grid;place-items:center}.help-button:hover{background:#edf5fb;color:var(--blue)}.help-tooltip{position:fixed;z-index:200;border:1px solid #325571;background:var(--navy);color:#e4edf5;padding:13px 15px;border-radius:11px;box-shadow:0 8px 30px #132e4933;font-size:11px;font-weight:400;line-height:1.7;text-align:left}.configuration-options{border-top:1px solid #edf1f5;margin-top:22px;padding-top:18px;display:flex;align-items:center;gap:20px}.pool-system legend{font-size:10px;font-weight:600;color:#71859a;margin-bottom:8px}.system-buttons{display:flex;gap:6px}.system-buttons button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #dce6ee;border-radius:9px;padding:9px 16px;background:#fff;color:#60768a;font-size:11px;font-weight:650}.system-buttons button[aria-pressed=true]{border-color:#97bfe0;background:#eaf4fc;color:#1769ae}.system-description{font-size:10px;line-height:1.6;max-width:185px;color:#7a8c9d;padding-top:18px}.lighting-option{display:flex;align-items:center;gap:10px;margin-left:auto;border-left:1px solid #e4eaf1;padding-left:22px}.lighting-icon{color:#beaa6c;background:#faf7ed;border:1px solid #eee6cb;width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.lighting-option label{display:flex;align-items:center;gap:20px;font-size:11px;font-weight:650;cursor:pointer}.lighting-option small{display:block;color:#8495a5;font-size:9px;font-weight:400;margin-top:3px}.switch-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:35px;height:20px;border-radius:20px;background:#d6e0e9;border:1px solid #cfdae4;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s}.switch-input:after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0c2d4425;transition:transform .15s}.switch-input:checked{background:#2489ba;border-color:#2489ba}.switch-input:checked:after{transform:translate(15px)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.kpi-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px 19px;min-width:0}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6e8396;font-size:10px;font-weight:550}.kpi-icon{color:#7f9eb6}.kpi-value{font-size:27px;line-height:1.3;font-weight:700;letter-spacing:-.9px;color:#153a57;margin:11px 0 7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.kpi-detail{font-size:9px;line-height:1.7;color:#7f91a2}.kpi-blue{background:#f0f7fc;border-color:#d8e8f5}.kpi-navy{background:#183c5b;border-color:#183c5b}.kpi-navy .kpi-head,.kpi-navy .kpi-icon{color:#b3ccdf}.kpi-navy .kpi-value{color:#fff}.kpi-navy .kpi-detail{color:#a5c2d7}.notice{display:flex;align-items:flex-start;gap:12px;border:1px solid #d7e7f4;background:#edf5fc;color:#3a6587;border-radius:11px;padding:13px 16px;font-size:11px;line-height:1.7}.notice>div{min-width:0}.notice strong{font-weight:650;display:block}.notice-detail{font-size:10px;color:inherit;opacity:.9;margin-top:3px}.notice-icon{margin-top:2px;flex-shrink:0;opacity:.8}.notice-warning{background:#fffaf0;border-color:#eedfb8;color:#8b6a2f}.notice-error{background:#fff4f5;border-color:#edcbd0;color:#a44a59}.notice-info{background:#edf5fc;border-color:#d7e7f4;color:#3a6587}.workspace-panel{margin-top:24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:visible;box-shadow:0 5px 22px #193d6508}.tabs-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:9px;border-bottom:1px solid #e4eaf0;background:#f9fbfd;border-radius:18px 18px 0 0}.tab-button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:48px;background:transparent;border:1px solid transparent;border-radius:9px;color:#74899b;font-size:11px;font-weight:650;line-height:1.4}.tab-button[aria-selected=true]{color:#1c6097;background:#fff;border-color:#d8e4ef;box-shadow:0 2px 5px #10385408}.tab-button:hover{color:#1c6097;background:#f0f6fb}.tab-panel{padding:24px;min-width:0;border-radius:0 0 18px 18px}.view-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.view-intro .eyebrow{font-size:8px;margin-bottom:5px}.view-intro h2{font-size:19px;font-weight:720;letter-spacing:-.4px;color:#193d59}.view-intro p{font-size:11px;color:#8394a4;margin-top:6px;line-height:1.6}.dimension-toggle{display:flex;gap:3px;padding:4px;border:1px solid #dce5ed;background:#f5f8fb;border-radius:10px;flex-shrink:0}.dimension-toggle button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#7d94a7;border-radius:7px;padding:9px 14px;font-size:11px;font-weight:700;min-height:37px}.dimension-toggle button[aria-pressed=true]{color:#1c639b;background:#fff;box-shadow:0 1px 4px #18394e14}.diagram-frame{border:1px solid #d9e4ed;border-radius:13px;overflow:hidden;background:#f5f9fc}.diagram-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid #dfE8ef;background:#f9fbfd}.diagram-title{display:flex;gap:8px;align-items:center;color:#6d879d;font-size:9px;font-weight:600;letter-spacing:.03em}.diagram-zoom{display:flex;gap:4px}.diagram-zoom button{min-height:32px;min-width:32px;border:1px solid #dce5ed;border-radius:6px;background:#fff;color:#6b879b;font-size:10px;font-weight:600;padding:5px 8px}.svg-viewport{width:100%;overflow:auto;background-color:#f5f9fc;background-image:linear-gradient(#c6d6e422 1px,transparent 1px),linear-gradient(90deg,#c6d6e422 1px,transparent 1px);background-size:24px 24px}.diagram-svg{display:block;max-width:none;width:100%;height:auto}.diagram-caption{margin-top:12px}.diagram-quantities{font-size:10px;line-height:1.8;color:#6c8295}.flow-legend{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:10px;font-size:9px;color:#607b90}.flow-legend span{display:flex;align-items:center;gap:6px}.flow-legend i{display:block;width:17px;height:3px;border-radius:4px}.technical-details{margin-top:12px;border-top:1px solid #e6edf3;padding-top:9px;font-size:10px;color:#71879b;line-height:1.8}.technical-details summary{cursor:pointer;color:#4d7492;font-size:10px;font-weight:600;min-height:30px;display:flex;align-items:center;gap:8px}.technical-details summary:before{content:"+";font-size:15px;color:#7d9bb2}.technical-details[open] summary:before{content:"−"}.technical-details p{margin-top:7px}.technical-note{display:flex;gap:8px;align-items:flex-start;color:#7e91a2;font-size:10px;line-height:1.8;margin-top:15px}.technical-note svg{color:#85a1b7;margin-top:1px}.line-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.line-card{display:flex;align-items:center;gap:12px;background:#f7fafc;border:1px solid var(--border);border-radius:11px;padding:15px}.line-index{font-size:16px;font-weight:700;color:#5d92b6;background:#edf4f9;border-radius:8px;width:38px;height:38px;display:grid;place-items:center;flex-shrink:0}.line-card h3{font-size:12px;font-weight:650}.line-card p{font-size:10px;color:#638099;margin-top:5px}.line-card span:not(.line-index){display:block;color:#92a1af;font-size:9px;margin-top:4px}.specification>.notice,.chemistry>.notice{margin-bottom:20px}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.spec-category{min-width:0;overflow:hidden;border:1px solid #dde6ef;border-radius:13px;background:#fff}.spec-category-head{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid #e4ebf2;background:#f8fafc}.section-icon{height:37px;width:37px;border:1px solid #dce9f3;border-radius:10px;display:inline-grid;place-items:center;color:#4d8bb6;background:#eff6fb;flex-shrink:0}.spec-category h3{font-size:13px;font-weight:650}.spec-category-head p{font-size:9px;color:#8699a9;margin-top:4px}.category-count{margin-left:auto;font-size:10px;color:#6d8ba2;border:1px solid #dfE8ef;background:#fff;padding:3px 7px;border-radius:5px}.spec-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}.spec-table thead{background:#fbfcfe;color:#95a5b3;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.spec-table th,.spec-table td{padding:12px;border-bottom:1px solid #eaf0f5;vertical-align:top;overflow-wrap:anywhere}.spec-table th:first-child{width:36%}.spec-table th:nth-child(2){width:22%}.spec-table tbody th{font-size:10px;font-weight:600;color:#3e5c74;line-height:1.7}.spec-table .row-note{font-size:9px;line-height:1.8;color:#8697a7}.qty-cell span{display:inline-block;padding:4px 6px;border:1px solid #e0ecf5;background:#f0f7fc;border-radius:6px;color:#346d98;font-size:10px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.5}.qty-cell small{font-weight:400;font-size:8px}.spec-table tr:last-child>*{border-bottom:0}.category-empty{padding:20px;font-size:11px;line-height:1.7;color:#8b9cac}.chemistry-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:22px;align-items:start}.ph-panel{border:1px solid #dce6ef;border-radius:13px;padding:22px;background:#f8fbfd}.ph-panel h3{font-size:14px;font-weight:650;margin-top:14px}.ph-panel>p{color:#8096a8;font-size:10px;line-height:1.8;margin-top:8px}.ph-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.small-note{font-size:9px!important;border-top:1px solid #e1eaf1;padding-top:14px;margin-top:18px!important}.dose-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dose-card{border:1px solid #dde7ef;border-radius:12px;padding:18px;min-width:0}.dose-head{display:flex;align-items:center;gap:8px;color:#7497b0;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.dose-card h3{font-size:11px;font-weight:600;color:#4b667c;margin-top:12px;line-height:1.6}.dose-value{font-size:27px;line-height:1.3;font-weight:700;letter-spacing:-.6px;color:#1a5076;margin:9px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dose-value span{font-weight:400;font-size:13px;color:#88a2b6}.dose-card p{color:#94a5b3;font-size:9px;line-height:1.7}.empty-state{color:#8295a6;background:#f7fafc;border:1px dashed #d2e0eb;border-radius:13px;font-size:12px;line-height:1.8;padding:36px;text-align:center;grid-column:1/-1}.scene-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.scene-presets{display:flex;align-items:center;gap:5px;min-width:0;background:#f5f8fb;border:1px solid #e0e8f0;border-radius:10px;padding:5px}.scene-presets>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;flex:1;min-width:0}.scene-presets button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:8px 10px;border:1px solid transparent;border-radius:7px;font-size:10px;font-weight:600;color:#71899d;background:transparent;line-height:1.5}.scene-presets button[aria-pressed=true]{background:#fff;color:#216c9f;border-color:#d9e5ef;box-shadow:0 1px 3px #12354a0a}.scene-presets .camera-reset{border:1px solid #cddfeb;background:#fff;color:#5184aa;flex-shrink:0}.scene-settings-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.shell-select{display:flex;align-items:center;gap:8px;font-size:10px;color:#7e95a8}.shell-select select{min-height:36px;border:1px solid #d7e3ec;border-radius:8px;background:#fff;color:#47708f;padding:6px 28px 6px 10px;font-size:10px}.layer-panel{border:1px solid #dce6ef;border-radius:9px;min-width:0;background:#fbfcfe;flex:1}.layer-panel summary{min-height:38px;display:flex;align-items:center;gap:8px;padding:9px 13px;font-size:10px;font-weight:600;color:#5b7c96;cursor:pointer;list-style:none}.layer-panel summary::-webkit-details-marker{display:none}.layer-panel summary:after{content:"+";margin-left:12px;font-size:15px;color:#8ea6ba}.layer-panel[open] summary:after{content:"−"}.layer-count{font-size:8px;margin-left:auto;background:#edf4fa;color:#7c98ae;border-radius:5px;padding:3px 6px}.layer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px 10px 12px;border-top:1px solid #e4ecf3}.layer-grid label,.master-pipes{display:flex;align-items:center;gap:8px;padding:7px 5px;min-height:34px;font-size:9px;line-height:1.5;color:#71899d;cursor:pointer}.layer-grid input,.master-pipes input{height:14px;width:14px;flex-shrink:0}.scene-hint{display:flex;align-items:flex-start;gap:6px;font-size:9px;line-height:1.8;color:#94a8b9;margin-bottom:10px}.scene-hint svg{flex-shrink:0;margin-top:2px}.scene-stage{height:640px;width:100%;overflow:hidden;border:1px solid #d5e1eb;border-radius:13px;background:#edf4fa}.scene-stage canvas{display:block;touch-action:none}.scene-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:11px}.scene-footer p{font-size:10px;line-height:1.8;color:#7c92a5}.scene-footer .flow-legend{margin-top:0;flex-shrink:0}.scene-flow{display:flex;align-items:center;gap:8px;color:#6f8ea7;font-size:9px;background:#f4f8fb;border:1px solid #e0eaf1;border-radius:6px;padding:5px 8px;white-space:normal;margin-top:6px}.scene-flow strong{color:#326b94;font-weight:650}.scene-loading{min-height:320px;display:flex;align-items:center;justify-content:center;color:#6e91ab;background:#f4f8fb;border:1px solid #dce7ef;border-radius:13px;font-size:12px}.app-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;border-top:1px solid #dce5ed;margin-top:28px;padding-top:22px}.app-footer strong{font-size:11px;color:#53758f;letter-spacing:.05em}.app-footer strong span{font-weight:400;color:#9aabb9;font-size:10px;margin-left:7px;letter-spacing:0}.app-footer p{font-size:9px;line-height:1.8;color:#8c9eae;margin-top:5px}.app-footer>p{max-width:610px;text-align:right}@media (min-width:1500px){.app-main{padding-top:42px}.scene-stage{height:680px}}@media (max-width:1100px){.configuration-options{gap:14px}.system-description{display:none}.spec-grid{grid-template-columns:1fr}.chemistry-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.layer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-value{font-size:24px}.scene-footer{flex-wrap:wrap}.scene-stage{height:570px}}@media (max-width:800px){.app-main{padding:27px 22px 20px}.topbar-inner{padding:16px 22px}.configuration-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.configuration-options{align-items:flex-end}.lighting-option{border-left:0;padding-left:0}.lighting-option small{max-width:140px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.configuration-panel,.tab-panel{padding:21px}.kpi-value{font-size:27px}.project-stamp{padding:11px}.page-heading h1{font-size:31px}.topbar-status{font-size:9px}.version-label{display:none}.chemistry-layout{grid-template-columns:1fr}.ph-panel{padding:18px}.ph-fields{max-width:400px}.line-cards{grid-template-columns:1fr}.scene-stage{height:510px}.scene-presets button{font-size:9px;padding:8px 5px}.scene-presets button svg{display:none}.scene-presets .camera-reset svg{display:block}.camera-reset span{display:none}.app-footer>p{max-width:420px}.badge{font-size:8px}}@media (max-width:540px){.topbar-inner{padding:14px 16px}.brand{font-size:16px;gap:9px}.brand-symbol{height:35px;width:35px;border-radius:9px}.brand small{font-size:7px}.topbar-status{max-width:115px;line-height:1.6;font-size:8px;gap:6px}.status-dot{flex-shrink:0}.app-main{padding:26px 14px 20px}.page-heading{display:block;margin-bottom:20px}.page-heading .eyebrow{font-size:8px}.page-heading h1{font-size:31px}.page-heading p{font-size:11px;max-width:300px;line-height:1.9}.project-stamp{margin-top:16px;display:inline-flex;padding:9px 12px;gap:10px}.project-stamp strong{font-size:10px}.project-stamp span{font-size:10px;margin-top:2px}.project-stamp svg{width:18px;height:18px}.configuration-panel{padding:18px 15px;border-radius:14px}.panel-heading{gap:10px;margin-bottom:17px;align-items:flex-start}.step-index{height:31px;width:31px;border-radius:8px;font-size:10px;flex-shrink:0}.panel-heading h2{font-size:13px}.panel-heading p{font-size:9px;max-width:220px}.panel-heading>.badge{display:none}.configuration-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.configuration-fields>.field:last-child{grid-column:1/-1}.field-head label{font-size:10px}.field-input{font-size:17px;min-height:47px}.configuration-options{flex-direction:column;align-items:stretch;gap:16px;margin-top:18px;padding-top:16px}.system-buttons{display:grid;grid-template-columns:1fr 1fr}.system-buttons button{font-size:11px;min-height:44px;padding:10px 8px}.pool-system legend{font-size:9px}.lighting-option{margin-left:0;justify-content:space-between;border-top:1px solid #e7edf3;padding-top:14px;gap:10px}.lighting-option label{flex:1;justify-content:space-between}.lighting-option small{max-width:none}.lighting-option .help-wrap{display:inline-flex}.kpi-grid{gap:9px;margin:13px 0}.kpi-card{padding:13px 12px;border-radius:11px}.kpi-head{font-size:8px;gap:4px}.kpi-icon svg{width:16px;height:16px}.kpi-value{font-size:23px;margin:10px 0 5px;letter-spacing:-.7px}.kpi-detail{font-size:8px;line-height:1.7}.notice{padding:12px;gap:9px;font-size:10px}.notice-icon svg{height:18px;width:18px}.notice-detail{font-size:9px;line-height:1.8}.workspace-panel{margin-top:18px;border-radius:14px}.tabs-nav{grid-template-columns:1fr 1fr;padding:6px;border-radius:14px 14px 0 0;gap:3px}.tab-button{min-height:44px;justify-content:flex-start;padding:9px;font-size:10px;gap:7px}.tab-button svg{width:16px;height:16px}.tab-panel{padding:17px 12px}.view-intro{gap:10px;align-items:flex-start;margin-bottom:15px;flex-wrap:wrap}.view-intro h2{font-size:16px}.view-intro p{font-size:9px}.view-intro .eyebrow{font-size:7px}.view-intro>.badge{font-size:8px;padding:5px 7px}.dimension-toggle button{padding:8px 10px;font-size:10px;min-height:33px}.dimension-toggle svg{display:none}.dimension-toggle{padding:3px;margin-left:auto}.diagram-toolbar{padding:8px}.diagram-title{font-size:8px}.diagram-zoom button{min-width:32px;font-size:9px}.diagram-zoom button:last-child{padding:5px;font-size:8px}.diagram-caption{margin-top:10px}.diagram-quantities{font-size:9px;line-height:1.9}.flow-legend{gap:10px 13px;font-size:8px}.technical-details,.technical-details summary{font-size:9px}.scene-presets{gap:3px;padding:4px}.scene-presets>div{grid-template-columns:1fr 1fr;gap:3px}.scene-presets button{min-height:35px;font-size:9px;padding:6px}.scene-presets .camera-reset{min-width:35px;min-height:35px;padding:8px;align-self:stretch}.scene-settings-row{gap:8px}.layer-panel{flex-basis:100%}.layer-panel summary{font-size:9px;min-height:40px}.layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-grid label{font-size:9px;min-height:38px}.shell-select{font-size:9px}.shell-select select{font-size:10px;min-height:36px}.master-pipes{margin-left:auto;min-height:36px;font-size:9px}.scene-stage{height:440px;border-radius:11px}.scene-hint{font-size:8px;line-height:1.9}.scene-footer p{font-size:9px}.scene-flow{font-size:8px}.ph-panel{padding:16px}.dose-grid{gap:10px}.dose-card{padding:13px}.dose-head{font-size:7px;gap:5px}.dose-head svg{height:15px;width:15px}.dose-card h3{font-size:10px;margin-top:10px}.dose-value{font-size:24px}.dose-card p{font-size:8px}.spec-category-head{padding:14px}.spec-category h3{font-size:12px}.spec-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.spec-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid #e7eef4;padding:12px 14px;-moz-column-gap:12px;column-gap:12px;row-gap:5px}.spec-table th,.spec-table td{padding:0;border:0}.spec-table th:first-child{width:auto;font-size:10px}.spec-table .qty-cell{align-self:start;text-align:right}.spec-table .row-note{grid-column:1/-1;font-size:9px}.spec-table tbody tr:last-child{border-bottom:0}.spec-grid{gap:13px}.app-footer{display:block;margin-top:22px;padding-top:18px}.app-footer>p{text-align:left;max-width:none;margin-top:12px;font-size:8px}.app-footer strong{font-size:10px}.empty-state{padding:25px 15px;font-size:11px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.topbar-status{font-size:11px}.eyebrow{font-size:10px}.page-heading p{font-size:14px}.panel-heading p{font-size:12px}.badge{font-size:10px}.field-head label{font-size:12px}.field-error-message,.pool-system legend{font-size:11px}.system-buttons button{font-size:12px}.system-description{font-size:11px}.lighting-option label{font-size:12px}.lighting-option small{font-size:10px}.kpi-head{font-size:12px}.kpi-detail{font-size:11px}.notice{font-size:12px}.notice-detail{font-size:11px}.tab-button,.view-intro p{font-size:12px}.view-intro .eyebrow{font-size:9px}.dimension-toggle button{font-size:12px}.diagram-title{font-size:10px}.diagram-quantities,.technical-details,.technical-details summary,.technical-note{font-size:11px}.flow-legend{font-size:10px}.spec-category-head p{font-size:11px}.spec-table thead{font-size:10px}.spec-table tbody th,.qty-cell span{font-size:12px}.spec-table .row-note{font-size:11px}.qty-cell small{font-size:10px}.line-card p{font-size:12px}.line-card span:not(.line-index){font-size:10px}.ph-panel>p{font-size:12px}.small-note{font-size:11px!important}.dose-head{font-size:9px}.dose-card h3{font-size:13px}.dose-card p,.scene-presets button{font-size:11px}.shell-select,.shell-select select,.layer-panel summary{font-size:11px}.layer-grid label,.master-pipes{font-size:11px}.layer-count,.scene-hint{font-size:10px}.scene-footer p,.scene-flow{font-size:11px}.app-footer p{font-size:10px}@media (max-width:800px){.scene-presets button{font-size:10px}.scene-presets .camera-reset{min-width:38px}.scene-settings-row{align-items:flex-start}.layer-panel{flex-basis:100%}}@media (max-width:540px){.topbar-status,.page-heading .eyebrow{font-size:9px}.page-heading p{font-size:12px}.project-stamp strong,.project-stamp span,.panel-heading p,.field-head label{font-size:11px}.field-error-message{font-size:10px}.system-buttons button,.lighting-option label{font-size:12px}.lighting-option small,.kpi-head,.kpi-detail{font-size:10px}.kpi-value{font-size:25px}.notice{font-size:11px}.notice-detail{font-size:10px}.tab-button,.view-intro p{font-size:11px}.view-intro .eyebrow{font-size:9px}.dimension-toggle button{font-size:11px;min-height:40px}.view-intro>.badge{font-size:10px}.diagram-title{font-size:9px}.diagram-quantities,.technical-details,.technical-details summary,.technical-note{font-size:10px}.diagram-zoom button{min-height:36px}.flow-legend,.spec-category-head p{font-size:10px}.spec-table tbody th,.qty-cell span{font-size:12px}.spec-table .row-note{font-size:11px}.qty-cell small{font-size:10px}.dose-head{font-size:8px}.dose-card h3{font-size:12px}.dose-card p{font-size:10px}.ph-panel>p{font-size:11px}.scene-presets button{font-size:10px;min-height:43px}.scene-hint{font-size:10px}.layer-grid label{font-size:11px;min-height:42px}.shell-select,.shell-select select,.master-pipes{font-size:11px;min-height:40px}.scene-footer p,.scene-flow{font-size:10px}.app-footer p,.app-footer>p{font-size:10px}}.spec-table .row-note,.dose-card p,.diagram-quantities,.technical-details,.technical-note,.scene-footer p,.ph-panel>p,.app-footer p,.app-footer>p{color:#62788d}.view-intro p,.spec-category-head p,.system-description,.lighting-option small{color:#6c8296}.kpi-detail{color:#71869a}.kpi-navy .kpi-detail{color:#bdd3e3}.field-unit{color:#70879a}.help-tooltip{max-height:calc(100vh - 24px);overflow:auto}.hydraulic-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px 16px;margin:0 0 16px;border:1px solid #d9e5ee;background:#f7fafc;border-radius:10px}.hydraulic-modes{display:flex;border:1px solid #cfdee9;background:#fff;border-radius:7px;padding:3px}.hydraulic-modes button{padding:7px 10px;border:0;border-radius:5px;color:#49687e;font-size:12px;font-weight:650;background:transparent}.hydraulic-modes button[aria-pressed=true]{color:#fff;background:#183e5c}.hardware-toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:#31536d}.hardware-toggle input{accent-color:#137ba7;width:16px;height:16px}.hydraulic-isolation{display:flex;align-items:center;gap:8px;font-size:12px;color:#49687e}.hydraulic-isolation select{border:1px solid #c8d9e6;border-radius:6px;padding:7px;background:#fff;max-width:190px}.trace-button{display:flex;align-items:center;gap:7px;border:1px solid #b8cddc;border-radius:6px;background:#fff;color:#244f6b;font-size:12px;padding:8px 10px}.trace-button[aria-pressed=true]{border-color:#c2912b;background:#fff7de;color:#745715}.trace-note{flex-basis:100%;margin:0;color:#6e591e;font-size:12px}.hydraulic-element{cursor:pointer;outline:none}.hydraulic-element:focus-visible{outline:3px solid #d7a429;outline-offset:5px}.hydraulic-element.is-selected{filter:drop-shadow(0 0 3px #e6ba51)}.element-inventory{border:1px solid #d9e5ee;border-radius:8px;margin-top:15px;background:#fafcfe}.element-inventory summary{cursor:pointer;padding:12px 15px;color:#34576e;font-size:12px;font-weight:600}.element-inventory>div{display:flex;flex-wrap:wrap;max-height:300px;overflow:auto;gap:12px;padding:0 14px 14px}.element-inventory fieldset{min-width:150px;max-width:100%;border:1px solid #dde7ef;border-radius:6px;padding:8px}.element-inventory legend{font-size:11px;padding:0 4px;color:#55768a}.element-inventory button{border:1px solid #c7d9e5;background:#fff;color:#254e68;border-radius:5px;padding:5px 8px;margin:3px;font-size:12px}.element-inventory button[aria-pressed=true]{border-color:#b98217;background:#fff4cd}.element-inventory small{display:block;font-size:10px}.element-tooltip{position:fixed;z-index:150;pointer-events:none;padding:12px 14px;border:1px solid #cae0ec;border-radius:9px;color:#fff;background:#183d58;box-shadow:0 6px 24px #102c4429;font-size:12px;line-height:1.45}.element-tooltip strong,.element-tooltip span,.element-tooltip small{display:block}.element-tooltip strong{margin-bottom:5px;font-size:13px}.element-tooltip small{color:#c6dfe9;margin-top:7px}.element-dialog{position:fixed;inset:20px 20px 20px auto;margin:0;width:min(460px,calc(100vw - 40px));max-width:none;height:-moz-fit-content;height:fit-content;max-height:calc(100dvh - 40px);padding:0;border:1px solid #c5d8e5;border-radius:14px;color:#24465e;box-shadow:0 18px 70px #102b443d;overflow:auto}.element-dialog::backdrop{background:#102c4454}.element-dialog article{min-width:0}.element-dialog header{padding:23px 24px 18px;border-bottom:1px solid #e0e9f0;background:#f6fafc}.element-dialog header>button{float:right;border:1px solid #c6d8e4;border-radius:7px;background:#fff;color:#2c536c;width:34px;height:34px;font-size:23px;line-height:1}.element-dialog h2{font-size:21px;margin:12px 0 9px;line-height:1.3}.element-dialog header p{font-size:13px;margin:0;line-height:1.6}.element-info-body{padding:20px 24px;overflow-wrap:anywhere}.element-info-body dl{margin:0}.element-info-body dt{font-size:11px;text-transform:uppercase;letter-spacing:.035em;color:#608095;font-weight:700;margin:18px 0 5px}.element-info-body dt:first-child{margin-top:0}.element-info-body dd{margin:0;font-size:13px;line-height:1.65}.element-caution{background:#fff9e8;border:1px solid #eee0b6;padding:13px;border-radius:7px;font-size:12px;line-height:1.6;color:#735a22}.element-caution svg{float:left;margin:3px 7px 0 0}.element-info-body details{font-size:12px;line-height:1.6}.element-info-body summary{cursor:pointer;color:#466a80}.element-info-body a{display:block;color:#176d96;text-decoration:underline;margin:8px 0}.element-dialog footer{display:flex;flex-wrap:wrap;gap:10px;padding:15px 24px;background:#f7fafc;border-top:1px solid #dce7ef;position:sticky;bottom:0}.element-dialog footer button{border:1px solid #bdcfdd;border-radius:7px;padding:10px 13px;background:#fff;font-size:12px;color:#294e67}.element-dialog footer button:first-child{color:#fff;background:#1c526f;border-color:#1c526f;flex:1}.spec-info{display:inline-flex;vertical-align:middle;margin-left:7px;padding:4px;border:1px solid #ccdde8;border-radius:50%;color:#376780;background:#f6fafc}.model-count{display:block;font-size:10px;font-weight:400;margin-top:6px;color:#57778c}.qty-cell>small{display:block;font-size:10px;font-weight:400;color:#628096;margin-top:6px;white-space:nowrap}.spec-table tr.spec-selected{background:#fff8de;box-shadow:inset 3px 0 #c9952b}@media (max-width:600px){.hydraulic-toolbar{padding:10px;gap:12px}.hydraulic-modes{width:100%}.hydraulic-modes button{flex:1}.hydraulic-isolation{width:100%;justify-content:space-between}.hydraulic-isolation select{flex:1;max-width:210px}.trace-button{width:100%;justify-content:center}.element-dialog{inset:auto 8px 8px;width:calc(100vw - 16px);max-height:90dvh;border-radius:15px}.element-dialog header{padding:18px}.element-info-body{padding:18px}.element-dialog footer{padding:12px 18px}}@media (prefers-reduced-motion:reduce){.hydraulic-element{transition:none}}.filtration-choice{display:flex;flex:1 1 360px;flex-direction:column;gap:5px;color:#31536d;font-size:12px;min-width:0}.filtration-choice select{border:1px solid #c6d8e5;border-radius:6px;padding:8px;background:#fff;width:100%;min-width:0;font-size:12px}.filtration-choice small{font-size:10px;color:#5e788b}.circulation-controls{flex-basis:100%;border-top:1px solid #d7e3ed;padding-top:14px;min-width:0}.circulation-controls h3{margin:5px 0;font-size:17px;color:#234c67}.circulation-controls p{font-size:12px;line-height:1.65;color:#4a697e;margin:7px 0}.circulation-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.circulation-actions button{padding:8px 11px;background:#fff;border:1px solid #bccfdd;color:#28536d;font-size:12px;border-radius:6px}.circulation-actions button:disabled{opacity:.45}.circulation-actions button:nth-child(2){background:#235a77;color:#fff;border-color:#235a77}.circulation-controls label{display:flex;align-items:center;gap:8px;font-size:12px;color:#365e77}.circulation-controls input{accent-color:#23789e}.circulation-stream{animation:conceptual-flow 1.8s linear infinite}@keyframes conceptual-flow{to{stroke-dashoffset:-42}}.valve-education{margin:20px 0;padding:14px;border:1px solid #d8e5ed;border-radius:7px;background:#f7fbfd}.valve-education h3{font-size:15px;margin:0 0 8px}.valve-education p{font-size:12px;line-height:1.6}.element-dialog header{position:sticky;top:0;z-index:2}@media (max-width:600px){.filtration-choice{flex-basis:100%}.circulation-actions button{flex:1 1 40%}}@media (prefers-reduced-motion:reduce){.circulation-stream{animation:none}}html{scrollbar-gutter:stable}.mode-explanation{flex-basis:100%;margin:0;color:#526f82;font-size:12px;line-height:1.5}.basic-details-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:#365e77}.guide-trigger{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #90bbcb;border-radius:7px;background:#e8f4f7;color:#174f6c;padding:10px 14px;font-size:12px;font-weight:650}.guide-trigger[aria-pressed=true]{background:#235a77;color:#fff}.pool-guide{flex-basis:100%;min-width:0;border:1px solid #b7d1df;border-radius:10px;background:#fff;padding:12px}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.guide-heading button{border:1px solid #d3e1ea;border-radius:6px;background:#f5f9fc;width:36px;height:36px;font-size:22px;color:#31556d}.pool-guide h3{margin:4px 0 6px;font-size:17px;color:#194760}.pool-guide p{font-size:13px;line-height:1.65;color:#4a687b;margin:6px 0 8px}.guide-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:10px 0;padding:0;list-style:none}.guide-progress button{width:100%;height:100%;border:1px solid #d2e1e9;border-radius:7px;padding:7px;min-height:44px;display:flex;flex-direction:row;align-items:flex-start;gap:7px;background:#f7fafc;font-size:11px;line-height:1.4;text-align:left;color:#476579;overflow-wrap:anywhere}.guide-progress button span{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;border:1px solid #b7cedc;border-radius:50%;font-size:11px}.guide-progress button[aria-current=step]{border:2px solid #287ba1;padding:6px;background:#eef7fb;color:#174d69;font-weight:700}.guide-progress button[aria-current=step] span{background:#235f7c;color:#fff;border-color:#235f7c}.guide-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.guide-actions button,.selection-summary button{padding:9px 12px;border:1px solid #b7cedc;background:#fff;border-radius:6px;color:#28556e;font-size:12px}.guide-actions button:last-child{background:#235f7c;border-color:#235f7c;color:#fff}.guide-actions button:disabled{opacity:.4}.pool-guide .guide-note{font-size:11px;color:#637b8b;margin:8px 0 0}.selection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-basis:100%;border-left:3px solid #285b77;padding:9px 12px;color:#345c73;background:#eaf2f7;font-size:12px}.selection-summary button{margin-left:auto}.element-dialog header p{margin:10px 0 0;line-height:1.55;font-size:14px;font-weight:400}.element-dialog header h2{margin-bottom:0}.element-info-body .info-essentials{margin:0}.info-connections{margin:22px 0}.info-connections h3{font-size:12px;color:#31536d;margin:0 0 9px}.info-connections ol{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0}.info-connections li{display:flex;align-items:center;gap:8px;font-size:12px;color:#315c75}.info-connections li>span:last-child{padding:7px 9px;border:1px solid #d8e5ee;border-radius:6px;background:#f3f8fb}.info-connections p{font-size:12px}.info-technical{margin-top:20px;border-top:1px solid #d6e3ec}.info-technical>summary{padding:14px 0;color:#285e7a;font-size:13px;font-weight:650;cursor:pointer}.info-technical>div{padding-bottom:4px}.info-technical a{display:block;margin-top:10px;font-size:12px;color:#28688c}@media (max-width:800px){.guide-progress{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.guide-trigger{width:100%}.pool-guide{padding:14px}.pool-guide h3{font-size:18px}.guide-progress{gap:5px}.guide-progress button{font-size:10px;padding:6px;flex-direction:column;gap:4px;overflow-wrap:normal}.guide-progress button[aria-current=step]{padding:5px}.guide-actions button{flex:1 1 40%}.guide-actions button:nth-child(2):not(:last-child){order:3;flex-basis:100%}.element-dialog header{position:relative}.selection-summary button{width:100%;margin:0}}.studio-app,.app-main,.topbar-inner,.workspace-panel,.tab-panel,.responsive-view,.configuration-panel,.page-heading,.page-heading>div,.panel-heading>div,.configuration-options>*,.notice>div,.view-intro>div,.chemistry-layout>*,.ph-panel,.dose-grid,.spec-category-head>div,.scene-footer>div,.hydraulic-toolbar,.responsive-options{min-width:0;max-width:100%}.app-main,.topbar-inner{width:100%;max-width:1440px;margin-inline:auto;padding-inline:12px}.app-main{padding-block:24px}.topbar-inner{padding-block:14px;flex-wrap:wrap;gap:12px}.brand{flex-shrink:0;font-size:18px}.brand-symbol{flex-shrink:0}.topbar-status{flex:1 1 150px;max-width:none;justify-content:flex-end;font-size:11px;line-height:1.5}.version-label{display:none}.page-heading{display:grid;gap:16px;margin-bottom:24px}.page-heading h1{font-size:clamp(28px,5vw,40px);letter-spacing:-1px;overflow-wrap:anywhere}.page-heading p{font-size:14px;max-width:62ch;line-height:1.65}.eyebrow,.page-heading .eyebrow,.view-intro .eyebrow{font-size:11px;letter-spacing:.1em}.project-stamp{margin:0;justify-self:start;max-width:100%}.project-stamp strong,.project-stamp span{font-size:13px;overflow-wrap:anywhere}.project-stamp svg{flex-shrink:0}.configuration-panel,.tab-panel{padding:16px 12px}.panel-heading{flex-wrap:wrap}.panel-heading>.badge{display:none}.panel-heading h2,.spec-category h3{font-size:16px}.panel-heading p,.view-intro p,.spec-category-head p{max-width:none;font-size:13px}.configuration-fields{grid-template-columns:minmax(0,1fr);gap:14px}.configuration-fields>.field:last-child{grid-column:auto}.field-head label{font-size:14px}.field-input{min-height:50px;font-size:18px}.field-unit{font-size:14px}.field-error-message{font-size:13px}.help-button{width:32px;height:32px}.configuration-options{flex-direction:column;align-items:stretch;gap:16px}.pool-system legend{font-size:13px}.system-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.system-buttons button{min-width:0;min-height:48px;font-size:14px}.lighting-option{margin:0;border-left:0;padding-left:0}.lighting-option label{min-width:0;flex:1;justify-content:space-between;font-size:14px}.lighting-option small{font-size:12px;max-width:none}.lighting-option .help-wrap{display:inline-flex}.switch-input{flex-shrink:0}.kpi-grid{grid-template-columns:minmax(0,1fr);gap:12px}.kpi-card{padding:16px}.kpi-head{font-size:13px;align-items:flex-start}.kpi-value{font-size:clamp(25px,4vw,32px);line-height:1.3;letter-spacing:-.5px;overflow-wrap:normal}.kpi-detail{font-size:12px;line-height:1.6}.notice{font-size:14px;padding:14px;gap:10px}.notice-detail{font-size:13px;line-height:1.65}.tabs-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px}.tab-button{min-height:48px;font-size:13px;padding:8px;gap:8px;justify-content:flex-start;line-height:1.35}.tab-button span{min-width:0;overflow-wrap:anywhere}.tab-button svg{flex-shrink:0}.view-intro{flex-wrap:wrap;gap:12px}.view-intro h2{font-size:20px}.view-intro .badge,.badge{font-size:12px}.dimension-toggle{margin-left:0}.dimension-toggle button{min-height:44px;font-size:14px}.diagram-toolbar{flex-wrap:wrap;gap:10px}.diagram-title{font-size:12px}.diagram-zoom{margin-left:auto}.diagram-zoom button,.diagram-zoom button:last-child{min-height:44px;min-width:40px;font-size:12px}.svg-viewport{max-width:100%;overscroll-behavior-x:contain}.diagram-quantities,.technical-details,.technical-details summary,.technical-note{font-size:13px;line-height:1.65}.flow-legend{font-size:12px}.responsive-options{flex-basis:100%;width:100%;border:1px solid #d4e2ec;border-radius:8px;background:#fff}.responsive-options>summary{padding:11px 13px;min-height:44px;font-size:13px;color:#315a74;cursor:pointer}.responsive-options-body{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px;border-top:1px solid #e2ebf1}.hydraulic-options .responsive-options-body{display:grid;grid-template-columns:minmax(0,1fr)}.hydraulic-options label{min-width:0;max-width:100%;font-size:13px}.hydraulic-isolation{flex-wrap:wrap}.hydraulic-isolation select{flex:1;min-width:0;max-width:100%;min-height:44px}.filtration-choice{flex-basis:auto;width:100%}.filtration-choice select{min-height:44px;font-size:14px}.filtration-choice small{font-size:12px}.hydraulic-modes{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hydraulic-modes button{padding:8px 4px;min-height:44px;min-width:0;font-size:13px}.mode-explanation{font-size:13px}.hardware-toggle,.basic-details-toggle{min-height:38px;font-size:13px}.guide-trigger,.trace-button{min-height:44px;justify-content:center;width:100%;font-size:13px}.pool-guide{padding:12px}.guide-progress button{font-size:12px;gap:4px}.guide-heading button{flex-shrink:0;width:40px;height:40px}.pool-guide .guide-note{font-size:12px}.guide-actions button{min-height:44px;padding:8px}.selection-summary{font-size:13px}.scene-controls{gap:10px}.scene-presets{flex-wrap:wrap;padding:6px}.scene-presets>div{grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%}.scene-presets button{min-height:44px;font-size:12px}.scene-presets .camera-reset{min-height:44px;width:100%}.camera-reset span{display:inline}.touch-toggle{min-height:44px;border:1px solid #a7c5d7;border-radius:8px;background:#edf7fb;color:#235d7c;padding:10px;font-size:14px}.touch-toggle[aria-pressed=true]{background:#235d7c;color:#fff}.scene-settings-row{width:100%;min-width:0;gap:12px}.shell-select{width:100%;flex-wrap:wrap;font-size:13px}.shell-select select{flex:1;min-width:0;min-height:44px;font-size:14px}.master-pipes{font-size:13px;min-height:44px;margin:0}.layer-panel{flex-basis:100%}.layer-panel summary{min-height:44px;font-size:13px;flex-wrap:wrap}.layer-count{font-size:11px}.layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-grid label{min-width:0;min-height:44px;font-size:13px}.scene-stage{height:clamp(360px,60svh,540px);min-width:0;max-width:100%}.scene-stage canvas{width:100%!important;height:100%!important;max-width:100%}.scene-hint,.scene-footer p,.scene-flow{font-size:13px;line-height:1.6}.scene-footer{display:grid;gap:14px}.scene-flow{flex-wrap:wrap}.element-inventory summary{font-size:13px;min-height:44px}.element-inventory fieldset{min-width:0;width:auto}.element-inventory button{min-height:40px}.spec-grid,.chemistry-layout,.line-cards{grid-template-columns:minmax(0,1fr)}.spec-category-head{padding:16px;gap:10px}.spec-table{table-layout:fixed}.spec-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.spec-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);padding:16px;gap:10px;border-bottom:1px solid #e1eaf1}.spec-table th,.spec-table td{width:auto!important;border:0;padding:0;min-width:0}.spec-table tbody th,.qty-cell span{font-size:14px}.spec-table .qty-cell{text-align:left}.spec-table .row-note{grid-column:1/-1;font-size:13px}.qty-cell small,.model-count{font-size:12px}.spec-info{min-height:32px;min-width:32px}.ph-panel{padding:16px}.ph-panel h3,.dose-card h3{font-size:16px}.ph-panel>p,.dose-card p,.small-note{font-size:13px!important;line-height:1.6}.ph-fields,.dose-grid{grid-template-columns:minmax(0,1fr)}.dose-head{font-size:12px;text-transform:none}.dose-value{font-size:30px}.app-footer{display:grid;gap:16px}.app-footer p,.app-footer>p{font-size:12px;text-align:left;margin:0;max-width:100%}.app-footer strong{font-size:13px}.view-expand-bar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:16px;color:#59768b;font-size:13px}.view-expand-bar button{min-height:44px;padding:8px 12px;border:1px solid #c4d9e6;background:#f8fbfd;border-radius:8px;color:#235f7e;font-size:13px}.responsive-view.is-expanded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;max-width:none;background:#fff;overflow-y:auto;overscroll-behavior:contain;padding:12px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.is-expanded .view-expand-bar{position:sticky;top:0;z-index:30;background:#fff;padding-bottom:8px}.is-expanded .scene-stage{height:clamp(360px,70dvh,900px)}.is-expanded .diagram-frame{scroll-margin-top:70px}.element-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}.element-dialog header h2{font-size:21px;padding-right:42px}.element-dialog header>button{min-width:44px;min-height:44px}.element-dialog footer button{min-height:44px}@media (max-width:600px){.element-dialog{inset:auto 0 0;width:100%;max-width:100%;max-height:92dvh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}.element-dialog header{position:sticky;top:0;background:#f5f9fc;padding:18px}.element-info-body{padding:18px}.element-dialog footer{position:sticky;bottom:0;background:#fff;flex-wrap:wrap;gap:8px}.element-dialog footer button{flex:1 1 100px}.element-dialog .info-technical{font-size:13px}}@media (min-width:390px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:400px){.configuration-fields,.ph-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.configuration-fields>.field:last-child{grid-column:1/-1}.spec-table tbody tr{grid-template-columns:minmax(0,1.3fr) minmax(90px,1fr)}.spec-table .qty-cell{text-align:right}}@media (min-width:600px){.app-main,.topbar-inner{padding-inline:24px}.app-main{padding-block:32px}.page-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center}.configuration-panel,.tab-panel{padding:22px}.configuration-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.configuration-fields>.field:last-child{grid-column:auto}.configuration-options{flex-direction:row;flex-wrap:wrap;align-items:center}.lighting-option{flex:1 1 240px}.dose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hydraulic-modes{width:auto}.guide-trigger,.trace-button{width:auto;flex:1 1 220px}.hydraulic-options .responsive-options-body{grid-template-columns:repeat(2,minmax(0,1fr))}.filtration-choice{grid-column:1/-1}.scene-presets>div{grid-template-columns:repeat(4,minmax(0,1fr))}.scene-presets .camera-reset{width:auto}.layer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shell-select{width:auto}}@media (min-width:900px){.tabs-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.tab-button{justify-content:center}.spec-table thead{position:static;width:auto;height:auto;clip-path:none;overflow:visible}.spec-table tbody tr{display:table-row}.spec-table th,.spec-table td{padding:14px!important}.spec-table th:first-child{width:36%!important}.spec-table .qty-cell{width:22%!important}.chemistry-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}}@media (min-width:1100px){.app-main,.topbar-inner{padding-inline:36px}.configuration-fields{grid-template-columns:repeat(5,minmax(0,1fr))}.panel-heading>.badge{display:inline-flex}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.version-label{display:inline}.spec-grid,.line-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-presets{flex-wrap:nowrap}.scene-presets>div{flex-basis:auto}.scene-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
