#pool-salt{--ink:#214c50;--teal:#246e72;--paper:#faf7ee;color:var(--ink);font-size:1rem;line-height:1.55;max-width:1100px;margin:auto;container-type:inline-size}
#pool-salt *{box-sizing:border-box;min-width:0}#pool-salt [hidden]{display:none!important}
#pool-salt h2{font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.15;max-width:25ch}#pool-salt h3{font-size:1.18rem;margin:0 0 1rem}#pool-salt p{margin:.7rem 0}
#pool-salt .ps-eyebrow{letter-spacing:.12em;font-size:.8rem;font-weight:700}#pool-salt small,#pool-salt .ps-sources{font-size:.875rem}
#pool-salt .ps-box{padding:1.2rem;border:1px solid #d1dfda;border-radius:18px;background:#fff;margin:1rem 0}
#pool-salt .ps-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}
#pool-salt button{font:inherit;cursor:pointer;color:var(--ink);background:var(--paper);border:1px solid #cad7d0;border-radius:12px;padding:.8rem;text-align:left;white-space:normal}
#pool-salt .ps-presets button{font-weight:700}#pool-salt .ps-presets small{display:block;font-weight:400;margin-top:.4rem}
#pool-salt button[aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
#pool-salt .ps-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem}
#pool-salt .ps-fields>label{display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:.35rem;font-weight:600;margin-bottom:.8rem}
#pool-salt label small{font-weight:400;color:#52676b}
#pool-salt input,#pool-salt select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #8da7a5;border-radius:8px;padding:.6rem;min-height:2.9rem}
#pool-salt :focus-visible{outline:3px solid #da9a3a;outline-offset:3px}
#pool-salt input[aria-invalid=true]{border:2px solid #b65038}
#pool-salt #ps-error{background:#fff0e9;border-left:4px solid #b65038;padding:1rem}
#pool-salt .ps-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
#pool-salt .ps-answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
#pool-salt .ps-answer-grid article{padding:.8rem;background:var(--paper);border-radius:12px;display:flex;flex-direction:column;overflow-wrap:anywhere}
#pool-salt .ps-answer-grid strong{font-size:1.6rem;line-height:1.2;margin:.7rem 0}#pool-salt .ps-answer-grid .ps-dose{background:#e4f0e9}
#pool-salt input[type=range]{padding:0;border:0;accent-color:var(--teal)}#pool-salt svg{width:100%;height:auto;display:block}
#pool-salt details{margin:1rem 0}#pool-salt summary{cursor:pointer;font-weight:700;padding:.5rem 0}
#pool-salt .ps-emphasis{font-size:1.5rem;font-weight:700}#pool-salt .ps-legend{display:grid;gap:.3rem}#pool-salt .ps-legend span{display:flex;justify-content:space-between;gap:1rem}
#pool-salt .ps-warning{border-left:3px solid #c68737;padding-left:.8rem}
@container(max-width:720px){#pool-salt .ps-workspace,#pool-salt .ps-presets{grid-template-columns:1fr}}
@container(max-width:400px){#pool-salt .ps-fields{grid-template-columns:1fr}#pool-salt .ps-answer-grid{grid-template-columns:1fr}#pool-salt .ps-answer-grid article{display:grid;grid-template-columns:1fr 1.2fr;gap:.3rem}#pool-salt .ps-answer-grid strong{margin:0}#pool-salt .ps-answer-grid small{grid-column:1/-1}#pool-salt .ps-box{padding:.85rem}}
#pool-salt .ps-allocation{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;background:#faf7ee;border-radius:12px}
#pool-salt .ps-allocation svg{width:100px;flex:0 0 100px}
#pool-salt .ps-allocation p{margin:.3rem 0}
#pool-salt .ps-caption{font-size:.85rem}
#pool-salt .ps-legend i{width:.7rem;height:.7rem;display:inline-block;margin-right:.5rem;border-radius:50%}
@container(max-width:400px){#pool-salt .ps-allocation{flex-direction:column;align-items:flex-start}}
#pool-salt input[type=range]{-webkit-appearance:none;appearance:none;height:44px;min-height:44px;background:transparent;cursor:pointer;margin:.4rem 0;width:100%}
#pool-salt input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:5px;background:#d5e1da;border:0}
#pool-salt input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-8px;border:3px solid #fff;border-radius:50%;background:#246e72;box-shadow:0 1px 4px #496b7270}
#pool-salt input[type=range]::-moz-range-track{height:8px;border-radius:5px;background:#d5e1da;border:0}
#pool-salt input[type=range]::-moz-range-thumb{width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:#246e72}
@container(min-width:270px){#pool-salt .ps-primary .ps-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
#pool-salt #ps-result-slot{display:flow-root}
