/* Publish v1 additions share the existing typography, spacing and reading moods. */
:root{--science-line:#397797;--science-point:#bd663a;--science-grid:#b7c7d1;--publish-surface:#f6f9fb;--publish-ink:#294a5e;--publish-line:#d4e1e9;--publish-muted:#587080}
html[data-theme=dark]{--science-line:#8bc8e7;--science-point:#f2b77f;--science-grid:#405869;--publish-surface:#192630;--publish-ink:#e0eaf0;--publish-line:#3a5262;--publish-muted:#afc2ce}
html[data-theme=paper]{--science-line:#76532c;--science-point:#a9562e;--science-grid:#cbbb98;--publish-surface:#f8efd9;--publish-ink:#43382c;--publish-line:#cbbb98;--publish-muted:#71604a}
html[data-theme=mono]{--science-line:#242424;--science-point:#9a542c;--science-grid:#ccc;--publish-surface:#f7f7f7;--publish-ink:#161616;--publish-line:#d4d4d4;--publish-muted:#626262}
.fsc-controls,.hgflow-control{display:grid;gap:14px;margin:18px 0}
.fsc-controls>label,.hgflow-control{display:grid;gap:8px;color:var(--publish-ink);font-size:14px;font-weight:600}
.fsc-controls label>div,.hgflow-control>div{display:grid;grid-template-columns:minmax(100px,1fr) 105px;align-items:center;gap:16px}
.fsc-controls input[type=range],.hgflow-control input[type=range]{width:100%;accent-color:var(--science-line)}
.fsc-controls input[type=number],.hgflow-control input[type=number]{width:100%;padding:8px;min-height:40px;border:1px solid var(--publish-line);border-radius:7px;background:var(--publish-surface);color:var(--publish-ink);font:inherit}
.fsc-plot{display:block;width:100%;height:auto;max-width:750px;min-width:0;margin:18px auto;overflow:visible;color:var(--publish-ink);background:var(--publish-surface);border:1px solid var(--publish-line);border-radius:12px}
.fsc-plot text{fill:currentColor;font:12px system-ui,sans-serif}.fsc-axis{stroke:var(--publish-ink);stroke-width:1.2;fill:none}.fsc-guide{stroke:var(--science-grid);stroke-dasharray:4 5;fill:none}.fsc-curve{stroke:var(--science-line);stroke-width:2.5;fill:none}.fsc-water-curve{stroke:var(--science-point);stroke-width:2;stroke-dasharray:7 4;fill:none}
.fsc-process{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;counter-reset:fsc-step}.fsc-process li{padding:12px 8px;border:1px solid var(--publish-line);border-radius:8px;font-size:12px;color:var(--publish-ink);background:var(--publish-surface);counter-increment:fsc-step}.fsc-process li:before{content:counter(fsc-step) ' · ';font-weight:700}
.fsc-legend{display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--publish-ink)}
.fsc-legend span:last-child{color:var(--science-point)}
.hgflow-why,.hgflow-calibration{border:1px solid var(--publish-line);border-radius:10px;padding:14px 18px;margin:18px 0;background:var(--publish-surface);color:var(--publish-ink)}
.hgflow summary{cursor:pointer;font-weight:650}.hgflow-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7;padding:12px;background:var(--publish-surface);border-radius:8px}.hgflow-check input{margin-top:5px;accent-color:var(--science-line)}
.hgflow-steps{display:grid;gap:16px;margin-top:24px}.hgflow-steps>article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;border-top:1px solid var(--publish-line);padding-top:20px}.hgflow-steps>article>span{display:flex;align-items:center;justify-content:center;height:30px;border-radius:50%;background:var(--publish-surface);border:1px solid var(--publish-line);color:var(--publish-ink);font-weight:700;font-size:13px}.hgflow-steps h4{margin:2px 0 12px;color:var(--publish-ink);font-size:16px}.hgflow-steps p{color:var(--publish-muted);font-size:14px;line-height:1.85}.hgflow .hg-eq{overflow-x:auto;max-width:100%;font-size:15px;line-height:1.8}.hgflow-result{border:1px solid var(--publish-line);background:var(--publish-surface);padding:20px;border-radius:12px;color:var(--publish-ink)}.hgflow-result strong{display:block;font-size:32px;margin-top:8px;font-variant-numeric:tabular-nums}.hgflow-result strong span{font-size:16px}.hgflow-result p{margin-bottom:0}
.f13-hold{touch-action:none;user-select:none;-webkit-user-select:none;min-width:150px}
.fsc-plot-wrap{overflow-x:auto;max-width:100%}
@media(max-width:650px){.fsc-process{grid-template-columns:repeat(2,1fr)}.fsc-controls label>div,.hgflow-control>div{grid-template-columns:minmax(60px,1fr) 90px;gap:10px}.hgflow-steps>article{grid-template-columns:24px minmax(0,1fr);gap:9px}.hgflow-steps>article>span{width:24px;height:24px}.hgflow .hg-eq{font-size:13px}.hgflow-result{padding:14px}.fsc-plot text{font-size:13px}.f13-hold{min-width:0;flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){.fsc-lab *,.hgflow *{scroll-behavior:auto}}

@media(max-width:650px){.fsc-plot-wrap .fsc-plot{min-width:480px}.fsc-plot-wrap{overscroll-behavior-x:contain}}
