.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--bg:#0b1220;--ink:#ffffffeb;--ink-muted:#cbd5e1b8;--ink-faint:#cbd5e180;--glass-bg:linear-gradient(180deg, #60a5fa21, #3b82f60d);--glass-bg-hover:linear-gradient(180deg, #60a5fa38, #3b82f61a);--glass-border:#93c5fd42;--glass-border-hover:#93c5fd73;--glass-hi:inset 0 1px 0 #ffffff29;--glass-blur:blur(14px) saturate(150%);--glass-shadow:0 2px 10px #02061773;--accent:#60a5fa;--accent-light:#93c5fd;--accent-ink:#0b1220;--good:#4ade80;--warn:#fbbf24;--bad:#f87171;--track:#93c5fd24;--field-bg:#0f172a8c;--bloom-1:#3b82f633;--bloom-2:#22d3ee1f;--bloom-3:#818cf81f;--title-from:#fff;--radius:16px;--radius-sm:10px;--font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--viz-surface:#111c30;--viz-hr:#3987e5;--viz-steps:#199e70;--viz-temp:#d95926;--viz-spo2:#9085e9;--viz-hrv:#e0609f;--viz-workout:#c98500;--viz-a:#3987e5;--viz-b:#d95926;--viz-stage-awake:#d95926;--viz-stage-rem:#9085e9;--viz-stage-light:#199e70;--viz-stage-deep:#3987e5;--viz-band:#3987e533;--viz-baseline:#cbd5e11f;--viz-gap:#cbd5e11a;--viz-grid:#93c5fd1a;--viz-axis:#93c5fd38;--viz-ink:#ffffffeb;--viz-muted:#cbd5e19e;--viz-seq-1:#104281;--viz-seq-2:#184f95;--viz-seq-3:#1c5cab;--viz-seq-4:#256abf;--viz-seq-5:#3987e5;--viz-seq-6:#6da7ec;--viz-seq-7:#9ec5f4;--viz-zone-0:#1c5cab;--viz-zone-1:#2a78d6;--viz-zone-2:#5598e7;--viz-zone-3:#9ec5f4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#eef3fb;--ink:#0b1220eb;--ink-muted:#1e293bb3;--ink-faint:#1e293b80;--glass-bg:linear-gradient(180deg, #ffffffc7, #ffffff8c);--glass-bg-hover:linear-gradient(180deg, #ffffffeb, #ffffffb3);--glass-border:#3b82f638;--glass-border-hover:#3b82f666;--glass-hi:inset 0 1px 0 #ffffffe6;--glass-shadow:0 2px 10px #1e40af14;--accent:#2563eb;--accent-light:#3b82f6;--accent-ink:#fff;--good:#16a34a;--warn:#b45309;--bad:#dc2626;--track:#2563eb1f;--field-bg:#ffffffd9;--bloom-1:#3b82f629;--bloom-2:#22d3ee1f;--bloom-3:#818cf81f;--title-from:#0b1220;--viz-surface:#f6f8fc;--viz-hr:#2a78d6;--viz-steps:#1baf7a;--viz-temp:#eb6834;--viz-spo2:#4a3aa7;--viz-hrv:#c23a82;--viz-workout:#eda100;--viz-a:#2a78d6;--viz-b:#eb6834;--viz-stage-awake:#eb6834;--viz-stage-rem:#4a3aa7;--viz-stage-light:#1baf7a;--viz-stage-deep:#2a78d6;--viz-band:#2a78d629;--viz-baseline:#1e293b14;--viz-gap:#1e293b12;--viz-grid:#2563eb14;--viz-axis:#2563eb33;--viz-ink:#0b1220eb;--viz-muted:#1e293b99;--viz-seq-1:#cde2fb;--viz-seq-2:#9ec5f4;--viz-seq-3:#6da7ec;--viz-seq-4:#3987e5;--viz-seq-5:#256abf;--viz-seq-6:#1c5cab;--viz-seq-7:#104281;--viz-zone-0:#6da7ec;--viz-zone-1:#3987e5;--viz-zone-2:#256abf;--viz-zone-3:#104281;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#eef3fb;--ink:#0b1220eb;--ink-muted:#1e293bb3;--ink-faint:#1e293b80;--glass-bg:linear-gradient(180deg, #ffffffc7, #ffffff8c);--glass-bg-hover:linear-gradient(180deg, #ffffffeb, #ffffffb3);--glass-border:#3b82f638;--glass-border-hover:#3b82f666;--glass-hi:inset 0 1px 0 #ffffffe6;--glass-shadow:0 2px 10px #1e40af14;--accent:#2563eb;--accent-light:#3b82f6;--accent-ink:#fff;--good:#16a34a;--warn:#b45309;--bad:#dc2626;--track:#2563eb1f;--field-bg:#ffffffd9;--bloom-1:#3b82f629;--bloom-2:#22d3ee1f;--bloom-3:#818cf81f;--title-from:#0b1220;--viz-surface:#f6f8fc;--viz-hr:#2a78d6;--viz-steps:#1baf7a;--viz-temp:#eb6834;--viz-spo2:#4a3aa7;--viz-hrv:#c23a82;--viz-workout:#eda100;--viz-a:#2a78d6;--viz-b:#eb6834;--viz-stage-awake:#eb6834;--viz-stage-rem:#4a3aa7;--viz-stage-light:#1baf7a;--viz-stage-deep:#2a78d6;--viz-band:#2a78d629;--viz-baseline:#1e293b14;--viz-gap:#1e293b12;--viz-grid:#2563eb14;--viz-axis:#2563eb33;--viz-ink:#0b1220eb;--viz-muted:#1e293b99;--viz-seq-1:#cde2fb;--viz-seq-2:#9ec5f4;--viz-seq-3:#6da7ec;--viz-seq-4:#3987e5;--viz-seq-5:#256abf;--viz-seq-6:#1c5cab;--viz-seq-7:#104281;--viz-zone-0:#6da7ec;--viz-zone-1:#3987e5;--viz-zone-2:#256abf;--viz-zone-3:#104281;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5}.ambient{z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 12% -8%, var(--bloom-1), transparent 70%), radial-gradient(760px 620px at 92% 108%, var(--bloom-2), transparent 72%), radial-gradient(620px 480px at 78% 6%, var(--bloom-3), transparent 70%);position:fixed;inset:0}.app{max-width:40rem;padding:calc(env(safe-area-inset-top) + 1rem) calc(env(safe-area-inset-right) + 1rem) calc(env(safe-area-inset-bottom) + 2rem) calc(env(safe-area-inset-left) + 1rem);flex-direction:column;gap:1rem;margin:0 auto;display:flex}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.title{letter-spacing:-.025em;background:linear-gradient(180deg, var(--title-from), var(--accent-light));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.6rem;font-weight:650}.subtitle{color:var(--ink-muted);margin:.15rem 0 0;font-size:.9rem}.card{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-hi), var(--glass-shadow);padding:1rem 1.1rem}.card h2{letter-spacing:-.01em;margin:0 0 .6rem;font-size:1rem;font-weight:600}.card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.card-head h2{margin:0}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint);font-size:.85rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.stack{flex-direction:column;gap:.75rem;display:flex}.btn{appearance:none;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;padding:.6rem 1.1rem;font-weight:600;transition:border-color .15s,background .15s,opacity .15s}.btn:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.btn:focus-visible,.input:focus-visible,.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-primary:hover{background:var(--accent-light);border-color:#0000}.btn-danger{color:var(--bad)}.btn-link{appearance:none;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem 0}.input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--field-bg);width:100%;min-height:44px;color:var(--ink);font:inherit;padding:.6rem .8rem;font-size:16px}.label{color:var(--ink-muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.seg{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:999px;padding:3px;display:inline-flex}.seg button{appearance:none;min-height:32px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:600}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.pill{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill-good{color:var(--good)}.pill-warn{color:var(--warn)}.pill-bad{color:var(--bad)}.pill-muted{color:var(--ink-faint)}.banner{border-radius:var(--radius-sm);border:1px solid;padding:.75rem 1rem;font-size:.95rem}.banner-good{color:var(--good)}.banner-bad{color:var(--bad)}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list li{border-bottom:1px solid var(--track);justify-content:space-between;gap:.75rem;padding:.5rem 0;font-size:.95rem;display:flex}.list li:last-child{border-bottom:0}.progress{background:var(--track);border-radius:999px;height:6px;overflow:hidden}.progress>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .4s;display:block}.progress-row{grid-template-columns:7.5rem 1fr auto;align-items:center;gap:.6rem;font-size:.9rem;display:grid}.error-text{color:var(--bad);font-size:.85rem}.center{place-items:center;min-height:60vh;display:grid}.link{color:var(--accent)}.setting{border-bottom:1px solid var(--track);flex-direction:column;gap:.35rem;padding-bottom:1rem;display:flex}.setting:last-child{border-bottom:0;padding-bottom:0}.setting-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.setting-label{font-weight:600}.input-narrow{width:8rem}.checkbox{width:22px;height:22px;accent-color:var(--accent)}.save-bar{bottom:calc(env(safe-area-inset-bottom) + .75rem);border-radius:var(--radius);border:1px solid var(--glass-border);background:var(--bg);box-shadow:var(--glass-shadow);padding:.75rem 1rem;position:sticky}.shell{padding-bottom:calc(env(safe-area-inset-bottom) + 72px)}.tabbar{z-index:10;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:6px max(env(safe-area-inset-left), 8px) calc(env(safe-area-inset-bottom) + 6px);border-top:1px solid var(--glass-border);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);justify-content:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tabbar a{max-width:96px;min-height:48px;color:var(--ink-faint);border-radius:10px;flex-direction:column;flex:1 0 64px;justify-content:center;align-items:center;gap:2px;font-size:.7rem;font-weight:600;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--accent)}.tabbar a:focus-visible,.link:focus-visible,.checkbox:focus-visible,.chip:focus-visible,.list-link:focus-visible,.stat-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.75rem;margin-bottom:.5rem;display:grid}.stat{flex-direction:column;gap:.1rem;min-width:0;display:flex}.stat-link{color:inherit;border-radius:8px;text-decoration:none}.stat-label{color:var(--ink-muted);font-size:.78rem}.stat-value{letter-spacing:-.01em;font-size:1.35rem;font-weight:650}.hero{flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 0;display:flex}.hero-value{letter-spacing:-.02em;font-size:2.4rem;font-weight:650}.summary-line{margin:.75rem 0 0;line-height:1.45}.card-placeholder{opacity:.7}.center-text{text-align:center}.chips{gap:.4rem;margin:.35rem 0}.chip{appearance:none;border:1px solid var(--glass-border);min-height:36px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.chip:disabled{opacity:.45;cursor:default}.chip-spacer{flex:1}.legend{color:var(--ink);flex-wrap:wrap;gap:.35rem .9rem;margin:.4rem 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.legend li{align-items:center;gap:.35rem;display:inline-flex}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.swatch-line{border-radius:2px;width:14px;height:3px}.swatch-empty{background:var(--viz-gap)}.stage-axis{justify-content:space-between;display:flex}.timeline{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.lane{margin-bottom:.4rem}.lane-label{color:var(--ink-muted);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.combined-key{flex-wrap:wrap;gap:.2rem .8rem}.combined-key>span{align-items:center;gap:.35rem;display:inline-flex}.readout{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .8rem;min-height:1.5rem;margin:.4rem 0 0;font-size:.85rem;display:flex}.is-refreshing{opacity:.6;transition:opacity .2s}.table-wrap,.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--track);white-space:nowrap;padding:.35rem .5rem .35rem 0}.data-table th{color:var(--ink-muted);font-weight:600}.list-link{width:100%;color:inherit;justify-content:space-between;align-items:center;gap:.75rem;text-decoration:none;display:flex}.list li:has(>.list-link){padding:0}.list-link{padding:.6rem 0}.u-cursor-x,.u-cursor-y{border-color:var(--ink-faint)!important}.subhead{color:var(--ink-muted);margin:1rem 0 .25rem;font-size:.85rem;font-weight:600}.rpe-grid{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.rpe-chip{min-height:44px;font-size:1rem}.tab-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:0 16px;overflow-x:auto}.tab-strip::-webkit-scrollbar{display:none}.tab-strip .chip{flex-shrink:0}.back-link{align-self:flex-start;min-height:36px;padding:.25rem 0}.sync-row{flex-wrap:nowrap;justify-content:space-between;gap:.75rem}.chart-tip{z-index:5;pointer-events:none;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg);min-width:7rem;color:var(--ink);box-shadow:var(--glass-shadow);font-variant-numeric:tabular-nums;white-space:nowrap;padding:.35rem .55rem;font-size:.8rem;line-height:1.35;position:absolute;top:4px}.chart-tip-title{color:var(--ink-muted);margin-bottom:.1rem}.chart-tip-row{align-items:center;gap:.4rem;display:flex}.chart-tip-row strong{margin-left:auto;padding-left:.6rem;font-weight:600}.chart-tip-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.spark{position:relative}@media (width>=720px){.tabbar{justify-content:center}}.timeline-readout{grid-template-rows:1.35em 1.35em;gap:.1rem;height:calc(2.7em + .1rem);min-height:0;line-height:1.35;display:grid}.readout-line{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.readout-values{scrollbar-width:none;text-overflow:clip;gap:.8rem;display:flex;overflow-x:auto}.readout-values::-webkit-scrollbar{display:none}.tag-chips{flex-wrap:wrap}.chip-open:after{content:" ›"}.drink-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;display:grid}.drink-cell{flex-direction:column;align-items:stretch;gap:.15rem;display:flex}.drink-btn{text-align:left;flex-direction:column;align-items:flex-start;gap:.15rem;min-height:64px;display:flex;position:relative}.drink-btn .pill{position:absolute;top:6px;right:6px}.insight{display:block}.insight p{margin:.25rem 0 0}.subtabs{border-bottom:1px solid var(--glass-border);gap:.25rem;margin-top:-.25rem}.subtab{appearance:none;min-height:36px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;padding:.3rem .65rem;font-size:.9rem}.subtab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.subtab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drink-list li{align-items:center}.counter{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.counter-btn{min-width:44px;min-height:44px;padding:0;font-size:1.2rem;line-height:1}.counter-value{text-align:center;font-variant-numeric:tabular-nums;min-width:1.6rem;font-weight:650}.date-chip{align-items:center;display:inline-flex;position:relative;overflow:hidden}.date-chip input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.date-chip.is-on{background:var(--accent);color:var(--accent-ink);border-color:#0000}.counter-input{text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;width:3.4rem;min-height:44px;padding:.25rem;font-weight:650}.counter-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.counter-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.counter-input.is-changed{border-color:var(--accent)}.stat-delta{color:var(--ink-muted);font-size:.8rem;line-height:1.3}.call-pill{padding:.2rem .8rem;font-size:.95rem}.overview-day{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.2rem 0 .5rem;font-size:.85rem;display:flex}.day-btn{border:1px solid var(--glass-border);min-width:1.9rem;height:1.9rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 .5rem;line-height:1}.day-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.day-toggle,.day-today{margin-left:auto}.day-toggle{flex:none;gap:.25rem;display:flex}.day-btn:disabled{opacity:.35;cursor:default}.day-input{border:1px solid var(--glass-border);background:var(--field-bg);min-width:0;height:1.9rem;color:inherit;font:inherit;appearance:none;border-radius:999px;flex:0 auto;padding:0 .6rem}.date-pick{cursor:pointer;white-space:nowrap;align-items:center;display:inline-flex;position:relative}.date-pick input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.tone-good{color:var(--good);font-weight:600}.tone-warn{color:var(--warn);font-weight:600}.tone-bad{color:var(--bad);font-weight:600}.overview-lines li{line-height:1.4;display:block}.overview-section{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:.72rem;font-weight:700;border-bottom:none!important;padding:.6rem 0 .1rem!important}.overview-section:first-child{padding-top:0!important}.overview-head{font-weight:650;border-bottom:none!important;padding-bottom:0!important}.overview-stage{color:var(--ink-muted);padding-left:1rem!important}.swatch-dashed{background:repeating-linear-gradient(90deg,currentColor 0 5px,#0000 5px 8px)!important}
