:root{color-scheme:light;--ink:#17312d;--muted:#63736f;--paper:#f3f0e7;--card:#fffdf7;--green:#153c35;--mint:#b9d8ca;--coral:#dc755d;--line:#d9d8ce;--shadow:0 14px 45px rgba(21,60,53,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);min-height:100vh}header{min-height:108px;padding:24px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:2rem;margin-bottom:0}h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin-bottom:.6rem}h3{font-size:1rem}.eyebrow{font-size:.7rem;letter-spacing:.18em;font-weight:800;color:#577169;margin-bottom:.35rem}.header-actions{display:flex;gap:14px;align-items:center}a{color:var(--green)}button,.primary{border:0;border-radius:999px;padding:.72rem 1.05rem;font:inherit;font-weight:750;cursor:pointer}.primary,#sync{background:var(--green);color:#fff;text-decoration:none;display:inline-block}main{width:min(1180px,calc(100% - 32px));margin:32px auto 80px}.hero{min-height:62vh;display:grid;place-items:center}.hero>div{max-width:700px;text-align:center}.hero p:not(.eyebrow){font-size:1.2rem;color:var(--muted);margin-bottom:2rem}nav{display:flex;gap:8px;overflow:auto;margin-bottom:32px}.tab{background:transparent;color:var(--muted)}.tab.active{background:var(--green);color:#fff}.panel{display:none}.panel.active{display:block}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-heading h2{font-size:clamp(2rem,4vw,3rem);margin:0}.muted{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:24px}.metric,.card,.chart-card,.entry{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.metric strong{font-family:Georgia,serif;font-size:2rem;display:block}.metric span{font-size:.8rem;color:var(--muted)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.chart-card{min-height:230px}.chart{display:flex;align-items:end;gap:5px;height:145px;padding-top:12px}.bar{flex:1;min-width:3px;background:var(--mint);border-radius:5px 5px 0 0;position:relative}.bar:last-child{background:var(--coral)}.empty{padding:24px;color:var(--muted);text-align:center}.entry-form{background:var(--card);padding:22px;border:1px solid var(--line);border-radius:20px;margin-bottom:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.entry-form[hidden]{display:none}.entry-form label{display:grid;gap:6px;font-size:.8rem;font-weight:700}.entry-form .wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #b8c1bd;border-radius:10px;background:#fff;padding:.75rem;font:inherit;color:var(--ink)}textarea{min-height:75px;resize:vertical}.entry-form button{justify-self:start}.entries{display:grid;gap:10px}.entry{display:flex;justify-content:space-between;gap:16px;align-items:center}.entry p{margin:3px 0;color:var(--muted);font-size:.86rem}.entry button{background:transparent;color:#8b3529;padding:.5rem}.badge{display:inline-block;background:#e4eee9;border-radius:999px;padding:.18rem .55rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:.75rem 1rem;border-radius:12px;opacity:0;pointer-events:none;transition:.2s}#message.show{opacity:1}footer{text-align:center;color:var(--muted);font-size:.75rem;padding:30px}@media(max-width:700px){header{min-height:86px;padding:16px}.header-actions{gap:8px}.header-actions a{font-size:.8rem}.section-heading{align-items:center}.two-column{grid-template-columns:1fr}.entry-form{grid-template-columns:1fr}.entry-form .wide{grid-column:auto}.metric strong{font-size:1.55rem}main{margin-top:20px}.entry{align-items:start}}.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.insight-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;color:var(--ink);text-align:left;box-shadow:var(--shadow);min-height:180px}.insight-card:hover,.insight-card:focus-visible{border-color:#789a90;transform:translateY(-1px)}.card-title{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:800}.chevron{margin-left:auto;font-size:1.8rem;color:var(--muted)}.card-body{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1fr);gap:16px;align-items:end;margin-top:24px}.card-body strong{display:block;font-family:Georgia,serif;font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.05}.card-body small{display:block;color:var(--muted);font-size:.78rem;margin-top:8px}.spark{width:100%;height:70px;overflow:visible}.mini-empty{font-size:.75rem;color:var(--muted);text-align:center}dialog{width:min(820px,calc(100% - 24px));max-height:calc(100vh - 24px);border:1px solid var(--line);border-radius:28px;background:var(--paper);color:var(--ink);padding:28px;box-shadow:0 30px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(10,20,18,.65);backdrop-filter:blur(4px)}.detail-header{display:flex;align-items:start;justify-content:space-between}.detail-header h2{font-size:2.5rem}.detail-header button{font-size:1.8rem;background:var(--card);width:48px;height:48px;padding:0}.range-tabs{display:flex;gap:8px;margin:8px 0 24px}.range-tabs button{background:var(--card)}.range-tabs button.active{background:var(--green);color:#fff}.period-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;margin:0 0 18px}.period-nav strong{text-align:center}.period-nav button{background:var(--card);font-size:1.5rem;padding:.45rem}.period-nav button:disabled{opacity:.35;cursor:not-allowed}.detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.detail-stats>div,.detail-chart,.stage-chart{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.detail-stats span{display:block;color:var(--muted);font-size:.8rem}.detail-stats strong{font-size:1.4rem}.detail-chart{margin-top:14px}.detail-chart .spark{height:150px}.chart-readout{min-height:1.5em;color:var(--green);font-weight:750;font-size:.85rem}.chart-canvas{position:relative}.chart-tooltip{position:absolute;z-index:2;top:4px;transform:translateX(-50%);min-width:92px;background:var(--green);color:#fff;border-radius:12px;padding:8px 10px;text-align:center;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.22)}.chart-tooltip span,.chart-tooltip strong{display:block}.chart-tooltip span{font-size:.68rem;white-space:nowrap}.chart-tooltip strong{font-size:1.15rem}.interactive-chart{width:100%;height:auto;touch-action:pan-y}.interactive-chart .grid line{stroke:var(--line);stroke-width:1}.interactive-chart text{fill:var(--muted);font-size:11px}.line-chart .marks polyline{fill:none;stroke:#419788;stroke-width:3}.line-chart .marks circle{fill:var(--card);stroke:#419788;stroke-width:3;cursor:pointer}.bar-chart .marks rect{fill:#7893e9;cursor:pointer}.interactive-chart .marks .selected{fill:var(--coral);stroke:var(--coral)}.chart-crosshair{stroke:var(--green);stroke-width:2;stroke-dasharray:4 3}.chart-hit-area{fill:transparent;pointer-events:all;cursor:crosshair}.x-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.68rem;gap:12px}.stage-chart{margin-top:14px}.stage-chart svg{width:100%;height:auto}.stage-legend{display:flex;justify-content:space-around;color:var(--muted);font-size:.72rem}@media(max-width:700px){.insight-grid{grid-template-columns:1fr}.insight-card{min-height:160px}.card-body{grid-template-columns:1fr 1fr}dialog{padding:20px}.detail-header h2{font-size:2rem}}.insight-card.bmi-healthy{border-color:#73aa98}.insight-card.bmi-healthy .card-body strong{color:#26765f}.insight-card.bmi-under{border-color:#7da5c4}.insight-card.bmi-under .card-body strong{color:#376f99}.insight-card.bmi-over{border-color:#d2a45f}.insight-card.bmi-over .card-body strong{color:#98601f}.insight-card.bmi-high{border-color:#d78a79}.insight-card.bmi-high .card-body strong{color:#a34031}.healthy-band{fill:#b9d8ca;opacity:.42}.interactive-chart .healthy-label{fill:#26765f;font-weight:750}.line-chart .marks circle.bmi-under{fill:#6799bf;stroke:#376f99}.line-chart .marks circle.bmi-healthy{fill:#68ac94;stroke:#26765f}.line-chart .marks circle.bmi-over{fill:#d2a45f;stroke:#98601f}.line-chart .marks circle.bmi-high{fill:#d87867;stroke:#a34031}.line-chart .marks circle.selected{stroke:var(--ink);stroke-width:4}.bmi-guidance{color:var(--muted);font-size:.8rem;margin:14px 4px 0}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}