:root{--text:#121926;--muted:#4a556d;--sleep-accent:#4f69da;--sleep-overlay:#6c79e9;--sleep-overlay-muted:#9da7ef;--recovery-accent:#1f8e9d;--recovery-overlay-muted:#78b4be;--activity-accent:#d97e23;--activity-overlay:#e4a35f;--subjective-accent:#8b5ca6;--label-accent:#607089;--sheet-bg:#f5f4f1;--sheet-line:#4a5d7c26;--sheet-line-strong:#3b4e6c42;--sheet-weekend:#4c5f7e08;--sheet-toolbar-bg:#f5f4f1;--sheet-control-bg:#fdfefe;--sheet-control-border:#40537061;--sheet-control-radius:2px;--page-pad:1.25rem;--row-gap:0;--label-width:118px;--today-band:#4f69da0f;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--sheet-bg);min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}.page{flex-direction:column;gap:0;min-height:100vh;padding:0;display:flex;position:relative}.timeline-header,.timeline-surface{width:100%}.timeline-header{padding:.35rem var(--page-pad);background:var(--sheet-bg);flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.timeline-surface{flex-direction:column;display:flex}.timeline-header h1{letter-spacing:.01em;color:var(--text);margin:0;font-size:1.04rem;font-weight:600}.factor-filter-row{border-bottom:1px solid var(--sheet-line);padding:.22rem var(--page-pad)}.factor-filter-bar{flex-wrap:wrap;align-items:center;gap:.28rem;display:flex}.factor-filter-pill{color:#2a4d10;cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:#5a963212;border:1px solid #5082284d;border-radius:3px;align-items:center;gap:.22rem;height:20px;padding:0 .42rem;font-size:.62rem;font-weight:600;transition:background .1s,border-color .1s;display:flex}.factor-filter-pill:hover{background:#5a963229}.factor-filter-pill.active{color:#1a3508;background:#5a96323d;border-color:#508228a6}.settings-btn{color:#3a52b0;letter-spacing:.03em;cursor:pointer;white-space:nowrap;background:#4f69da0d;border:1px solid #4f69da47;border-radius:4px;flex-shrink:0;height:26px;padding:0 .7rem;font-size:.7rem;font-weight:600}.settings-btn:hover{background:#4f69da1c}.settings-panel{top:calc(100% + 4px);right:var(--page-pad);z-index:200;border:1px solid var(--sheet-line-strong);background:#fff;border-radius:4px;flex-direction:column;gap:.75rem;min-width:180px;padding:.6rem .75rem;display:flex;position:absolute;box-shadow:0 4px 16px #141e3c1a}.settings-group{flex-direction:column;gap:.3rem;display:flex}.settings-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.1rem;font-size:.62rem;font-weight:600}.settings-row{color:var(--text);cursor:pointer;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.settings-row input{cursor:pointer;width:13px;height:13px;margin:0}.settings-cache-status{color:var(--muted);margin-bottom:.1rem;font-size:.7rem}.settings-actions{gap:.4rem;display:flex}.settings-actions button:disabled{opacity:.55;cursor:default}.settings-actions button{border:1px solid var(--sheet-control-border);background:var(--sheet-control-bg);color:#2c3d57;border-radius:var(--sheet-control-radius);cursor:pointer;flex:1;height:24px;padding:0 .5rem;font-size:.68rem}.settings-actions button:hover{background:#eef1f7}.timeline-scroll{--lane-row-height:92px;--sleep-row-height:110px;background:0 0;border:0;overflow-x:auto}.date-header-row,.lane-row{min-width:calc(var(--label-width,110px) + var(--day-count) * var(--day-col-width));display:flex}.date-header-row{z-index:30;background:var(--sheet-bg);border-bottom:1px solid var(--sheet-line);margin-bottom:.25rem;position:sticky;top:0}.lanes-host{flex-direction:column;padding-bottom:.75rem;display:flex}.lane-row{border-bottom:1px solid var(--sheet-line)}.lane-row:last-child{border-bottom:0}.lanes-host .lane-row:nth-child(odd){background:0 0}.lane-label{min-width:var(--label-width,118px);width:var(--label-width,118px);border-right:1px solid var(--sheet-line);background:var(--sheet-bg);flex-shrink:0;align-items:center;gap:.3rem;padding:.35rem .4rem .35rem .55rem;display:flex;position:relative}.lane-label-button{color:inherit;text-align:left;cursor:pointer;border:0;font-family:inherit;transition:background .12s}.lane-label-button:hover{background:#506eb40d}.lane-label-button:focus-visible{outline-offset:-2px;outline:2px solid #4f69da66}.lane-label-collapsed .lane-title{color:#6b7a90}.lane-label-chevron{color:#9aa7bc;opacity:.55;flex-shrink:0;margin-left:auto;font-size:.72rem;line-height:1;transition:opacity .12s,color .12s}.lane-label-button:hover .lane-label-chevron{opacity:1;color:#42556f}.sticky-col{z-index:20;background:inherit;position:sticky;left:0}.lane-row .sticky-col,.lanes-host .lane-row:nth-child(odd) .sticky-col{background:var(--sheet-bg)}.date-header-row .sticky-col{z-index:31;background:var(--sheet-bg)}.date-header-row .lane-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);opacity:.6;align-items:flex-end;padding-bottom:.3rem;font-size:.6rem}.lane-title-wrap{gap:.08rem;min-width:0;display:grid}.lane-label-row-active{box-shadow:inset 2px 0 #506eb466}.lane-title{text-transform:none;letter-spacing:.01em;color:#2e3d52;font-size:.72rem;font-weight:600;line-height:1.15}.lane-subtitle{letter-spacing:.02em;color:#8391a8;font-size:.58rem}.lane-subtitle-rpe{color:#a01f30}.lane-subtitle-ps{color:#6b3d8a}.lane-title-wrap-pinned{align-self:stretch;width:100%;position:relative}.date-grid,.lane-grid,.lane-hit-grid{min-width:calc(var(--day-count) * var(--day-col-width));width:calc(var(--day-count) * var(--day-col-width));grid-template-columns:repeat(var(--day-count), var(--day-col-width));display:grid}.date-grid{background:0 0}.date-cell{flex-direction:column;justify-content:flex-end;align-items:center;min-height:44px;padding-bottom:.3rem;display:flex;position:relative}.date-cell-weekday{color:var(--muted);opacity:.65;letter-spacing:.04em;font-size:.52rem;line-height:1.1}.date-cell-num{color:#3a4d68;font-size:.7rem;font-weight:500;line-height:1.1}.date-cell-month{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;font-size:.5rem;font-weight:700;position:absolute;top:.15rem;left:50%;transform:translate(-50%)}.date-cell.week-start,.lane-day-cell.week-start{border-left:1px solid #3b4e6c24}.date-cell.weekend,.lane-day-cell.weekend{background:var(--sheet-weekend)}.lane-content{min-width:calc(var(--day-count) * var(--day-col-width))}.lane-body{position:relative}.lane-day-cell{height:var(--lane-row-height,92px);place-items:center;padding:.3rem .28rem;display:grid}.lane-day-cell.inactive{background:repeating-linear-gradient(-45deg,#5d697f0f,#5d697f0f 2px,#0000 2px 7px)}.lane-day-cell.quiet{opacity:.4}.lane-svg-shell{height:var(--lane-row-height,92px);position:relative}.lane-svg{width:calc(var(--day-count) * var(--day-col-width));pointer-events:none;height:100%;position:absolute;inset:0}.today-band{fill:var(--today-band)}.sleep-bar{fill:#4f69da70}.sleep-score-line{fill:none;stroke:var(--sleep-overlay);stroke-width:1.2px}.sleep-score-dot{fill:var(--sleep-overlay)}.sleep-score-cycle-line{fill:none;stroke:var(--sleep-overlay-muted);stroke-width:1px;stroke-dasharray:3 2}.sleep-score-cycle-dot{fill:var(--sleep-overlay-muted)}.availability-span{fill:#607cdc08}.recovery-guide{stroke:#1f8e9d4d;stroke-width:.7px;stroke-dasharray:2 3}.recovery-rhr-line{fill:none;stroke:#2f9ca8;stroke-width:1.1px}.recovery-hrv-line{fill:none;stroke:#2d7f88;stroke-width:1.05px}.recovery-rhr-dot,.recovery-hrv-dot{fill:#fff;stroke-width:1px}.recovery-rhr-dot{stroke:#2f9ca8}.recovery-hrv-dot{stroke:#2d7f88}.recovery-rhr-dot.clipped,.recovery-hrv-dot.clipped{fill:#ffdce0}.recovery-rhr-outlier-ring,.recovery-hrv-outlier-ring{fill:none;stroke:#d04254a6;stroke-width:1px}.activity-grid .lane-day-cell{gap:.32rem}.activity-blob{color:#a65e1f;background:#d97e2333;border:1px solid #d97e238f;border-radius:2px;place-items:center;font-size:.5rem;font-weight:700;display:grid}.activity-blob.quiet{background:#919caf24}.ps-marker{border-radius:50%;width:6px;height:6px}.subjective-pack{align-items:center;gap:.22rem;display:flex}.subjective-dot{border-radius:1px;width:6px;height:6px}.subjective-chip{color:#704788;background:#8b5ca61a;border-radius:2px;padding:.07rem .24rem;font-size:.52rem}.labels-events-lane .lane-day-cell{align-items:start;gap:.14rem;padding-top:.3rem}.labels-wrap,.events-wrap{flex-wrap:wrap;justify-content:center;gap:.15rem;display:flex}.label-pill{color:#475b79;background:#6070891f;border:1px solid #50607a29;border-radius:2px;padding:.1rem .24rem;font-size:.5rem;line-height:1}.event-marker{color:#62728e;font-size:.52rem}.lane-hit-grid{position:absolute;inset:0}.lane-hit{cursor:pointer;background:0 0;border:0;margin:0;padding:0}.lane-hit:hover{background:0 0}.lane-collapsed-note{color:#8d9db5;align-items:center;min-height:28px;padding:0 .5rem;font-size:.68rem;font-style:italic;display:grid}.timeline-tooltip{z-index:90;color:#f4f8ff;width:min(320px,95vw);box-shadow:none;pointer-events:none;background:#101522;border:1px solid #9baac233;border-radius:2px;padding:.45rem .54rem;font-size:.69rem;position:fixed}.tooltip-date{font-weight:700}.tooltip-lane{color:#9ba8bf;margin:.1rem 0 .4rem}.tooltip-list{gap:.15rem;display:grid}.tooltip-row{justify-content:space-between;gap:.8rem;display:flex}.tooltip-tags{flex-wrap:wrap;gap:.26rem;margin-top:.4rem;display:flex}.tooltip-tags .chip{background:#ffffff24;border-radius:999px;padding:.1rem .34rem}.tooltip-events{color:#c8d2e4;margin-top:.35rem}.drawer-overlay{z-index:100;background:#090d164d;justify-content:end;display:grid;position:fixed;inset:0}.day-drawer{width:min(460px,100vw);height:100%;box-shadow:none;background:#fff;border-left:1px solid #cbd6e4;padding:1rem .95rem 1.25rem;position:relative;overflow:auto}.drawer-close{border:1px solid var(--sheet-control-border);cursor:pointer;background:#fff;border-radius:2px;width:28px;height:28px;margin-left:auto;display:block;position:sticky;top:0}.drawer-content h3{margin:.1rem 0 .7rem}.drawer-content section{border-top:1px solid #ebeff6;margin-top:.6rem;padding-top:.5rem}.drawer-content h4{margin:0 0 .35rem;font-size:.81rem}.drawer-row{justify-content:space-between;gap:.65rem;padding:.16rem 0;font-size:.75rem;display:flex}.drawer-row span{color:#54627b}.drawer-grid{display:grid}.level-1{background:#dbc0e8}.level-2{background:#c89fde}.level-3{background:#ad77cc}.level-4{background:#9157b2}.level-5{background:#7b4499}.factors-lane .lane-day-cell{align-items:start;gap:.1rem;height:auto;min-height:36px;padding-top:.25rem}.factors-wrap{flex-wrap:wrap;justify-content:center;gap:.12rem;display:flex}.factor-pill{color:#2a4d10;text-transform:lowercase;background:#5a96322e;border:1px solid #5082284d;border-radius:2px;padding:.1rem .26rem;font-size:.56rem;font-weight:600;line-height:1.1}.sports-lane{flex-direction:column;display:flex}.sports-subrow{flex:1;min-height:0}.sports-lane--actual-only .sports-subrow{flex:none}.sports-subrow--planned{border-bottom:1px solid var(--sheet-line)}.sports-lane .lane-day-cell{place-items:center;gap:0;height:auto;min-height:28px;padding:.2rem}.lane-subtitle-sports-planned,.lane-subtitle-sports-real{letter-spacing:.02em;color:#788499;font-size:.6rem;font-weight:600}.sports-wrap{flex-wrap:wrap;justify-content:center;gap:.12rem;display:flex}.sport-pill{text-transform:lowercase;letter-spacing:.01em;border-radius:2px;padding:.1rem .28rem;font-size:.58rem;font-weight:700;line-height:1.1}.sport-pill--planned{opacity:.65;border-style:dashed!important}.sport-pill[data-sport=run]{color:#8b2200;background:#dc501e24;border:1px solid #dc501e59}.sport-pill[data-sport=bike]{color:#005a8a;background:#1e78c821;border:1px solid #1e78c84d}.sport-pill[data-sport=swim]{color:#005a4a;background:#14a08221;border:1px solid #14a0824d}.sport-pill[data-sport=gym],.sport-pill[data-sport=strength]{color:#5a2080;background:#8c50c81f;border:1px solid #8c50c84d}.sport-pill[data-sport=walk]{color:#4a4a00;background:#a0a01424;border:1px solid #8c8c1452}.sport-pill[data-sport=hike]{color:#3a4a00;background:#78961424;border:1px solid #78961452}.sport-pill[data-sport=mobility]{color:#004a5a;background:#1482a01f;border:1px solid #1482a04d}.sport-pill{color:#1a3a5e;background:#1e64b41c;border:1px solid #1e64b440}.rpe-ps-lane,.rpe-ps-lane .lane-day-cell{height:64px}.rpe-pip-filled{fill:#c0293c9e}.ps-pip-filled{fill:#8b5ca69e}.rpe-pip-empty{fill:#c0293c1a;stroke:#c0293c38;stroke-width:.6px}.ps-pip-empty{fill:#8b5ca61a;stroke:#8b5ca638;stroke-width:.6px}.rpe-ps-pip-label{pointer-events:none;fill:#50505066;font-size:7px;font-weight:600}.rpe-verbal-label{pointer-events:none;fill:#a01f30;letter-spacing:.02em;font-size:7px;font-weight:700}.ps-verbal-label{pointer-events:none;fill:#6b3d8a;letter-spacing:.02em;font-size:7px;font-weight:700}.mood-lane,.mood-lane .lane-day-cell{height:44px}.mood-pip-filled--low{fill:#c4596e9e}.mood-pip-empty--low{fill:#c4596e14;stroke:#c4596e2e;stroke-width:.6px}.mood-pip-filled--neutral{fill:#78849699}.mood-pip-empty--neutral{fill:#78849614;stroke:#7884962e;stroke-width:.6px}.mood-pip-filled--high{fill:#248e7a9e}.mood-pip-empty--high{fill:#248e7a14;stroke:#248e7a2e;stroke-width:.6px}.mood-pip-filled--best{fill:#d4a520d9}.mood-pip-empty--best{fill:#d4a5201a;stroke:#d4a52047;stroke-width:.6px}.mood-pip-label{pointer-events:none;fill:#50505066;font-size:7px;font-weight:600}.mood-verbal-label{pointer-events:none;letter-spacing:.02em;font-size:7px;font-weight:700}.mood-verbal-label--low{fill:#a3445a}.mood-verbal-label--neutral{fill:#5e6a7e}.mood-verbal-label--high{fill:#1f6f5e}.mood-verbal-label--best{fill:#b88410}.mood-best-star-bg{fill:#d4a5202e;stroke:#d4a52099;stroke-width:.6px}.mood-best-star{pointer-events:none;fill:#b88410;font-size:5px;font-weight:700}.lane-subtitle-mood{color:#1f6f5e}.sparkline-guide{stroke:#50648c24;stroke-width:.6px;stroke-dasharray:2 3}.sparkline-line{fill:none;stroke:#4a7fc7;stroke-width:1.1px}.sparkline-dot{fill:#fff;stroke:#4a7fc7;stroke-width:1px}.sparkline-dot.clipped{fill:#ffdce0}.sparkline-outlier-ring{fill:none;stroke:#d04254a6;stroke-width:1px}.lane-value-label{letter-spacing:0;pointer-events:none;opacity:.4;font-size:8px;font-weight:600;transition:opacity .1s}.lane-value-label.hovered{opacity:1}.sleep-value-label{fill:var(--sleep-overlay)}.hr-value-label{fill:#c0293c}.hrv-value-label{fill:#b86200}.hr-guide{stroke:#c0293c1f;stroke-width:.6px;stroke-dasharray:2 3}.hr-line{fill:none;stroke:#e0364c;stroke-width:1.1px}.hr-heart{fill:#e0364c;pointer-events:none}.hr-outlier-ring{fill:none;stroke:#c0293c80;stroke-width:1px}.hrv-guide{stroke:#b862001f;stroke-width:.6px;stroke-dasharray:2 3}.hrv-line{fill:none;stroke:#d4730a;stroke-width:1.1px}.hrv-dot{fill:#fff;stroke:#d4730a;stroke-width:1.1px}.hrv-dot.clipped{fill:#ffecd0}.hrv-outlier-ring{fill:none;stroke:#d4730a8c;stroke-width:1px}.blob-lane,.blob-lane .lane-day-cell{height:58px}.blob-circle-calories{fill:#c86e1c85;stroke:none}.blob-label-calories{fill:#4a2806;pointer-events:none;opacity:.85;font-size:8px;font-weight:700}.blob-circle-steps{fill:#16a382b3;stroke:none}.blob-label-steps{fill:#073d31;pointer-events:none;opacity:.85;font-size:8px;font-weight:700}.blob-label-calories.hovered,.blob-label-steps.hovered{opacity:1}.cal-rpe-lane,.cal-rpe-lane .lane-day-cell{height:80px}.cal-rpe-track{fill:none;stroke:#a8442e1f;stroke-linecap:round}.cal-rpe-arc{fill:none;stroke:#a8442e9e;stroke-linecap:round}.cal-rpe-cal-blob{fill:#a8442e2e;stroke:none}.cal-rpe-cal-label{letter-spacing:-.01em;pointer-events:none;fill:#5a2210;opacity:0;font-size:10px;font-weight:700;transition:opacity .1s}.cal-rpe-cal-label.hovered{opacity:1}.cal-rpe-rpe-label{pointer-events:none;fill:#a8442ed9;letter-spacing:.01em;opacity:0;font-size:8px;font-weight:700;transition:opacity .1s}.cal-rpe-rpe-label.hovered{opacity:1;fill:#7d2f1c}.subjective-ring-lane,.subjective-ring-lane .lane-day-cell{height:80px}.subjective-ps-track{fill:none;stroke:#8b5ca621;stroke-linecap:round}.subjective-ps-arc{fill:none;stroke:#8b5ca6a6;stroke-linecap:round}.subjective-mood-track{fill:none;stroke:#248e7a1f;stroke-linecap:round}.subjective-mood-arc{fill:none;stroke:#248e7aad;stroke-linecap:round}.subjective-mood-best-bg{fill:#d4a72c2e;stroke:#b884108c;stroke-width:1px}.subjective-mood-best-star{fill:#b88410;pointer-events:none;font-size:14px}.subjective-mood-label{fill:#226857;opacity:0;pointer-events:none;paint-order:stroke;stroke:#ffffff80;stroke-width:2px;stroke-linejoin:round;font-size:9px;font-weight:700;transition:opacity .1s}.subjective-mood-label.hovered{opacity:1}.subjective-ps-label{fill:#5d3a82;pointer-events:none;letter-spacing:.01em;opacity:0;font-size:8px;font-weight:700;transition:opacity .1s}.subjective-ps-label.hovered{opacity:1}.sleep-lhr-block{fill:#c0293c0a;stroke:#c0293c38;stroke-width:.5px}.sleep-lhr-block--filled{stroke-width:0;opacity:.85}.sleep-lhr-block--early{fill:#e87a85}.sleep-lhr-block--mid{fill:#c0293c}.sleep-lhr-block--late{fill:#771a26}.sleep-lhr-label{fill:#771a26;pointer-events:none;paint-order:stroke;stroke:#ffffffb3;stroke-width:2px;stroke-linejoin:round;font-size:8px;font-weight:700}.sleep-dur-bar-label{fill:#4258a8;pointer-events:none;opacity:.45;font-size:8px;font-weight:600}.sleep-dur-bar-label.hovered{opacity:1}.sleep-lane-tall,.sleep-lane-tall .lane-day-cell{height:var(--sleep-row-height,110px)}.sleep-svg{height:100%!important}.rhr-line{fill:none;stroke:#c0293c;stroke-width:1.1px;stroke-dasharray:none}.rhr-dot{fill:#fff;stroke:#c0293c;stroke-width:1.1px}.rhr-dot.clipped{fill:#ffdce0}.rhr-value-label{fill:#c0293c}.hr-rhr-line{fill:none;stroke:#c0293c59;stroke-width:1px;stroke-dasharray:3 2}.hr-rhr-dot{fill:#c0293c66;stroke:none}.hr-rhr-hover-bg{fill:#c0293c1a;stroke:#c0293c47;stroke-width:.5px}.rhr-hover-value-label{fill:#a01f30;font-size:8.5px;font-weight:700}.col-hover-band{fill:#506eb40f}.factors-lane .lane-day-cell.col-hovered,.sports-lane .lane-day-cell.col-hovered,.date-cell.col-hovered{background:#506eb40f}.factors-lane .lane-day-cell.col-today,.sports-lane .lane-day-cell.col-today,.date-cell.col-today{background:var(--today-band)}.factors-lane .lane-day-cell.col-today.col-hovered,.sports-lane .lane-day-cell.col-today.col-hovered{background:#506eb40f}.col-dim-band{fill:#ebeef4c7}.lane-day-cell.col-dimmed,.date-cell.col-dimmed{opacity:.18}.col-lit-band{fill:#5aa03212}.lane-day-cell.col-lit,.date-cell.col-lit{background:#5aa03214}.hrv-max-line{fill:none;stroke:#d4730a59;stroke-width:1px;stroke-dasharray:3 2}.hrv-max-dot{fill:#d4730a6b;stroke:none}.hrv-max-hover-bg{fill:#d4730a1a;stroke:#d4730a47;stroke-width:.5px}.hrv-max-hover-label{fill:#8a4d00;font-size:8.5px;font-weight:700}.sleep-cycle-hover-label{fill:var(--sleep-overlay-muted)}@media (width<=860px){.lane-label{width:90px;min-width:90px}.timeline-scroll{padding:0 .75rem}.timeline-header,.factor-filter-row{padding-left:.75rem;padding-right:.75rem}}.guide-panel{border-bottom:1px solid var(--sheet-line);background:0 0}.guide-panel-toggle{padding:.22rem var(--page-pad);cursor:pointer;text-align:left;width:100%;color:var(--muted);background:0 0;border:0;align-items:baseline;gap:.45rem;font-family:inherit;display:flex}.guide-panel-toggle:hover{color:var(--text)}.guide-panel-toggle-chevron{color:var(--muted);width:10px;font-size:.65rem;display:inline-block}.guide-panel-toggle-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:600}.guide-panel-toggle-hint{color:var(--muted);opacity:.7;font-size:.58rem}.guide-panel-body{padding:.15rem var(--page-pad) .55rem}.legend-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem 1.1rem;display:grid}.legend-card{align-items:center;gap:.55rem;min-width:0;padding:.15rem 0;display:flex}.legend-card-preview{flex-shrink:0;place-items:center;width:92px;height:40px;display:grid}.legend-card-text{flex-direction:column;gap:.08rem;min-width:0;display:flex}.legend-card-title{color:var(--text);letter-spacing:.01em;font-size:.68rem;font-weight:600}.legend-card-caption{color:var(--muted);font-size:.6rem;line-height:1.3}.legend-mini-svg{width:92px;height:40px;overflow:visible}.legend-mini{flex-wrap:wrap;justify-content:center;align-items:center;gap:.18rem;width:92px;height:40px;display:flex}.legend-mini-sports{flex-direction:column;gap:.15rem}@media (width<=1100px){.legend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=780px){.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.m-page{background:var(--sheet-bg);padding:0}.m-topbar{z-index:40;background:var(--sheet-bg);border-bottom:1px solid var(--sheet-line);justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .85rem;display:flex;position:sticky;top:0}.m-topbar-title{letter-spacing:.01em;color:var(--text);margin:0;font-size:1.02rem;font-weight:700}.m-topbar-menu-btn{color:#3a52b0;letter-spacing:.01em;cursor:pointer;background:#4f69da0f;border:1px solid #4f69da47;border-radius:6px;align-items:center;gap:.45rem;height:32px;padding:0 .7rem;font-family:inherit;font-size:.72rem;font-weight:600;display:inline-flex}.m-topbar-menu-btn.has-filter{color:#2a4d10;background:#5a963224;border-color:#5082288c}.m-topbar-menu-icon{flex-direction:column;gap:3px;width:14px;display:inline-flex}.m-topbar-menu-icon span{background:currentColor;border-radius:1px;height:2px;display:block}.m-view{flex-direction:column;gap:1rem;padding:.85rem .9rem 1.75rem;display:flex}.m-intro-card{padding:0 .2rem .05rem}.m-intro-card p{color:#334158;margin:0;font-size:.76rem;line-height:1.42}.m-metric-nav{flex-direction:column;gap:.35rem;display:flex}.m-section-kicker,.m-chart-mode-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.6rem;font-weight:800}.m-vital-card{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:.55rem;padding:0;display:flex}.m-vital-card-head{flex-direction:column;gap:.18rem;padding:0 .2rem;display:flex}.m-vital-card-title{letter-spacing:.01em;color:var(--text);margin:0;font-size:.92rem;font-weight:700}.m-vital-card-caption{color:var(--muted);min-height:1.792rem;margin:0;font-size:.64rem;line-height:1.4}.m-chart-mode-control{flex-direction:column;gap:.32rem;min-height:calc(.92rem + 28px);padding:0 .2rem;display:flex}.m-chart-mode-control--placeholder{visibility:hidden;pointer-events:none}.m-chart-mode-control--steps{visibility:visible;pointer-events:auto;justify-content:center}.m-steps-summary{align-items:stretch;gap:.5rem;display:flex}.m-steps-summary span{background:#16a38212;border:1px solid #16a38229;border-radius:9px;flex-direction:column;flex:1;gap:.08rem;min-width:0;padding:.34rem .45rem;display:flex}.m-steps-summary b{color:#084a3a;letter-spacing:-.02em;font-size:.78rem;line-height:1}.m-steps-summary em{color:#4a556d;font-size:.56rem;font-style:normal;line-height:1}.m-chart-mode-buttons{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.34rem;display:flex;overflow-x:auto}.m-chart-mode-buttons::-webkit-scrollbar{display:none}.m-chart-mode-btn{color:#2c3d57;cursor:pointer;white-space:nowrap;background:#ffffffa3;border:1px solid #40537047;border-radius:999px;height:28px;padding:0 .75rem;font-family:inherit;font-size:.66rem;font-weight:750}.m-chart-mode-btn.active{color:#fff;background:#243354;border-color:#243354}.m-week-grid{flex-direction:column;gap:4px;display:flex}.m-week-grid-header{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.m-week-grid-header-cell{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;opacity:.7;padding-bottom:.1rem;font-size:.5rem;font-weight:600}.m-week-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;height:64px;display:grid;position:relative}.m-week-row--dots{gap:0}.m-dot-row-svg{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.m-dot{pointer-events:none;z-index:2;border-radius:50%;width:10px;height:10px;position:absolute;left:50%;transform:translate(-50%,-50%)}.m-dot--primary{z-index:3;width:9px;height:9px}.m-dot--secondary{z-index:2;width:6px;height:6px}.m-dot--best{z-index:4;text-shadow:0 0 6px #d4a52073;background:0 0;border-radius:0;width:auto;height:auto;font-size:14px;font-weight:700;line-height:1}.m-dot--icon{z-index:3;background:0 0;border-radius:0;width:11px;height:11px}.m-dot-label{letter-spacing:-.01em;pointer-events:none;text-shadow:0 0 2px #fff,0 0 2px #fff;z-index:4;font-size:.5rem;font-weight:700;line-height:1;position:absolute;left:50%;transform:translate(-50%,-13px)}.m-dot-secondary-label{letter-spacing:-.01em;pointer-events:none;opacity:.75;text-shadow:0 0 2px #fff,0 0 2px #fff;z-index:4;font-size:.46rem;font-weight:600;line-height:1;position:absolute;left:50%;transform:translate(-50%,-11px)}.m-slot-bar{pointer-events:none;z-index:1;background:#0000000f;border-radius:3px;height:6px;position:absolute;left:4%;right:4%}.m-slot-bar--bottom{bottom:4px}.m-slot-bar--top{top:14px}.m-slot-bar-fill{border-radius:3px;height:100%;display:block}.m-slot-bar-label{letter-spacing:-.01em;white-space:nowrap;text-shadow:0 0 2px #ffffffe6;margin-bottom:1px;font-size:.48rem;font-weight:700;line-height:1;position:absolute;bottom:100%;left:0}.m-workout-dots{pointer-events:none;z-index:2;justify-content:center;gap:2px;display:flex;position:absolute;bottom:2px;left:0;right:0}.m-workout-dot{background:#7880948c;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 1px #ffffffb3}.m-workout-dot--more{color:#2c3d57;width:auto;height:10px;box-shadow:none;background:#78809433;border-radius:5px;align-items:center;padding:0 3px;font-size:.5rem;font-weight:700;line-height:10px;display:inline-flex}.m-workout-dot[data-sport=run]{background:#dc501ebf}.m-workout-dot[data-sport=bike]{background:#1e78c8bf}.m-workout-dot[data-sport=swim]{background:#14a082bf}.m-workout-dot[data-sport=gym],.m-workout-dot[data-sport=strength]{background:#8c50c8bf}.m-workout-dot[data-sport=walk]{background:#a0a014bf}.m-workout-dot[data-sport=hike]{background:#789614bf}.m-workout-dot[data-sport=mobility]{background:#1482a0bf}.m-slot-wrap{cursor:pointer;height:100%;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;min-width:0;padding:0;font-family:inherit;display:flex;position:relative}.m-slot-wrap:disabled{cursor:default}.m-slot-wrap.is-future,.m-slot-wrap.col-dimmed{opacity:.25}.m-slot-wrap.col-lit:before{content:"";z-index:0;background:#5aa0321f;border-radius:8px;position:absolute;inset:4px}.m-slot-wrap:hover:not(:disabled) .m-circle--filled,.m-slot-wrap:hover:not(:disabled) .m-circle--ring{filter:brightness(1.08)}.m-slot-wrap--dots{width:100%}.m-slot{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.m-slot--stack{box-sizing:border-box;flex-direction:column;gap:2px;padding:4px 2px}.m-circle{box-sizing:border-box;aspect-ratio:1;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.m-circle--ring{background:0 0;border:2px solid}.m-slot-text{z-index:1;pointer-events:none;justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.m-slot-text--stack{flex-direction:column;gap:1px}.m-slot-text--single{flex-direction:column}.m-slot-big{letter-spacing:-.02em;font-size:.92rem;font-weight:800;line-height:1}.m-slot-mid{letter-spacing:.01em;font-size:.62rem;font-weight:700;line-height:1}.m-slot-tiny{letter-spacing:.01em;opacity:.8;font-size:.52rem;font-weight:600;line-height:1}.m-slot-big--sleep{color:#0f1a55;text-shadow:0 0 2px #ffffffd9}.m-slot-mid--sleep{color:#2a3d9a;text-shadow:0 0 2px #ffffffd9}.m-slot-tiny--sleep{color:#3a52b0;text-shadow:0 0 2px #ffffffd9}.m-slot-num-on-dark{letter-spacing:-.01em;color:#6b0e20;text-shadow:0 0 2px #ffffffe6,0 0 2px #ffffffe6;font-size:.6rem;font-weight:800;line-height:1}.m-slot-num-on-dark--calories{color:#5a2210}.m-slot-num-on-dark--steps{color:#084a3a}.m-slot--cal-rpe{position:relative}.m-cal-rpe-svg{aspect-ratio:1;pointer-events:none;width:86%;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.m-cal-rpe-rpe-label{letter-spacing:-.01em;pointer-events:none;color:#a8442ebf;text-shadow:0 0 2px #ffffffe6,0 0 2px #ffffffe6;z-index:4;font-size:.48rem;font-weight:700;line-height:1;position:absolute;bottom:6%;right:6%}.m-slot--subjective{position:relative}.m-subjective-svg{aspect-ratio:1;pointer-events:none;width:86%;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.m-subjective-ps-label{letter-spacing:-.01em;pointer-events:none;color:#8b5ca6d9;text-shadow:0 0 2px #ffffffe6,0 0 2px #ffffffe6;z-index:4;font-size:.48rem;font-weight:700;line-height:1;position:absolute;bottom:6%;right:50%;transform:translate(50%)}.m-subjective-mood-label{letter-spacing:-.01em;pointer-events:none;color:#248e7ad9;text-shadow:0 0 2px #ffffffe6,0 0 2px #ffffffe6;z-index:4;font-size:.48rem;font-weight:700;line-height:1;position:absolute;top:6%;right:50%;transform:translate(50%)}.m-lhr-strip{pointer-events:none;z-index:1;grid-template-columns:1fr 1fr 1fr;gap:1px;height:4px;display:grid;position:absolute;bottom:24px;left:22%;right:22%}.m-lhr-third{background:#c0293c0a;border:1px solid #c0293c38;border-radius:1px}.m-lhr-third--filled{opacity:.85;border-color:#0000}.m-lhr-label{letter-spacing:-.01em;pointer-events:none;text-shadow:0 0 2px #ffffffe6,0 0 2px #ffffffe6;z-index:2;font-size:.45rem;font-weight:700;line-height:1;position:absolute;bottom:30px;right:4%}.m-effort-row{align-items:center;gap:3px;width:100%;display:flex}.m-effort-bar{background:#78788224;border-radius:2px;flex:1;height:5px;overflow:hidden}.m-effort-fill{border-radius:2px;height:100%;display:block}.m-effort-fill--rpe{background:#c0293c9e}.m-effort-fill--ps{background:#8b5ca69e}.m-effort-val{color:var(--text);text-align:right;min-width:8px;font-size:.5rem;font-weight:700;line-height:1}.m-sport-pill{text-transform:lowercase;letter-spacing:.01em;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#1a3a5e;background:#1e64b41c;border:1px solid #1e64b44d;border-radius:3px;max-width:100%;padding:2px 3px;font-size:.5rem;font-weight:700;line-height:1;overflow:hidden}.m-sport-pill.planned{opacity:.7;border-style:dashed}.m-sport-group{flex-direction:column;align-items:stretch;gap:1px;width:100%;display:flex}.m-sport-group--secondary{opacity:.35;transform-origin:top;margin-top:2px;transform:scale(.78)}.m-sport-pill--faded{padding:1px 2px;font-size:.42rem}.m-sport-pill[data-sport=run]{color:#8b2200;background:#dc501e24;border-color:#dc501e66}.m-sport-pill[data-sport=bike]{color:#005a8a;background:#1e78c821;border-color:#1e78c859}.m-sport-pill[data-sport=swim]{color:#005a4a;background:#14a08221;border-color:#14a08259}.m-sport-pill[data-sport=gym],.m-sport-pill[data-sport=strength]{color:#5a2080;background:#8c50c81f;border-color:#8c50c859}.m-sport-pill[data-sport=walk]{color:#4a4a00;background:#a0a01424;border-color:#8c8c1459}.m-sport-pill[data-sport=hike]{color:#3a4a00;background:#78961424;border-color:#78961459}.m-sport-pill[data-sport=mobility]{color:#004a5a;background:#1482a01f;border-color:#1482a059}.m-lane-switcher{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;flex-wrap:nowrap;justify-content:flex-start;gap:.3rem;width:100%;padding:2px .25rem;transition:-webkit-mask-image .15s,mask-image .15s;display:flex;position:relative;overflow:auto hidden}.m-lane-switcher::-webkit-scrollbar{display:none}.m-lane-switcher[data-can-scroll-right=true]{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 36px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 36px),#0000 100%)}.m-lane-switcher[data-can-scroll-left=true]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24px 100%);mask-image:linear-gradient(90deg,#0000 0,#000 24px 100%)}.m-lane-switcher[data-can-scroll-left=true][data-can-scroll-right=true]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 36px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 36px),#0000 100%)}.m-lane-switch-btn{color:#2c3d57;letter-spacing:.01em;cursor:pointer;white-space:nowrap;text-align:center;scroll-snap-align:start;background:#ffffffb8;border:1px solid #40537040;border-radius:999px;flex:none;height:30px;padding:0 .85rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:background .18s,color .18s,box-shadow .18s;position:relative}.m-lane-switch-btn:hover{background:#fffffff2}.m-lane-switch-btn.active{color:#fff;background:#0f1a3a;box-shadow:0 1px 2px #0f1a3a2e}.m-lane-switch-btn.active:hover{background:#0a1230}.m-lane-switch-badge{pointer-events:none;background:#4f69da;border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:4px;box-shadow:0 0 0 1.5px #fff}.m-lane-switch-btn.active .m-lane-switch-badge{background:#7fa3ff;box-shadow:0 0 0 1.5px #0f1a3a}.m-menu-overlay{z-index:120;background:#090d1661;justify-content:flex-end;animation:.14s ease-out m-overlay-in;display:flex;position:fixed;inset:0}@keyframes m-overlay-in{0%{opacity:0}to{opacity:1}}.m-menu{background:#fff;flex-direction:column;gap:1rem;width:min(340px,92vw);height:100%;padding:.6rem .85rem 1.25rem;animation:.18s ease-out m-menu-in;display:flex;overflow-y:auto;box-shadow:-4px 0 16px #141e3c1f}@keyframes m-menu-in{0%{transform:translate(100%)}to{transform:translate(0)}}.m-menu-head{border-bottom:1px solid var(--sheet-line);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding-bottom:.4rem;display:flex;position:sticky;top:0}.m-menu-head h2{margin:0;font-size:.92rem;font-weight:700}.m-menu-close{border:1px solid var(--sheet-control-border);cursor:pointer;background:#fff;border-radius:50%;width:30px;height:30px;font-size:1.05rem;line-height:1}.m-menu-section{flex-direction:column;gap:.4rem;display:flex}.m-menu-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.62rem;font-weight:700}.m-menu-section-hint{color:var(--muted);margin:0;font-size:.68rem;line-height:1.35}.m-menu .factor-filter-bar{gap:.35rem}.m-menu .factor-filter-pill{height:26px;padding:0 .55rem;font-size:.68rem}.m-menu-clear{border:1px solid var(--sheet-control-border);background:var(--sheet-control-bg);color:#2c3d57;cursor:pointer;border-radius:4px;align-self:flex-start;height:26px;padding:0 .55rem;font-family:inherit;font-size:.66rem}.m-menu-guide .legend-grid{grid-template-columns:1fr;row-gap:.5rem}.m-menu-guide .legend-card{align-items:flex-start}.m-guide-copy{flex-direction:column;gap:.75rem;display:flex}.m-guide-copy section{flex-direction:column;gap:.32rem;display:flex}.m-guide-copy h4{color:var(--text);margin:0;font-size:.75rem}.m-guide-copy p,.m-guide-copy li{color:#4a556d;margin:0;font-size:.69rem;line-height:1.42}.m-guide-copy ol{margin:0;padding-left:1.1rem}.m-menu-cache{color:var(--muted);font-size:.68rem}.m-menu-refresh{border:1px solid var(--sheet-control-border);background:var(--sheet-control-bg);color:#2c3d57;cursor:pointer;border-radius:4px;align-self:flex-start;height:32px;padding:0 .75rem;font-family:inherit;font-size:.72rem;font-weight:600}.m-menu-refresh:disabled{opacity:.55;cursor:default}@media (width<=640px){html{--mobile-edge-bg:#cfe5ef;background:var(--mobile-edge-bg)}html[data-view=bats]{--mobile-edge-bg:#03071a}body,.m-page{background:var(--mobile-edge-bg)}.m-page>.hero{padding-top:env(safe-area-inset-top,0px)}.m-page>.page-section{padding-top:max(10px, env(safe-area-inset-top,0px));padding-bottom:max(14px, env(safe-area-inset-bottom,0px))}}.pv{--pv-bg:radial-gradient(120% 70% at 50% 14%, #f5fbfd 0%, #cfe5ef 85%);--glass:#ffffff8c;--glass-strong:#ffffffd1;--line:#ffffffd9;--text:#0d2234;--muted:#55707f;--faint:#2d6a9329;--ink:#2d6a93;--ink-soft:#2d6a9373;--ink-faint:#2d6a932e;--heart:#cf3a55;--heart-soft:#cf3a5573;--sun:#c99614;--sun-soft:#c9961473;--mood-a:#6f7fa8;--mood-b:#9fb3c8;--mood-c:#8fd0c0;--mood-d:#f2c46b;--font-glyph:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-body:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;min-height:100svh;padding:10px max(12px, env(safe-area-inset-right,0px)) 14px max(12px, env(safe-area-inset-left,0px));background:var(--pv-bg);color:var(--text);font:15px/1.45 var(--font-body);flex-direction:column;gap:8px;display:flex}.pv[data-view=bats]{--pv-bg:radial-gradient(1px 1px at 12% 18%, #ffffffb3 50%, transparent 51%), radial-gradient(1px 1px at 78% 9%, #fff9 50%, transparent 51%), radial-gradient(1.5px 1.5px at 64% 31%, #fffc 50%, transparent 51%), radial-gradient(1px 1px at 31% 57%, #ffffff80 50%, transparent 51%), radial-gradient(1px 1px at 88% 68%, #fff9 50%, transparent 51%), radial-gradient(1.5px 1.5px at 22% 82%, #ffffffb3 50%, transparent 51%), linear-gradient(180deg, #03071a 0%, #0c1b36 100%);--glass:#0a162c8c;--glass-strong:#122442e0;--line:#94c8e833;--text:#eaf4fc;--muted:#9bb6cc;--faint:#94c8e824;--ink:#a9d4ee;--ink-soft:#a9d4ee80;--ink-faint:#a9d4ee2e;--heart:#ff7a90;--heart-soft:#ff7a9080;--sun:#f0c95a;--sun-soft:#f0c95a80}:where(.pv) button{font:inherit;color:inherit}.pv button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.pv-glass{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-radius:18px}.pv-kicker{font:600 .6rem/1 var(--font-glyph);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.pv-head{justify-content:space-between;align-items:baseline;padding:2px 4px 0;display:flex}.pv-head h1{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.05rem;font-weight:650}.pv-chart svg{width:100%;height:auto;display:block;overflow:visible}.pv-chart text{font:500 10px var(--font-glyph);fill:var(--muted)}.pv-chart .pv-strong{fill:var(--text);font-weight:600}.pv-chart .pv-grid{stroke:var(--faint);stroke-width:1px}.pv-latest{flex-direction:column;gap:8px;padding:10px 10px 8px;display:flex}.pv-group{flex-direction:column;gap:5px;display:flex}.pv-ghead{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pv-ghead b{font-size:.78rem;font-weight:650}.pv-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.pv-tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}.pv-t{background:var(--glass-strong);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:6px 7px 4px;display:flex}.pv-t .k{font:600 .5rem/1.2 var(--font-glyph);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pv-t .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--c,var(--text));font-size:1.1rem;font-weight:650;line-height:1.05}.pv-t .v small{letter-spacing:0;color:var(--muted);font-size:.6rem;font-weight:500}.pv-t .s{color:var(--muted);font-size:.58rem;line-height:1.25}.pv-t.pv-score .v{font-size:1.55rem}.pv-legend{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.pv-keys{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 9px;font-size:.6rem;display:flex}.pv-keys i{vertical-align:-1px;margin-right:4px;display:inline-block}.pv-keys .pv-me{background:var(--text);border-radius:50%;width:9px;height:9px}.pv-keys .pv-avg{border:2px solid var(--muted);box-sizing:border-box;border-radius:50%;width:9px;height:9px}.pv-keys .pv-typ{background:var(--muted);width:2px;height:11px}.pv-evidence-btn{border:1px solid var(--line);background:var(--glass-strong);font:600 .56rem/1 var(--font-glyph);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);cursor:pointer;border-radius:999px;padding:5px 9px}.pv-month{flex-direction:column;gap:6px;padding:8px;display:flex}.pv-mrow{justify-content:space-between;align-items:center;gap:6px;display:flex}.pv-mnav{align-items:center;gap:4px;display:flex}.pv-mnav h2{text-align:center;min-width:5.4em;color:var(--text);margin:0;font-size:.95rem;font-weight:650}.pv-arrow{border:1px solid var(--line);background:var(--glass);cursor:pointer;border-radius:999px;width:28px;height:28px;font-size:.95rem;line-height:1}.pv-arrow:disabled{opacity:.3;cursor:default}.pv-seg{background:var(--glass);border:1px solid var(--line);border-radius:999px;flex:0 190px;gap:3px;padding:3px;display:flex}.pv-seg button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;padding:6px;font-size:.72rem;font-weight:600}.pv-seg button[aria-pressed=true]{background:var(--glass-strong);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.pv-month-body{flex-direction:column;gap:4px;display:flex}.pv-daystrip{background:var(--glass-strong);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:6px 10px;font-size:.74rem;display:flex}.pv-daystrip b{font-variant-numeric:tabular-nums}.pv-daystrip .pv-d{font-weight:650}.pv-daystrip .pv-note{color:var(--ink);font-size:.7rem;font-weight:600}.pv-daystrip.has-note{cursor:pointer}.pv-research{flex-direction:column;gap:10px;padding:14px;display:flex}.pv-pills{flex-wrap:wrap;gap:6px;display:flex}.pv-pills button{border:1px solid var(--line);background:var(--glass);color:var(--muted);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:600}.pv-pills button[aria-pressed=true]{background:var(--glass-strong);color:var(--text);border-color:var(--c,var(--ink))}.pv-ev{background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.pv-ev h3{color:var(--text);margin:0;font-size:1rem;font-weight:650}.pv-ev p{margin:0;line-height:1.5}.pv-ev .pv-line{font-size:.9rem}.pv-ev .pv-caveat{color:var(--muted);border-left:2px solid var(--faint);padding-left:8px;font-size:.7rem}.pv-ev .pv-links{flex-direction:column;gap:4px;display:flex}.pv-ev .pv-src{color:var(--muted);font-size:.72rem}.pv-ev .pv-src a{color:var(--ink);text-underline-offset:2px}.pv-sports{flex-direction:column;gap:10px;padding:10px;display:flex}.pv-sports h2{color:var(--text);margin:0;font-size:.95rem}#pv-sports-body{flex-direction:column;gap:9px;display:flex}.pv-session-row{grid-template-columns:58px 1fr;align-items:center;gap:8px;display:grid}.pv-session-list{flex-wrap:wrap;gap:5px;display:flex}.pv-session{background:var(--glass-strong);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:4px 10px;font-size:.75rem;font-weight:600}.pv-session.planned{color:var(--muted);background:0 0;border-style:dashed}.pv-sports-empty,.pv-workout-note{color:var(--muted);margin:0;font-size:.72rem}.pv-effort{background:var(--glass-strong);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:9px 10px;display:flex}.pv-rpe-meter{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.pv-rpe-meter i{background:var(--faint);border-radius:3px;height:7px}.pv-rpe-meter i.filled{background:var(--sun)}.pv-rpe-scale{color:var(--muted);justify-content:space-between;font-size:.6rem;display:flex}.pv-workout-note{border-left:2px solid var(--ink-soft);padding-left:8px}.pv-preview .pv{box-sizing:border-box;width:min(100%,430px);margin-inline:auto}.pv-sports-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.pv-sport-day{border-right:1px solid var(--faint);grid-template-rows:32px 1fr 26px;gap:7px;min-width:0;padding:0 3px;display:grid}.pv-sport-day:last-child{border-right:0}.pv-sport-date{color:var(--muted);flex-direction:column;align-items:center;font-size:.62rem;line-height:1.4;display:flex}.pv-sport-date b{color:var(--text);font-size:.65rem}.pv-sport-date span{font-size:.65rem}.pv-sport-day .pv-session-list{flex-flow:column;align-items:stretch;gap:3px;min-height:42px}.pv-sport-day .pv-session{text-align:center;overflow-wrap:anywhere;border-radius:6px;padding:3px 1px;font-size:.58rem}.pv-sport-day .pv-sports-empty{text-align:center;font-size:.6rem}.pv-week-effort{flex-direction:column;align-self:end;gap:4px;display:flex}.pv-rpe-value{font:600 .7rem var(--font-glyph);text-align:center}.pv-week-effort .pv-rpe-meter{gap:1px}.pv-week-effort .pv-rpe-meter i{border-radius:1px;height:4px}.pv-month-plots{aspect-ratio:360/236;grid-template-rows:64fr 36fr;gap:4px;min-width:0;display:grid}.pv-month-plots[data-lens=heart]{grid-template-rows:60fr 40fr}.pv-month-plots[data-lens=day]{grid-template-rows:1fr 1fr}.pv-month-plots[data-lens=mood]{grid-template-rows:60fr 40fr}.pv-month-plots>.pv-chart{min-width:0;min-height:0}.pv-month-plots svg{width:100%;height:100%}.pv-month-body>.pv-daystrip{box-sizing:border-box;flex-direction:column;flex:none;justify-content:center;align-items:stretch;gap:9px;height:88px;padding:9px 10px;display:flex;overflow:visible}.pv-detail-heading{justify-content:space-between;align-items:center;min-height:16px;display:flex}.pv-detail-heading .pv-d{color:var(--muted);font-size:.68rem;font-weight:600}.pv-detail-note{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:.65rem}.pv-detail-note:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.pv-detail-values{gap:0;margin:0;display:flex}.pv-detail-metric{border-left:1px solid var(--faint);flex:1;min-width:0;padding:0 8px}.pv-detail-metric:first-child{border-left:0;padding-left:0}.pv-detail-metric:last-child{padding-right:0}.pv-detail-metric dt{color:var(--muted);white-space:nowrap;margin-bottom:3px;font-size:.57rem;font-weight:500}.pv-detail-metric dd{letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text);margin:0;font-size:1.12rem;font-weight:650;line-height:1.2}.pv-detail-metric:first-child dd{color:var(--ink)}.pv-daystrip[data-lens=heart] .pv-detail-metric dd{color:var(--heart)}.pv-daystrip[data-lens=day] .pv-detail-metric:nth-child(-n+2) dd{color:var(--sun)}.pv-detail-metric dd small{letter-spacing:0;color:var(--muted);margin-left:3px;font-size:.6rem;font-weight:500}.pv-daystrip[data-lens=day] .pv-detail-metric{padding-inline:6px}.pv-daystrip[data-lens=day] .pv-detail-metric:first-child{padding-left:0}@media (width<=360px){.pv-mrow{gap:3px}.pv-mnav{gap:1px}.pv-mnav h2{font-size:.85rem}.pv-arrow{width:25px;height:28px}.pv-seg{gap:1px;padding:2px}.pv-seg button{padding:6px 4px;font-size:.65rem}}#vitals.pv{height:100vh;height:var(--mobile-screen-height,100dvh);min-height:0;padding-top:8px;padding-bottom:max(8px, env(safe-area-inset-bottom,0px));grid-template-rows:auto auto minmax(220px,1fr) auto;gap:6px;display:grid;overflow-y:auto}#vitals.pv>*{min-width:0}.pv-latest{gap:6px;padding:8px}.pv-latest .pv-t{padding:5px 6px 3px}.pv-latest .pv-t .s{font-size:.56rem;line-height:1.2}.pv-latest .pv-group{gap:4px}.pv-latest .pv-ghead b{font-size:.72rem}.pv-month{grid-template-rows:auto minmax(0,1fr);gap:4px;min-height:0;padding:7px;display:grid}.pv-month-body{grid-template-rows:minmax(0,1fr) 60px;gap:5px;min-height:0;display:grid}.pv-month-plots{aspect-ratio:auto;min-height:0}.pv-month-body>.pv-daystrip{flex-wrap:nowrap;gap:3px;height:60px;padding:5px 8px}.pv-detail-heading{min-height:13px}.pv-detail-heading .pv-d,.pv-detail-note{font-size:.6rem}.pv-detail-metric dt{margin-bottom:1px;font-size:.53rem}.pv-detail-metric dd{font-size:.96rem}.pv-detail-metric dd small{font-size:.54rem}.pv-sports{gap:5px;padding:8px}.pv-sport-day{grid-template-rows:25px 1fr 23px;gap:4px}.pv-sport-day .pv-session-list{gap:2px;min-height:34px}.pv-sport-day .pv-session{padding-block:2px}.pv-sport-date{line-height:1.2}@media (height<=740px){.pv-month-plots{grid-template-rows:104fr 58fr}.pv-month-plots[data-lens=heart]{grid-template-rows:60fr 40fr}}.pv{isolation:isolate;position:relative}.pv>:not(.pv-scene){z-index:1;position:relative}.pv>.pv-scene{--abyss:#030b12;--deep:#11304a;--tide:#2d6a93;--glow:#94c8e8;--foam:#f2f9ff;--ink:#020a11;--ink-soft:#0a2131;--shallows:#f5fbfd;--lagoon:#cfe5ef;--wake-low:#b6e1eb;--wake:#1592b3;z-index:0;pointer-events:none;background:radial-gradient(120% 100% at 50% 40%, var(--shallows) 0%, var(--lagoon) 78%);position:absolute;inset:0;overflow:hidden}.pv>.pv-scene[data-view=bats]{background:radial-gradient(circle at var(--moon-x,20%) var(--moon-y,24%), #96beff2b 0, transparent calc(var(--moon-r,80px) * 3.2)), linear-gradient(180deg, #03071a, #0c1b36)}.pv-scene canvas{width:100%;height:100%;display:block}.pv-latest,.pv-month,.pv-sports{padding-inline:8px}.pv-mnav{gap:3px;min-width:0}.pv-mnav h2,.pv-sports h2{text-align:left;min-width:0;font:600 .6rem/1 var(--font-glyph);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 4px 0 0}.pv-period{color:var(--text);white-space:nowrap;font-size:.72rem;font-weight:650}.pv-mnav .pv-arrow{width:23px;height:26px;font-size:.9rem}.pv-seg{flex-basis:158px}.pv-seg button{padding:5px;font-size:.68rem}.pv-month,.pv-sports{touch-action:pan-y pinch-zoom}.pv-sports{gap:3px;padding-block:6px}#pv-sports-body{gap:3px}.pv-sport-day{grid-template-rows:17px 1fr 20px;gap:3px;padding-inline:2px}.pv-sport-date{flex-direction:row;justify-content:center;align-items:baseline;gap:3px}.pv-sport-date b,.pv-sport-date span{font-size:.58rem}.pv-sport-day .pv-session-list{min-height:28px}.pv-sport-day .pv-session{padding-block:1px;font-size:.56rem}.pv-week-effort{gap:3px}.pv-rpe-value{font-size:.65rem}.pv-sports-empty{font-size:.56rem}.pv-head{padding-inline:12px}.pv-latest .pv-ghead,.pv-month .pv-mrow,.pv-sports>.pv-ghead{padding-inline:6px}.pv-calm-toggle{border:1px solid var(--line);color:var(--muted);font:600 .65rem/1.2 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px}.pv-calm-toggle[aria-pressed=true]{background:var(--glass-strong);color:var(--ink);border-color:var(--ink-soft)}.pv[data-calm=true] .pv-t:not(.pv-score) .s,.pv[data-calm=true] .pv-comparison,.pv[data-calm=true] .pv-legend{display:none}.pv[data-calm=true] .pv-t{justify-content:center}.m-page{overflow-anchor:none}.pv-seg{flex-basis:200px;min-width:0}.pv-seg button{padding-inline:4px;font-size:.64rem}@media (width<=360px){.pv-mrow{flex-wrap:wrap}.pv-mrow .pv-seg{flex:1 0 100%}}.wv,.section-placeholder[data-view]{--wv-bg:radial-gradient(120% 90% at 50% 20%, #f5fbfd 0%, #cfe5ef 80%);--wv-glass:#ffffff94;--wv-line:#ffffffd9;background:var(--wv-bg)}.wv[data-view=bats],.section-placeholder[data-view=bats]{--wv-bg:radial-gradient(1px 1px at 8% 12%, #ffffffb3 50%, transparent 51%), radial-gradient(1px 1px at 34% 6%, #ffffff80 50%, transparent 51%), radial-gradient(1.5px 1.5px at 61% 15%, #fffc 50%, transparent 51%), radial-gradient(1px 1px at 89% 9%, #fff9 50%, transparent 51%), radial-gradient(1px 1px at 3% 64%, #ffffff80 50%, transparent 51%), radial-gradient(1.5px 1.5px at 97% 72%, #ffffffb3 50%, transparent 51%), radial-gradient(1px 1px at 46% 96%, #ffffff80 50%, transparent 51%), linear-gradient(180deg, #03071a 0%, #0c1b36 100%);--wv-glass:#0a162c99;--wv-line:#94c8e833;--text:#eaf4fc;--muted:#9bb6cc;color:var(--text)}.wv{flex-direction:column;gap:12px;padding:20px clamp(12px,2vw,28px) 32px;display:flex}.wv-glass{background:var(--wv-glass);border:1px solid var(--wv-line);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-radius:14px}.wv .timeline-header{background:var(--wv-glass);padding:.55rem 1rem}.wv-panel{--sheet-bg:#f6fbfdf0;--sheet-toolbar-bg:transparent;padding-top:4px;overflow:hidden}.wv-panel .factor-filter-row{border-bottom-color:var(--wv-line)}.section-placeholder[data-view]{border-top:0}.section-placeholder[data-view] h2{color:var(--text)}.section-placeholder[data-view] p{color:var(--muted)}.wv[data-view=bats] .wv-panel{--sheet-bg:#0c1a34f0;--sheet-line:#94c8e824;--sheet-line-strong:#94c8e842;--sheet-weekend:#94c8e80a;--sheet-control-bg:#ffffff0f;--sheet-control-border:#94c8e84d;--today-band:#7aa2ff1f;--sleep-accent:#8ea2ff;--sleep-overlay:#a3b0ff;--sleep-overlay-muted:#7f8fd6;--label-accent:#9bb6cc}.wv[data-view=bats] .timeline-header h1{color:var(--text)}.wv[data-view=bats] .settings-btn{color:#a9c4ff;background:#7aa2ff14;border-color:#7aa2ff4d}.wv[data-view=bats] .settings-panel{color:var(--text);border-color:var(--wv-line);background:#0c1b36}.wv[data-view=bats] .settings-actions button{color:#cfe0ee}.wv[data-view=bats] .settings-actions button:hover{background:#ffffff0f}.wv[data-view=bats] .factor-filter-pill,.wv[data-view=bats] .factor-pill{color:#c6e8a8;background:#78be461f;border-color:#8cc85a59}.wv[data-view=bats] .factor-filter-pill.active{color:#e6f6d6;background:#78be4647}.wv[data-view=bats] .date-cell-num{color:#d4e4f1}.wv[data-view=bats] .lane-title{color:#dbe8f5}.wv[data-view=bats] .lane-subtitle,.wv[data-view=bats] .lane-subtitle-sports-real,.wv[data-view=bats] .lane-label-collapsed .lane-title,.wv[data-view=bats] .lane-label-chevron,.wv[data-view=bats] .lane-collapsed-note{color:#8ea6bd}.wv[data-view=bats] .lane-label-button:hover .lane-label-chevron{color:#cfe0ee}.wv[data-view=bats] .lane-subtitle-rpe{color:#ff8a99}.wv[data-view=bats] .lane-subtitle-ps{color:#d2b4f0}.wv[data-view=bats] .lane-subtitle-mood{color:#7fdcc6}.wv[data-view=bats] .lane-label-button:hover{background:#94c8e80f}.wv[data-view=bats] .label-pill{color:#c3d1e1;background:#ffffff14;border-color:#ffffff1f}.wv[data-view=bats] .event-marker{color:#a9b8cc}.wv[data-view=bats] .subjective-chip{color:#d3b4ea;background:#c59be024}.wv[data-view=bats] .activity-blob{color:#f2b27a}.wv[data-view=bats] .lane-day-cell.inactive{background:repeating-linear-gradient(-45deg,#94c8e80f,#94c8e80f 2px,#0000 2px 7px)}.wv[data-view=bats] .recovery-hrv-dot,.wv[data-view=bats] .sparkline-dot,.wv[data-view=bats] .hrv-dot,.wv[data-view=bats] .rhr-dot{fill:#0c1b36}.wv[data-view=bats] .sleep-bar{fill:#7a96ff80}.wv[data-view=bats] .hr-value-label,.wv[data-view=bats] .rhr-value-label,.wv[data-view=bats] .rhr-hover-value-label{fill:#ff8597}.wv[data-view=bats] .hrv-value-label,.wv[data-view=bats] .hrv-max-hover-label{fill:#f5b25c}.wv[data-view=bats] .blob-label-calories{fill:#ffe3c7}.wv[data-view=bats] .blob-label-steps{fill:#d6fff3}.wv[data-view=bats] .cal-rpe-cal-label{fill:#ffd9cc}.wv[data-view=bats] .cal-rpe-rpe-label.hovered{fill:#ffb39e}.wv[data-view=bats] .subjective-mood-label{fill:#8fe0cb}.wv[data-view=bats] .subjective-ps-label{fill:#d2b4f0}.wv[data-view=bats] .sleep-lhr-label{fill:#ff9aa6}.wv[data-view=bats] .sleep-dur-bar-label{fill:#b6c2ff}.wv[data-view=bats] .rpe-verbal-label{fill:#ff8a99}.wv[data-view=bats] .ps-verbal-label{fill:#d2b4f0}.wv[data-view=bats] .mood-verbal-label--low{fill:#ff9fb2}.wv[data-view=bats] .mood-verbal-label--neutral{fill:#b7c3d4}.wv[data-view=bats] .mood-verbal-label--high{fill:#7fdcc6}.wv[data-view=bats] .mood-verbal-label--best,.wv[data-view=bats] .mood-best-star,.wv[data-view=bats] .subjective-mood-best-star{fill:#f3c552}.wv[data-view=bats] .rpe-ps-pip-label,.wv[data-view=bats] .mood-pip-label{fill:#dce6f080}.wv[data-view=bats] .col-dim-band{fill:#050c1c99}.wv[data-view=bats] .col-hover-band{fill:#94c8e814}.wv[data-view=bats] .date-cell.col-hovered{background:#94c8e814}.wv[data-view=bats] .sport-pill{color:#a9c8ee}.wv[data-view=bats] .sport-pill[data-sport=run]{color:#ffb08f}.wv[data-view=bats] .sport-pill[data-sport=bike]{color:#8fd0ff}.wv[data-view=bats] .sport-pill[data-sport=swim]{color:#7fe3cc}.wv[data-view=bats] .sport-pill[data-sport=strength]{color:#d6b0ff}.wv[data-view=bats] .sport-pill[data-sport=walk]{color:#e6e68a}.wv[data-view=bats] .sport-pill[data-sport=hike]{color:#c9e67f}.wv[data-view=bats] .sport-pill[data-sport=mobility]{color:#7fd6ea}.hero{--abyss:#030b12;--deep:#11304a;--tide:#2d6a93;--glow:#94c8e8;--foam:#f2f9ff;--ink:#020a11;--ink-soft:#0a2131;--spark-1:#5ef2ff;--spark-2:#6a9dff;--spark-3:#fff;--spark-4:#b4a8ff;--spark-5:#86ffdc;--blush:#f0a8cf;--ear:#c992c4;--shallows:#f5fbfd;--lagoon:#cfe5ef;--wake-low:#b6e1eb;--wake:#1592b3;--lagoon-rim:#709cb24d;--night-top:#03071a;--night-low:#0c1b36;--moon-halo:#96beff2b;--night-rim:#01060ab8;--font-glyph:"IBM Plex Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--moon-x:20%;--moon-y:24%;--moon-r:80px;--vig-line:#2d6a93;--vig-line-soft:#7fb0cc;--vig-faint:#2d6a934d;--vig-heart:#d23c55;--vig-heart-soft:#f39aa8;--vig-flame:#ec7a2a;--vig-flame-soft:#f7c45a;--glass-bg:#ffffff80;--glass-bg-hover:#ffffffbd;--glass-line:#ffffffbf;--hero-text:#0d2234;--hero-muted:#4a6478;--hero-accent:var(--tide);--chip-on:var(--tide);--chip-on-text:var(--foam);isolation:isolate;background:var(--lagoon);min-height:100lvh;color:var(--hero-text);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero[data-view=bats]{--glass-bg:#0a162c80;--glass-bg-hover:#0e1e3aa8;--glass-line:#94c8e838;--hero-text:#eaf4fc;--hero-muted:#9bb6cc;--hero-accent:var(--glow);--chip-on:var(--glow);--chip-on-text:var(--abyss);--vig-line:#a9d4ee;--vig-line-soft:#5d8fb0;--vig-faint:#94c8e847;--vig-heart:#ef5a72;--vig-heart-soft:#ffb3bf;background:var(--night-top)}.hero-backdrop,.hero-rim,.hero-canvas{z-index:-1;position:absolute;inset:0}.hero-backdrop,.hero-rim{transition:opacity .9s}.hero-rim{pointer-events:none}.hero-backdrop.pond{background:radial-gradient(120% 100% at 50% 40%, var(--shallows) 0%, var(--lagoon) 78%)}.hero-rim.pond{background:radial-gradient(140% 120% at 50% 45%, transparent 55%, var(--lagoon-rim) 100%)}.hero-backdrop.night{background:radial-gradient(circle at var(--moon-x) var(--moon-y), var(--moon-halo) 0, transparent calc(var(--moon-r) * 3.2)), linear-gradient(180deg, var(--night-top) 0%, var(--night-low) 100%)}.hero-rim.night{background:radial-gradient(140% 120% at 50% 45%, transparent 55%, var(--night-rim) 100%)}.hero .night,.hero[data-view=bats] .pond{opacity:0}.hero[data-view=bats] .night{opacity:1}.hero-canvas{touch-action:pan-y;width:100%;height:100%;display:block}.hero-content{z-index:1;pointer-events:none;flex-direction:column;align-items:stretch;gap:10px;width:min(660px,100%);padding:72px 16px 56px;display:flex;position:relative}.hero-content>*>*{pointer-events:auto}.hero-title{text-align:center;margin-bottom:14px}.hero-title h1{letter-spacing:-.015em;background:var(--glass-bg);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-radius:12px;margin:0;padding:4px 16px 6px;font-size:clamp(1.5rem,3.6vw,2.1rem);font-weight:600;display:inline-block}.hero-title p{background:var(--glass-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font:600 .66rem/1 var(--font-glyph);letter-spacing:.16em;text-transform:uppercase;color:var(--hero-muted);border-radius:6px;margin:8px auto 0;padding:4px 8px;display:table}.hero-title p,.hero-title h1{pointer-events:none}.glass{font:inherit;color:var(--hero-text);background:var(--glass-bg);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);cursor:pointer;border-radius:12px;transition:background .2s}.glass:hover{background:var(--glass-bg-hover)}.glass:focus-visible,.hero-segment:focus-visible{outline:2px solid var(--hero-accent);outline-offset:3px}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hero-stat{text-align:center;flex-direction:column;align-items:center;padding:14px 10px;display:flex}.hero-kicker{font:600 .6rem/1 var(--font-glyph);letter-spacing:.14em;text-transform:uppercase;color:var(--hero-muted)}.hero-visual{justify-content:center;align-items:center;width:100%;height:52px;margin:8px 0 6px;display:flex}.hero-vignette{width:100%;height:100%;display:block}.hero-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:600;line-height:1}.hero-unit{letter-spacing:0;color:var(--hero-muted);margin-left:.3em;font-size:.8rem;font-weight:500}.hero-meaning{color:var(--hero-text);margin-top:5px;font-size:.78rem;line-height:1.25}.hero-context{min-height:1.2em;color:var(--hero-muted);margin-top:3px;font-size:.68rem;line-height:1.2}.mood-scale{width:70%;height:10px;display:block;position:relative}.mood-track{background:linear-gradient(90deg,#6f7fa8 0%,#9fb3c8 35%,#8fd0c0 65%,#f2c46b 100%);border-radius:2px;position:absolute;inset:3px 0}.mood-marker{background:var(--hero-text);width:10px;height:10px;box-shadow:0 0 0 2px var(--glass-line);border-radius:50%;margin-left:-5px;position:absolute;top:0}.hero-segments{border:1px solid var(--glass-line);background:var(--glass-bg);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-radius:999px;align-self:center;gap:6px;margin-top:10px;padding:4px;display:flex}.hero-segment{font:600 .72rem/1 var(--font-glyph);letter-spacing:.12em;text-transform:uppercase;color:var(--hero-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 14px;transition:background .2s,border-color .2s}.hero-segment:hover{background:var(--glass-bg-hover);border-color:var(--glass-line)}.hero-segments nav,.hero-views{gap:6px;display:flex}.hero-divider{background:var(--glass-line);align-self:stretch;width:1px;margin:6px 2px}.hero-views button{font:600 .66rem/1 var(--font-glyph);letter-spacing:.08em;color:var(--hero-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 11px;transition:background .2s,color .2s}.hero-views button:hover{color:var(--hero-text)}.hero-views button[aria-pressed=true]{color:var(--chip-on-text);background:var(--chip-on)}.hero-views button:focus-visible{outline:2px solid var(--hero-accent);outline-offset:2px}.page-section{scroll-margin-top:0}html{scroll-snap-type:y mandatory}.hero,.page-section{scroll-snap-align:start;scroll-snap-stop:always}.page-section{min-height:100svh}@media (width>=641px){.page-section{min-height:100lvh}}.section-placeholder{padding:56px var(--page-pad) 72px;border-top:1px solid var(--sheet-line)}.section-placeholder h2{margin:0 0 6px;font-size:1.04rem;font-weight:600}.section-placeholder p{color:var(--muted);margin:0;font-size:.9rem}@media (width<=640px){.m-page>.hero,.m-page>.page-section{flex:none;height:100dvh;min-height:0;overflow-y:auto}.hero{align-items:flex-end}.hero-content{padding:0 12px max(14px, env(safe-area-inset-bottom,0px));gap:6px}.hero-title{margin-bottom:4px}.hero-title h1{border-radius:10px;padding:3px 12px 4px;font-size:1.2rem}.hero-title p{margin-top:5px;padding:3px 6px;font-size:.56rem}.hero-stats{gap:6px}.hero-stat{border-radius:10px;padding:8px 4px}.hero-kicker{letter-spacing:.1em;font-size:.5rem}.hero-visual{height:40px;margin:5px 0 4px}.hero-value{font-size:1.1rem}.hero-unit{margin-left:.2em;font-size:.6rem}.hero-meaning{margin-top:3px;font-size:.62rem}.hero-context{margin-top:2px;font-size:.54rem}.mood-scale{width:82%}.hero-segments{margin-top:4px}.hero-segment{letter-spacing:.08em;padding:8px 9px}.hero-views button{padding:8px}}@media (prefers-reduced-motion:reduce){.hero-backdrop,.hero-rim,.glass,.hero-segment,.hero-views button{transition:none}}@media (width<=640px){:is(html:has(.m-page),body:has(.m-page)){scroll-snap-type:none;overflow:hidden}.m-page{height:var(--mobile-screen-height,100dvh);scroll-snap-type:y mandatory;overscroll-behavior-y:none;min-height:0;position:relative;inset:auto;overflow:hidden auto}.m-page>.hero,.m-page>.page-section{height:var(--mobile-screen-height,100dvh);scroll-snap-align:start;scroll-snap-stop:always;flex:none;min-height:0}}.hero-meaning+.hero-value{margin-top:5px}
