* { box-sizing: border-box; }
:root { color-scheme: light; --ink:#17342d; --green:#24664e; --muted:#5e7167; }
body { margin:0; background:#f4f6f5; color:var(--ink); font:16px/1.65 system-ui,-apple-system,sans-serif; }
header { background:#123a30; color:#fff; padding:58px max(6vw,24px); }
header h1 { font-size:clamp(2.5rem,6vw,4.5rem); line-height:1.08; letter-spacing:-.05em; margin:20px 0; }
header p { max-width:750px; color:#cfdfd3; font-size:1.15rem; }
.eyebrow, .section-label { font-size:.75rem; letter-spacing:.14em; font-weight:700; }
nav { display:flex; gap:24px; flex-wrap:wrap; margin-top:28px; }
nav a { color:#c5efc7; }
a { color:#215b45; }
main { max-width:1200px; padding:32px 24px; margin:auto; }
aside, .notice { background:#e5eee4; border-left:4px solid #71954c; padding:18px; margin-bottom:24px; }
section { padding:30px 0; border-bottom:1px solid #d0ddd2; }
h2 { font-size:1.8rem; letter-spacing:-.03em; line-height:1.25; }
h3 { font-size:1.1rem; }
.controls, .metrics, .two-column { display:grid; gap:18px; }
.controls { grid-template-columns:repeat(3,minmax(0,1fr)); margin:20px 0; align-items:end; }
.metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.two-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card, .metric { background:white; border:1px solid #d7e1d8; border-radius:8px; padding:22px; }
.metric strong { font-size:1.85rem; display:block; line-height:1.3; }
.metric span, .caption { color:var(--muted); font-size:.88rem; }
label { font-size:.9rem; font-weight:650; display:block; }
input, select, textarea { width:100%; font:inherit; padding:11px; margin-top:7px; border:1px solid #a7bbaa; border-radius:5px; background:white; color:var(--ink); }
input[type=checkbox] { width:auto; margin-right:10px; }
button { border:0; border-radius:5px; padding:12px 20px; background:#194e3e; color:white; font:650 .95rem system-ui,sans-serif; cursor:pointer; margin:12px 12px 0 0; }
button:hover { background:#26705a; }
button.secondary { background:#e2ebe3; color:#174532; }
:focus-visible { outline:3px solid #d8a83f; outline-offset:3px; }
.error { background:#ffebe7; border-left:4px solid #ae463c; padding:18px; }
[hidden] { display:none!important; }
svg { width:100%; height:auto; display:block; overflow:visible; }
svg text { font:12px system-ui,sans-serif; fill:#3e584b; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:.9rem; background:#fff; }
th,td { border-bottom:1px solid #d7e1d8; padding:10px; text-align:left; white-space:nowrap; }
th { background:#e9f0e8; }
details { margin:16px 0; }
summary { cursor:pointer; font-weight:650; }
.equation { font:1.05rem ui-monospace,monospace; background:white; padding:18px; border-radius:6px; overflow-wrap:anywhere; }
footer { max-width:1200px; margin:auto; padding:30px 24px; color:var(--muted); font-size:.85rem; }
.status { min-height:28px; }
@media(max-width:850px) { .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .two-column { grid-template-columns:1fr; } }
@media(max-width:550px) { .controls,.metrics { grid-template-columns:1fr; } header { padding:38px 24px; } .card { padding:16px; } }

.chart{overflow-x:auto}.chart svg{min-width:600px}svg text{font-size:14px}code{overflow-wrap:anywhere}
