:root{color-scheme:light;--paper:#f5f4ef;--surface:#fbfaf6;--ink:#222824;--muted:#687069;--line:#cfd3cc;--line-strong:#9fa79f;--accent:#245b49;--accent-soft:#e2ebe5;--accent-two:#a36b35;--danger:#9b2f2f;--danger-soft:#f8e9e7;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);line-height:1.65}button,input,select{font:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.eyebrow,.section-kicker{margin:0 0 5px;color:var(--accent);font-size:.78rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}h2{margin:0;font-size:clamp(1.2rem,2vw,1.48rem)}h3{margin:0;font-size:1rem}.tool-shell{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);border:1px solid var(--line-strong);background:var(--surface)}.calculator-panel,.visual-panel{min-width:0;padding:24px}.calculator-panel{border-right:1px solid var(--line)}fieldset{margin:17px 0 0;padding:0;border:0}legend{margin-bottom:8px;font-weight:760}.mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mode-option{position:relative;cursor:pointer}.mode-option input{position:absolute;width:1px;height:1px;opacity:0}.mode-option span{min-height:58px;display:grid;place-items:center;padding:7px;border:1px solid var(--line-strong);background:#fff;text-align:center;font-size:.82rem;font-weight:700}.mode-option input:checked+span{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.mode-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.input-grid{display:grid;gap:13px}.input-row{min-width:0}.input-row label{display:block;font-weight:760}.input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:7px;margin-top:6px}.input-wrap input,.input-wrap select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:0;color:var(--ink);background:#fff}.input-wrap input[aria-invalid=true],.input-wrap select[aria-invalid=true]{border-color:var(--danger)}.field-help,.field-error{margin:5px 0 0;color:var(--muted);font-size:.78rem}.field-error{color:var(--danger);font-weight:700}.form-error{margin:14px 0 0;padding:10px 12px;border-left:4px solid var(--danger);background:var(--danger-soft);color:var(--danger);font-weight:700}.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.button{min-height:46px;padding:9px 16px;border:1px solid var(--accent);border-radius:0;cursor:pointer;font-weight:760}.button-primary{color:#fff;background:var(--accent)}.button-secondary{color:var(--accent);background:transparent}.result-box{margin-top:18px;padding:17px;border:1px solid var(--line-strong);background:#fff}.result-box[data-state=ready]{border-color:var(--accent)}.result-box[data-state=error]{border-color:var(--danger)}.result-label,.result-status{margin:0}.result-label{color:var(--muted);font-size:.78rem;font-weight:760}.result-value{display:block;margin-top:2px;overflow-wrap:anywhere;font-size:clamp(1.4rem,3vw,2rem);font-weight:800}.result-status{margin-top:4px;color:var(--muted);font-size:.82rem}.result-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:15px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.result-details div{min-width:0;padding:9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.result-details .detail-wide{grid-column:1/-1}.result-details dt{color:var(--muted);font-size:.72rem}.result-details dd{margin:2px 0 0;overflow-wrap:anywhere;font-weight:740}.visual-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.status-badge{padding:4px 8px;border:1px solid var(--line-strong);color:var(--muted);font-size:.72rem;font-weight:760;white-space:nowrap}.status-badge[data-state=ready]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.visual-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.visual-metrics div{min-width:0;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.visual-metrics dt{color:var(--muted);font-size:.74rem}.visual-metrics dd{margin:2px 0 0;overflow-wrap:anywhere;font-weight:760}.visual-stage{display:grid;place-items:center;min-height:260px;margin-top:18px;padding:24px 18px;border:1px solid var(--line);background:#f0f2ed}.flow-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px}.flow-vessel{display:grid;gap:6px;min-width:0;padding:16px 10px;border:1px solid var(--line-strong);background:#fff;text-align:center}.flow-vessel span{color:var(--muted);font-size:.78rem}.flow-vessel strong{overflow-wrap:anywhere;color:var(--accent);font-size:1rem}.flow-final{border-color:var(--accent)}.flow-arrow{color:var(--accent-two);font-size:1.4rem;font-weight:800}.dilution-figure{width:100%;margin:0}.dilution-figure figcaption,.visual-description,.scale-note{margin:10px 0 0;color:var(--muted);font-size:.8rem;text-align:center}.visual-description{text-align:left;font-size:.86rem}.scale-note{text-align:left;font-size:.75rem}.content-section{margin-top:42px}.formula-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.formula-list article{display:grid;gap:4px;padding:14px 15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.formula-list strong{overflow-wrap:anywhere}.formula-list span{color:var(--muted);font-size:.82rem}.proof-guide{margin-top:20px;padding:17px 18px;border:1px solid var(--line);background:var(--surface)}.proof-guide ul{margin:10px 0 0;padding-left:1.25em}.site-footer{margin-top:38px;border-top:1px solid var(--line)}.footer-inner{display:flex;flex-wrap:wrap;gap:12px 18px;padding:20px 0 0;color:var(--muted);font-size:.8rem}.footer-inner a{color:var(--accent);font-weight:700}@media(max-width:820px){.mode-options{grid-template-columns:1fr}.tool-shell{grid-template-columns:1fr}.calculator-panel{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:520px){.calculator-panel,.visual-panel{padding:18px 14px}.input-wrap{grid-template-columns:minmax(0,1fr) 98px}.result-details,.visual-metrics,.formula-list{grid-template-columns:1fr}.result-details .detail-wide{grid-column:auto}.visual-stage{min-height:230px;padding:18px 10px}.flow-row{grid-template-columns:1fr;gap:5px}.flow-arrow{transform:rotate(90deg);justify-self:center}.form-actions .button{flex:1 1 140px}}
