:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--radius-sm:3px;--radius-md:8px;--radius-lg:11px;--radius-xl:14px;--font-size-micro:12px;--font-size-xs:13.5px;--font-size-sm:15.5px;--font-size-md:17px;--font-size-lg:24px;--font-size-xl:34px;--font-size-display:48px;--weight-medium:600;--weight-semibold:650;--weight-bold:700;--leading-tight:1.4;--leading-normal:1.5;--leading-relaxed:1.6;--accent-wash:color-mix(in oklab, var(--accent) 22%, transparent);--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--duration-fast:.12s;--duration-slow:.24s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--surface-page:#0a0e17;--surface-card:#121926;--surface-inset:#0e1520;--surface-rail:#0c111c;--border-subtle:#192937;--text-primary:#eaf0fb;--text-secondary:#b7c8db;--text-muted:#97a8b9;--text-faint:#788899;--accent:#4f8ff7;--accent-soft:#bfd5f9;--focus:#b3e4fa;--positive:#5ec9a0;--negative:#e8846b;--surface-hover:#192937;--surface-selected:#152138;--surface-accent:#152138;--surface-accent-hover:#1e2a78;--surface-disabled:#121926;--border-accent:#3730a3;--text-disabled:#647484;--surface-chosen:#152138;--border-chosen:#28477a;--chart-stage-deep:#3730a3;--chart-stage-light:#4f8ff7;--chart-stage-rem:#b3e4fa;--chart-stage-awake:#f0a202;--chart-series:#4f8ff7;--chart-series-alt:#bfd5f9;--chart-balance-over:#4f8ff7;--chart-balance-under:#f0a202;--chart-zone-light:#b3e4fa;--chart-zone-moderate:#4f8ff7;--chart-zone-vigorous:#f0a202;--chart-zone-peak:#ab432a;--chart-activity-light:#1f8060;--chart-activity-moderate:#5ec9a0;--chart-activity-vigorous:#d9efe4;--chart-grid:#0e1520;--chart-axis:#788899;--chart-band-baseline:#1e2a78;--chart-band-span:#28477a;--chart-state-excluded:#647484;--chart-state-no-data:#c1a2bc;--chart-tooltip-bg:#192937;--chart-scale-1:#003e5d;--chart-scale-2:#156588;--chart-scale-3:#3b8fb3;--chart-scale-4:#74bad8;--chart-scale-5:#b7e4f7;--map-land:#0e1520;--map-water:#152138;--map-park:#0f1f1b;--map-building:#121926;--map-road:#192937;--map-road-major:#273645;--map-label:#788899;--map-label-halo:#0e1520;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--surface-page:#f5f7fb;--surface-card:#fff;--surface-inset:#e3e8ef;--surface-rail:#fff;--border-subtle:#e3e8ef;--text-primary:#121926;--text-secondary:#273645;--text-muted:#3d4d5c;--text-faint:#556575;--accent:#2376e9;--accent-soft:#1e2a78;--focus:#2376e9;--positive:#166f52;--negative:#ab432a;--surface-hover:#e3e8ef;--surface-selected:#e8f0fe;--surface-accent:#e8f0fe;--surface-accent-hover:#b3e4fa;--surface-disabled:#e3e8ef;--border-accent:#bfd5f9;--text-disabled:#647484;--surface-chosen:#e8f0fe;--border-chosen:#acc9f9;--chart-stage-deep:#1e2a78;--chart-stage-light:#2376e9;--chart-stage-rem:#b3e4fa;--chart-stage-awake:#b45309;--chart-series:#2376e9;--chart-series-alt:#3730a3;--chart-balance-over:#2376e9;--chart-balance-under:#b45309;--chart-zone-light:#b3e4fa;--chart-zone-moderate:#2376e9;--chart-zone-vigorous:#b45309;--chart-zone-peak:#e8846b;--chart-activity-light:#38a078;--chart-activity-moderate:#0f5a42;--chart-activity-vigorous:#0a140f;--chart-grid:#e3e8ef;--chart-axis:#556575;--chart-band-baseline:#bfd5f9;--chart-band-span:#acc9f9;--chart-state-excluded:#647484;--chart-state-no-data:#523145;--chart-tooltip-bg:#eaf0fb;--chart-scale-1:#b7e4f7;--chart-scale-2:#74bad8;--chart-scale-3:#3b8fb3;--chart-scale-4:#156588;--chart-scale-5:#003e5d;--map-land:#e3e8ef;--map-water:#b3e4fa;--map-park:#d9efe4;--map-building:#eaf0fb;--map-road:#f5f7fb;--map-road-major:#fff;--map-label:#556575;--map-label-halo:#e3e8ef;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}[data-theme=light]{--surface-page:#f5f7fb;--surface-card:#fff;--surface-inset:#e3e8ef;--surface-rail:#fff;--border-subtle:#e3e8ef;--text-primary:#121926;--text-secondary:#273645;--text-muted:#3d4d5c;--text-faint:#556575;--accent:#2376e9;--accent-soft:#1e2a78;--focus:#2376e9;--positive:#166f52;--negative:#ab432a;--surface-hover:#e3e8ef;--surface-selected:#e8f0fe;--surface-accent:#e8f0fe;--surface-accent-hover:#b3e4fa;--surface-disabled:#e3e8ef;--border-accent:#bfd5f9;--text-disabled:#647484;--surface-chosen:#e8f0fe;--border-chosen:#acc9f9;--chart-stage-deep:#1e2a78;--chart-stage-light:#2376e9;--chart-stage-rem:#b3e4fa;--chart-stage-awake:#b45309;--chart-series:#2376e9;--chart-series-alt:#3730a3;--chart-balance-over:#2376e9;--chart-balance-under:#b45309;--chart-zone-light:#b3e4fa;--chart-zone-moderate:#2376e9;--chart-zone-vigorous:#b45309;--chart-zone-peak:#e8846b;--chart-activity-light:#38a078;--chart-activity-moderate:#0f5a42;--chart-activity-vigorous:#0a140f;--chart-grid:#e3e8ef;--chart-axis:#556575;--chart-band-baseline:#bfd5f9;--chart-band-span:#acc9f9;--chart-state-excluded:#647484;--chart-state-no-data:#523145;--chart-tooltip-bg:#eaf0fb;--chart-scale-1:#b7e4f7;--chart-scale-2:#74bad8;--chart-scale-3:#3b8fb3;--chart-scale-4:#156588;--chart-scale-5:#003e5d;--map-land:#e3e8ef;--map-water:#b3e4fa;--map-park:#d9efe4;--map-building:#eaf0fb;--map-road:#f5f7fb;--map-road-major:#fff;--map-label:#556575;--map-label-halo:#e3e8ef;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-slow:0s}}*{box-sizing:border-box}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-variant-numeric:tabular-nums;margin:0}.layout{min-height:calc(100vh - var(--chrome-above,0px));display:flex}.rail{background:var(--surface-rail);width:186px;padding:var(--space-4) var(--space-3);height:calc(100vh - var(--chrome-above,0px));height:calc(100dvh - var(--chrome-above,0px));flex-direction:column;flex:none;transition:width .15s;display:flex;position:sticky;top:0;overflow-y:auto}.rail-collapsed{width:60px}.rail-collapsed .rail-item,.rail-collapsed .rail-person{justify-content:center;padding-left:0;padding-right:0}.rail-collapsed .brand-row{align-items:center;gap:var(--space-2);flex-direction:column;justify-content:center;padding-left:0}.rail-collapsed .rail-foot .button{padding-left:0;padding-right:0}.rail-collapsed .rail-group{width:20px;height:1px;margin:var(--space-2) auto;background:var(--border-subtle);padding:0}.rail-collapsed .rail-item svg{opacity:1}.rail-group{font-size:var(--font-size-micro);letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);padding:var(--space-3) var(--space-3) var(--space-1)}.rail-item{align-items:center;gap:var(--space-2);padding:8px var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);border-radius:7px;text-decoration:none;display:flex}.rail-item[aria-current=page]{background:var(--surface-selected);color:var(--accent-soft);font-weight:var(--weight-medium)}.brand-row{justify-content:space-between;align-items:center;padding:4px 0 16px 12px;display:flex}.brand{font-weight:var(--weight-bold);font-size:var(--font-size-sm);letter-spacing:.01em;align-items:center;gap:7px;display:flex}.brand-mark{width:20px;height:20px;color:var(--accent);flex:none}.rail-toggle{flex:none}.rail-item svg{opacity:.7;flex:none;width:17px;height:17px}.rail-item[aria-current=page] svg{opacity:1;color:var(--accent)}.rail-foot{padding-top:var(--space-3);border-top:1px solid var(--border-subtle);gap:var(--space-2);background:var(--surface-rail);flex-direction:column;margin-top:auto;display:flex;position:sticky;bottom:0}.about-version{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.about-update{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--text-muted)}.about-update[data-state=available]{color:var(--accent-soft);font-weight:var(--weight-medium)}.about-update-toggle{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.about-links{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.about-link{align-items:center;gap:var(--space-2);min-height:44px;color:var(--text-secondary);font-size:var(--font-size-sm);text-decoration:none;display:flex}.about-link svg{flex:none;width:17px;height:17px}.about-link:hover{color:var(--text-primary);text-decoration:underline}.about-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.rail-person{align-items:center;gap:var(--space-2);text-align:left;width:100%;font-size:var(--font-size-sm);color:var(--text-secondary);padding:4px var(--space-3);cursor:pointer;background:0 0;border:0;border-radius:7px;font-family:inherit;text-decoration:none;display:flex}.rail-person:hover{background:var(--surface-selected);color:var(--text-primary)}.rail-person[aria-current=page]{background:var(--surface-selected);color:var(--accent-soft)}.rail-person-menu{position:relative}.rail-menu{bottom:calc(100% + var(--space-1));min-width:max(100%,10rem);padding:var(--space-1);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:2;flex-direction:column;display:flex;position:absolute;left:0}.rail-menu-floating{z-index:30;min-width:10rem;position:fixed}.rail-menu-item{align-items:center;gap:var(--space-2);text-align:left;width:100%;padding:8px var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;font-family:inherit;text-decoration:none;display:flex}.rail-menu-item:hover{background:var(--surface-selected);color:var(--text-primary)}.rail-menu-item svg{opacity:.7;flex:none;width:17px;height:17px}.rail-foot .button{justify-content:center}.top-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-rail);border-bottom:1px solid var(--border-subtle);z-index:10;display:flex;position:sticky;top:0}.rail-dialog{background:var(--surface-rail);border:0;width:min(280px,85vw);max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.rail-dialog::backdrop{background:color-mix(in srgb, var(--surface-page) 80%, transparent)}.rail-dialog .rail{width:100%;height:100%;position:static}.rail-dialog{position:relative}.rail-close{top:var(--space-2);right:var(--space-2);z-index:1;position:absolute}html:has(dialog.rail-dialog[open]){overflow:hidden}.layout-phone{display:block}.layout-phone .main{padding:var(--space-3)}.avatar{text-transform:uppercase;width:19px;height:19px;font-size:var(--font-size-micro);font-weight:var(--weight-medium);background:color-mix(in srgb, var(--accent) 26%, transparent);color:var(--text-primary);border-radius:50%;flex:none;place-items:center;display:grid}.controls{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.controls>.maintenance{flex-basis:100%}.controls-end{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.segmented{background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;gap:2px;padding:3px;display:flex}.segment{appearance:none;font:inherit;font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 11px}.segment:hover{color:var(--text-primary)}.segment[aria-pressed=true]{background:var(--surface-card);color:var(--text-primary);font-weight:var(--weight-medium)}a.segment{text-decoration:none;display:inline-block}.segment[aria-current=page]{background:var(--surface-card);color:var(--text-primary);font-weight:var(--weight-medium)}.settings-tabs{width:fit-content;margin-bottom:var(--space-4)}.stepper{border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;padding:2px;display:flex}.stepper-label{font-size:var(--font-size-xs);color:var(--text-secondary);padding:0 var(--space-2);text-align:center;min-width:96px}.date-picker{appearance:none;font:inherit;font-size:var(--font-size-xs);color:var(--text-secondary);padding:0 var(--space-2);cursor:pointer;background:0 0;border:0}.date-picker::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.date-picker:hover{color:var(--text-primary)}.date-pick{width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex;position:relative}.date-pick:hover{color:var(--text-primary)}.date-pick:has(.date-pick-input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.date-pick-input{opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;border:0;margin:0;padding:0;position:absolute;inset:0}.date-pick-input::-webkit-calendar-picker-indicator{cursor:pointer;width:auto;height:auto;position:absolute;inset:0}.controls-phone{gap:var(--space-2);grid-template-columns:1fr;display:grid}.period-chip{appearance:none;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-2);min-height:44px;color:var(--text-primary);border-radius:var(--radius-md);background:0 0;border:0;flex:1;display:flex}.period-chip svg{opacity:.55;flex:none;width:15px;height:15px}.period-chip-range{font-size:var(--font-size-xs);color:var(--text-secondary);flex:none}.period-chip-period{font-size:var(--font-size-xs);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.period-sheet{background:var(--surface-card);border:0;border-top:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-width:none;max-height:85dvh;color:var(--text-primary);margin:auto auto 0;padding:0}.period-sheet::backdrop{background:color-mix(in srgb, var(--surface-page) 80%, transparent)}.period-sheet-body{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.period-sheet-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.period-sheet-title{font-size:var(--font-size-sm);font-weight:var(--weight-medium)}.period-options{flex-direction:column;gap:2px;display:flex}.period-option{appearance:none;font:inherit;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);text-align:left;background:0 0;border:0;align-items:center;display:flex}.period-option[aria-pressed=true]{background:var(--surface-inset);color:var(--text-primary);font-weight:var(--weight-medium)}.period-sheet-field{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.period-sheet-field select{appearance:none;font:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px var(--space-2);max-width:60%}.period-sheet-field .date-picker{font-size:var(--font-size-sm);color:var(--text-primary)}.period-sheet-export{justify-content:center;min-height:44px}.shortcut-dialog{border:1px solid var(--border-subtle);width:min(28rem, calc(100% - 2 * var(--space-4)));background:var(--surface-card);max-height:76vh;color:var(--text-primary);border-radius:var(--radius-md);margin:12vh auto auto;padding:0}.shortcut-dialog::backdrop{background:color-mix(in srgb, var(--surface-page) 70%, transparent)}.shortcut-dialog-body{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.shortcut-dialog-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.shortcut-dialog-title{font-size:var(--font-size-sm);font-weight:var(--weight-medium)}.goto-input{width:100%}.goto-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.goto-option{min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);align-items:center;display:flex}.goto-option:hover{color:var(--text-primary)}.goto-option[aria-selected=true]{background:var(--surface-inset);color:var(--text-primary);font-weight:var(--weight-medium)}.goto-empty{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.shortcut-list{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.shortcut-row{align-items:center;gap:var(--space-3);grid-template-columns:9rem 1fr;display:grid}.shortcut-row dt{flex-wrap:wrap;gap:4px;display:flex}.shortcut-row dd{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.shortcut-row kbd{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:center;min-width:1.6em;padding:1px 6px}.shortcut-note{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);margin:0}:is(html:has(dialog.period-sheet[open]),html:has(dialog.status-sheet[open]),html:has(dialog.cal-sheet[open]),html:has(dialog.log-sheet[open])){overflow:hidden}.button,.icon-button{appearance:none;font:inherit;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-md)}.button{font-size:var(--font-size-xs);background:var(--surface-card);border:1px solid var(--border-subtle);align-items:center;gap:7px;padding:6px 11px;display:inline-flex}.button:hover{color:var(--text-primary);border-color:var(--text-faint)}.button:disabled,.button[aria-disabled=true]{background:var(--surface-disabled);color:var(--text-disabled);cursor:not-allowed}.button svg,.icon-button svg{width:15px;height:15px}.button select{appearance:none;font:inherit;font-size:var(--font-size-xs);color:inherit;background-color:var(--surface-card);cursor:pointer;text-overflow:ellipsis;border:0;max-width:15ch;padding:0;overflow:hidden}.button select option{background-color:var(--surface-card);color:var(--text-primary)}.button-primary{color:var(--accent-soft);background:var(--surface-accent);border-color:var(--border-accent)}.button-primary:hover{color:var(--text-primary);background:var(--surface-accent-hover)}.button-primary:disabled,.button-primary[aria-disabled=true]{background:var(--surface-disabled);color:var(--text-disabled);border-color:var(--border-subtle);cursor:not-allowed}.button-primary svg{color:var(--accent)}.icon-button{color:var(--text-muted);background:0 0;border:0;padding:5px;display:inline-flex}.icon-button:hover{color:var(--text-primary)}.rail-foot-row{align-items:center;gap:var(--space-1);min-width:0;display:flex}.rail-foot-row .rail-person-menu{flex:1;min-width:0}.rail-collapsed .rail-foot-row{flex-direction:column}.status-control{flex:none;position:relative}.status-button{position:relative}.status-button svg{width:17px;height:17px}.status-button[data-running=true] svg,.status-sync[data-running=true] svg{animation:status-spin calc(var(--duration-slow) * 5) linear infinite}@keyframes status-spin{to{transform:rotate(360deg)}}.status-dot{background:var(--negative);border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px}.status-popover{width:min(20rem,100vw - 12px);max-height:70vh;padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:30;position:fixed;overflow:hidden auto}.status-sheet{background:var(--surface-card);border:0;border-top:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-width:none;max-height:85dvh;color:var(--text-primary);margin:auto auto 0;padding:0;overflow-x:hidden}.status-sheet::backdrop{background:color-mix(in srgb, var(--surface-page) 80%, transparent)}.status-sheet-body{padding:var(--space-3)}.status-sheet-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.status-sheet-title{font-size:var(--font-size-sm);font-weight:var(--weight-medium)}.status-connection+.status-connection{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.status-connection-head{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.status-connection-name{font-weight:var(--weight-semibold);color:var(--text-primary);white-space:nowrap}.status-connection-when{font-size:var(--font-size-micro);color:var(--text-faint)}.status-sync{white-space:nowrap;margin-left:auto}.status-problem{font-size:var(--font-size-xs);color:var(--negative);margin:var(--space-1) 0 0}.status-result{font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--space-1) 0 0}.status-devices{margin:var(--space-2) 0 0;padding:0 0 0 var(--space-3);list-style:none}.status-device{justify-content:space-between;gap:0 var(--space-2);font-size:var(--font-size-xs);color:var(--text-secondary);flex-wrap:wrap;padding:2px 0;display:flex}.status-device[data-stale=true]{color:var(--negative)}.status-device-name{white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;overflow:hidden}.status-device-day{white-space:nowrap;flex:none}.status-failures{margin:var(--space-1) 0 0;padding:0 0 0 var(--space-3);font-size:var(--font-size-xs);list-style:none}.status-failure{padding:2px 0}.status-failure-name{color:var(--text-secondary);font-weight:var(--weight-medium)}.status-failure-reason{color:var(--text-muted);display:block}.status-failure-details summary{color:var(--text-faint);cursor:pointer;font-size:var(--font-size-micro)}.status-failure-raw{font-family:var(--font-mono);font-size:var(--font-size-micro);color:var(--text-faint);overflow-wrap:anywhere;white-space:pre-wrap;display:block}.status-device-metrics{color:var(--text-muted);flex-basis:100%}.status-foot{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-micro);color:var(--text-faint);display:flex}.status-foot a{color:var(--accent-soft);text-decoration:none}.status-foot a:hover{text-decoration:underline}.top-bar-end{align-items:center;margin-left:auto;display:flex}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.main{padding:var(--space-5);flex:1;min-width:0;max-width:1500px;margin-inline:auto}.grid{gap:var(--space-3);grid-template-columns:repeat(12,1fr);display:grid}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);min-width:0}.card[id]{scroll-margin-top:56px}.card-measured,.list-measured,.prose-measured{max-width:46rem}.workout-excluded{color:var(--text-muted);font-size:var(--font-size-sm);margin:0}.basis.workout-gps,.basis.workout-also{margin:0}.workout-actions{justify-content:flex-end;display:flex}.workout-hero-line{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.workout-hero-filled{font-size:var(--font-size-micro);color:var(--text-faint)}.workout-hero-rank,.workout-hero-previous,.workout-hero-best,.workout-compared td,.workout-efforts td{font-variant-numeric:tabular-nums}.workout-compared-this{font-weight:var(--weight-bold)}.workout-compared thead .card-link{margin:0}.workout-diff{color:var(--text-muted)}.workout-compared-footnote{margin-top:var(--space-2)}.workout-map{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.workout-map[data-both=true]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.workout-map-route,.workout-map-km{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.workout-km{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.workout-km th{text-align:left;color:var(--text-muted);font-weight:var(--weight-medium);padding:var(--space-1) 0}.workout-km tbody th{color:var(--text-secondary)}.workout-km td,.workout-km tbody th{padding:var(--space-1) var(--space-1) var(--space-1) 0;border-top:1px solid var(--border-subtle)}.workout-km-bar-cell{width:45%}.workout-km-bar{background:var(--border-subtle);border-radius:2px;height:4px;display:block}.workout-km-bar-fill{background:var(--accent);border-radius:2px;height:100%;display:block}.workout-split-trend{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.workout-elevation{gap:var(--space-1);flex-direction:column;display:flex}.workout-elevation-head{align-items:baseline;gap:var(--space-2);display:flex}.workout-elevation-gain{font-size:var(--font-size-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.workout-elevation-svg{width:100%;height:40px;display:block}.workout-elevation-line{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.workout-through{gap:var(--space-3);grid-template-columns:130px minmax(0,1fr);align-items:center;display:grid}.workout-through-head,.workout-through-chart{min-width:0}.workout-through-summary{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.workout-through-toggle{justify-content:flex-end;display:flex}.workout-through-note{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-tight)}.workout-zones{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.workout-zones-verdict{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.workout-zones-verdict strong{color:var(--text-primary)}.workout-zones-bar{min-width:0}.detail-legend-key[data-zone=light]{background:var(--chart-zone-light)}.detail-legend-key[data-zone=moderate]{background:var(--chart-zone-moderate)}.detail-legend-key[data-zone=vigorous]{background:var(--chart-zone-vigorous)}.detail-legend-key[data-zone=peak]{background:var(--chart-zone-peak)}.workout-about-body{gap:var(--space-2);flex-direction:column;display:flex}.workout-about-body .workout-actions{justify-content:flex-start}.detail-about-line .workout-sync-now{vertical-align:baseline;margin-left:var(--space-1)}.workout-sync-outcome{color:var(--text-primary)}@media (width<=620px){.workout-compared-best,.workout-compared-usual,.workout-compared-wide,.workout-efforts-where{display:none}.workout-map[data-both=true],.workout-zones{grid-template-columns:minmax(0,1fr)}.workout-through{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}.detail-page{max-width:1200px;margin-inline:auto}.detail-page .card>.label+:not(.basis),.detail-page .card>.basis+*{margin-top:var(--space-3)}.detail-hero{justify-content:space-between}.detail-hero-value{font-variant-numeric:tabular-nums}.detail-verdict{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.detail-verdict.better{color:var(--positive)}.detail-verdict.worse,.detail-verdict.is-out{color:var(--negative)}.night-summary-name.better{color:var(--positive)}.night-summary-name.worse,.night-summary-name.is-out{color:var(--negative)}.detail-minis{gap:var(--space-2);flex-direction:column;display:flex}.detail-rows{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.detail-rows[data-columns="1"],.detail-side-rows[data-columns="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}.detail-rows[data-columns="2"],.detail-side-rows[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-rows[data-columns="3"],.detail-side-rows[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-rows[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-rows[data-columns="1"]{grid-template-columns:minmax(0, calc((100% - 2 * var(--space-4)) / 3))}.card[data-span="6"] .detail-rows[data-columns="1"]{grid-template-columns:minmax(0,1fr)}.detail-side{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:start;display:grid}.detail-side-caption{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.detail-side-body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.detail-side-rows{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.detail-side-stacked{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.detail-legend{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary);flex-wrap:wrap;padding:0;list-style:none;display:flex}.detail-legend li{align-items:center;gap:var(--space-1);display:inline-flex}.detail-legend-key{border-radius:2px;flex:none;width:10px;height:10px}.detail-about-line{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.detail-about summary{color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.detail-about[open] summary{margin-bottom:var(--space-2)}.period-hero-strip{position:relative}.period-hero-captions{justify-content:space-between;gap:0 var(--space-3);flex-wrap:wrap;display:flex}.period-hero-hint{margin-left:auto;font-style:italic}.dash-caption.period-hero-source{margin:var(--space-3) 0 0}.period-hero-panel{z-index:30;width:min(24rem,100%);margin-top:var(--space-1);position:absolute;top:100%;right:0}.point-panel{box-sizing:border-box;padding:var(--space-3);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.point-panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.point-panel-title{font-size:var(--font-size-sm);font-weight:var(--weight-bold);margin:0}.point-panel-close{width:28px;height:28px;margin:calc(-1 * var(--space-1));border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-md);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.point-panel-close:hover{background:var(--surface-hover);color:var(--text-primary)}.point-panel-close:focus-visible{outline:2px solid var(--focus);outline-offset:0}.point-panel-subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.point-panel-rows{margin:var(--space-2) 0 0;gap:var(--space-1) var(--space-3);grid-template-columns:max-content max-content minmax(0,1fr);align-items:baseline;display:grid}.point-panel-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;display:grid}.point-panel-row dt{color:var(--text-secondary);font-size:var(--font-size-sm)}.point-panel-row dd{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;margin:0}.point-panel-value{font-weight:var(--weight-bold)}.point-panel-row .point-panel-verdict{font-size:var(--font-size-xs);color:var(--text-muted)}.point-panel-verdict.better{color:var(--positive)}.point-panel-verdict.worse,.point-panel-verdict.is-out{color:var(--negative)}.point-panel-actions{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.point-panel-actions .card-link{margin:0}@media (width<=620px){.period-hero-hint{display:none}.period-hero-panel{z-index:40;width:auto;margin:0;position:fixed;inset:auto 0 0}.period-hero-panel .point-panel{max-height:85dvh;padding:var(--space-4);border-radius:var(--radius-md) var(--radius-md) 0 0;border-width:1px 0 0;overflow-y:auto}.point-panel-actions{flex-direction:column;align-items:stretch}.point-panel-actions .card-link,.point-panel-actions .button{justify-content:center;align-items:center;min-height:44px;display:flex}.point-panel-close{width:44px;height:44px;margin:calc(-1 * var(--space-2))}}.period-list{flex-direction:column;align-items:flex-start;display:flex}.period-list-items{align-self:stretch;min-width:0}.period-list-expanded{columns:3 18rem;column-gap:var(--space-4)}.period-list-heading{justify-content:space-between;align-items:baseline;gap:0 var(--space-3);margin:var(--space-3) 0 0;padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);color:var(--text-primary);break-after:avoid;flex-wrap:wrap;display:flex}.period-list-name{font-size:inherit;font-weight:var(--weight-bold);margin:0}.period-list-aside{font-size:var(--font-size-xs);color:var(--text-secondary)}.period-list-group:first-child .period-list-heading{margin-top:0}.period-list-toggle{margin-top:var(--space-3)}@media (width<=620px){.period-list-expanded{columns:1}}.day-log{align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.day-log-mood{align-items:center;gap:var(--space-2);display:flex}.day-log-mood-word{font-size:var(--font-size-sm);color:var(--text-secondary)}.day-log-chips{gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.day-log-chip{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:999px;padding:2px 10px}.day-log-note{font-size:var(--font-size-sm);color:var(--text-secondary);flex-basis:100%;margin:0;font-style:italic}@media (width<=620px){.detail-about summary{align-content:center;min-height:44px;display:list-item}.detail-about-line .workout-sync-now{min-height:44px}}.night-week-total{font-variant-numeric:tabular-nums}.night-week-against{margin:var(--space-1) 0 var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary)}.night-week-bars-caption{margin-top:var(--space-2)}.night-recovery-usual,.night-recovery-from{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.night-recovery-from{color:var(--text-muted)}.night-grp{gap:var(--space-4);grid-template-columns:1fr 3fr;align-items:center;display:grid}.night-traces{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.night-trace{gap:var(--space-3);grid-template-columns:130px minmax(0,1fr);align-items:center;display:grid}.night-trace-head,.night-trace-chart{min-width:0}@media (width<=620px){.night-trace{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}.night-traces-basis{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-tight);margin:0}.night-trace-summary{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.detail-legend-key[data-stage=deep]{background:var(--chart-stage-deep)}.detail-legend-key[data-stage=light]{background:var(--chart-stage-light)}.detail-legend-key[data-stage=rem]{background:var(--chart-stage-rem)}.detail-legend-key[data-stage=awake]{background:var(--chart-stage-awake)}.detail-legend+.detail-rows{margin-top:var(--space-3)}.detail-legend-key[data-schedule=weekday]{background:var(--chart-stage-light)}.detail-legend-key[data-schedule=weekend]{background:var(--chart-stage-rem)}.detail-legend-key[data-schedule=out]{background:var(--negative);border-radius:50%}.detail-legend-key[data-schedule=usual]{background:var(--chart-band-baseline)}.detail-legend-key[data-activity=light]{background:var(--chart-activity-light)}.detail-legend-key[data-activity=moderate]{background:var(--chart-activity-moderate)}.detail-legend-key[data-activity=vigorous]{background:var(--chart-activity-vigorous)}.detail-legend-key[data-azm=fatBurn]{background:var(--chart-zone-moderate)}.detail-legend-key[data-azm=cardio]{background:var(--chart-zone-vigorous)}.detail-legend-key[data-azm=peak]{background:var(--chart-zone-peak)}.activity-card-lead{margin-bottom:var(--space-3)}.activity-card-lead .detail-verdict{margin-top:var(--space-1)}.activity-workout-filter{margin-bottom:var(--space-2)}.activity-types{margin:var(--space-1) 0 var(--space-3);padding:0;list-style:none}.activity-type{column-gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;display:grid}.activity-type:last-child{border-bottom:0}.activity-type-name{font-weight:var(--weight-bold);min-width:0}.activity-type-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.activity-type-verdict{font-size:var(--font-size-xs);color:var(--text-secondary);grid-column:2/4}.activity-type-verdict.better{color:var(--positive)}.activity-type-verdict.worse,.activity-type-verdict.is-out{color:var(--negative)}.schedule-sentences{margin-bottom:var(--space-2)}.schedule-sentences>p{margin:0}.night-sessions{margin:0;padding:0;list-style:none}.night-session{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.night-session:last-child{border-bottom:0}.night-session-label{font-variant-numeric:tabular-nums;color:var(--text-primary)}.night-session .button{white-space:nowrap}.night-session-excluded{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.workout-splits-footnote{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.zone-tiles{justify-content:start;gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(150px,230px));display:grid}.workout-dynamic-tile{min-width:0}.workout-route-svg{width:100%;height:auto;max-height:320px;display:block}.workout-route-lead{margin-bottom:var(--space-2)}.workout-route-trace{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.workout-route-point{fill:var(--accent)}.workout-route-start,.workout-route-km circle{fill:var(--accent);stroke:var(--surface-card);stroke-width:1.5px}.workout-route-km text{fill:var(--surface-card);font-size:var(--font-size-micro);font-weight:var(--weight-semibold)}.workout-route-map{border-radius:var(--radius-md);background:var(--map-land);width:100%;height:320px;position:relative;overflow:hidden}.workout-route-map .maplibregl-ctrl.maplibregl-ctrl-attrib{background:var(--surface-card);color:var(--text-muted);font-size:var(--font-size-micro);border-top-left-radius:var(--radius-sm)}.workout-route-map .maplibregl-ctrl-attrib a{color:var(--text-muted)}.workout-route-map .maplibregl-ctrl-attrib a:hover{color:var(--text-primary)}.label{font-size:var(--font-size-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:var(--weight-medium)}h2.label{margin:0}.value{font-size:var(--font-size-xl);font-weight:var(--weight-bold);letter-spacing:-.02em;margin-top:var(--space-1)}.basis{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1);line-height:var(--leading-tight)}.delta{font-size:var(--font-size-xs);background:var(--surface-inset);border-radius:20px;padding:2px 7px}.delta[data-tone=good]{color:var(--positive)}.delta[data-tone=bad]{color:var(--negative)}.delta[data-tone=neutral]{color:var(--text-secondary)}.empty{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--leading-normal);padding:var(--space-4) 0 var(--space-1)}.empty small{color:var(--text-faint)}.chart-note{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1);line-height:var(--leading-tight)}.against-usual{font-size:var(--font-size-xs);color:var(--text-secondary);margin:var(--space-1) 0 0;line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.hypnogram-totals,.hypnogram-absence{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1);line-height:var(--leading-tight)}.hypnogram-totals.is-compact{color:var(--text-faint);margin:0}.insight-summary{font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--leading-normal);margin:var(--space-1) 0 0}.insight-compare{align-items:start;gap:var(--space-3);margin-top:var(--space-1);grid-template-columns:1fr 1fr auto;display:grid}.insight-period{flex-direction:column;gap:2px;min-width:0;display:flex}.insight-period-label{font-size:var(--font-size-xs);color:var(--text-muted)}.insight-value{font-size:var(--font-size-lg);font-weight:var(--weight-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}.insight-period-previous .insight-value{color:var(--text-secondary)}.insight-range{font-size:var(--font-size-xs);color:var(--text-faint)}.insight-delta{font-variant-numeric:tabular-nums;align-self:center}.insight-bars{margin-top:var(--space-3);gap:4px;display:grid}.insight-bar{background:var(--surface-inset);border-radius:3px;height:6px;display:block;overflow:hidden}.insight-bar>span{background:var(--accent);border-radius:3px;height:100%;display:block}.insight-bar-previous>span{background:var(--text-faint)}.card-link{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--accent-soft);text-decoration:none;display:inline-block}.card-link:hover{text-decoration:underline}.dashboard{max-width:1200px;margin-inline:auto}.dash-date{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.dash-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.dash-heading{flex:auto;min-width:0}.dash-title{font-size:var(--font-size-lg);margin:0 0 var(--space-1)}.day-nav{gap:var(--space-1);flex-wrap:nowrap;flex-shrink:0;display:flex}.dashboard-grid-stale{opacity:.6;transition:opacity .15s}.day-nav-btn{justify-content:center;min-width:36px;min-height:32px}.day-nav-btn:disabled{background:var(--surface-card)}.day-nav-today{justify-content:center;min-height:32px}.day-nav-back{white-space:nowrap;justify-content:center;min-height:32px;text-decoration:none}.cal-popover{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:min(300px,100vw - 12px);color:var(--text-primary);z-index:30;padding:14px;position:fixed}.cal-sheet{background:var(--surface-card);border:0;border-top:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-width:none;max-height:85dvh;color:var(--text-primary);margin:auto auto 0;padding:0}.cal-sheet::backdrop{background:color-mix(in srgb, var(--surface-page) 80%, transparent)}.cal-sheet-body{padding:var(--space-3)}.cal-sheet-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.cal-sheet-title{font-size:var(--font-size-sm);font-weight:var(--weight-medium)}.cal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal-title{font-size:var(--font-size-sm);font-weight:var(--weight-semibold)}.cal-nav{appearance:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.cal-nav:hover:not(:disabled){color:var(--text-primary)}.cal-nav:disabled{color:var(--text-disabled);cursor:default}.cal-grid{border-radius:var(--radius-md);flex-direction:column;gap:4px;display:flex}.cal-grid:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.cal-weekdays,.cal-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-weekday{font-size:var(--font-size-micro);color:var(--text-faint);text-align:center;letter-spacing:.04em;padding-bottom:4px}.cal-cell{min-width:0}.cal-day{appearance:none;font:inherit;box-sizing:border-box;width:100%;height:36px;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;display:flex}.cal-day:hover{background:var(--surface-hover)}.cal-day:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.cal-day.is-off{color:var(--text-disabled);cursor:default}.cal-day.is-off:hover{background:0 0}.cal-day.is-today{border-color:var(--border-chosen)}.cal-day.is-selected{background:var(--accent);color:var(--surface-page);font-weight:var(--weight-bold)}.cal-num{display:block}.cal-dots{gap:2px;display:flex}.cal-dot{box-sizing:border-box;border-radius:50%;width:5px;height:5px;display:block}.cal-dot.is-within{background:var(--chart-scale-4)}.cal-dot.is-outside{background:var(--negative)}.cal-dot.is-reached{background:var(--accent)}.cal-dot.is-below{background:color-mix(in srgb, var(--accent) 35%, var(--surface-card))}.cal-dot.is-none{border:1px solid var(--text-faint)}.cal-day.is-selected .cal-dot{background:var(--surface-page)}.cal-day.is-selected .cal-dot.is-outside,.cal-day.is-selected .cal-dot.is-below{border:1px solid var(--surface-page);background:0 0}.cal-day.is-selected .cal-dot.is-none{border-color:color-mix(in srgb, var(--surface-page) 45%, var(--accent));background:0 0}.cal-legend{font-size:var(--font-size-micro);color:var(--text-muted);grid-template-columns:auto auto 1fr;align-items:center;gap:5px 8px;margin-top:10px;display:grid}.cal-legend-line{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;margin:0;display:grid}.cal-legend-name{color:var(--text-secondary);font-weight:var(--weight-medium)}.cal-legend-keys{flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;display:flex}.cal-legend-pair{gap:2px;display:inline-flex}.cal-pair-dot{background:var(--text-faint);border-radius:50%;width:5px;height:5px;display:block}.cal-pair-dot.is-lit{background:var(--text-primary)}.cal-key{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.cal-key .cal-dot{width:9px;height:9px}.cal-foot{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-muted);margin-top:10px;display:flex}.cal-note{min-width:0}.cal-today{appearance:none;font:inherit;color:var(--accent-soft);cursor:pointer;background:0 0;border:0;padding:0}.cal-today:hover{text-decoration:underline}.cal-sheet .cal-day{height:44px}.cal-sheet .cal-nav{width:44px;height:44px}.cal-sheet .cal-today{min-height:44px;padding:0 var(--space-2)}.log-panel{gap:var(--space-4);flex-direction:column;display:flex}.log-top{align-items:center;gap:var(--space-2);display:flex}.log-top .icon-button{border:1px solid var(--border-subtle);width:34px;height:34px;color:var(--text-secondary);justify-content:center;align-items:center}.log-top .icon-button[aria-disabled=true]{opacity:.35;cursor:default}.log-title{text-align:center;flex:1;min-width:0}.log-title h2{font-size:var(--font-size-md);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:var(--leading-tight);margin:0}.log-title small{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px;display:block}.log-sec{gap:var(--space-2);flex-direction:column;display:flex}.log-sec-head{justify-content:space-between;align-items:baseline;display:flex}.log-undo-slot:empty{margin-top:calc(-1 * var(--space-2))}.log-faces{justify-content:space-between;gap:6px;display:flex}.log-face{appearance:none;font:inherit;cursor:pointer;align-items:center;gap:var(--space-1);padding:var(--space-2) 0;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-micro);background:0 0;border:1px solid #0000;flex-direction:column;flex:1;display:flex}.log-face:hover{color:var(--text-primary)}.log-face svg{width:30px;height:30px}.log-face.is-on{background:var(--surface-accent);border-color:var(--border-accent);color:var(--text-primary)}.log-chips{flex-wrap:wrap;gap:6px;display:flex}.log-chip{appearance:none;font:inherit;cursor:pointer;background:var(--surface-inset);border:1px solid var(--border-subtle);min-height:40px;color:var(--text-secondary);font-size:var(--font-size-sm);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.log-chip:hover{color:var(--text-primary);border-color:var(--text-faint)}.log-chip.is-on{background:var(--surface-accent);border-color:var(--border-accent);color:var(--text-primary)}.log-count{font-size:var(--font-size-micro);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--accent-soft);background:var(--surface-card);border-radius:999px;padding:1px 7px}.log-undo{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-inset);font-size:var(--font-size-xs);color:var(--text-secondary);display:flex}.log-link{appearance:none;font:inherit;color:var(--accent-soft);cursor:pointer;background:0 0;border:0;padding:0}.log-link:hover{text-decoration:underline}.log-note{resize:vertical;min-height:64px}.log-error{font-size:var(--font-size-xs);color:var(--negative);margin:0}.log-editor{gap:var(--space-2);flex-direction:column;display:flex}.log-editor:focus{outline:none}.log-edit-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.log-edit-item{align-items:center;gap:var(--space-1);min-height:40px;padding:0 var(--space-1) 0 14px;background:var(--surface-inset);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;max-width:100%;display:inline-flex}.log-edit-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.log-edit-item:focus-visible{border-color:var(--border-accent);color:var(--text-primary)}.log-edit-remove{appearance:none;font:inherit;cursor:pointer;width:30px;height:30px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.log-edit-remove:hover{color:var(--text-primary);background:var(--surface-card)}.log-edit-remove svg{width:13px;height:13px}.log-edit-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.log-edit-add{gap:var(--space-2);display:flex}.log-edit-add .input{flex:1;min-width:0}.log-popover{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:min(380px,100vw - 12px);max-height:calc(100dvh - 12px);color:var(--text-primary);z-index:30;box-shadow:0 12px 32px var(--lightningcss-light,color-mix(in srgb, var(--text-primary) 16%, transparent))var(--lightningcss-dark,color-mix(in srgb, var(--surface-page) 70%, transparent));padding:14px;position:fixed;overflow-y:auto}.log-sheet{background:var(--surface-card);border:0;border-top:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-width:none;max-height:85dvh;color:var(--text-primary);margin:auto auto 0;padding:0}.log-sheet::backdrop{background:color-mix(in srgb, var(--surface-page) 80%, transparent)}.log-sheet-body{padding:var(--space-2) var(--space-3) var(--space-3)}.log-grab{width:36px;height:4px;margin:0 auto var(--space-3);background:var(--border-subtle);border-radius:2px;display:block}.dash-card-title{font-size:var(--font-size-sm);margin:0}.dash-card-title strong{font-weight:var(--weight-semibold)}.dash-card-title>span{margin-left:var(--space-1);color:var(--text-muted)}.dash-card{gap:var(--space-3);flex-direction:column;display:flex}.dash-card-head{align-items:center;gap:var(--space-2);display:flex}.dash-card-head>.card-link{margin:0 0 0 auto}.dash-lead{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.dash-lead>div:first-child{flex:0 auto}.dash-lead-strip{flex:16rem;min-width:0}.dash-headline{font-size:var(--font-size-display);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.03em}.dash-minis{gap:var(--space-2) var(--space-5);margin-top:var(--space-2);font-size:var(--font-size-xs);flex-wrap:wrap;display:flex}.dash-mini{align-items:baseline;gap:var(--space-1);display:inline-flex}.dash-mini-label{color:var(--text-faint)}.dash-mini-value{font-size:var(--font-size-md);font-weight:var(--weight-semibold)}.dash-mini{flex-wrap:wrap}.dash-mini-label,.dash-mini-note{white-space:nowrap}.dash-mini-note.better{color:var(--positive)}.dash-mini-note.worse,.dash-mini-note.is-out{color:var(--negative)}.dash-caption{margin:var(--space-1) 0 0;font-size:var(--font-size-micro);color:var(--text-faint)}.dash-today-figures{align-items:flex-start;gap:var(--space-2) var(--space-6);flex-wrap:wrap;display:flex}.dash-headline-sm{font-size:var(--font-size-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.02em}.dash-pace{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-muted)}.dash-pace-word{font-weight:var(--weight-medium)}.dash-pace.is-ahead .dash-pace-word,.dash-pace.better{color:var(--positive)}.dash-pace.worse,.dash-pace.is-out{color:var(--negative)}.glance-unit{font-size:var(--font-size-lg);color:var(--text-muted)}.glance-asof{margin:var(--space-1) 0 0;font-size:var(--font-size-micro);color:var(--text-faint)}.glance-note{font-size:var(--font-size-xs);color:var(--negative);margin:0}.glance-empty{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--text-muted)}.score-ring,.usual-gauge{display:block}.score-ring-track,.usual-gauge-track{stroke:var(--surface-inset)}.score-ring-fill{stroke:var(--positive)}.score-ring-value{fill:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--weight-bold)}.score-ring-empty{fill:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--weight-medium)}.usual-gauge-band{stroke:var(--border-chosen)}.usual-gauge-marker{fill:var(--text-primary);stroke:var(--surface-card)}.usual-gauge-marker.is-out{fill:var(--negative)}.usual-gauge-value{fill:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--weight-bold)}.usual-gauge-unit{fill:var(--text-muted);font-size:var(--font-size-micro)}.dash-dials{justify-content:space-around;align-items:flex-end;gap:var(--space-2);display:flex}.dash-dial{align-items:center;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.dash-recovery-row{justify-content:center;align-items:center;gap:var(--space-7);flex-wrap:wrap;display:flex}.dash-recovery-strip{flex:16rem;min-width:0;display:none}.dash-recovery.is-wide .dash-recovery-strip{display:block}.dash-recovery-row>.dash-dials{flex:0 0 30rem;max-width:100%}.dash-recovery-words{text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);margin:0}.dash-recovery.is-wide .dash-recovery-words{text-align:left}@media (width<=620px){.dash-dials .usual-gauge{width:92px;height:auto}.dash-dials .score-ring{width:108px;height:auto}}.week-bars{align-items:flex-end;width:112px;height:40px;display:flex;position:relative}.week-bar-slot{min-width:0;height:100%;padding:0 var(--space-1) 0 0;color:inherit;font:inherit;background:0 0;border:0;flex:1 1 0;align-items:flex-end;margin:0;display:flex}button.week-bar-slot{cursor:pointer}.week-bar-gap{flex:1 1 0}.week-bar{border-radius:var(--radius-sm);opacity:.55;width:100%;display:block}.week-bar.is-today,button.week-bar-slot:hover .week-bar,button.week-bar-slot:focus-visible .week-bar{opacity:1}.week-bars.is-steps .week-bar{background:var(--accent)}.week-bars.is-active .week-bar{background:var(--positive)}.week-bars.is-sleep .week-bar{background:var(--chart-scale-4)}.week-bar-tip{bottom:calc(100% + var(--space-2));z-index:5;pointer-events:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;font-size:var(--font-size-xs);line-height:var(--leading-normal);text-align:left;background:var(--chart-tooltip-bg);border:1px solid var(--chart-grid);color:var(--text-muted);position:absolute}.week-bar-tip.is-below{top:calc(100% + var(--space-2));bottom:auto}.dash-week-row{align-items:end;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.dash-week-figure{margin-top:var(--space-1)}.dash-week-value{font-size:var(--font-size-lg);font-weight:var(--weight-bold)}.dash-week-per{font-size:var(--font-size-xs);color:var(--text-faint)}.figure-row{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.figure-row-label{line-height:var(--leading-tight)}.figure-row-value{font-size:var(--font-size-lg);font-weight:var(--weight-semibold);color:var(--text-primary)}.figure-row-unit{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.figure-row-bar{background:var(--surface-inset);border-radius:4px;height:8px;position:relative}.figure-row-band{background:var(--chart-band-baseline);border-radius:4px;position:absolute;top:0;bottom:0}.figure-row-mark{background:var(--text-primary);border-radius:2px;width:4px;height:14px;margin-left:-2px;position:absolute;top:-3px}.figure-row-mark.worse,.figure-row-mark.is-out{background:var(--negative)}.figure-row-verdict{font-size:var(--font-size-xs);color:var(--text-muted)}.figure-row-verdict.better{color:var(--positive)}.figure-row-verdict.worse,.figure-row-verdict.is-out{color:var(--negative)}.figure-row-note{font-size:var(--font-size-micro);color:var(--text-faint)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field>.label{margin-bottom:var(--space-1)}.input{appearance:none;font:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:9px var(--space-3);width:100%}.input:hover{border-color:var(--text-faint)}.input::placeholder{color:var(--text-faint)}.field-hint{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal)}.check-row{align-items:center;gap:var(--space-2);display:flex}.field-error,.form-error,.maintenance-backup-error,.maintenance-reclaim-error,.maintenance-policy-error{font-size:var(--font-size-xs);color:var(--negative);line-height:var(--leading-normal)}.form-error{background:color-mix(in srgb, var(--negative) 10%, transparent);border:1px solid color-mix(in srgb, var(--negative) 30%, transparent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.form-actions{gap:var(--space-2);margin-top:var(--space-4);align-items:center;display:flex}.choice{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-2);align-items:flex-start;display:flex}.choice:hover{border-color:var(--text-faint)}.choice:has(input:checked){border-color:var(--border-chosen);background:var(--surface-chosen)}.choice input{accent-color:var(--accent);flex:none;margin-top:3px}.choice-title{font-size:var(--font-size-sm);color:var(--text-primary);display:block}.choice-detail{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);margin-top:var(--space-1);display:block}.setup-shell{min-height:100vh;padding:var(--space-6) var(--space-4);justify-content:center;display:flex}.setup-column{width:100%;max-width:640px}.setup-brand{font-weight:var(--weight-bold);font-size:var(--font-size-sm);margin-bottom:var(--space-5);align-items:center;gap:7px;display:flex}.setup-rail{gap:var(--space-1);margin-bottom:var(--space-5);padding:0;list-style:none;display:flex}.setup-rail li{font-size:var(--font-size-micro);color:var(--text-faint);padding-top:var(--space-2);border-top:2px solid var(--border-subtle);flex:1}.setup-rail li[data-state=current]{color:var(--accent-soft);border-top-color:var(--accent);font-weight:var(--weight-medium)}.setup-rail li[data-state=done]{color:var(--text-muted);border-top-color:color-mix(in srgb, var(--accent) 50%, transparent)}.setup-step h1{font-size:var(--font-size-lg);margin:0 0 var(--space-2);letter-spacing:-.01em}.setup-step h2{font-size:var(--font-size-md);margin:var(--space-5) 0 var(--space-2);letter-spacing:-.01em}.setup-step h2:first-of-type{margin-top:0}.setup-step>p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-4)}.setup-instructions,.setup-costs{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);padding-left:var(--space-5);margin:0 0 var(--space-4)}.setup-instructions li,.setup-costs li{margin-bottom:var(--space-2)}.setup-instructions li::marker{color:var(--text-faint);font-variant-numeric:tabular-nums}.setup-costs li::marker{color:var(--text-faint);font-variant-numeric:tabular-nums}.setup-note{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-relaxed);background:var(--surface-inset);border-radius:var(--radius-md);padding:var(--space-3);margin:0 0 var(--space-4)}.setup-uris{margin-bottom:var(--space-4)}.setup-scopes{margin:var(--space-2) 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.setup-scopes .copy-value{display:block}.copy-field{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.copy-field .label{flex:none;width:148px}.copy-value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px var(--space-2);white-space:nowrap;flex:1;overflow-x:auto}.setup-rejected{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-relaxed);border-left:2px solid var(--negative);padding:var(--space-1) 0 var(--space-1) var(--space-3);margin:var(--space-2) 0}.setup-rejected code{font-family:var(--font-mono);color:var(--text-faint);text-decoration:line-through}.setup-progress{margin:0;padding:0;list-style:none}.setup-progress li{align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-xs);padding:7px 0;display:flex}.setup-progress li:last-child{border-bottom:0}.setup-progress .progress-type{font-family:var(--font-mono);color:var(--text-secondary);flex:1}.setup-progress .progress-state{color:var(--text-muted)}.setup-progress li[data-complete=true] .progress-state{color:var(--positive)}.setup-horizon{margin-top:var(--space-5)}.setup-horizon h2{font-size:var(--font-size-sm);margin:0 0 var(--space-2)}.setup-horizon ul{margin:0;padding:0;list-style:none}.setup-horizon li{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-xs);padding:7px 0;display:flex}.setup-horizon li:last-child{border-bottom:0}.setup-horizon li button{appearance:none;font:inherit;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px var(--space-3);cursor:pointer}.setup-horizon li button:hover{border-color:var(--text-faint)}.setup-horizon li[data-chosen=true] button{color:var(--accent-soft);border-color:var(--border-chosen);background:var(--surface-chosen)}@media (width<=620px){.copy-field{flex-wrap:wrap}.copy-field .label{width:auto}.setup-rail li{padding-top:var(--space-1);font-size:0}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chart-figure{margin:0}.chart-table-toggle{font-size:var(--font-size-micro);color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:2px 0}.chart-table-toggle:hover{color:var(--text-secondary)}.chart-annotate{font-size:var(--font-size-micro);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;padding:2px 0}.chart-annotate:disabled{color:var(--text-faint);cursor:default}.chart-table{max-height:220px;margin-top:var(--space-1);overflow:auto}.chart-table table{border-collapse:collapse;width:100%;font-size:var(--font-size-micro)}.chart-table caption{text-align:left;color:var(--text-faint);padding-bottom:var(--space-1)}.chart-table th,.chart-table td{text-align:left;padding:2px var(--space-1);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.chart-table thead th{background:var(--surface-card);color:var(--text-faint);position:sticky;top:0}@media (width<=900px){.grid>*{grid-column:span 12!important}.dash-week-row{grid-template-columns:minmax(0,1fr)}.week-bars{width:100%;height:44px}.night-grp{grid-template-columns:minmax(0,1fr)}.detail-rows,.detail-side-rows{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.detail-rows[data-columns],.detail-side-rows[data-columns]{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-rows[data-columns="1"],.detail-side-rows[data-columns="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}.detail-rows[data-columns="1"],.card[data-span="6"] .detail-rows[data-columns="1"]{grid-template-columns:minmax(0, calc((100% - var(--space-3)) / 2))}.detail-side{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.detail-rows[data-columns="1"],.card[data-span="6"] .detail-rows[data-columns="1"]{grid-template-columns:minmax(0,1fr)}}@media (width>900px) and (width<=1200px){.grid [data-span="3"],.grid [data-span="4"],.grid [data-span="5"],.grid [data-span="6"]{grid-column:span 6!important}.grid [data-span="7"],.grid [data-span="8"],.grid [data-span="9"],.grid [data-span="10"],.grid [data-span="11"]{grid-column:span 12!important}.grid .card:has(>.record-list[data-category]){grid-column:span 12!important}.dashboard-grid [data-span]{grid-column:span 12!important}.dashboard-grid .dash-recovery-strip{display:block}.dashboard-grid .dash-recovery-words{text-align:left}}.signin{min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.signin .card{gap:var(--space-3);width:min(360px,100%);display:grid}.signin .brand-mark{justify-self:start;width:30px;height:30px}.signin .brand-mark+*{margin-top:0}.annotate-overlay{z-index:100;background:color-mix(in srgb, var(--surface-page) 80%, transparent);padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0}.annotate-panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);width:min(420px,100%);max-height:90vh;overflow-y:auto}.annotate-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.annotate-header h2{font-size:var(--font-size-sm);font-weight:var(--weight-medium);margin:0}.annotate-note,.annotate-note-withheld{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);background:var(--surface-inset);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0 0}.override-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.override-table th,.override-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.override-table thead th{font-size:var(--font-size-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:var(--weight-medium)}.override-table tbody tr:last-child td,.override-table tbody tr:last-child th{border-bottom:0}.table-scroll{overflow-x:auto}.notes-value{text-align:right;font-variant-numeric:tabular-nums}.source-name-list{margin:0;padding:0;list-style:none}.source-name-row{align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.source-name-row:last-child{border-bottom:0}.source-name-row .input{text-overflow:ellipsis;flex:16rem;min-width:0;max-width:26rem}.source-name-detail{word-break:break-all;min-width:0;font-size:var(--font-size-micro);color:var(--text-faint);flex-basis:100%}.source-name-kind{font-size:var(--font-size-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.source-name-volume{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.source-name-stale{color:var(--text-muted);font-variant-numeric:tabular-nums}.source-panel-toggle{align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-secondary);display:flex}.source-panel-default{font:inherit;font-size:var(--font-size-xs);color:var(--accent-soft);cursor:pointer;background:0 0;border:0;padding:2px 0}.source-panel-default:hover{text-decoration:underline}.all-time-span{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--text-muted)}.all-time-empty{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.record-list,.milestone-list{margin:0;padding:0;list-style:none}.record-list{grid-template-columns:minmax(7rem,1fr) auto auto auto;display:grid}.record-row{grid-column:1/-1;grid-template-columns:subgrid;padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);align-items:baseline;display:grid}.record-row:last-child{border-bottom:0}.record-row-linked{padding:0}.record-row-link{grid-column:1/-1;grid-template-columns:subgrid;padding:var(--space-3) 0;color:inherit;align-items:baseline;text-decoration:none;display:grid}.record-row-link:hover{background:var(--surface-hover)}.record-row-link:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.card-label-icon{vertical-align:middle;margin-right:var(--space-2)}.card-label-icon svg{width:14px;height:14px}.record-metric{min-width:0}.record-value,.record-date,.record-source{padding-left:var(--space-4)}.record-window{padding-top:var(--space-1);grid-column:1/-1}.record-value{text-align:right;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.record-source{text-align:right;min-width:7rem}.record-date,.record-window{color:var(--text-muted)}.record-source{color:var(--text-faint);font-size:var(--font-size-xs)}.record-window{font-size:var(--font-size-xs)}.eddington-value{font-size:var(--font-size-xl);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;margin:0}.eddington-meaning{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.eddington-window{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--text-muted)}.milestone{gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.milestone-date{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:7rem}.milestone-label{color:var(--text-primary)}.control-row-note{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);flex-basis:100%;margin:0}.compare-toggle{font-size:var(--font-size-xs);color:var(--text-secondary)}.compare-toggle[aria-pressed=true]{background:var(--surface-inset);color:var(--text-primary);border-color:var(--accent)}.last-year{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;margin:2px 0 0}.delta[title]{cursor:help}.source-names-dormant-heading{margin:var(--space-5) 0 0;font-size:var(--font-size-xs);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.source-names-dormant .source-name-row{opacity:.75}.source-order{margin-top:var(--space-5)}.source-order-list{margin:0;padding:0;list-style:none}.source-order-list li{align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);display:flex}.source-order-list li:last-child{border-bottom:0}.source-order-list h4{min-width:0;font-weight:var(--weight-medium);flex:auto;margin:0}.member-list{grid-template-columns:minmax(8rem,auto) minmax(0,1fr) auto auto;margin:0;padding:0;list-style:none;display:grid}.member-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;column-gap:var(--space-4);row-gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);display:grid}.member-row:last-child{border-bottom:0}.member-identity{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.member-name{color:var(--text-primary);font-weight:var(--weight-medium)}.member-admin{font-size:var(--font-size-micro);color:var(--accent-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1px 6px}.member-username{color:var(--text-faint);font-size:var(--font-size-xs)}.member-activity{color:var(--text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;min-width:0}.member-state{color:var(--text-secondary);font-size:var(--font-size-xs)}.member-state[data-state=disabled]{color:var(--text-faint)}.member-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.data-type-picker{display:block}.data-type-list{margin:0;padding:0;list-style:none}.data-type-row{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);display:flex}.data-type-row:last-child{border-bottom:0}.data-type-row label{align-items:center;gap:var(--space-2);flex:1;display:flex}.data-type-label{color:var(--text-primary)}.data-type-tier{font-size:var(--font-size-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.invite-link-panel{background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-4)}.invite-link-panel .copy-field{padding:0 0 var(--space-2)}.session-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm)}.session-row:last-child{border-bottom:0}.session-row-main{column-gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:baseline;display:grid}.session-row-primary{align-items:baseline;column-gap:var(--space-2);flex-wrap:wrap;min-width:0;display:inline-flex}.session-row-icon{color:var(--text-muted);flex:none;align-self:center;display:inline-flex}.session-row-icon svg{width:18px;height:18px}.session-row-go{color:var(--text-faint);flex:none;align-self:center;display:inline-flex}.session-row-go svg{width:16px;height:16px}.session-row-link:hover .session-row-go,.session-row-link:focus-visible .session-row-go{color:var(--accent-soft)}.session-day-summary{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.session-row-type{color:var(--text-primary);font-weight:var(--weight-medium)}.session-row-duration{color:var(--text-secondary);font-size:var(--font-size-xs);white-space:nowrap}.session-row-stats{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.session-row-detail{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:var(--space-1);padding-left:calc(18px + var(--space-3))}.session-row-excluded{color:var(--text-faint);text-decoration:line-through}.session-row-excluded-reason{font-size:var(--font-size-xs);color:var(--text-faint);margin-top:var(--space-1);text-decoration:none}.session-row-filled{font-size:var(--font-size-xs);color:var(--text-faint);margin-top:var(--space-1);padding-left:calc(18px + var(--space-3))}.session-row-link{color:inherit;text-decoration:none;display:block}.session-row-link:hover .session-row{background:var(--surface-hover)}.session-row-link:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.today-workouts{min-width:0}.night-row-date{color:var(--text-secondary);font-weight:var(--weight-medium);min-width:6.5rem}.night-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm)}.night-row:last-child{border-bottom:0}.night-row-main{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.night-row-duration{color:var(--text-primary);font-weight:var(--weight-bold);min-width:4.5rem}.night-list-caption{margin:0 0 var(--space-1)}.night-row-dot{background:var(--text-muted);border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.night-row-dot.better{background:var(--positive)}.night-row-dot.worse,.night-row-dot.is-out{background:var(--negative)}.night-row-good,.period-good{color:var(--positive)}.night-row-clock{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:6.5rem}.night-row-link{color:inherit;break-inside:avoid;text-decoration:none;display:block}.night-row-link:hover .night-row{background:var(--surface-hover)}.night-row-link:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.connect-detail{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-3)}.connect-action{margin-top:var(--space-2)}.connect-warning{font-size:var(--font-size-xs);color:var(--negative);line-height:var(--leading-normal);background:color-mix(in srgb, var(--negative) 10%, transparent);border:1px solid color-mix(in srgb, var(--negative) 30%, transparent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.profile{min-width:0}.profile-password{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.profile-subhead{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--text-secondary);margin:0 0 var(--space-2)}.profile-phone{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.profile-phone-steps{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);margin:var(--space-3) 0 0;padding-left:var(--space-4)}.profile-phone-steps li{margin-bottom:var(--space-2)}.profile-phone-steps li:last-child{margin-bottom:0}.profile-phone-link{width:fit-content;min-height:44px;margin-top:var(--space-1);align-items:center;display:flex}.profile-warning{font-size:var(--font-size-xs);color:var(--negative);line-height:var(--leading-normal);background:color-mix(in srgb, var(--negative) 10%, transparent);border:1px solid color-mix(in srgb, var(--negative) 30%, transparent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0 0}.profile-result,.member-reset-result{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);background:var(--surface-inset);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0 0}.mcp-tokens{min-width:0}.mcp-token-list{margin:0;padding:0;list-style:none}.mcp-token{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.mcp-token:last-child{border-bottom:0}.mcp-call-list{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0;padding:0;list-style:none}.mcp-call-list li{padding:var(--space-1) 0;border-bottom:1px solid var(--border-subtle)}.mcp-call-list li:last-child{border-bottom:0}.member-reset{margin-top:var(--space-2);flex-basis:100%}.instance-url{min-width:0}.instance-url-warning{font-size:var(--font-size-xs);color:var(--negative);line-height:var(--leading-normal);background:color-mix(in srgb, var(--negative) 10%, transparent);border:1px solid color-mix(in srgb, var(--negative) 30%, transparent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0 0}.instance-url-result{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);background:var(--surface-inset);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0 0}.maintenance{gap:var(--space-1);flex-direction:column;display:flex}.maintenance-bloat,.maintenance-backups,.maintenance-credentials,.maintenance-waiting{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.maintenance-retention{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);margin:0 0 var(--space-2)}.maintenance-download-row{margin:0 0 var(--space-1)}.maintenance-download{align-items:center;gap:var(--space-2);display:inline-flex}.maintenance-download-note{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);margin:0 0 var(--space-2)}.maintenance-blocked{font-size:var(--font-size-xs);color:var(--negative);line-height:var(--leading-normal);background:color-mix(in srgb, var(--negative) 10%, transparent);border:1px solid color-mix(in srgb, var(--negative) 30%, transparent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0}.maintenance-policy{gap:0 var(--space-4);flex-wrap:wrap;margin:0;display:flex}.maintenance-policy>.field{margin-bottom:var(--space-2);flex:12rem}.maintenance-policy>.form-actions{margin-top:var(--space-2);flex-basis:100%}.maintenance-policy>.maintenance-policy-error,.maintenance-policy>.maintenance-policy-result{flex-basis:100%}.maintenance-backup-result,.maintenance-reclaim-result,.maintenance-policy-result{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--leading-normal);background:var(--surface-inset);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0 0}@media (width<=620px){.record-list{display:block}.record-row{gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.record-row>*,.record-window{padding:0}.record-value,.record-source{text-align:left;min-width:0}.record-metric{min-width:9rem}.record-date{white-space:nowrap}.record-window{flex-basis:100%}.record-row-linked>.record-row-link{gap:var(--space-1) var(--space-3);padding:var(--space-3) 0;flex-wrap:wrap;flex-basis:100%;display:flex}.record-row-link>*{padding:0}.member-list{display:block}.member-row{flex-wrap:wrap;display:flex}.member-identity{flex:1;min-width:120px}.member-activity{flex-basis:100%}.night-row-date{min-width:4.75rem}.night-row-duration{min-width:3.75rem}.night-row-clock{min-width:0}.controls{gap:var(--space-2);grid-template-columns:1fr;display:grid}.controls .segmented{grid-template-columns:repeat(5,1fr);width:100%;display:grid}.segment{min-width:0;padding:5px var(--space-1);text-align:center;font-size:var(--font-size-micro);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;min-height:44px;display:flex;overflow:hidden}.settings-tabs .segment{min-width:44px}.stepper{justify-content:space-between;width:100%}.stepper-label{flex:1;min-width:0}.controls-end{flex-wrap:wrap;width:100%;margin-left:0}.controls-end .button{flex:auto;justify-content:center;min-width:0}.button,.icon-button,.chart-table-toggle,.chart-annotate,.card-link,.session-row-link,.night-row-link,.record-row-link,.date-picker,.input,.rail-item,.rail-person,.source-order-list button,.log-face,.log-chip,.log-edit-item{min-height:44px}.log-undo{padding-top:0;padding-bottom:0}.log-undo .log-link{min-width:44px;min-height:44px;padding:0 var(--space-2)}.log-edit-remove{width:44px;height:44px}.log-sec-head .log-link{min-width:44px;min-height:44px;padding:0 var(--space-2)}.log-edit-add .button{min-width:44px}.icon-button{justify-content:center;align-items:center;min-width:44px}.day-nav-btn{min-width:44px}.log-btn{justify-content:center;width:44px;padding:0}.log-btn-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dash-header{gap:var(--space-2)}.dash-title{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.source-order-list button{justify-content:center;align-items:center;min-width:44px}.chart-table-toggle,.chart-annotate,.card-link,.session-row-link,.night-row-link{align-items:center;display:flex}.button select,.data-type-row,.data-type-row label,.about-update-toggle,.source-panel-toggle,.source-panel-default{min-height:44px}.data-type-row input[type=checkbox],.about-update-toggle input[type=checkbox],.source-panel-toggle input[type=checkbox]{flex:none;width:20px;height:20px}.setup-horizon li button{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.status-foot a{align-items:center;min-height:44px;display:flex}.status-failure-details summary{align-content:center;min-height:44px;display:list-item}}.demo-banner{background:var(--surface-rail);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-xs);line-height:var(--leading-normal);text-align:center;padding:.6rem 2.75rem;position:relative}.demo-banner-lead{margin:0}.demo-banner-rest{margin:0;display:inline}.demo-banner-toggle{margin-top:var(--space-1);font:inherit;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0;display:none}.demo-banner-close{border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;color:var(--text-secondary);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}@media (width<=620px){.demo-banner{text-align:left;padding:var(--space-2) 2.75rem var(--space-2) var(--space-3)}.demo-banner-toggle{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.demo-banner-rest.is-collapsed{display:none}}
