:root{--color-bg:#050607;--color-surface:#0e0f11;--color-surface-raised:#16171a;--color-border:#ffffff24;--color-hairline:#ffffff14;--color-rule:#ffffff1a;--color-text-primary:#e7e8ea;--color-text-secondary:#a8abb1;--color-text-tertiary:#7a7d84;--color-text-muted:#52555c;--color-accent:#9d6bff;--color-accent-hover:#bd9bff;--color-on-accent:#0d0618;--color-accent-soft:#9d6bff1a;--color-accent-hairline:#9d6bff33;--color-suggestion:#ffc700;--color-suggestion-hover:#ffd84d;--color-on-suggestion:#241d00;--color-suggestion-soft:#ffc70013;--color-suggestion-soft-hover:#ffc70029;--color-suggestion-soft-border:#ffc70057;--color-race:var(--color-suggestion);--color-race-soft:var(--color-suggestion-soft);--color-race-soft-border:var(--color-suggestion-soft-border);--color-race-hairline:#ffc70042;--color-race-muted:#ffc700b8;--color-on-race:var(--color-on-suggestion);--color-danger:#e05555;--font-sans:"Barlow", system-ui, "Segoe UI", Roboto, sans-serif;--font-display:"Barlow Condensed", "Barlow", system-ui, sans-serif;font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body,p{margin:0}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}::selection{background:var(--color-accent);color:var(--color-on-accent)}#root{min-height:100svh}.num{font-variant-numeric:tabular-nums}.glass{-webkit-backdrop-filter:blur(18px)saturate(140%);border:1px solid var(--color-rule);background:#0e0f11bd;box-shadow:0 12px 30px #0000008c}.lane{background-image:repeating-linear-gradient(90deg,#ffffff29 0 2px,#0000 2px 9px)}@media (width<=640px){button,select,textarea,input:not([type=checkbox]):not([type=radio]){min-height:44px}}.wordmark{align-items:center;display:inline-flex}.wordmark__stripes{align-items:center;gap:2px;display:flex}.wordmark__stripe{width:3px;display:block}.wordmark__stripe--accent{background-color:var(--color-accent)}.wordmark__stripe--mid{background-color:#ffffff57}.wordmark__stripe--faint{background-color:#ffffff29}.wordmark__type{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.045em;color:var(--color-text-primary);font-weight:800;line-height:1}.wordmark__type-lead{color:#6d7076}.wordmark--nav{gap:9px}.wordmark--nav .wordmark__stripe{height:14px}.wordmark--nav .wordmark__type{font-size:19px}.wordmark--auth{gap:10px}.wordmark--auth .wordmark__stripe{height:18px}.wordmark--auth .wordmark__type{font-size:24px}@media (width<=640px){.wordmark--nav .wordmark__type{font-size:15px}.wordmark--nav .wordmark__type-lead{display:none}}.auth-splash{box-sizing:border-box;background-color:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.day-cell{border-right:1px solid var(--color-hairline);background-color:#0000;border-bottom:2px solid #0000;flex-direction:column;gap:7px;min-width:0;min-height:130px;padding:14px 12px;transition:background-color .15s;display:flex;overflow:hidden}a.day-cell{color:inherit;cursor:pointer;text-decoration:none}a.day-cell:hover{background-color:#ffffff08}.day-cell--today{border-bottom-color:var(--color-accent)}.day-cell--dimmed .day-cell__name{color:var(--color-text-secondary)}.day-cell__date{color:var(--color-text-tertiary);white-space:nowrap;font-size:10.5px;font-weight:600}.day-cell__content{flex-direction:column;gap:7px;min-width:0;display:flex}.day-cell__race{border-left:2px solid var(--color-race);flex-direction:column;min-width:0;padding-left:8px;display:flex}.day-cell__race-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-race);font-size:9.5px;font-weight:700}.day-cell__race-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:700;line-height:1.3;overflow:hidden}.day-cell__sessions{flex-direction:column;gap:7px;min-width:0;display:flex}.day-cell__session{align-items:center;gap:8px;min-width:0;display:flex}.day-cell__dot{box-sizing:border-box;border:1px solid var(--color-text-tertiary);border-radius:50%;flex:none;width:7px;height:7px}.day-cell__dot--done{background-color:var(--color-accent);border-color:var(--color-accent)}.day-cell__name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.day-cell__empty{color:var(--color-text-tertiary);font-size:12px}.day-cell__count{color:var(--color-text-tertiary);white-space:nowrap;font-size:10.5px;font-weight:600}.day-cell__badges{flex-wrap:wrap;align-items:center;gap:5px;margin-top:auto;display:flex}.day-cell__badge{letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-secondary);white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 8px;font-size:9.5px;font-weight:700}.day-cell__badge--done{color:var(--color-accent)}@media (width<=640px){.day-cell{border:1px solid var(--color-hairline);border-bottom:3px solid #0000;border-radius:10px;flex-direction:row;align-items:flex-start;gap:14px;min-height:0;padding:13px 16px}.day-cell--today{border-bottom-color:var(--color-accent)}.day-cell__date{flex-shrink:0;width:58px;padding-top:1px}.day-cell__separator{display:none}.day-cell__dow,.day-cell__month-day{display:block}.day-cell__content{flex:1;gap:5px}.day-cell__sessions{gap:5px}.day-cell__race-name,.day-cell__name{font-size:13px}.day-cell__badges{flex-direction:column;flex-shrink:0;align-items:flex-end;margin-top:0;margin-left:auto}}.focus-bar{border-radius:12px;align-items:flex-start;gap:32px;padding:28px 32px;display:flex}.focus-bar__today{flex:1;min-width:0}.focus-bar__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);align-items:center;gap:10px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.focus-bar__eyebrow--accent{color:var(--color-accent)}.focus-bar__dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.focus-bar__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);font-size:30px;font-weight:800}.focus-bar__summary{color:var(--color-text-secondary);white-space:pre-wrap;max-width:54ch;margin:8px 0 0;font-size:14.5px}.focus-bar__more{color:var(--color-accent);margin-top:12px;font-size:12.5px;font-weight:700}.focus-bar__actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;display:flex}.focus-bar__cta{cursor:pointer;background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:8px;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.focus-bar__cta:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.focus-bar__type-tag{color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:6px;padding:5px 10px;font-size:11.5px;font-weight:600}.focus-bar__next{border-left:1px solid var(--color-rule);flex:0 0 260px;min-width:0;padding-left:32px}.focus-bar__next-date{color:var(--color-text-tertiary);margin-bottom:4px;font-size:12px;font-weight:600}.focus-bar__next-title{color:var(--color-text-primary);font-size:17px;font-weight:700}.focus-bar__next-summary{color:var(--color-text-secondary);max-width:40ch;margin:6px 0 14px;font-size:13px}.focus-bar__view-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-primary);background:0 0;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.focus-bar__view-btn:hover{background-color:#ffffff0f}@media (width<=640px){.focus-bar{flex-direction:column;gap:20px;padding:20px 18px}.focus-bar__title{font-size:24px}.focus-bar__next{border-left:none;border-top:1px solid var(--color-rule);flex:1;width:100%;padding-top:16px;padding-left:0}.focus-bar__cta,.focus-bar__view-btn{min-height:44px}}.weekly-calendar{width:100%;max-width:1200px;color:var(--color-text-primary);grid-template-columns:repeat(12,1fr);align-items:start;gap:36px 16px;margin:0 auto;padding:44px 40px 88px;display:grid}.weekly-calendar>*{grid-column:1/13;min-width:0}.weekly-calendar--loading,.weekly-calendar--error{color:var(--color-text-secondary);font-size:16px;display:block}.weekly-calendar__banner{border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:20px;display:flex}.weekly-calendar__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.weekly-calendar__greeting{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:0;font-size:40px;font-weight:800}.weekly-calendar__stat{text-align:right;flex-shrink:0}.weekly-calendar__stat .weekly-calendar__eyebrow{letter-spacing:.05em;margin-bottom:8px}.weekly-calendar__stat-value{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-text-primary);font-size:38px;font-weight:800}.weekly-calendar__week-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.weekly-calendar__week-nav-arrow{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:13px;line-height:1;transition:border-color .15s,background-color .15s}.weekly-calendar__week-nav-arrow:hover{border-color:var(--color-accent);background-color:#ffffff0a}.weekly-calendar__week-nav-center{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.weekly-calendar__week-nav-label{color:var(--color-text-primary);white-space:nowrap;font-size:14px;font-weight:700}.weekly-calendar__week-nav-range{color:var(--color-text-tertiary);font-weight:600}.weekly-calendar__today-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:600;transition:border-color .15s,color .15s}.weekly-calendar__today-btn:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.weekly-calendar__grid{border-top:1px solid var(--color-hairline);border-left:1px solid var(--color-hairline);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}@media (width<=640px){.weekly-calendar{flex-direction:column;align-items:stretch;gap:24px;padding:24px 16px 64px;display:flex}.weekly-calendar__banner{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:18px}.weekly-calendar__stat{text-align:left}.weekly-calendar__greeting{font-size:30px}.weekly-calendar__stat-value{font-size:28px}.weekly-calendar__grid{border-top:none;border-left:none;flex-direction:column;gap:8px;display:flex}}.workout-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.workout-card--completed{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.workout-card__strip{background:var(--color-border);border-radius:2px;flex-shrink:0;width:3px;margin:8px 0}.workout-card__body{flex-direction:column;flex:1;min-width:0;padding:16px 18px;display:flex}.workout-card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.workout-card__name{color:var(--color-text-primary);margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.2}.workout-card__date{color:var(--color-text-tertiary);font-size:11px}.workout-card__badges{flex-shrink:0;align-items:center;gap:8px;display:flex}.workout-card__checkmark{color:var(--color-accent);font-size:20px;font-weight:700}.workout-card__intensity-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.workout-card__pill{color:var(--color-text-tertiary);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:10.5px;font-weight:600}.workout-card__details{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.workout-card__details li{color:var(--color-text-secondary);font-size:12px}.workout-card__completion-info{border-top:1px solid var(--color-accent-hairline);margin-top:8px;padding-top:8px;font-size:12px}.workout-card__duration{color:var(--color-accent);font-variant-numeric:tabular-nums;font-weight:500}.workout-card__note{color:var(--color-text-tertiary);margin-top:8px;font-size:11px}.workout-card__actions{flex-shrink:0;gap:8px;margin-top:12px;display:flex}.workout-card__btn{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;transition:background-color .2s}.workout-card__btn--primary{background-color:var(--color-accent);color:var(--color-on-accent);font-weight:700}.workout-card__btn--primary:hover{background-color:var(--color-accent-hover)}.workout-card__btn--secondary{border:1px solid var(--color-border);color:var(--color-text-primary);background-color:#0000}.workout-card__btn--secondary:hover{background-color:#ffffff0d}.completion-dialog-overlay{z-index:50;background-color:#000000bd;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.completion-dialog{box-sizing:border-box;border-radius:14px;width:420px;max-width:90vw;max-height:90vh;padding:28px;overflow-y:auto}.completion-dialog__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:0 0 18px;font-size:22px;font-weight:800}.completion-dialog__body{gap:16px;display:grid}.completion-dialog__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.completion-dialog__optional{text-transform:none;letter-spacing:0;opacity:.7;font-weight:500}.completion-dialog__segmented{border:1px solid var(--color-border);background-color:#ffffff08;border-radius:8px;gap:2px;padding:3px;display:flex}.completion-dialog__segment{cursor:pointer;font:inherit;color:var(--color-text-tertiary);background-color:#0000;border:none;border-radius:6px;flex:1;padding:8px 6px;font-size:12px;font-weight:600;transition:background-color .15s,color .15s}.completion-dialog__segment:hover:not(:disabled){color:var(--color-text-primary)}.completion-dialog__segment--active,.completion-dialog__segment--active:hover:not(:disabled){background-color:var(--color-accent);color:var(--color-on-accent)}.completion-dialog__segment:disabled{cursor:not-allowed}.completion-dialog__input,.completion-dialog__textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);box-sizing:border-box;background-color:#ffffff08;border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13.5px}.completion-dialog__textarea{resize:vertical}.completion-dialog__input:focus,.completion-dialog__textarea:focus{border-color:var(--color-accent);outline:none}.completion-dialog__input:disabled,.completion-dialog__textarea:disabled{opacity:.6;cursor:not-allowed}.completion-dialog__error{color:var(--color-danger);margin-top:8px;font-size:12px}.completion-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.completion-dialog__btn{font:inherit;white-space:nowrap;cursor:pointer;border:none;border-radius:8px;padding:9px 18px;font-size:13.5px;font-weight:700;transition:background-color .15s,border-color .15s}.completion-dialog__btn:disabled{opacity:.6;cursor:not-allowed}.completion-dialog__btn--primary{background-color:var(--color-accent);color:var(--color-on-accent)}.completion-dialog__btn--primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.completion-dialog__btn--ghost{color:var(--color-text-tertiary);background:0 0;padding:9px 12px;font-weight:500}.completion-dialog__btn--ghost:hover:not(:disabled){color:var(--color-text-primary)}@media (width<=640px){.completion-dialog-overlay{align-items:flex-end}.completion-dialog{border-radius:14px 14px 0 0;width:100%;max-width:100%;max-height:86vh;padding:24px 20px}}.completion-dialog__btn--danger{border:1px solid var(--color-danger);color:var(--color-danger);background-color:#0000;margin-right:auto;font-weight:600}.completion-dialog__btn--danger:hover:not(:disabled){background-color:#e055551a}.completion-dialog__confirm{border:1px solid var(--color-border);background-color:#ffffff08;border-radius:8px;margin-top:22px;padding:16px}.completion-dialog__confirm-text{color:var(--color-text-primary);margin:0;font-size:14px}.completion-dialog__confirm .completion-dialog__actions{margin-top:16px}.completion-dialog__confirm .completion-dialog__btn--danger{margin-right:0}.workout-log{width:100%;max-width:480px;margin:0 auto;padding:48px 24px 64px}.workout-log__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:0 0 16px;font-size:28px;font-weight:800;line-height:1.15}.workout-log__filters{gap:8px;display:flex}.workout-log__filter-btn{font-family:var(--font-sans);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:400;transition:background .15s,color .15s,border-color .15s}.workout-log__filter-btn--active{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent);font-weight:700}.workout-log__filter-btn:not(.workout-log__filter-btn--active):hover{color:var(--color-text-primary);border-color:var(--color-text-muted)}.workout-log__divider{border:none;border-top:1px solid var(--color-border);margin:16px 0 20px}.workout-log__list{flex-direction:column;gap:12px;display:flex}@media (width<=640px){.workout-log{padding:32px 16px 48px}.workout-log__filter-btn{flex:1}}.nav-bar{border-bottom:3px solid var(--color-rule);grid-template-columns:220px 1fr 220px;align-items:center;height:64px;padding:0 40px;display:grid}.nav-bar__links{justify-self:center;align-items:center;gap:32px;display:flex}.nav-bar__link{color:var(--color-text-tertiary);font-size:13px;font-weight:600;text-decoration:none;transition:color .15s}.nav-bar__link:hover{color:var(--color-text-primary)}.nav-bar__link.active{color:var(--color-accent)}.nav-bar__actions{justify-self:end;align-items:center;gap:14px;display:flex}.nav-bar__sign-out{cursor:pointer;font:inherit;color:var(--color-text-tertiary);background:0 0;border:none;padding:0;font-size:12.5px;font-weight:500;transition:color .15s}.nav-bar__sign-out:hover{color:var(--color-text-primary)}@media (width<=640px){.nav-bar{grid-template-columns:auto 1fr auto;gap:8px;height:56px;padding:0 12px}.nav-bar__links{gap:12px;min-width:0}.nav-bar__link,.nav-bar__sign-out{align-items:center;min-height:44px;font-size:12px;display:inline-flex}}.workout-editor{min-width:0}.workout-editor__title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin:0 0 14px;font-size:11px;font-weight:600}.workout-editor__fields{gap:14px;display:grid}.workout-editor__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:7px;font-size:11px;font-weight:600;display:block}.workout-editor__input{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);font:inherit;background:#ffffff08;border-radius:8px;padding:9px 11px;font-size:13.5px;transition:border-color .15s}.workout-editor__input:focus{border-color:var(--color-accent);outline:none}.workout-editor__input:disabled{opacity:.6;cursor:not-allowed}.workout-editor__input::placeholder{color:var(--color-text-muted)}.workout-editor__textarea{resize:vertical;min-height:96px}.workout-editor__error{color:#ffb8b8;font-size:13px}.workout-editor__actions{align-items:center;gap:10px;display:flex}.workout-editor__button{background:var(--color-accent);color:var(--color-on-accent);font:inherit;cursor:pointer;border:none;border-radius:8px;width:fit-content;padding:11px 20px;font-size:13.5px;font-weight:700;transition:background-color .15s}.workout-editor__button:hover:not(:disabled){background:var(--color-accent-hover)}.workout-editor__button:disabled{cursor:wait;opacity:.65}.workout-editor__button--ghost{border:1px solid var(--color-border);color:var(--color-text-primary);background:0 0;padding:10px 18px;font-weight:600}.workout-editor__button--ghost:hover:not(:disabled){border-color:var(--color-accent);background:#ffffff0a}@media (width<=640px){.workout-editor__actions{flex-wrap:wrap}.workout-editor__button{width:100%}}.phase-bands{display:flex}.phase-bands__band{flex-basis:0;min-width:0;padding-top:9px}.phase-bands__band+.phase-bands__band{border-left:1px solid var(--color-hairline);padding-left:9px}.phase-bands__phase{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:800;overflow:hidden}.phase-bands--spans .phase-bands__phase{font-size:13px}.phase-bands__band--race .phase-bands__phase{color:var(--color-race)}.phase-bands__span{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.arc-bars__bars{align-items:flex-end;gap:4px;height:92px;display:flex}.arc-bars--full .arc-bars__bars{gap:6px;height:152px}.arc-bars__week{min-width:0;height:100%;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:flex-end;padding:0;display:flex}.arc-bars--full .arc-bars__week{gap:6px}.arc-bars__marker{text-transform:uppercase;letter-spacing:.06em;height:14px;color:var(--color-accent);white-space:nowrap;font-size:8.5px;font-weight:800;overflow:hidden}.arc-bars--full .arc-bars__marker{letter-spacing:.08em;height:auto;font-size:9px}.arc-bars__marker--race{color:var(--color-race)}.arc-bars__bar{box-sizing:border-box;opacity:.72;background:#9d6bff29;border:1px solid #9d6bff4d;border-bottom:none;border-radius:3px 3px 0 0;width:100%;transition:height .3s;display:block;position:relative;overflow:hidden}.arc-bars__week:hover .arc-bars__bar,.arc-bars__bar--active{opacity:1}.arc-bars__bar--build{background:repeating-linear-gradient(45deg,#bd9bff57 0 2px,#0000 2px 6px),#9d6bff4d;border-color:#9d6bff80}.arc-bars__bar--peak{background:radial-gradient(#ffffff57 1.1px,#0000 1.3px) 0 0/6px 6px,#9d6bff80;border-color:#bd9bffb3}.arc-bars__bar--taper{background:repeating-linear-gradient(0deg,#bd9bff4d 0 1px,#0000 1px 5px),#9d6bff33;border-color:#9d6bff6b}.arc-bars__bar--race{background:#ffc70024;border-color:#ffc7008c}.arc-bars__lane{opacity:.5;position:absolute;inset:0}.arc-bars__numbers{border-top:1px solid var(--color-border);gap:4px;padding-top:6px;display:flex}.arc-bars--full .arc-bars__numbers{gap:6px;padding-top:8px}.arc-bars__number{text-align:center;min-width:0;color:var(--color-text-tertiary);flex:1;font-size:9.5px;font-weight:700}.arc-bars__number--active{color:var(--color-text-primary)}.arc-bars--compact .arc-bars__bars{height:48px}.arc-bars--compact .arc-bars__bar--active{box-shadow:inset 0 0 0 1px var(--color-accent-hover)}.block-replace{flex-wrap:wrap;flex:360px;justify-content:flex-end;align-items:center;gap:10px 16px;min-width:0;display:flex}.block-replace__question{color:var(--color-text-primary);flex:260px;margin:0;font-size:12.5px}.block-replace__actions{flex:none;align-items:center;gap:10px;display:flex}.block-replace__confirm{color:var(--color-suggestion);font:inherit;cursor:pointer;background:#ffc7001a;border:1px solid #ffc7006b;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700}.block-replace__confirm:hover{background-color:var(--color-suggestion-soft-hover);border-color:var(--color-suggestion)}.block-replace__cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:600}.block-replace__cancel:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.block-arc{border:1px solid var(--color-accent-hairline);background:#9d6bff0d;border-radius:10px;padding:16px 18px 12px}.block-arc__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;margin-bottom:14px;display:flex}.block-arc__summary{min-width:0}.block-arc__title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);font-size:11px;font-weight:700}.block-arc__focus{color:var(--color-text-secondary);margin-top:3px;font-size:12.5px}.block-arc__actions{flex:none;align-items:center;gap:10px;display:flex}.block-arc__open{color:var(--color-accent-hover);font:inherit;cursor:pointer;background:0 0;border:1px solid #9d6bff80;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700}.block-arc__open:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent)}.block-arc__regenerate{color:var(--color-suggestion);font:inherit;cursor:pointer;background:#ffc7001a;border:1px solid #ffc7006b;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700}.block-arc__regenerate:hover{background-color:var(--color-suggestion-soft-hover);border-color:var(--color-suggestion)}.block-generating{border:1px solid var(--color-suggestion-soft-border);background:#ffc7000b;border-radius:10px;padding:20px 22px 22px}.block-generating__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-suggestion);margin-bottom:6px;font-size:11px;font-weight:700}.block-generating__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin-bottom:20px;font-size:27px;font-weight:800}.block-generating__body{flex-wrap:wrap;gap:30px;display:flex}.block-generating__arc{flex:260px;min-width:0}.block-generating__bars{border-bottom:1px solid var(--color-border);align-items:flex-end;gap:4px;height:84px;display:flex}.block-generating__bar{background:#9d6bff6b;border-radius:2px 2px 0 0;flex:1;min-width:0;transition:height .38s}.block-generating__bar--race{background:#ffc70066}.block-generating__steps{flex-direction:column;flex:250px;gap:11px;min-width:0;display:flex}.block-generating__step{color:var(--color-text-tertiary);align-items:center;gap:10px;font-size:13px;display:flex}.block-generating__step-dot{box-sizing:border-box;border:1px solid #fff3;border-radius:50%;flex:none;width:7px;height:7px}.block-generating__step--done{color:var(--color-text-primary)}.block-generating__step--done .block-generating__step-dot{border-color:var(--color-accent);background:var(--color-accent)}.block-generating__note{color:var(--color-text-tertiary);margin:4px 0 0;font-size:12.5px}.block-generating--failed{border-color:var(--color-danger);background:#e055551a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;display:flex}.block-generating__failed-text{flex:320px;min-width:0}.block-generating__failed-title{color:#ffb8b8;font-size:13.5px;font-weight:700}.block-generating__failed-reason{color:var(--color-text-secondary);margin:3px 0 0;font-size:13px}.block-generating__failed-actions{flex:none;align-items:center;gap:12px;display:flex}.block-generating__retry{background-color:var(--color-suggestion);color:var(--color-on-suggestion);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700}.block-generating__retry:hover{background-color:var(--color-suggestion-hover)}.block-generating__close{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.block-generating__close:hover{color:var(--color-text-primary)}.block-screen{width:100%;max-width:1180px;margin:0 auto}.block-screen__back{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:22px;padding:0;font-size:13px;display:flex}.block-screen__back:hover{color:var(--color-text-primary)}.block-screen__header{border-bottom:1px solid var(--color-hairline);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 28px;margin-bottom:30px;padding-bottom:22px;display:flex}.block-screen__heading{min-width:0}.block-screen__eyebrow,.block-screen__section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.block-screen__eyebrow{margin-bottom:6px}.block-screen__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:34px;font-weight:800;line-height:1.05}.block-screen__meta{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:9px;display:flex}.block-screen__race-date{color:var(--color-text-primary);font-size:12.5px;font-weight:600}.block-screen__phases{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.block-screen__regenerate{color:var(--color-suggestion);font:inherit;cursor:pointer;background:#ffc7001a;border:1px solid #ffc7006b;border-radius:8px;flex:none;padding:9px 16px;font-size:12.5px;font-weight:700}.block-screen__regenerate:hover{background-color:var(--color-suggestion-soft-hover);border-color:var(--color-suggestion)}.block-screen>.block-setup,.block-screen>.block-generating{margin-bottom:30px}.block-screen__arc{border:1px solid var(--color-rule);background:var(--color-surface);border-radius:10px;margin-bottom:34px;padding:24px 26px 20px}.block-screen__section-title{margin-bottom:14px}.block-screen__current{border:1px solid var(--color-accent-hairline);border-left:3px solid var(--color-accent);background:#9d6bff0d;border-radius:10px;margin-bottom:12px;padding:20px 24px 22px}.block-screen__current-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;display:flex}.block-screen__current-text{min-width:0}.block-screen__current-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);margin-bottom:5px;font-size:11px;font-weight:700}.block-screen__current-focus{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-size:27px;font-weight:800}.block-screen__current-meta{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:7px;font-size:12.5px;font-weight:600;display:flex}.block-screen__current-dates{color:var(--color-text-primary)}.block-screen__current-load{color:var(--color-text-secondary)}.block-screen__current-applied{color:var(--color-text-tertiary)}.block-screen__open-week{color:var(--color-accent-hover);font:inherit;cursor:pointer;background:0 0;border:1px solid #9d6bff80;border-radius:8px;flex:none;padding:11px 20px;font-size:13.5px;font-weight:700}.block-screen__open-week:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent)}.block-screen__keys{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.block-screen__key{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:8px;align-items:baseline;gap:8px;padding:9px 12px;display:inline-flex}.block-screen__key-name{color:var(--color-text-primary);font-size:13px;font-weight:700}.block-screen__key-type{color:var(--color-text-tertiary);font-size:11px;font-weight:600}.block-screen__weeks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.block-screen__week{box-sizing:border-box;border:1px solid var(--color-hairline);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:10px;grid-template-columns:64px 74px 96px minmax(0,1fr) 110px 150px;align-items:center;gap:16px;padding:13px 16px;display:grid}.block-screen__week:hover{border-color:var(--color-border)}.block-screen__week--applied{border-color:var(--color-accent-hairline);background:#9d6bff0a}.block-screen__week-number{color:var(--color-text-primary);font-size:12.5px;font-weight:700}.block-screen__week-phase{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:12.5px;font-weight:800}.block-screen__week-load{align-items:center;gap:8px;min-width:0;display:flex}.block-screen__mini{background:#9d6bff38;border-radius:3px;height:6px}.block-screen__mini--applied{background:#9d6bff8c}.block-screen__mini--race{background:#ffc70066}.block-screen__week-percent{color:var(--color-text-tertiary);flex:none;font-size:11px;font-weight:600}.block-screen__week-keys{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-secondary);font-size:12.5px;overflow:hidden}.block-screen__week-dates{color:var(--color-text-tertiary);font-size:11.5px;font-weight:600}.block-screen__week-status{text-align:right;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px;font-weight:700}.block-screen__week-status--pending{color:var(--color-text-secondary)}.block-screen__week-status--applied{color:var(--color-accent)}@media (width<=640px){.block-screen__title{font-size:28px}.block-screen__arc{padding:18px 14px 14px}.block-screen__week{grid-template-columns:64px minmax(0,1fr) auto;gap:6px 12px}.block-screen__week-load,.block-screen__week-keys{display:none}.block-screen__week-status{text-align:left;grid-column:2/-1}}.block-setup{border:1px solid var(--color-suggestion-soft-border);background:#ffc7000b;border-radius:10px;padding:20px 22px 22px}.block-setup__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 20px;margin-bottom:20px;display:flex}.block-setup__heading{min-width:0}.block-setup__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-suggestion);margin-bottom:6px;font-size:11px;font-weight:700}.block-setup__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:0;font-size:44px;font-weight:800;line-height:1}.block-setup__actions{flex:none;align-items:center;gap:12px;display:flex}.block-setup__build{background-color:var(--color-suggestion);color:var(--color-on-suggestion);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:12px 22px;font-size:13.5px;font-weight:700}.block-setup__build:hover:not(:disabled){background-color:var(--color-suggestion-hover)}.block-setup__build:disabled{opacity:.5;cursor:default}.block-setup__close{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.block-setup__close:hover{color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.block-setup__columns{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:22px;display:grid}.block-setup__field{border:none;min-width:0;margin:0;padding:0}.block-setup__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:9px;padding:0;font-size:11px;font-weight:600;display:block}.block-setup__races{flex-direction:column;gap:7px;display:flex}.block-setup__race{box-sizing:border-box;border:1px solid var(--color-border);width:100%;font:inherit;text-align:left;cursor:pointer;background:#ffffff08;border-radius:8px;align-items:center;gap:12px;padding:11px 13px;display:flex}.block-setup__race--on{background:var(--color-accent-soft);border-color:#9d6bff8c}.block-setup__race:disabled{cursor:default;opacity:.6}.block-setup__race-dot{box-sizing:border-box;border:1px solid #ffffff4d;border-radius:50%;flex:none;width:9px;height:9px}.block-setup__race--on .block-setup__race-dot{border-color:var(--color-accent);background:var(--color-accent)}.block-setup__race-text{min-width:0}.block-setup__race-name{color:var(--color-text-primary);font-size:13px;font-weight:700;display:block}.block-setup__race-meta{color:var(--color-text-tertiary);margin-top:2px;font-size:11px;font-weight:600;display:block}.block-setup__days{gap:5px;display:flex}.block-setup__day{border:1px solid var(--color-border);min-width:0;min-height:44px;color:var(--color-text-tertiary);font:inherit;letter-spacing:.04em;cursor:pointer;background:#ffffff08;border-radius:8px;flex:1;padding:0 2px;font-size:12px;font-weight:700}.block-setup__day--on{background:var(--color-accent-soft);color:var(--color-text-primary);border-color:#9d6bff8c}.block-setup__hint{color:var(--color-text-tertiary);margin-top:9px;font-size:12px}.block-setup__constraints{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);font:inherit;resize:vertical;background:#ffffff08;border-radius:8px;padding:10px 12px;font-size:13px}@media (width<=640px){.block-setup{padding:16px}.block-setup__columns{grid-template-columns:minmax(0,1fr)}.block-setup__title{font-size:32px}.block-setup__actions{width:100%}.block-setup__build{flex:1}}.day-dialog__backdrop{z-index:55;box-sizing:border-box;background:#000000bd;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.day-dialog{box-sizing:border-box;border-radius:14px;outline:none;width:660px;max-width:100%;max-height:88vh;padding:26px 30px 30px;overflow-y:auto}.day-dialog__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.day-dialog__header-text{min-width:0}.day-dialog__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.day-dialog__heading{font-family:var(--font-display);text-transform:uppercase;color:var(--color-text-primary);margin:6px 0 4px;font-size:27px;font-weight:800}.day-dialog__count{color:var(--color-text-tertiary);font-size:12.5px;font-weight:600}.day-dialog__close{color:var(--color-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-size:20px;line-height:1}.day-dialog__close:hover{color:var(--color-text-primary)}@media (width<=640px){.day-dialog__backdrop{align-items:stretch;padding:0}.day-dialog{border-radius:0;max-height:100%;padding:20px 16px 32px}.day-dialog__heading{font-size:23px}}.day-sessions{margin-bottom:26px}.day-sessions__label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:10px;font-size:11px;font-weight:600}.day-sessions__list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.day-sessions__row{border:1px solid var(--color-hairline);border-radius:8px;align-items:center;gap:4px;padding:8px 8px 8px 12px;display:flex}.day-sessions__row--selected{border-color:var(--color-accent);background-color:#ffffff08}.day-sessions__select{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:4px 0;display:flex}.day-sessions__name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.day-sessions__meta{color:var(--color-text-tertiary);font-size:10.5px;font-weight:600}.day-sessions__move{color:var(--color-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:6px 7px;font-size:13px}.day-sessions__move:hover:not(:disabled){color:var(--color-text-primary)}.day-sessions__move:disabled{opacity:.35;cursor:default}.day-sessions__empty{color:var(--color-text-tertiary);margin:0 0 14px;font-size:13px}.day-sessions__add{border:1px solid var(--color-border);color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:7px;padding:8px 13px;font-size:12.5px;font-weight:600}.day-sessions__add:hover:not(:disabled){background-color:#ffffff0a}.day-sessions__add:disabled{opacity:.5;cursor:default}.day-sessions__provenance{background:var(--color-accent);border-radius:1px;flex:none;width:2px;height:11px;margin-right:4px}.proposal-card{background:var(--color-suggestion-soft);border:1px dashed #ffc70080;border-radius:7px;min-width:0;margin:0 10px 8px;padding:7px 8px}.proposal-card__body{width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:block}.proposal-card__label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:3px;font-size:8.5px;font-weight:700;display:block}.proposal-card__label--key{color:var(--color-suggestion)}.proposal-card__name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:700;display:block;overflow:hidden}.proposal-card__actions{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.proposal-card__add,.proposal-card__tune,.proposal-card__reject{min-width:0;font:inherit;cursor:pointer;border-radius:5px;padding:5px 7px;font-size:10px;font-weight:700}.proposal-card__add{background:var(--color-suggestion);color:var(--color-on-suggestion);border:none}.proposal-card__add:hover{background:var(--color-suggestion-hover)}.proposal-card__tune{color:var(--color-suggestion);background:0 0;border:1px solid #ffc70080}.proposal-card__reject{color:var(--color-text-secondary);background:0 0;border:1px solid #ffffff29}.proposal-card__tune:hover,.proposal-card__reject:hover{border-color:currentColor}@media (width<=640px){.proposal-card{display:none}}.month-cal__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.month-cal__header-left{align-items:center;gap:14px;min-width:0;display:flex}.month-cal__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:0;font-size:27px;font-weight:800}.month-cal__today-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:5px 12px;font-size:11px;font-weight:600}.month-cal__nav{flex-shrink:0;align-items:center;gap:8px;display:flex}.month-cal__nav-btn{border:1px solid var(--color-border);color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:13px}.month-cal__today-btn:hover,.month-cal__nav-btn:hover{border-color:var(--color-text-tertiary)}.month-cal__above{gap:16px;margin-bottom:16px;display:grid}.month-cal__grid{border-top:1px solid var(--color-hairline);border-left:1px solid var(--color-hairline);grid-template-columns:64px repeat(7,minmax(0,1fr));display:grid}.month-cal__row{display:contents}.month-cal__col-head{border-right:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline);letter-spacing:.08em;color:var(--color-text-tertiary);padding:9px 10px;font-size:9.5px;font-weight:700}.month-cal__col-head--rail{padding-left:11px}.month-cal__rail{border-right:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline);box-sizing:border-box;flex-direction:column;gap:7px;padding:10px 11px;display:flex}.month-cal__rail--block{background:#9d6bff0a}.month-cal__rail--focused{box-shadow:inset 3px 0 0 var(--color-accent)}.month-cal__rail-top{flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.month-cal__load{color:var(--color-text-tertiary);font-size:10px;font-weight:600}.month-cal__phase{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:10.5px;font-weight:800}.month-cal__week{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-primary);font-size:15px;font-weight:800}.month-cal__cell{border-right:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline);box-sizing:border-box;flex-direction:column;min-width:0;min-height:122px;transition:background-color .15s;display:flex;overflow:hidden}.month-cal__open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;gap:7px;padding:9px 10px 11px;display:flex}.month-cal__cell:hover{background-color:#ffffff08}.month-cal__cell--today{background-color:var(--color-accent-soft)}.month-cal__cell--outside{background-color:#ffffff03}.month-cal__cell-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.month-cal__date{color:var(--color-text-primary);font-size:11.5px;font-weight:700}.month-cal__cell--today .month-cal__date{color:var(--color-accent)}.month-cal__cell--outside .month-cal__date{color:var(--color-text-muted)}.month-cal__sparkle{font-size:11px;line-height:1}.month-cal__race{border-left:2px solid var(--color-race);min-width:0;padding-left:7px;display:block}.month-cal__race-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-race);font-size:9px;font-weight:700;display:block}.month-cal__race-name,.month-cal__session-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:700;display:block;overflow:hidden}.month-cal__sessions{flex-direction:column;gap:7px;min-width:0;display:flex}.month-cal__session{align-items:center;gap:7px;min-width:0;display:flex}.month-cal__session-name{font-weight:600}.month-cal__session-name--done{color:var(--color-text-tertiary)}.month-cal__provenance{background:var(--color-accent);border-radius:1px;flex:none;width:2px;height:10px}.month-cal__rail-action{color:var(--color-suggestion);font:inherit;letter-spacing:.03em;cursor:pointer;background:#ffc7001a;border:1px solid #ffc7006b;border-radius:6px;margin-top:auto;padding:6px 4px;font-size:10.5px;font-weight:700}.month-cal__rail-action--all{border-color:var(--color-suggestion);background:var(--color-suggestion);color:var(--color-on-suggestion)}.month-cal__rail-action:disabled{cursor:progress;opacity:.7}.month-cal__rail-note{color:var(--color-text-tertiary);font-size:10px;line-height:1.35}.month-cal__dot{box-sizing:border-box;background:0 0;border:1px solid #ffffff4d;border-radius:50%;flex:none;width:6px;height:6px}.month-cal__dot--done{background:var(--color-accent);border-color:var(--color-accent)}@media (width<=640px){.month-cal__title{font-size:22px}.month-cal__grid{grid-template-columns:repeat(7,minmax(0,1fr))}.month-cal__col-head--rail,.month-cal__rail{display:none}.month-cal__col-head{letter-spacing:.04em;padding:7px 4px;font-size:8.5px}.month-cal__cell{min-height:66px}.month-cal__open{gap:5px;padding:6px 4px 8px}.month-cal__sessions{flex-flow:wrap;gap:3px}.month-cal__session-name,.month-cal__race-eyebrow{display:none}.month-cal__race{padding-left:4px}.month-cal__race-name{font-size:9px}}.proposal-draft{border:1px solid var(--color-suggestion-soft-border);background:var(--color-suggestion-soft);border-radius:10px;margin-bottom:22px;padding:16px 18px}.proposal-draft__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-suggestion);margin-bottom:4px;font-size:11px;font-weight:700}.proposal-draft__why{color:var(--color-text-tertiary);margin:0 0 16px;font-size:12px;font-style:italic}.proposal-draft .workout-editor__button:not(.workout-editor__button--ghost){background:var(--color-accent);color:var(--color-on-accent)}.run-up-prompt{border:1px dashed var(--color-suggestion-soft-border);background:#ffc70008;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;padding:15px 18px;display:flex}.run-up-prompt__text{flex:320px;min-width:0}.run-up-prompt__title{color:var(--color-text-primary);font-size:13.5px;font-weight:600}.run-up-prompt__detail{color:var(--color-text-secondary);margin-top:3px;font-size:12.5px}.run-up-prompt__action{background-color:var(--color-suggestion);color:var(--color-on-suggestion);font:inherit;cursor:pointer;border:none;border-radius:8px;flex:none;padding:11px 18px;font-size:13px;font-weight:700}.run-up-prompt__action:hover{background-color:var(--color-suggestion-hover)}@media (width<=640px){.run-up-prompt__action{width:100%}}.session-provenance{border-left:2px solid var(--color-accent);background:#9d6bff0d;border-radius:0 8px 8px 0;margin-bottom:22px;padding:11px 14px}.session-provenance__line{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-size:9.5px;font-weight:700}.session-provenance__why{color:var(--color-text-secondary);margin:4px 0 0;font-size:12.5px;font-style:italic}.startline{border:1px solid var(--color-race-hairline);border-left:3px solid var(--color-race);background-color:var(--color-race-soft);border-radius:10px;position:relative;overflow:hidden}.startline__lane{opacity:.05;pointer-events:none;position:absolute;inset:0}.startline__main{flex-wrap:wrap;align-items:center;gap:12px 28px;padding:13px 20px 14px;display:flex;position:relative}.startline__text{flex:1;min-width:0}.startline__eyebrow{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:4px;display:flex}.startline__chip{letter-spacing:.04em;color:var(--color-on-race);background-color:var(--color-race);border-radius:3px;padding:2px 5px;font-size:9.5px;font-weight:800;line-height:1.2}.startline__label,.startline__athlete,.startline__target{letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.startline__label{color:var(--color-race)}.startline__athlete,.startline__target{color:var(--color-text-tertiary)}.startline__name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:31px;font-weight:800;line-height:1.04;overflow:hidden}.startline__meta{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:7px;display:flex}.startline__date{color:var(--color-text-secondary);font-size:12.5px;font-weight:600}.startline__goal{letter-spacing:.06em;text-transform:uppercase;color:var(--color-race);border:1px solid var(--color-race-soft-border);border-radius:4px;padding:3px 7px;font-size:11px;font-weight:700}.startline__countdown{text-align:right;flex:none}.startline__countdown-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:1px;font-size:10px;font-weight:700}.startline__countdown-value{font-family:var(--font-display);text-transform:uppercase;color:var(--color-race);justify-content:flex-end;align-items:baseline;gap:7px;font-weight:800;line-height:.92;display:flex}.startline__count{font-size:46px}.startline__unit{letter-spacing:.06em;color:var(--color-race-muted);font-size:14px}.startline__next{border-top:1px solid var(--color-race-hairline);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:7px 20px;display:flex;position:relative}.startline__next-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;font-size:9.5px;font-weight:700}.startline__next-name{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.startline__next-meta{color:var(--color-text-tertiary);font-size:12px;font-weight:600}.startline--empty{border:1px dashed var(--color-race-hairline);background-color:#0000;padding:14px 20px}.startline--empty .startline__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.startline--empty .startline__name{margin-bottom:3px;font-size:27px}.startline__hint{color:var(--color-text-tertiary);font-size:12.5px}@media (width<=640px){.startline__main{padding:14px 16px}.startline__name{font-size:25px}.startline__text{flex-basis:100%}.startline__countdown{text-align:left}.startline__countdown-value{justify-content:flex-start}.startline__count{font-size:38px}.startline__next{padding:8px 16px}}.suggestion-card{border:1px solid var(--color-suggestion-soft-border);background-color:var(--color-suggestion-soft);border-radius:10px;margin-bottom:20px;padding:16px 18px}.suggestion-card__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-suggestion);flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.suggestion-card__key{letter-spacing:.08em;color:var(--color-text-tertiary);font-size:9.5px}.suggestion-card__key--carrying{color:var(--color-suggestion)}.suggestion-card__outcome{letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.suggestion-card__outcome--applied:before{content:"";background-color:var(--color-accent);border-radius:1px;width:2px;height:11px}.suggestion-card__outcome--rejected{letter-spacing:normal;text-transform:none;color:var(--color-text-tertiary);font-weight:600}.suggestion-card__name{color:var(--color-text-primary);margin:0 0 2px;font-size:14.5px;font-weight:700}.suggestion-card__type{color:var(--color-text-secondary);margin-bottom:8px;font-size:11px;font-weight:600}.suggestion-card__details{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.suggestion-card__detail{color:var(--color-text-primary);font-size:13px;line-height:1.45}.suggestion-card__reason{color:var(--color-text-tertiary);margin:0 0 14px;font-size:12px;font-style:italic}.suggestion-card__actions{gap:10px;display:flex}.suggestion-card__button{background-color:var(--color-suggestion);color:var(--color-on-suggestion);font:inherit;cursor:pointer;border:none;border-radius:7px;padding:8px 16px;font-size:12.5px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.suggestion-card__button:hover{background-color:var(--color-suggestion-hover)}.suggestion-card__button--ghost{border:1px solid var(--color-border);color:var(--color-text-secondary);background-color:#0000;font-weight:600}.suggestion-card__button--ghost:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary);background-color:#0000}.suggestion-card__block-line{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:9px;font-size:9.5px;font-weight:700}@media (width<=640px){.suggestion-card__actions{flex-wrap:wrap}.suggestion-card__button{flex:1}}.scope-sheet__backdrop{z-index:60;box-sizing:border-box;background:#000000bd;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.scope-sheet{box-sizing:border-box;border-radius:14px;outline:none;width:860px;max-width:100%;max-height:100%;padding:30px 32px;overflow-y:auto}.scope-sheet__header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.scope-sheet__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.scope-sheet__eyebrow--examples{margin:30px 0 14px}.scope-sheet__heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:0;font-size:27px;font-weight:800}.scope-sheet__close{color:var(--color-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-size:18px;line-height:1}.scope-sheet__close:hover{color:var(--color-text-primary)}.scope-sheet__table{border-collapse:collapse;border-top:1px solid var(--color-border);text-align:left;width:100%}.scope-sheet__table thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);padding:12px 20px 12px 0;font-size:11px;font-weight:600}.scope-sheet__table tbody th,.scope-sheet__table tbody td{border-top:1px solid var(--color-hairline);vertical-align:top;padding:14px 20px 14px 0}.scope-sheet__table td{color:var(--color-text-secondary);font-size:13px}.scope-sheet__table thead th:first-child,.scope-sheet__scope{width:150px}.scope-sheet__scope{color:var(--color-text-primary);font-size:13.5px;font-weight:700}.scope-sheet__scope--run-up{color:var(--color-suggestion)}.scope-sheet__examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.scope-sheet__example{border:1px solid var(--color-suggestion-soft-border);background-color:var(--color-suggestion-soft);border-radius:10px;margin:0;padding:16px 18px}.scope-sheet__example-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-suggestion);margin-bottom:8px;font-size:11px;font-weight:700}.scope-sheet__example-name{color:var(--color-text-primary);margin-bottom:2px;font-size:14.5px;font-weight:700}.scope-sheet__example-type{color:var(--color-text-secondary);margin-bottom:8px;font-size:11px;font-weight:600}.scope-sheet__example-block{letter-spacing:.08em;color:var(--color-accent);margin-bottom:9px;font-size:9.5px;font-weight:700}.scope-sheet__example-details{color:var(--color-text-secondary);margin:0 0 8px;font-size:13px}.scope-sheet__example-reason{color:var(--color-text-tertiary);margin:0 0 14px;font-size:12px;font-style:italic}.scope-sheet__example-actions{gap:10px;display:flex}.scope-sheet__example-action{background-color:var(--color-suggestion);color:var(--color-on-suggestion);border-radius:7px;padding:8px 16px;font-size:12.5px;font-weight:700}.scope-sheet__example-action--ghost{border:1px solid var(--color-border);color:var(--color-text-secondary);background-color:#0000;font-weight:600}.scope-sheet__example-caption{color:var(--color-text-secondary);margin-top:14px;font-size:11px}@media (width<=640px){.scope-sheet__backdrop{align-items:stretch;padding:0}.scope-sheet{border-radius:0;padding:20px 16px 32px}.scope-sheet__heading{font-size:23px}.scope-sheet__table thead{display:none}.scope-sheet__table tbody tr{border-top:1px solid var(--color-hairline);gap:4px;padding:12px 0;display:grid}.scope-sheet__table tbody th,.scope-sheet__table tbody td{border-top:none;width:auto;padding:0}.scope-sheet__examples{grid-template-columns:1fr}}.scope-menu{flex-shrink:0;position:relative}.scope-menu__trigger{border:1px solid var(--color-suggestion-soft-border);background-color:var(--color-suggestion-soft);color:var(--color-suggestion);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:12.5px;font-weight:700;transition:background-color .15s,border-color .15s;display:flex}.scope-menu__trigger:hover:not(:disabled){background-color:var(--color-suggestion-soft-hover);border-color:var(--color-suggestion)}.scope-menu__trigger:disabled{opacity:.5;cursor:default}.scope-menu__caret{opacity:.75;font-size:9px}.scope-menu__popover{z-index:40;box-sizing:border-box;border-radius:10px;width:330px;max-width:calc(100vw - 32px);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.scope-menu__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);padding:8px 10px;font-size:11px;font-weight:600}.scope-menu__options{flex-direction:column;gap:2px;display:flex}.scope-menu__option{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;display:flex}.scope-menu__option:hover,.scope-menu__option:focus-visible{background-color:#ffffff0a}.scope-menu__option-label{color:var(--color-text-primary);font-size:13.5px;font-weight:700}.scope-menu__option-detail{color:var(--color-text-secondary);font-size:12px}.scope-menu__footer{border-top:1px solid var(--color-rule);margin-top:6px;padding:8px 10px 4px}.scope-menu__sheet-link{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.scope-menu__sheet-link:hover{color:var(--color-accent-hover)}@media (width<=640px){.scope-menu,.scope-menu__trigger{width:100%}.scope-menu__trigger{justify-content:center}.scope-menu__popover{width:auto;max-width:none;left:0}}.week-seam{width:100%;max-width:1180px;margin:0 auto}.week-seam__back{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:22px;padding:0;font-size:13px;display:flex}.week-seam__back:hover{color:var(--color-text-primary)}.week-seam__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 28px;margin-bottom:22px;display:flex}.week-seam__heading{min-width:0}.week-seam__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.week-seam__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:34px;font-weight:800;line-height:1.05}.week-seam__meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:9px;font-size:12.5px;display:flex}.week-seam__load{font-weight:600}.week-seam__actions{flex-wrap:wrap;flex:none;align-items:center;gap:12px;display:flex}.week-seam__apply-all,.week-seam__on-calendar{font:inherit;cursor:pointer;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700}.week-seam__apply-all{background-color:var(--color-suggestion);color:var(--color-on-suggestion);border:none}.week-seam__apply-all:hover{background-color:var(--color-suggestion-hover)}.week-seam__on-calendar{color:var(--color-accent-hover);background:0 0;border:1px solid #9d6bff80}.week-seam__on-calendar:hover{border-color:var(--color-accent-hover);background-color:var(--color-accent-soft)}.week-seam__arc{border:1px solid var(--color-rule);background-color:var(--color-surface);border-radius:10px;margin-bottom:30px;padding:12px 14px}.week-seam__nothing{border-left:2px solid var(--color-border);color:var(--color-text-secondary);margin:0 0 22px;padding:12px 0 12px 14px;font-size:13px;font-style:italic}.week-seam__days{border-bottom:1px solid var(--color-hairline);margin:0;padding:0;list-style:none}.week-seam__day{border-top:1px solid var(--color-hairline);grid-template-columns:96px 1fr;gap:20px;padding:16px 0;display:grid}.week-seam__dow{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;font-size:15px;font-weight:800}.week-seam__date{color:var(--color-text-tertiary);margin-top:2px;font-size:11.5px;font-weight:600}.week-seam__day-body{flex-direction:column;gap:10px;min-width:0;display:flex}.week-seam__existing{border:1px solid var(--color-hairline);background-color:#ffffff05;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:11px 14px;display:flex}.week-seam__existing-text{min-width:0}.week-seam__existing-name{color:var(--color-text-secondary);font-size:13.5px;font-weight:600}.week-seam__existing-meta{color:var(--color-text-tertiary);margin-top:2px;font-size:11px;font-weight:600}.week-seam__left-alone{border:1px solid var(--color-border);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);border-radius:3px;flex:none;padding:2px 7px;font-size:9.5px;font-weight:700}.week-seam__day-body .suggestion-card{margin-bottom:0}.week-seam__quiet{color:var(--color-text-tertiary);padding:4px 0;font-size:12.5px}@media (width<=640px){.week-seam__day{grid-template-columns:1fr;gap:10px}.week-seam__title{font-size:26px}}.delete-workout{border-top:1px solid var(--color-hairline);margin-top:26px;padding-top:20px}.delete-workout__trigger{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;transition:color .15s}.delete-workout__trigger:hover:not(:disabled){color:var(--color-danger)}.delete-workout__trigger:disabled{cursor:not-allowed;opacity:.6}.delete-workout__question{color:var(--color-text-primary);margin:0 0 12px;font-size:14px}.delete-workout__actions{gap:10px;display:flex}.delete-workout__btn{cursor:pointer;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600}.delete-workout__btn:disabled{cursor:not-allowed;opacity:.6}.delete-workout__btn--danger{color:var(--color-danger);background-color:#e055551f;border:1px solid #e0555580}.delete-workout__btn--danger:hover:not(:disabled){background-color:#e0555533}.delete-workout__btn--ghost{border:1px solid var(--color-border);color:var(--color-text-secondary);background-color:#0000}.delete-workout__btn--ghost:hover:not(:disabled){color:var(--color-text-primary)}.wdp{min-width:0}.wdp__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.wdp__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:6px 0 8px;font-size:27px;font-weight:800}.wdp__lock{color:var(--color-text-tertiary);align-items:center;gap:8px;margin-bottom:20px;font-size:12.5px;display:flex}.wdp__section{margin-bottom:20px}.wdp__section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:7px;font-size:11px;font-weight:600}.wdp__section-value{color:var(--color-text-primary);font-size:13.5px}.wdp__details{margin:0;padding:0;list-style:none}.wdp__detail-item{color:var(--color-text-primary);border-bottom:1px solid #ffffff0f;padding:9px 0;font-size:13.5px}.wdp__detail-item:last-child{border-bottom:none}.wdp__empty{color:var(--color-text-tertiary);font-size:13.5px}.wdp__note{border-top:1px solid var(--color-border);margin-top:26px;padding-top:22px}.wdp__note-stats{gap:14px;margin-bottom:12px;font-size:12px;display:flex}.wdp__note-intensity{color:var(--color-accent);font-weight:700}.wdp__note-duration{color:var(--color-text-secondary);font-weight:700}.wdp__note-text{color:var(--color-text-primary);margin:0;font-size:14px}.trainer-page{align-items:start;row-gap:40px;width:100%;max-width:1520px;margin:0 auto;padding:44px 48px 96px;display:grid}.trainer-page>*{min-width:0}.trainer-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;display:flex}.trainer-page__header-text{flex:1;min-width:0}.trainer-page__loading{color:var(--color-text-secondary);font-size:14px}.trainer-page__readonly{color:var(--color-text-tertiary);font-size:13.5px}.trainer-page__race{border:1px solid var(--color-race-soft-border);background-color:var(--color-race-soft);border-radius:10px;margin-bottom:22px;padding:14px 16px}.trainer-page__race-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-race);margin-bottom:5px;font-size:10px;font-weight:700}.trainer-page__race-name{color:var(--color-text-primary);font-size:16px;font-weight:700}.trainer-page__race-date{color:var(--color-text-secondary);margin-top:3px;font-size:12.5px}.trainer-page__banner{border-radius:8px;padding:12px 16px;font-size:14px}.trainer-page__banner--error{border:1px solid var(--color-danger);color:#ffb8b8;background-color:#e055551a}.trainer-page__banner--success{background-color:var(--color-accent-soft);border:1px solid var(--color-accent);color:var(--color-accent-hover);animation:.3s ease-out trainer-slide-down}@keyframes trainer-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.trainer-page{row-gap:32px;padding:24px 16px 64px}.trainer-page__header-text{flex-basis:100%}}.profile-page{max-width:720px;margin:0 auto;padding:44px 40px 88px}.profile-page__header{margin-bottom:28px}.profile-page__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.profile-page__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-text-primary);margin:0;font-size:34px;font-weight:800}.profile-page__loading{color:var(--color-text-secondary);font-size:14px}.profile-page__error{color:var(--color-danger);margin-bottom:20px;font-size:14px}.profile-section{margin-bottom:30px}.profile-section--divided{border-top:1px solid var(--color-hairline);padding-top:24px}.profile-section__title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin:0 0 12px;font-size:11px;font-weight:600}.profile-input{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);background:#ffffff08;border-radius:8px;outline:none;padding:9px 11px;font-size:13.5px;transition:border-color .15s}.profile-input:focus{border-color:var(--color-accent)}.profile-input::placeholder{color:var(--color-text-muted)}.profile-input::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.profile-field{display:block}.profile-field--full{margin-top:16px}.profile-field__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:7px;font-size:11px;font-weight:600;display:block}.profile-textarea{resize:vertical;font-family:inherit}.profile-details{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.profile-rows{gap:8px;margin-bottom:10px;display:grid}.profile-row{align-items:center;gap:8px;display:flex}.profile-row .profile-input{border-radius:6px;padding:8px 10px;font-size:13px}.profile-row__grow{flex:1;min-width:0}.profile-row__result{flex:0 0 140px}.profile-row__date{flex:0 0 150px}.profile-row__remove{cursor:pointer;font:inherit;color:var(--color-text-tertiary);background:0 0;border:none;flex-shrink:0;padding:4px 8px;font-size:16px;line-height:1;transition:color .15s}.profile-row__remove:hover{color:var(--color-text-primary)}.profile-row__pair,.profile-row__field{display:contents}.profile-row__micro,.profile-row__remove-text{display:none}.profile-races{gap:8px;margin-bottom:10px;display:grid}.race-card{border:1px solid var(--color-hairline);border-left:3px solid var(--color-border);background:#ffffff03;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.race-card--main{border-color:var(--color-race-hairline);border-left-color:var(--color-race);background:var(--color-race-soft)}.race-card__main-toggle{border:1px solid var(--color-border);color:var(--color-text-tertiary);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;align-items:center;gap:7px;padding:7px 10px;font-size:10.5px;font-weight:700;transition:border-color .15s,color .15s,background-color .15s;display:flex}.race-card__main-toggle[aria-pressed=true]{border-color:var(--color-race-soft-border);background-color:var(--color-race-soft);color:var(--color-race)}.race-card__main-dot{box-sizing:border-box;border:1px solid var(--color-text-tertiary);border-radius:50%;width:7px;height:7px}.race-card__main-toggle[aria-pressed=true] .race-card__main-dot{background-color:var(--color-race);border-color:var(--color-race)}.race-card__target{grid-template-columns:1fr 1fr 1.4fr;align-items:center;gap:8px;display:grid}.race-card__target .profile-input{border-radius:6px;padding:8px 10px;font-size:13px}.race-card__target .profile-input:disabled{border-color:var(--color-hairline);color:var(--color-text-muted);cursor:not-allowed;background:#ffffff04}.race-card__distance{gap:6px;min-width:0;display:flex}.race-card__units{border:1px solid var(--color-border);border-radius:6px;flex-shrink:0;gap:2px;padding:2px;display:flex}.race-card__unit{color:var(--color-text-tertiary);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 7px;font-size:10.5px;font-weight:700}.race-card__unit[aria-pressed=true]{color:var(--color-text-primary);background:#ffffff1f}.race-card__goal{border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:7px;min-width:0;padding:0 10px;display:flex}.race-card__goal-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);flex-shrink:0;font-size:11px;font-weight:600}.race-card__goal-input{width:38px;color:var(--color-text-primary);font:inherit;background:0 0;border:none;outline:none;flex:none;padding:8px 0;font-size:13px}.race-card__goal-input::placeholder{color:var(--color-text-muted)}.race-card__goal-colon{color:var(--color-text-tertiary);flex:none;font-size:13px}.profile-chips{flex-wrap:wrap;gap:7px;margin:0 0 12px;padding:0;list-style:none;display:flex}.profile-chip{border:1px solid var(--color-border);color:var(--color-text-primary);background:#ffffff0d;border-radius:999px;align-items:center;gap:7px;padding:6px 8px 6px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.profile-chip__remove{cursor:pointer;font:inherit;color:var(--color-text-tertiary);background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;transition:color .15s}.profile-chips__add{flex:0 260px}.profile-chip__remove:hover{color:var(--color-text-primary)}.profile-btn{cursor:pointer;font-family:var(--font-sans);border:none;border-radius:8px;justify-content:center;align-items:center;padding:11px 20px;font-size:13.5px;font-weight:700;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex}.profile-btn--primary{background-color:var(--color-accent);color:var(--color-on-accent)}.profile-btn--primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.profile-btn:disabled{cursor:default;opacity:.6}.profile-btn--ghost{border:1px solid var(--color-border);color:var(--color-text-primary);background:0 0;border-radius:6px;padding:7px 12px;font-size:12.5px;font-weight:600}.profile-btn--ghost:hover{background-color:#ffffff0d}.profile-page__actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.profile-feedback{font-size:13px;font-weight:600}.profile-feedback--ok{color:var(--color-accent)}.profile-feedback--err{color:var(--color-danger)}@media (width<=640px){.profile-page{padding:24px 16px 64px}.profile-page__title{font-size:28px}.profile-details{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.profile-row--entry{border:1px solid var(--color-hairline);background:#ffffff05;border-radius:10px;grid-template-columns:1fr auto;column-gap:10px;padding:12px;display:grid}.profile-row--entry .profile-row__grow{grid-area:1/1}.profile-row--entry .profile-input.profile-row__grow{border:none;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;padding:10px 0;font-size:15px;font-weight:600}.profile-row--entry .profile-row__remove{grid-area:1/2;align-self:center;margin:-12px -6px -12px 0;padding:0 6px;font-size:12px;font-weight:600}.profile-row__remove-glyph{display:none}.profile-row__remove-text{display:inline}.profile-row__pair{grid-area:2/1/auto/-1;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.profile-row--entry>.profile-row__field{grid-area:2/1/auto/-1;margin-top:10px}.profile-row__field{display:block}.profile-row--entry .profile-row__field .profile-input{padding:9px 10px;font-size:13.5px}.profile-row__micro{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.profile-chips__add{flex:1}.race-card .profile-row--entry{background:0 0;border:none;padding:0}.race-card__main-toggle{grid-area:1/1/auto/-1;justify-content:center}.race-card .profile-row--entry .profile-row__grow,.race-card .profile-row--entry .profile-row__remove{grid-row:2}.race-card .profile-row--entry>.profile-row__field{grid-row:3}.race-card__target{grid-template-columns:1fr}.profile-page__actions .profile-btn--primary{width:100%}}.workout-detail-page{width:100%;max-width:1200px;color:var(--color-text-primary);grid-template-columns:repeat(12,1fr);align-items:start;gap:36px 16px;margin:0 auto;padding:44px 40px 88px;display:grid}.workout-detail-page>*{grid-column:1/13;min-width:0}.workout-detail-page__status{color:var(--color-text-secondary);font-size:14px}.workout-detail-page__back{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:20px;padding:0;font-size:13px;display:inline-flex}.workout-detail-page__back:hover{color:var(--color-text-primary)}.workout-detail-page__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.workout-detail-page__name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0 0 8px;font-size:36px;font-weight:800;line-height:1.15}.workout-detail-page__count{color:var(--color-text-tertiary);font-size:12.5px;font-weight:600}.workout-detail-page__sessions{flex-direction:column;gap:12px;display:flex}.workout-detail-page__session{border:1px solid var(--color-hairline);background-color:#ffffff05;border-radius:12px}.workout-detail-page__session-head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:13px;padding:16px 18px;display:flex}.workout-detail-page__dot{box-sizing:border-box;border:1px solid var(--color-text-tertiary);border-radius:50%;flex:none;width:9px;height:9px}.workout-detail-page__dot--done{background-color:var(--color-accent);border-color:var(--color-accent)}.workout-detail-page__session-text{flex:1;min-width:0}.workout-detail-page__session-name{font-size:16px;font-weight:700;display:block}.workout-detail-page__session-meta{color:var(--color-text-tertiary);margin-top:3px;font-size:11.5px;font-weight:600;display:block}.workout-detail-page__toggle{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-tertiary);flex:none;font-size:10.5px;font-weight:700}.workout-detail-page__session-body{border-top:1px solid var(--color-hairline);padding:16px 18px 18px}.workout-detail-page__session-body .workout-detail-page__button{margin-top:16px}.workout-detail-page__summary{color:var(--color-text-secondary);white-space:pre-wrap;max-width:60ch;margin:0}.workout-detail-page__button{background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:11px 20px;font-size:13.5px;font-weight:700}.workout-detail-page__button:hover{background:var(--color-accent-hover)}.workout-detail-page__button--secondary{color:var(--color-text-primary);background:0 0;border:1px solid #fff3;padding:10px 18px}.workout-detail-page__button--secondary:hover{background:#ffffff0d}.workout-detail-page__note{border-top:1px solid var(--color-hairline);margin-top:18px;padding-top:14px}.workout-detail-page__note-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.workout-detail-page__section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.workout-detail-page__note-stats{color:var(--color-text-secondary);gap:14px;margin-bottom:12px;font-size:12px;display:flex}.workout-detail-page__note-intensity{color:var(--color-accent);font-weight:700}.workout-detail-page__note-duration{font-weight:700}.workout-detail-page__note-text{color:#d1d3d7;max-width:60ch;margin:0;font-size:14px}@media (width<=640px){.workout-detail-page{flex-direction:column;gap:24px;padding:24px 16px 64px;display:flex}.workout-detail-page__name{font-size:28px}.workout-detail-page__button{width:100%}.workout-detail-page__note-head{flex-direction:column;align-items:flex-start;gap:10px}}
