:root{--pageBg:#e9ebef;--canvas:#f7f8fa;--surface:#fff;--surface2:#f0f2f5;--divider:#ebeef2;--tint:#f0f2f5;--today:#fcf0ea;--border:#e2e5ea;--text:#0f1114;--text2:#4a515c;--text3:#6c7480;--accent:#b8481b;--accentWash:#faeee8;--accentFold:#b8481b66;--onAccent:#fff;--load:#6d28d9;--ok:#1f883d;--warn:#9a6700;--danger:#cf222e;--okWash:#1f883d33;--dangerWash:#cf222e33;--sleepBar:#c3cad4;--scrim:#0f111480;--sport-run:#b8481b;--sport-trail:#9a6700;--sport-ride:#6d28d9;--sport-swim:#0d8f7f;--sport-hike:#1f883d;--sport-strength:#cf222e;--sport-ski:#0a7bb8;--sport-other:#6e7681;--z1:#6e7681;--z2:#4cc2ff;--z3:#3fb950;--z4:#d29922;--z5:#f85149;--onZone:#0b0d10;--font-ui:Inter, system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--pageBg:#07080a;--canvas:#0b0d10;--surface:#14171c;--surface2:#1b1f26;--divider:#1b1f26;--tint:#101318;--today:#1f1613;--border:#232830;--text:#e8ebf0;--text2:#a6afbc;--text3:#7c8695;--accent:#e8663c;--accentWash:#e8663c1f;--accentFold:#e8663c66;--onAccent:#14100e;--load:#8b5cf6;--ok:#3fb950;--warn:#d29922;--danger:#f85149;--okWash:#3fb95055;--dangerWash:#f8514955;--sleepBar:#2e3a47;--scrim:#000000a6;--sport-run:#e8663c;--sport-trail:#d29922;--sport-ride:#8b5cf6;--sport-swim:#2dd4bf;--sport-hike:#3fb950;--sport-strength:#f85149;--sport-ski:#7dd3fc;--sport-other:#8a929e;color-scheme:dark}}:root[data-theme=dark]{--pageBg:#07080a;--canvas:#0b0d10;--surface:#14171c;--surface2:#1b1f26;--divider:#1b1f26;--tint:#101318;--today:#1f1613;--border:#232830;--text:#e8ebf0;--text2:#a6afbc;--text3:#7c8695;--accent:#e8663c;--accentWash:#e8663c1f;--accentFold:#e8663c66;--onAccent:#14100e;--load:#8b5cf6;--ok:#3fb950;--warn:#d29922;--danger:#f85149;--okWash:#3fb95055;--dangerWash:#f8514955;--sleepBar:#2e3a47;--scrim:#000000a6;--sport-run:#e8663c;--sport-trail:#d29922;--sport-ride:#8b5cf6;--sport-swim:#2dd4bf;--sport-hike:#3fb950;--sport-strength:#f85149;--sport-ski:#7dd3fc;--sport-other:#8a929e;color-scheme:dark}*{box-sizing:border-box}:root{--ui-zoom:1}@media (width>=1920px){:root{--ui-zoom:1.125}}@media (width>=2400px){:root{--ui-zoom:1.25}}html{zoom:var(--ui-zoom)}html,body{height:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:13px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{opacity:.75}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.mono-500{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text3);font-size:11px;font-weight:500}p,.prose{text-wrap:pretty}.empty{color:var(--text3)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-x{overflow-x:auto}.chart-tip{z-index:50;background:var(--surface2);border:1px solid var(--border);min-width:120px;max-width:280px;color:var(--text);pointer-events:none;padding:8px 10px;font-size:11px;line-height:1.4;position:fixed}.chart-tip[hidden]{display:none}.chart-tip-title{font-family:var(--font-mono);color:var(--text3);margin-bottom:4px;font-size:10px}.chart-tip-row{grid-template-columns:10px auto 1fr;align-items:center;gap:6px;display:grid}.chart-tip-row i{width:10px;height:2px}.chart-tip-row strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.chart-tip-row span{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-hover-x]{cursor:crosshair;touch-action:pan-y}[data-hover-x]:focus-visible,[data-hover-marks]:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.xh{pointer-events:none;width:0;position:absolute;top:0;bottom:0}.xh-line{border-left:1px solid var(--text3);position:absolute;top:0;bottom:0;left:0}.xh-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin:-4px 0 0 -4px;position:absolute;left:0}[data-hover-marks] [data-tip]{cursor:default}[data-hover-marks]:has(.is-hover) [data-tip]:not(.is-hover){opacity:.55}[data-hover-marks] [data-tip].is-hover{opacity:1}.hover-box{top:0;bottom:0;left:0;right:var(--hover-inset,0);position:absolute}
