:root{--surface-0:oklch(16% .012 95);--surface-sunken:oklch(18.5% .012 95);--surface-1:oklch(20.5% .014 95);--surface-2:oklch(24.5% .014 95);--surface-3:oklch(27.5% .014 95);--overlay:oklch(10% .01 95/.66);--text-strong:oklch(95% .018 88);--text:oklch(84% .018 88);--text-muted:oklch(69% .018 88);--text-faint:oklch(56% .016 88);--text-on-accent:oklch(18% .02 95);--text-on-danger:oklch(16% .02 25);--border-subtle:oklch(100% 0 0/.07);--border:oklch(100% 0 0/.11);--border-strong:oklch(100% 0 0/.2);--edge-highlight:inset 0 1px 0 oklch(100% 0 0/.06);--accent:oklch(84% .14 118);--accent-strong:oklch(89% .13 118);--accent-soft:oklch(84% .14 118/.09);--accent-border:oklch(84% .14 118/.36);--ring:oklch(84% .14 118/.5);--danger:oklch(72% .17 25);--danger-strong:oklch(78% .16 25);--danger-soft:oklch(72% .17 25/.12);--danger-border:oklch(72% .17 25/.5);--warn:oklch(80% .15 80);--warn-soft:oklch(80% .15 80/.12);--warn-border:oklch(80% .15 80/.5);--coros:oklch(60% .23 22);--coros-glyph:var(--surface-0);--cat-run-bg:oklch(25% .045 235);--cat-run-text:oklch(91% .055 230);--cat-run-meta:oklch(79% .085 230);--cat-strength-bg:oklch(25% .045 155);--cat-strength-text:oklch(91% .06 155);--cat-strength-meta:oklch(79% .095 155);--cat-tempo-bg:oklch(26% .05 80);--cat-tempo-text:oklch(92% .07 85);--cat-tempo-meta:oklch(81% .11 80);--cat-hyrox-bg:oklch(25% .05 295);--cat-hyrox-text:oklch(91% .055 295);--cat-hyrox-meta:oklch(79% .095 295);--cat-race-bg:oklch(27% .07 350);--cat-race-border:oklch(72% .16 350/.55);--cat-race-text:oklch(93% .055 350);--cat-race-meta:oklch(81% .13 350);--cat-mobility-bg:oklch(25% .04 200);--cat-mobility-text:oklch(91% .05 200);--cat-mobility-meta:oklch(79% .08 200);--cat-rest-bg:oklch(22.5% .012 95);--cat-rest-text:oklch(76% .016 88);--cat-rest-meta:oklch(64% .016 88);--media-bg:oklch(0% 0 0);--media-outline:oklch(100% 0 0/.1);--shadow-1:0 0 0 1px var(--border-subtle), 0 1px 2px oklch(0% 0 0/.3);--shadow-2:0 0 0 1px var(--border), 0 4px 12px -2px oklch(0% 0 0/.4), 0 8px 24px -8px oklch(0% 0 0/.5);--shadow-3:0 0 0 1px var(--border), 0 12px 40px oklch(0% 0 0/.5), 0 24px 64px -16px oklch(0% 0 0/.6);--shadow-sheet:0 0 0 1px var(--border), 0 -12px 40px oklch(0% 0 0/.5);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-display:800;--tracking-display:-.05em;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-wide:.06em;--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.5;--control-h:44px;--control-h-sm:36px;--control-h-xs:28px;--icon-sm:16px;--icon:20px;--icon-lg:22px;--focus-width:3px;--shell:720px;--rail-width:248px;--auth-card-width:380px;--auth-card-width-wide:480px;--tabbar-height:68px;--toast-clearance:calc(var(--control-h) * 2);--nav-surface:color-mix(in oklch, var(--surface-1) 88%, transparent);--nav-blur:blur(20px) saturate(150%);--duration-fast:.1s;--duration:.18s;--duration-slow:.28s;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-in-out:cubic-bezier(.45, 0, .15, 1);--sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, monospace;font:16px/1.45 var(--sans);letter-spacing:-.01em;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--surface-0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--surface-0);min-height:100svh}#app{min-height:100svh}h1,h2,p{margin:0}h1,h2,strong{font-weight:var(--weight-display)}button,input,textarea,select{font:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}dialog.dialog,dialog.command-dock,dialog.command-dock:not([open]){transform:none!important}dialog.command-dock{transition-duration:var(--duration-fast)!important}}.toaster{inset:auto 0 calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-3)) 0;z-index:40;justify-items:center;gap:var(--space-2);padding:0 var(--space-4);pointer-events:none;display:grid;position:fixed}body:has(dialog.command-dock[open]) .toaster{inset:calc(env(safe-area-inset-top) + var(--space-3)) 0 auto 0}.toaster-group{gap:var(--space-2);width:min(100%,480px);display:grid}.toaster-group:empty{display:none}.toast{align-items:center;gap:var(--space-3);min-height:var(--control-h);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-3);font-size:var(--text-sm);line-height:var(--leading-snug);pointer-events:auto;transition:opacity var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);display:flex}@starting-style{.toast{opacity:0;transform:translateY(8px)}}.toast-error{border-color:var(--danger-border)}.toast-message{min-width:0;padding-block:var(--space-2);text-wrap:pretty;flex:1}.toast-action{min-height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--accent-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;flex:none}.toast-close{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.toast-close svg{width:14px;height:14px}@media (hover:hover){.toast-action:hover{background:color-mix(in oklch, var(--accent-soft), var(--accent) 12%)}.toast-close:hover{background:var(--surface-3)}}@media (width>=900px){.toaster{inset:auto var(--space-6) var(--space-6) auto;justify-items:end;padding:0}body:has(dialog.command-dock[open]) .toaster{inset:var(--space-6) var(--space-6) auto auto}.toaster-group{width:380px}}:where(button,a,input,textarea,select):focus-visible{outline:var(--focus-width) solid var(--ring);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn>svg{width:var(--icon-sm);height:var(--icon-sm)}.btn-sm{min-height:var(--control-h-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-base)}.btn-primary{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--edge-highlight)}.btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--text-strong);box-shadow:var(--edge-highlight)}.btn-danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.btn-demo{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text-strong);font-size:var(--text-base)}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}@media (hover:hover){.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--surface-3)}.btn-danger:hover:not(:disabled){background:color-mix(in oklch, var(--danger-soft), var(--danger) 12%)}.btn-demo:hover:not(:disabled){border-color:var(--accent)}}.btn:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}.danger-text{color:var(--danger)}.chip{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;font-style:normal;line-height:1.4;display:inline-flex}.chip-accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-strong)}.chip-neutral{background:var(--surface-2);color:var(--text-muted)}.chip-warn{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn)}.chip-danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.app-shell{width:min(100%, var(--shell));min-height:100dvh;padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--toast-clearance));align-content:start;gap:var(--space-4);margin:0 auto;display:grid;position:relative}.loading-shell{place-content:center}.app-main{gap:var(--space-4);align-content:start;min-width:0;display:grid}.app-main:focus{outline:none}.side-rail{display:none}.screen-title{color:var(--text-strong);font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.screen-title:focus-visible{outline:var(--focus-width) solid var(--ring);outline-offset:4px}.skip-link{top:calc(env(safe-area-inset-top) + var(--space-2));left:var(--space-4);z-index:30;padding:var(--space-2) var(--space-4);border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-strong);font-weight:var(--weight-bold);transform:translateY(calc(-100% - env(safe-area-inset-top) - var(--space-3)));transition:transform var(--duration-fast) var(--ease-out);text-decoration:none;position:fixed}.skip-link:focus{transform:translateY(0)}.brand{align-items:center;gap:var(--space-3);min-width:0;color:var(--text-strong);display:inline-flex}.brand-mark{border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--surface-0);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;display:inline-grid}.brand-mark svg{width:20px;height:20px}.brand-name{font-size:var(--text-base);font-weight:var(--weight-display);letter-spacing:var(--tracking-snug);text-wrap:balance;line-height:1.2}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.account-actions{gap:var(--space-2);display:flex}.account-actions-compact{align-items:center}.nav-action{padding:0 var(--space-3);color:var(--text-muted);font-size:var(--text-base)}.nav-action svg{flex:none;width:20px;height:20px}.account-actions-compact .nav-action{width:var(--control-h);padding:0}.banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-border);color:var(--text-strong);font-size:var(--text-base);flex-wrap:wrap;display:flex}.banner-error{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger-border)}.inline-error{padding:var(--space-3);border-radius:var(--radius-md);color:var(--text-strong);background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger-border);margin:0}.dialog .inline-error{margin:0 var(--space-4) var(--space-3)}.nav-icon{flex:none;place-items:center;display:inline-grid}.nav-icon svg{width:var(--icon-lg);height:var(--icon-lg);display:block}.nav-label{min-width:0}.nav-item{color:var(--text-muted);font-weight:var(--weight-bold);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);text-decoration:none}.nav-item:active{transform:scale(.96)}.nav-bar{width:min(100%, var(--shell));gap:var(--space-1);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--nav-surface);-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur);border-top:1px solid var(--border);transition:transform var(--duration-slow) var(--ease-out), visibility 0s;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}html[data-dock-open] .nav-bar{visibility:hidden;pointer-events:none;transition:transform var(--duration-slow) var(--ease-out), visibility 0s linear var(--duration-slow);transform:translate(-50%,calc(100% + 1px))}html[data-dock-open] body:after{content:"";height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--surface-0) 40%, transparent);pointer-events:none;z-index:29;position:fixed;inset:auto 0 0}@media (width>=900px){html[data-dock-open] body:after{content:none}}.nav-bar .nav-item{min-height:var(--control-h);min-width:0;padding:var(--space-1) 0;border-radius:var(--radius-md);background:0 0;border:0;align-content:center;justify-items:center;gap:2px;display:grid}.nav-bar .nav-icon{border-radius:var(--radius-pill);width:44px;height:26px;transition:background var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), color var(--duration) var(--ease-out)}.nav-bar .nav-label{max-width:100%;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-bar .nav-item.is-active{color:var(--accent)}.nav-bar .nav-item.is-active .nav-icon{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-border)}.nav-bar .nav-item.is-active .nav-label{color:var(--text-strong)}@media (hover:hover){.nav-bar .nav-item:hover{color:var(--text-strong)}.nav-bar .nav-item:hover .nav-icon{background:var(--surface-2)}.nav-bar .nav-item.is-active:hover .nav-icon{background:var(--accent-soft)}}.command-trigger{flex:none}.cat-run{--cat-bg:var(--cat-run-bg);--cat-text:var(--cat-run-text);--cat-meta:var(--cat-run-meta)}.cat-tempo{--cat-bg:var(--cat-tempo-bg);--cat-text:var(--cat-tempo-text);--cat-meta:var(--cat-tempo-meta)}.cat-strength{--cat-bg:var(--cat-strength-bg);--cat-text:var(--cat-strength-text);--cat-meta:var(--cat-strength-meta)}.cat-hyrox{--cat-bg:var(--cat-hyrox-bg);--cat-text:var(--cat-hyrox-text);--cat-meta:var(--cat-hyrox-meta)}.cat-race{--cat-bg:var(--cat-race-bg);--cat-text:var(--cat-race-text);--cat-meta:var(--cat-race-meta)}.cat-mobility{--cat-bg:var(--cat-mobility-bg);--cat-text:var(--cat-mobility-text);--cat-meta:var(--cat-mobility-meta)}.cat-rest{--cat-bg:var(--cat-rest-bg);--cat-text:var(--cat-rest-text);--cat-meta:var(--cat-rest-meta)}.agenda,.calendar{gap:var(--space-3);display:grid}.agenda-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.agenda-head-actions{align-items:center;gap:var(--space-2);margin-inline-start:auto;display:flex}.view-switch{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);grid-template-columns:1fr 1fr;padding:2px;display:inline-grid}.view-switch-item{min-height:calc(var(--control-h-sm) - 4px);padding:0 var(--space-3);border-radius:calc(var(--radius-md) - 2px);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.view-switch-item.is-active{background:var(--surface-3);color:var(--text-strong);font-weight:var(--weight-bold)}@media (hover:hover){.view-switch-item:hover:not(.is-active){color:var(--text-strong)}}.agenda-controls{align-items:center;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.agenda-controls .btn,.today-action{padding:0 var(--space-2);font-size:var(--text-base)}.today-action{min-height:var(--control-h);padding:0 var(--space-2);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.today-action:hover{background:var(--surface-2);border-color:var(--border-strong)}}.today-action:active{transform:scale(.96)}.day-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.day{box-shadow:var(--shadow-1);border-radius:var(--radius-lg);background:var(--surface-1);scroll-margin-block-end:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--toast-clearance));overflow:hidden}.day.is-today{box-shadow:var(--shadow-1), 0 0 0 1px var(--accent-border)}.day.is-changed{animation:day-changed 3.2s var(--ease-out) both}@keyframes day-changed{0%,60%{background:var(--accent-soft);box-shadow:var(--shadow-1), 0 0 0 1px var(--accent-border)}}@media (prefers-reduced-motion:reduce){.day.is-changed{animation-duration:3.2s!important}}.day-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-sunken);flex-wrap:wrap;display:flex}.day-name{align-items:baseline;gap:var(--space-2);color:var(--text-strong);font-variant-numeric:tabular-nums;display:flex}.day-name b{font-size:var(--text-lg);letter-spacing:var(--tracking-snug)}.day-name span{color:var(--text-muted);font-weight:var(--weight-semibold)}.day-label{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;display:flex}.day-empty{color:var(--text-muted);font-size:var(--text-base);text-wrap:pretty;margin:0}.day .day-empty{padding:var(--space-4)}.entry-list{margin:0;padding:0;list-style:none}.entry-list li+li{border-top:1px solid var(--border-subtle)}.entry-row{border-inline-start:3px solid var(--cat-meta);align-items:stretch;display:flex}.entry-card{align-items:baseline;gap:var(--space-2);min-width:0;padding:var(--space-4);color:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:0;flex:1;text-decoration:none;display:flex}.entry-more{width:var(--control-h);min-height:var(--control-h);border:0;border-left:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--text-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;flex:none}@media (hover:hover){.entry-more:hover{background:var(--surface-3);color:var(--text-strong)}.entry-card:hover{background:var(--surface-3)}}.entry-card:active,.entry-more:active{background:var(--surface-3)}.entry-body{gap:var(--space-1);flex:1;min-width:0;display:grid}.entry-title{align-items:baseline;gap:var(--space-2);color:var(--text-strong);font-size:var(--text-md);font-weight:var(--weight-display);letter-spacing:var(--tracking-snug);display:flex}.entry-index{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);width:1.4em;height:1.4em;color:var(--text-muted);line-height:1;font-size:var(--text-xs);font-weight:var(--weight-bold);flex:none;place-items:center;display:inline-grid}.entry-meta{color:var(--text-muted);font-size:var(--text-base);font-variant-numeric:tabular-nums}.entry-condition{color:var(--text);font-size:var(--text-base);text-wrap:pretty;font-style:italic}.entry-note{color:var(--text-muted);font-size:var(--text-base);-webkit-line-clamp:2;text-wrap:pretty;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cal-weekdays{z-index:5;margin-inline:calc(var(--space-4) * -1);padding:var(--space-2) var(--space-2);background:var(--nav-surface);-webkit-backdrop-filter:var(--nav-blur);backdrop-filter:var(--nav-blur);border-bottom:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:sticky;top:0}.cal-weekday{text-align:center;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.cal-weekday.is-weekend{color:var(--text-faint)}.cal-wd-long{display:none}.cal-weeks{margin:0 calc(var(--space-4) * -1);padding:0 var(--space-2);list-style:none;display:grid}.cal-week{border-bottom:1px solid var(--border-subtle)}.cal-days{padding:var(--space-2) 0 var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;min-height:7.25rem;margin:0;list-style:none;display:grid}.cal-day{gap:var(--space-1);min-width:0;flex-direction:column;scroll-margin-block-end:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--toast-clearance));display:flex}.cal-day.is-changed{animation:day-changed 3.2s var(--ease-out) both;border-radius:var(--radius-sm)}.cal-day-head{justify-content:center;display:flex}.cal-day-num{min-width:var(--control-h-xs);min-height:var(--control-h-xs);border-radius:var(--radius-pill);color:var(--text-strong);font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:inline-flex}.cal-day.is-weekend .cal-day-num,.cal-day.is-outside .cal-day-num{color:var(--text-muted)}.cal-day-badge{border-radius:var(--radius-pill);place-items:center;min-width:26px;height:26px;padding:0 4px;display:inline-grid}.cal-day.is-today .cal-day-badge{background:var(--accent);color:var(--text-on-accent);font-weight:var(--weight-display);box-shadow:0 0 0 2px var(--accent-border)}.cal-day-month{display:none}.cal-entries{gap:3px;margin:0;padding:0;list-style:none;display:grid}.cal-entry-item{min-width:0;position:relative}.cal-entry{border-radius:var(--radius-xs);background:var(--cat-bg);min-height:2.5rem;color:var(--cat-text);transition:filter var(--duration-fast) var(--ease-out);flex-direction:column;gap:2px;padding:4px 5px;text-decoration:none;display:flex;overflow:hidden}.cal-entry.cat-race{box-shadow:inset 0 0 0 1px var(--cat-race-border)}.cal-entry.cat-rest{min-height:0}.cal-entry-title{-webkit-line-clamp:3;font-size:.6875rem;font-weight:var(--weight-semibold);letter-spacing:-.015em;overflow-wrap:break-word;-webkit-box-orient:vertical;line-height:1.22;display:-webkit-box;overflow:hidden}.cal-entry-meta{color:var(--cat-meta);font-size:.625rem;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:auto;padding-top:2px;line-height:1.15;overflow:hidden}.cal-meta-desktop,.cal-entry-more{display:none}@media (hover:hover){.cal-day-num:hover{color:var(--accent)}.cal-entry:hover{filter:brightness(1.12)}}.workout{gap:var(--space-4);display:grid}.workout-top{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.workout-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto;display:flex}.workout-back svg{margin-inline-start:calc(var(--space-1) * -1)}.workout-date{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.workout-head{gap:var(--space-2);display:grid}.workout-head h1{color:var(--text-strong);font-size:clamp(var(--text-2xl), 6vw, 2.2rem);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.workout-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;text-wrap:pretty}.workout-condition{color:var(--text);text-wrap:pretty;font-style:italic}.workout-note{padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent);background:var(--surface-sunken);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text);text-wrap:pretty;max-width:68ch}.workout-content{gap:var(--space-3);display:grid}.workout-empty{padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted)}.block{gap:var(--space-1);padding:var(--space-4);box-shadow:var(--shadow-1);border-radius:var(--radius-lg);background:var(--surface-1);display:grid}.block.instruction{background:var(--surface-sunken)}.block h2{color:var(--text-strong);font-size:var(--text-md)}.block.instruction p{text-wrap:pretty}.block.exercise{position:relative}.exercise-head{padding-right:calc(var(--control-h) + var(--space-3));display:block}.exercise-head .btn{top:var(--space-4);right:var(--space-4);position:absolute}.exercise-head strong{color:var(--text-strong);font-size:var(--text-lg);letter-spacing:var(--tracking-snug)}.prescription{color:var(--accent);font-size:var(--text-lg);font-weight:var(--weight-display);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-snug)}.cue{color:var(--text-muted);font-size:var(--text-base);text-wrap:pretty;max-width:68ch}.repeat{background:var(--surface-sunken)}.repeat-label{color:var(--text-strong)}.repeat-children{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.repeat-children .block{background:var(--surface-1)}.action-menu{gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-4);display:grid}.action-menu .btn{justify-content:flex-start}.catalog,.context-editor,.agents{gap:var(--space-4);display:grid}.agents{gap:var(--space-7)}.context-editor textarea{field-sizing:content;max-width:68ch;min-height:12rem;max-height:70vh}.context-editor .dialog-actions{max-width:68ch}.context-read{white-space:pre-wrap;max-width:68ch;color:var(--text);line-height:var(--leading-normal)}.context-empty{gap:var(--space-4);padding:var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:0 0;justify-items:start;display:grid}.catalog-search{gap:var(--space-3);display:grid}.field{gap:var(--space-2);display:grid}.field>span{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.field-hint{color:var(--text-muted);font-size:var(--text-sm)}.field input,.field textarea{width:100%;min-height:var(--control-h);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-strong);background:var(--surface-2);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}@media (hover:hover){.field input:hover,.field textarea:hover{border-color:var(--border-strong)}}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint);opacity:1}.field input:focus-visible,.field textarea:focus-visible,.auth-card input:focus-visible{border-color:var(--accent-border);box-shadow:0 0 0 var(--focus-width) var(--ring);outline:none}.field textarea{resize:vertical;line-height:var(--leading-normal)}.checkbox-field{align-items:center;gap:var(--space-3);min-height:var(--control-h);color:var(--text);cursor:pointer;display:flex}.checkbox-field input{width:22px;height:22px;accent-color:var(--accent)}.muted-line{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-base);text-wrap:pretty;display:flex}.catalog-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.catalog-item{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);box-shadow:var(--shadow-1);border-radius:var(--radius-lg);background:var(--surface-1);flex-wrap:wrap;display:flex}.catalog-copy{gap:var(--space-1);flex:1;min-width:min(100%,16rem);display:grid}.catalog-name{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.catalog-name strong{color:var(--text-strong);font-size:var(--text-md);letter-spacing:var(--tracking-snug)}.catalog-meta{color:var(--text-muted);font-size:var(--text-base);font-variant-numeric:tabular-nums}.catalog-instructions{color:var(--text);font-size:var(--text-base);text-wrap:pretty;max-width:68ch}.section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.section-head>.btn{flex:none}.section-subhead{color:var(--text-strong);font-size:var(--text-lg)}.connect-group{gap:var(--space-3);max-width:68ch;display:grid}.copy-block{gap:var(--space-1);display:grid}.copy-block-row{align-items:flex-start;gap:var(--space-2);display:flex}.command{min-width:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border-subtle);color:var(--text-strong);font:var(--text-sm) / var(--leading-normal) var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:0}.copy-status{color:var(--text-muted);font-size:var(--text-sm)}.setup-steps{gap:var(--space-5);margin:0;display:grid}.setup-steps>div{gap:var(--space-2);display:grid}.setup-steps dt{color:var(--text-strong);font-weight:var(--weight-semibold)}.setup-steps dd{gap:var(--space-2);color:var(--text-muted);font-size:var(--text-base);text-wrap:pretty;margin:0;display:grid}.setup-steps code{color:var(--text-strong);font-family:var(--mono);font-size:.92em;line-height:1}.connection-list{gap:var(--space-2);max-width:68ch;margin:0;padding:0;list-style:none;display:grid}.connection-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);box-shadow:var(--shadow-1);border-radius:var(--radius-lg);background:var(--surface-1);flex-wrap:wrap;display:flex}.connection-row>div{gap:var(--space-1);display:grid}.connection-row strong{color:var(--text-strong)}.session-share{position:relative}.share-trigger-active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.share-popover{z-index:20;width:min(20rem, calc(100vw - var(--space-4) - var(--space-4)));gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-1);display:grid;position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0}.share-popover>h2{color:var(--text-strong);font-size:var(--text-md);letter-spacing:var(--tracking-tight)}.share-popover-body{gap:var(--space-3);display:grid}.share-popover-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.share-popover-actions>.btn{flex:1}.share-popover-links{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.share-open-link{color:var(--accent-strong);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-underline-offset:.2em}dialog.dialog{overscroll-behavior:contain;border-radius:var(--radius-lg);background:var(--surface-1);width:min(560px,92vw);max-height:min(85svh,760px);color:var(--text);box-shadow:var(--shadow-3);opacity:1;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;border:0;padding:0;overflow:auto;transform:translateY(0)scale(1)}dialog.dialog:not([open]){opacity:0;transform:translateY(8px)scale(.98)}@starting-style{dialog.dialog[open]{opacity:0;transform:translateY(6px)scale(.98)}}dialog.dialog-wide{width:min(720px,94vw)}dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity var(--duration-slow) var(--ease-out), display var(--duration-slow) allow-discrete}@starting-style{dialog[open]::backdrop{opacity:0}}.dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-2);flex-wrap:wrap;display:flex}.dialog-head h2{color:var(--text-strong);font-size:var(--text-xl);letter-spacing:var(--tracking-tight);text-wrap:balance}.dialog-kicker{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.dialog-body{padding:var(--space-1) var(--space-4) var(--space-2);color:var(--text)}.dialog-field{padding:var(--space-2) var(--space-4)}.dialog-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4);flex-wrap:wrap;display:flex}.dialog-actions .muted-line{margin-right:auto}.demo-body{gap:var(--space-4);padding:var(--space-2) var(--space-4) var(--space-4);display:grid}.demo-video{border-radius:var(--radius-md);background:var(--media-bg);width:100%}.demo-frames{gap:var(--space-3);display:grid}.demo-frames figure{gap:var(--space-2);margin:0;display:grid}.demo-frames img{border-radius:var(--radius-md);outline:1px solid var(--media-outline);outline-offset:-1px;width:100%}.demo-frames figcaption{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-bold)}.demo-details{border-top:1px solid var(--border);padding-top:var(--space-3)}.demo-details summary{cursor:pointer;color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-bold)}.demo-details .demo-meta{margin-top:var(--space-3)}.demo-link a,.demo-meta a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.demo-meta{gap:var(--space-2);margin:0;display:grid}.demo-meta>div{gap:var(--space-3);grid-template-columns:minmax(0,110px) minmax(0,1fr);display:grid}.demo-meta dt{color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-bold)}.demo-meta dd{color:var(--text);font-size:var(--text-base);overflow-wrap:anywhere;margin:0}.demo-note,.demo-instructions{color:var(--text-muted);font-size:var(--text-base);text-wrap:pretty;max-width:68ch}.auth-shell{min-height:100dvh;padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));place-items:center;display:grid}.auth-card{width:min(100%, var(--auth-card-width));gap:var(--space-4);padding:var(--space-5);box-shadow:var(--shadow-1);border-radius:var(--radius-lg);background:var(--surface-1);display:grid}.auth-card-wide{--auth-card-width:var(--auth-card-width-wide)}.auth-card>div{gap:var(--space-2);display:grid}.auth-card h1{color:var(--text-strong);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-wrap:balance}.auth-card>div>p,.auth-card label>span{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:var(--tracking-wide);text-transform:uppercase}.auth-card div>span{color:var(--text-muted)}.auth-card label{gap:var(--space-2);display:grid}.auth-card input{width:100%;min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-strong);background:var(--surface-2);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}@media (hover:hover){.auth-card input:hover{border-color:var(--border-strong)}}.consent-facts{gap:var(--space-1);margin:0;display:grid}.consent-facts dt{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-display);letter-spacing:var(--tracking-wide);text-transform:uppercase}.consent-facts dd{margin:0 0 var(--space-2);color:var(--text-strong);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.consent-host{font-family:var(--mono);font-size:.92em}.auth-card>a.btn{justify-self:start}.auth-card .consent-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.empty-state{gap:var(--space-3);padding:var(--space-5);box-shadow:var(--shadow-1);border-radius:var(--radius-lg);background:var(--surface-1);justify-items:start;display:grid}.empty-state h1{color:var(--text-strong);font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.empty-state h1:focus-visible{outline:var(--focus-width) solid var(--ring);outline-offset:4px}.public-shell{width:min(100%, var(--shell));min-height:100svh;padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-7) + env(safe-area-inset-bottom));align-content:start;gap:var(--space-7);margin:0 auto;display:grid}.public-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.public-header>.chip{margin-inline-start:auto}.shared-workout{gap:var(--space-6)}.spinner{place-items:center;width:18px;height:18px;display:inline-grid}.spinner>span{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner>span{animation:none}}@media (width>=900px){.app-shell{grid-template-columns:var(--rail-width) minmax(0, 1fr);gap:var(--space-7);width:min(100%,1120px);padding-top:var(--space-6);padding-bottom:var(--toast-clearance)}.day{scroll-margin-block-end:var(--toast-clearance)}.side-rail{gap:var(--space-6);top:var(--space-4);height:calc(100dvh - var(--space-7));grid-template-rows:auto 1fr auto;align-self:start;display:grid;position:sticky;overflow:auto}.app-header,.nav-bar{display:none}.nav-rail{gap:var(--space-1);align-content:start;display:grid}.nav-rail .nav-item{align-items:center;gap:var(--space-3);min-height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid #0000;display:flex}.nav-rail .nav-item.is-active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--text-strong)}.nav-rail .nav-item.is-active .nav-icon{color:var(--accent)}.account-actions-rail{padding-top:var(--space-4);border-top:1px solid var(--border);flex-direction:column;align-items:stretch}.account-actions-rail .nav-action{justify-content:flex-start;gap:var(--space-3)}.cal-weekdays{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;margin-inline:0;padding:0;position:static}.cal-wd-short{display:none}.cal-wd-long{display:inline}.cal-weeks{border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-1);margin:0;padding:0;overflow:hidden}.cal-week:last-child{border-bottom:0}.cal-days{gap:0;min-height:7.75rem;padding:0}.cal-day{padding:var(--space-2);gap:var(--space-2);border-right:1px solid var(--border-subtle);scroll-margin-block-end:var(--toast-clearance)}.cal-day:last-child{border-right:0}.cal-day.is-outside{background:var(--surface-sunken)}.cal-day.is-changed{border-radius:0}.cal-day-head{justify-content:flex-start}.cal-day-num{font-size:var(--text-xs);font-weight:var(--weight-semibold)}.cal-day-badge{min-width:24px;height:24px}.cal-day-month{color:var(--text-muted);display:inline}.cal-entries{gap:var(--space-1)}.cal-entry{min-height:3.125rem;padding:var(--space-2);border-radius:var(--radius-sm);gap:3px}.cal-entry-title{font-size:var(--text-xs);line-height:1.25}.cal-entry-meta{font-size:.6875rem}.cal-meta-mobile{display:none}.cal-meta-desktop{display:inline}.cal-entry-more{border-radius:var(--radius-xs);background:var(--nav-surface);width:24px;height:24px;color:var(--text-strong);font-size:var(--text-sm);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);border:0;place-items:center;padding:0;line-height:1;display:inline-grid;position:absolute;top:4px;right:4px}.cal-entry-item:hover .cal-entry-more,.cal-entry-item:focus-within .cal-entry-more{opacity:1}@media (hover:none){.cal-entry-more{opacity:1}}}@media (width>=900px) and (hover:hover){.nav-rail .nav-item:hover{background:var(--surface-1);color:var(--text)}.nav-rail .nav-item.is-active:hover{background:var(--accent-soft);color:var(--text-strong)}}.coros-mark{color:var(--coros);flex:none;place-items:center;line-height:1;display:inline-grid}.coros-mark svg{width:1em;height:1em;display:block}.coros-mark.coros-partial{color:var(--warn)}.coros-mark.coros-failed{color:var(--border-strong)}.coros-mark-none{border:1.5px dashed var(--border-strong);border-radius:50%;flex:none;width:1em;height:1em;display:inline-block}.coros-badge{align-items:center;gap:var(--space-1);vertical-align:-.1em;margin-inline-start:var(--space-2);font-size:.95em;line-height:1;display:inline-flex}.coros-badge-label{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.workout-coros{gap:var(--space-1);display:grid}.workout-coros .coros-badge{margin-inline-start:0}.coros-warnings{color:var(--text-muted);font-size:var(--text-sm);text-wrap:pretty;gap:2px;margin:0;padding-inline-start:1.1em;display:grid}.coros-screen{gap:var(--space-4);display:grid}.coros-title{align-items:center;gap:var(--space-2);display:inline-flex}.coros-title .coros-mark{font-size:.85em}.coros-section{gap:var(--space-3);display:grid}.coros-status{color:var(--text);font-size:var(--text-base);text-wrap:pretty}.coros-status:empty{display:none}.coros-status>.chip,.coros-status>.spinner{vertical-align:-.15em;margin-inline-end:var(--space-2)}.coros-problems{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.coros-reason{color:var(--text-strong);font-size:var(--text-base);font-weight:var(--weight-bold);text-wrap:pretty}.coros-reason>.chip{vertical-align:-.15em;margin-inline-end:var(--space-2)}.coros-affected{margin:0;padding-inline-start:var(--space-3);list-style:none;display:grid}.coros-affected li{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.coros-affected a{padding-block:var(--space-1);color:var(--text);font-weight:var(--weight-semibold);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px;overflow-wrap:anywhere;display:inline-block}.coros-affected li>span:first-child{padding-block:var(--space-1);color:var(--text-muted);font-style:italic}@media (hover:hover){.coros-affected a:hover{text-decoration-color:currentColor}}.coros-legend{border-top:1px solid var(--border);padding-block-start:var(--space-4)}.coros-legend>summary{padding-block:var(--space-2);color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer}.coros-legend[open]>summary{margin-block-end:var(--space-3)}.coros-legend ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.coros-legend li{align-items:flex-start;gap:var(--space-3);color:var(--text);font-size:var(--text-base);text-wrap:pretty;display:flex}.coros-legend .coros-mark,.coros-legend .coros-mark-none{margin-block-start:.15em;font-size:1.1em}.coros-legend .muted-line{margin-block-start:var(--space-3)}
