.health-overview{--p0:#be694d;--p1:#477fa7;color:#23372e;padding:10px 0 32px}.overview-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 0 28px}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:#728079;margin:0 0 10px}.overview-hero h1{font:normal clamp(32px,4.5vw,56px)/1.08 var(--on-display-font);letter-spacing:-.035em;margin:0 0 14px}.overview-hero p:not(.eyebrow){margin:0;color:#6d7d74;font-size:14px}.overview-date{display:grid;gap:7px;text-align:right;flex-shrink:0;padding-bottom:3px}.overview-date strong{font-size:14px}.overview-date span{font-size:11px;color:#728079}
.sleep-people-key{display:flex;gap:20px;font-size:10px;color:#758078;margin-bottom:12px}.sleep-people-key span{display:flex;align-items:center;gap:6px}.sleep-people-key i{width:6px;height:6px;border-radius:50%}

.sync-rail{display:flex;gap:22px;align-items:center;padding:19px 22px;background:#fff;border:1px solid #dce5de;border-radius:16px}.sync-person{display:flex;gap:10px;align-items:center;min-width:0;flex:1}.person-initial{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#f9ece5;color:var(--p0);font:20px var(--on-display-font);flex-shrink:0}.person-1 .person-initial{background:#eaf0f6;color:var(--p1)}.sync-person strong{display:block;font-size:12px}.sync-person div>span{display:block;color:#77877d;font-size:10px;margin-top:3px}.sync-mini{display:flex;gap:3px;margin-left:8px}.sync-mini i{width:5px;height:16px;border-radius:2px;background:#e5ebe7}.sync-mini i.has-data{background:var(--p0);opacity:.55}.person-1 .sync-mini i.has-data{background:var(--p1)}.health-chart:focus-visible{outline:2px solid #287967;outline-offset:3px}
.overview-jumps{display:flex;gap:22px;padding:17px 2px 5px;overflow:auto}.overview-jumps a{font-size:11px;color:#6e7d73;text-decoration:none;white-space:nowrap}.overview-jumps a:hover{color:#244936}.visual-section{margin-top:68px;scroll-margin-top:110px}
.visual-section--lead{margin-top:26px}.viz-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}
.viz-tools{display:flex;justify-content:flex-end;margin-bottom:18px}.viz-heading h2{font:normal clamp(28px,2.6vw,34px) var(--on-display-font);letter-spacing:-.03em;margin:0}.viz-heading .eyebrow{margin-bottom:7px}.section-note,.viz-heading>a{font-size:11px;color:#78857d}.viz-heading>a{color:#32664e;text-decoration:none}.chart-grid{display:grid;gap:16px}.chart-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.viz-card{min-width:0;background:#fff;border:1px solid #dde6df;border-radius:17px;padding:20px 20px 14px;box-shadow:0 4px 18px #244b3510}.viz-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.viz-card h3{margin:0;font-size:13px;font-weight:650;letter-spacing:-.01em}
.health-chart{position:relative;min-height:177px;outline:none;touch-action:pan-y}.health-chart svg{display:block;width:100%;overflow:visible}.health-chart .axis-label{fill:#86928a;font:10px var(--on-font)}.health-chart .grid-line{stroke:#edf1ee;stroke-width:1}.health-chart .series-path{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;color:#9aa69e;font-size:11px}.chart-tooltip{position:absolute;z-index:10;top:12px;left:35px;max-width:calc(100% - 45px);padding:9px 12px;background:#203a2ded;border-radius:9px;color:white;font-size:11px;line-height:1.65;box-shadow:0 6px 15px #203a2d22;pointer-events:none;white-space:pre-line}.chart-cursor{stroke:#a4b4a9;stroke-width:1;stroke-dasharray:3 3;pointer-events:none}
.sleep-overview .sleep-overview-header{margin:0 0 17px;padding:0}.sleep-overview .on-page-title{font-size:27px;letter-spacing:-.025em}.sleep-overview .on-page-kicker{font-size:10px;letter-spacing:.16em}.sleep-overview .on-page-subtitle{font-size:11px}.sleep-overview .sleep-date-badge{min-width:0}.sleep-overview .sleep-date-badge strong{font-size:13px}.sleep-overview .shared-sleep{box-shadow:0 4px 18px #244b3510}.sleep-details{margin-top:16px;border:1px solid #dde6df;border-radius:14px;background:#ffffff80;padding:15px 20px}.sleep-details>summary{cursor:pointer;font-size:12px;color:#55705f}.sleep-details .overview-section{margin-top:18px}.sleep-details .section-heading{display:none}.sleep-details .household-person{box-shadow:none}
.date-picker{display:flex;gap:10px;align-items:center;font-size:11px;color:#748277;margin-left:auto}.date-picker input{border:1px solid #dce5de;border-radius:8px;padding:8px;background:white;font:12px var(--on-font);color:#355441;max-width:155px}.pulse-person{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:center}.pulse-person+.pulse-person{border-top:1px solid #edf1ee;margin-top:10px;padding-top:10px}.pulse-identity strong{display:block;font-size:13px;color:var(--person)}.pulse-identity span{display:block;font-size:10px;color:#88958c;margin-top:7px;line-height:1.6}.pulse-identity b{font:normal 26px var(--on-display-font);color:var(--person)}.pulse-person .health-chart{min-height:180px}.overview-footnote{font-size:10px;line-height:1.7;color:#8b998f;margin:30px 0 0;padding-top:18px;border-top:1px solid #dce5de}
@media(max-width:1000px){.sync-mini{display:none}.sync-rail{gap:14px;padding:16px}.chart-grid.three{gap:12px}.viz-card{padding:16px 13px 12px}.section-note{max-width:220px;text-align:right}}
@media(max-width:700px){.overview-hero{align-items:flex-start;padding:16px 0 22px;gap:12px}.overview-hero h1{font-size:35px}.overview-date{padding-top:4px}.overview-date strong{font-size:11px}.overview-date span{font-size:9px;max-width:110px}.sync-rail{flex-wrap:wrap;gap:16px}.sync-person{min-width:40%}.overview-jumps{gap:18px}.chart-grid.three,.chart-grid.two{grid-template-columns:1fr}.viz-card{padding:20px}.metric-values{gap:24px}.visual-section{margin-top:30px}.viz-heading{align-items:flex-start}.viz-heading h2{font-size:25px}.section-note{font-size:10px;max-width:135px;line-height:1.5}.pulse-person{grid-template-columns:1fr;gap:0}.pulse-identity{display:flex;gap:14px;align-items:center}.pulse-identity span{margin:0}.pulse-identity b{font-size:19px}.date-picker{display:grid;gap:5px}.date-picker input{font-size:11px;padding:6px}.change-card>header{align-items:flex-start}.change-key{font-size:9px}#weekly-changes{gap:18px 12px}.change-metric{padding-left:12px}.sleep-overview .sleep-overview-header{align-items:flex-start}.sleep-overview .sleep-date-badge{max-width:120px}.sleep-overview .sleep-date-badge strong{font-size:11px}.sleep-overview .sleep-date-badge small{font-size:9px}.overview-footnote{font-size:9px}}

/* --- visual conclusions: spread and mean read without a single number --- */






/* --- rhythm: one idea per band, air between bands --- */
.overview-jumps{padding:20px 2px 5px}




#night .on-page-title{font-size:clamp(30px,3vw,40px);letter-spacing:-.03em}
#night .on-page-kicker{margin-bottom:10px}
.overview-footnote{text-align:center;margin-top:56px}
@media(max-width:700px){.visual-section{margin-top:44px}#night .on-page-title{font-size:30px}}

/* --- baseline matrix: one row per metric, one track per person --- */
.baseline{position:relative;background:#fff;border:1px solid #dde6df;border-radius:17px;
  padding:20px 24px 12px;box-shadow:0 4px 18px #244b3510}
.baseline svg{display:block;width:100%;overflow:visible}
.hm-name{font:600 12.5px var(--on-font);fill:#23372e}
.hm-unit{font:10px var(--on-font);fill:#89958e}
.hm-rule{stroke:#eef2ef;stroke-width:1}
.hm-who{stroke:none}

.hm-none{font:11px var(--on-font);fill:#9aa69e}



@media(max-width:700px){.baseline{padding:16px 14px 10px}.hm-name{font-size:11.5px}}

/* --- calendar matrix: x is time, colour depth is value, position is person --- */
.hm-axlabel{font:600 10px var(--on-font);fill:#7c8a82;letter-spacing:.04em}
.hm-tick{stroke:#dfe6e1;stroke-width:1}
.hm-todayline{stroke:#7c8a82;stroke-width:1;stroke-dasharray:2 3;opacity:.75;pointer-events:none}
.hm-cell{transition:none}
.hm-cell.is-missing{stroke:none}
.hm-who-0{fill:var(--p0)}
.hm-who-1{fill:var(--p1)}

/* --- click panel: one date, both people --- */
.baseline-detail{margin:18px -24px -12px;padding:16px 24px 18px;border-top:1px solid #eef2ef;
  background:#fbfcfb;border-radius:0 0 16px 16px}
.baseline-detail>header{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.baseline-detail>header strong{font:600 15px var(--on-display-font);color:#23372e}
.baseline-detail>header span{font-size:12px;color:#7c8980}
.baseline-detail>header button{margin-left:auto;border:0;background:transparent;cursor:pointer;
  font-size:17px;line-height:1;color:#9aa69e;padding:2px 6px;border-radius:6px}
.baseline-detail>header button:hover{background:#eef2ef;color:#23372e}
.bd-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bd-person{display:grid;grid-template-columns:1fr;gap:2px;padding-left:13px;
  border-left:3px solid var(--p)}
.bd-name{font-size:11px;color:#7c8980}
.bd-person strong{font:normal 27px/1.15 var(--on-display-font);color:var(--p);
  font-variant-numeric:tabular-nums;margin-top:2px}
.bd-person strong small{font:400 12px var(--on-font);color:#89958e}
.bd-meta{font-size:10px;color:#8b998f;margin-top:4px}
.bd-none{grid-column:1/-1;font-size:12px;color:#9aa69e;margin:0}
.hm-hit{cursor:pointer}
.hm-hit.is-active{fill:#23372e14}
@media(max-width:700px){.bd-rows{grid-template-columns:1fr}
  .baseline-detail{margin:14px -14px -10px;padding:14px}
  .baseline{padding:16px 14px 10px}
  .hm-name{font-size:11.5px}}
