:root{--ink:#173d48;--muted:#5c737a;--blue:#1a637a;--blue-dark:#124658;--aqua:#00a2b5;--line:#dce7e8;--paper:#f4f8f8;--amber:#b27618;--orange:#e6a340;--radius:20px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 "Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #e6a340;outline-offset:4px}input:focus,select:focus{outline:2px solid #2994a6;outline-offset:1px;border-color:transparent}a{color:var(--blue)}[hidden]{display:none!important}.topbar{height:92px;max-width:1360px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:23px;letter-spacing:-.6px}.brand svg{height:39px;width:31px;color:var(--blue)}.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:2px;color:var(--muted)}.prototype{font-size:12px;display:flex;gap:8px;align-items:center;color:var(--muted)}.prototype i{width:7px;height:7px;background:var(--orange);border-radius:100%}main{max-width:1360px;margin:auto;padding:0 40px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:42px 0 31px;gap:20px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--blue);margin:0 0 12px}h1{font-size:42px;line-height:1.12;letter-spacing:-1.6px;font-weight:650;margin:0 0 17px}h1 span{color:var(--blue)}.lead{color:var(--muted);margin:0;font-size:15px}.intro-note{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted);padding-bottom:3px}.note-icon{display:grid;place-items:center;width:23px;height:23px;border:1px solid #acbfc2;border-radius:50%;font-family:Georgia,serif;font-weight:bold}.intro-note p{margin:0}.mode-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:24px}.mode-nav button{background:white;border:1px solid var(--line);border-radius:12px;display:flex;gap:13px;padding:17px 18px;text-align:left;align-items:center;color:var(--ink);font-size:15px;font-weight:650;transition:background .2s}.mode-nav small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.nav-icon{height:34px;width:34px;flex-shrink:0;border-radius:9px;background:#eef5f6;display:grid;place-items:center;font-size:12px}.nav-arrow{margin-left:auto;font-size:22px;font-weight:400}.mode-nav button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}.mode-nav button[aria-pressed=true] small{color:#d2e5e9}.mode-nav button[aria-pressed=true] .nav-icon{background:#ffffff20}.workspace{display:grid;grid-template-columns:minmax(0, .91fr) minmax(0,1.09fr);gap:24px;align-items:start}.form-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:18px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-number{border-radius:7px;background:#e9f3f5;color:var(--blue);font-size:10px;font-weight:700;padding:5px 8px}h2{font-size:18px;line-height:1.25;margin:0;letter-spacing:-.3px;font-weight:650}.form-subtitle{font-size:12px;color:var(--muted);margin:-7px 0 18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}.field{display:flex;flex-direction:column;min-width:0;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:650;line-height:1.4;min-height:17px}.field input,.field select{min-width:0;width:100%;height:43px;border:1px solid #d0dfe2;border-radius:8px;background:#fbfdfd;color:var(--ink);padding:8px 11px}.field small,.helper{font-size:11px;line-height:1.5;color:var(--muted)}.helper{margin:12px 0 0}.inline-note{border-left:3px solid #96c8d0;padding:9px 12px;background:#f1f8f9;border-radius:0 6px 6px 0;margin:15px 0 0;font-size:12px;color:#426773}.pipe-group{padding-top:17px;margin-top:17px;border-top:1px solid var(--line)}.pipe-group:first-of-type{border-top:0;margin-top:0;padding-top:0}.pipe-group h3{font-size:13px;margin:0 0 13px}.pipe-group .fields{gap:12px}.inner-diameter{font-size:11px;color:var(--blue);margin-top:9px}.advanced{margin-top:14px;font-size:12px}.advanced summary,.method summary{cursor:pointer;list-style:none;font-weight:650}.advanced summary:before,.method summary:before{content:'+';margin-right:9px;color:var(--blue)}details[open]>summary:before{content:'−'}.advanced .fields{margin-top:14px}.preview-column{position:sticky;top:18px}.diagram-card{background:#eaf3f5;border:1px solid #d5e5e8;border-radius:var(--radius);overflow:hidden;margin-bottom:18px}.card-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 25px 5px;gap:12px}.card-heading .eyebrow{margin-bottom:7px}.card-heading h2{font-size:18px}.small-button{border:1px solid #c4d8dd;background:transparent;border-radius:20px;padding:5px 11px;white-space:nowrap;font-size:11px;color:var(--blue)}#diagram{line-height:0;padding:0 8px}#diagram svg{width:100%;height:auto}svg text{font-family:"Segoe UI",Arial,sans-serif;fill:var(--ink)}.water-flow{stroke:#f1feff;stroke-width:3;stroke-dasharray:8 15;fill:none;animation:flow 1.8s linear infinite}.cable-flow{stroke:#ffe4a1;stroke-width:2;stroke-dasharray:4 15;animation:flow 2.4s linear infinite;fill:none}.paused .water-flow,.paused .cable-flow{animation-play-state:paused}@keyframes flow{to{stroke-dashoffset:-46}}.legend{display:flex;gap:8px;flex-wrap:wrap;margin:0 24px 12px}.legend span{font-size:11px;background:#fff9;border:1px solid #d6e5e7;border-radius:6px;padding:4px 7px}.legend b{font-weight:650}.diagram-caption{font-size:10px;color:var(--muted);margin:0 24px 18px}.result-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.result-topline{font-size:10px;letter-spacing:1.5px;font-weight:750;color:var(--muted);text-transform:uppercase;margin-bottom:15px}.results-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metric+.metric{border-left:1px solid var(--line);padding-left:24px}.metric-label{font-size:12px;display:block}.metric strong{font-size:38px;line-height:1.3;font-weight:650;letter-spacing:-1.5px;color:var(--blue)}.metric .unit{font-size:15px;font-weight:400;margin-left:5px}.metric small{display:block;font-size:10px;color:var(--muted)}.result-caption{font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:17px;margin:13px 0 15px}.breakdown{font-size:12px;display:grid;gap:7px}.breakdown>div{display:flex;justify-content:space-between;gap:16px}.breakdown>div span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown .total{border-top:1px solid var(--line);padding-top:10px;font-weight:700;margin-top:4px}.notice{font-size:11px;background:#fff7e8;color:#76541b;border:1px solid #f2e3c5;border-radius:8px;padding:10px 12px;margin-top:12px}.notice p{margin:0}.notice p+p{margin-top:7px}.calc-error{padding:8px 0}.calc-error h3{font-size:17px;margin:0 0 12px;color:#884c24}.calc-error p{font-size:13px;margin:0}.result-card.error{border-color:#e6bda3;background:#fffaf5}.primary-button{display:block;width:100%;background:var(--blue);color:white;border:0;border-radius:9px;font-size:13px;font-weight:650;padding:12px;margin-top:18px}.secondary-button{background:white;border:1px solid #cddfe2;color:var(--blue);border-radius:8px;padding:10px 14px;font-size:12px}.text-button{border:0;background:transparent;color:var(--muted);font-size:11px;padding:10px 0}.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.actions button:disabled{opacity:.4;cursor:default}.method{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:35px 0 0;color:var(--muted);font-size:12px}.method summary{font-size:13px;color:var(--ink)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 40px;margin-top:16px}.method h3{font-size:13px;color:var(--ink);margin-bottom:8px}.method p{margin:0 0 10px}footer{display:flex;justify-content:space-between;gap:15px;padding:25px 0 32px;color:var(--muted);font-size:10px}.cable-table{border-collapse:collapse;width:100%;font-size:12px;margin-top:16px}.cable-table td,.cable-table th{padding:8px;text-align:left;border-bottom:1px solid var(--line)}.cable-table th{font-size:10px;font-weight:600;color:var(--muted)}.cable-table tr.chosen{background:#e9f6f3;font-weight:650}.figure-note{font-size:12px;margin:10px 0 0;color:var(--muted)}.chip-row{display:flex;gap:8px;margin:14px 0 0}.chip{border:1px solid #cbdde0;border-radius:7px;background:white;color:var(--blue);font-size:11px;padding:7px 9px}.sample-result{font-size:11px;color:var(--muted);margin-top:14px}.pipe-summary{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.pipe-summary span{font-size:10px;background:#f3f7f7;border-radius:5px;padding:4px 7px}.minor-text{font-size:11px;color:var(--muted)}
@media(min-width:1450px){main,.topbar{max-width:1400px}.intro{padding-top:48px}.workspace{gap:30px}}
@media(max-width:1000px){main,.topbar{padding-left:24px;padding-right:24px}.mode-nav button{padding:13px 12px;gap:8px}.mode-nav small{font-size:9px}.nav-icon{width:27px;height:27px}.nav-arrow{display:none}.intro-note{max-width:190px}.workspace{gap:16px}.form-card,.result-card{padding:20px}.card-heading{padding:20px 20px 4px}.metric strong{font-size:32px}.preview-column{top:10px}}
@media(max-width:760px){.topbar{height:76px}.brand{font-size:20px}.prototype{font-size:10px;max-width:95px}.intro{padding:29px 0 22px;display:block}h1{font-size:34px;letter-spacing:-1px}.lead{font-size:13px}.intro-note{max-width:none;margin-top:18px}.intro-note br,.desktop{display:none}.intro-note p{font-size:11px}.mode-nav{grid-template-columns:1fr;gap:7px;margin-bottom:18px}.mode-nav button{padding:11px 14px;font-size:14px}.mode-nav small{font-size:10px}.nav-icon{width:32px;height:32px}.nav-arrow{display:block;font-size:21px}.workspace{grid-template-columns:1fr;gap:8px}.preview-column{position:static}.fields{gap:14px 12px}.form-card{padding:20px;margin-bottom:12px}.result-card{padding:22px}.card-heading h2{font-size:17px}.legend{margin-left:18px;margin-right:18px}.legend span{font-size:11px}.diagram-caption{margin-left:18px;margin-right:18px}.method-grid{grid-template-columns:1fr;gap:8px}.method{margin-top:25px}footer{display:block}footer span{display:block;margin-bottom:6px}.metric strong{font-size:36px}.brand small{font-size:8px}.topbar,main{padding-left:16px;padding-right:16px}.actions{gap:8px}.text-button{font-size:10px}.intro-note .note-icon{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:560px){.pipe-group .fields{grid-template-columns:1fr}}
@media print{body{background:white}.topbar,.intro,.mode-nav,#calculator-form,.actions,.method,footer,.small-button{display:none}.workspace{display:block}.preview-column{position:static}.diagram-card{max-width:650px}main{padding:0}.result-card,.diagram-card{break-inside:avoid}.water-flow,.cable-flow{animation:none}}
.mobile-result{display:none}@media(max-width:760px){.mobile-result{display:block;position:fixed;bottom:12px;left:16px;right:16px;background:#164f62;color:white;padding:14px 10px;border-radius:12px;text-align:center;text-decoration:none;font-size:12px;font-weight:650;box-shadow:0 5px 25px #173d4830;z-index:10}body{padding-bottom:64px}}@media print{.mobile-result{display:none!important}}

.brand,.prototype{text-decoration:none;color:inherit}.site-links{max-width:1300px;margin:0 auto;padding:0 40px;display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.site-links a{color:var(--blue);text-decoration:none;padding:9px 0}.site-links a:hover{text-decoration:underline}#versions{scroll-margin-top:20px}#versions>p{margin-top:16px}.eyebrow a{color:inherit;text-decoration:none}@media(min-width:1450px){.site-links{max-width:1400px}}@media(max-width:1000px){.site-links{padding:0 24px}}@media(max-width:760px){.site-links{padding:0 16px;gap:20px}.prototype{max-width:none;white-space:nowrap}}@media print{.site-links{display:none}}
