@layer legacy{:root{--bg-color: var(--tg-theme-bg-color, #ffffff);--text-color: var(--tg-theme-text-color, #000000);--hint-color: var(--tg-theme-hint-color, #999999);--link-color: var(--tg-theme-link-color, #2481cc);--button-color: var(--tg-theme-button-color, #2481cc);--button-text-color: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f0f0f0);--header-bg: var(--tg-theme-header-bg-color, var(--bg-color));--section-bg: var(--tg-theme-section-bg-color, var(--bg-color));--accent-text: var(--tg-theme-accent-text-color, var(--link-color));--destructive: var(--tg-theme-destructive-text-color, #e53935);--radius: 12px;--radius-sm: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--color-cycling: #ff9800;--color-strength: #9c27b0;--color-running: #4caf50;--color-rest: #78909c;--color-yoga: #00bcd4;--color-swimming: #2196f3;--color-walking: #607d8b;--color-hiking: #795548}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--secondary-bg);color:var(--text-color);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing-md);padding-bottom:80px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:var(--spacing-md);color:var(--hint-color)}.spinner{width:32px;height:32px;border:3px solid var(--secondary-bg);border-top-color:var(--button-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--bg-color);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.card-title{font-size:16px;font-weight:600;margin-bottom:var(--spacing-sm)}.section{margin-bottom:var(--spacing-lg)}.section-title{font-size:13px;font-weight:600;text-transform:uppercase;color:var(--hint-color);padding:0 var(--spacing-xs);margin-bottom:var(--spacing-sm)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--bg-color);border-top:.5px solid var(--secondary-bg);padding:var(--spacing-sm) 0;padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom));z-index:100}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--hint-color);font-size:10px;padding:var(--spacing-xs) 0;transition:color .2s}.nav-item.active{color:var(--button-color)}.nav-item svg{width:24px;height:24px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:14px;font-weight:500;border:none;cursor:pointer;transition:opacity .2s}.btn:active{opacity:.7}.btn-primary{background:var(--button-color);color:var(--button-text-color)}.btn-secondary{background:var(--secondary-bg);color:var(--text-color)}.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:#fff}.tag-cycling{background:var(--color-cycling)}.tag-strength{background:var(--color-strength)}.tag-running{background:var(--color-running)}.tag-rest{background:var(--color-rest)}.tag-yoga{background:var(--color-yoga)}.tag-swimming{background:var(--color-swimming)}.tag-walking{background:var(--color-walking)}.tag-hiking{background:var(--color-hiking)}.intensity-easy{color:#4caf50}.intensity-moderate{color:#ff9800}.intensity-hard{color:#f44336}.intensity-max{color:#d32f2f}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.stat-row+.stat-row{border-top:.5px solid var(--secondary-bg)}.stat-label{color:var(--hint-color);font-size:13px}.stat-value{font-weight:600}.form-fresh{color:#4caf50}.form-neutral{color:#ff9800}.form-fatigued{color:#f44336}.form-overreaching{color:#d32f2f}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg) * 2;color:var(--hint-color);text-align:center;gap:var(--spacing-sm)}.empty-state-icon{font-size:48px;opacity:.5}.week-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--spacing-xs)}.week-header span{text-align:center;font-size:11px;font-weight:600;color:var(--hint-color);padding:var(--spacing-xs) 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;gap:2px;position:relative;transition:background .2s}.calendar-day:hover{background:var(--secondary-bg)}.calendar-day.today{font-weight:700}.calendar-day.today:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--button-color)}.calendar-day.other-month{opacity:.3}.workout-dot{width:6px;height:6px;border-radius:50%}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:13px;color:var(--hint-color);margin-bottom:var(--spacing-xs)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--secondary-bg);background:var(--bg-color);color:var(--text-color);font-size:14px;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--button-color)}.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--secondary-bg);background:var(--bg-color);color:var(--text-color);font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.toggle{position:relative;width:44px;height:24px;background:var(--secondary-bg);border-radius:12px;border:none;cursor:pointer;transition:background .3s}.toggle.active{background:var(--button-color)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s}.toggle.active:after{transform:translate(20px)}.chart-container{background:var(--bg-color);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.chart-title{font-size:14px;font-weight:600;margin-bottom:var(--spacing-sm)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 80px);margin:calc(-1 * var(--spacing-md));margin-bottom:0}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);padding-bottom:70px}.chat-bubble{max-width:85%;margin-bottom:var(--spacing-sm);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-user{margin-left:auto}.chat-assistant{margin-right:auto}.chat-bubble-content{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-user .chat-bubble-content{background:var(--button-color);color:var(--button-text-color);border-bottom-right-radius:4px}.chat-assistant .chat-bubble-content{background:var(--bg-color);color:var(--text-color);border-bottom-left-radius:4px}.chat-typing{display:flex;gap:4px;padding:14px 18px}.chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--hint-color);animation:typing 1.4s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-input-bar{position:fixed;bottom:56px;left:0;right:0;display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom));background:var(--bg-color);border-top:.5px solid var(--secondary-bg);z-index:99}.chat-input{flex:1;padding:10px 14px;border-radius:20px;border:1px solid var(--secondary-bg);background:var(--secondary-bg);color:var(--text-color);font-size:14px;font-family:inherit;outline:none;resize:none;max-height:120px;line-height:1.4}.chat-input:focus{border-color:var(--button-color);background:var(--bg-color)}.chat-send-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--button-color);color:var(--button-text-color);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .2s}.chat-send-btn:disabled{opacity:.4}.chat-send-btn:active:not(:disabled){opacity:.7}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none}.onboarding-mask{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:9998;pointer-events:auto}.onboarding-ring{position:fixed;border:2px solid var(--button-color);border-radius:12px;z-index:9999;pointer-events:none;animation:pulseRing 2s ease infinite}@keyframes pulseRing{0%,to{box-shadow:0 0 #2481cc66}50%{box-shadow:0 0 0 6px #2481cc00}}.onboarding-tooltip{position:fixed;z-index:10000;background:var(--bg-color);border-radius:16px;padding:20px;width:calc(100vw - 40px);max-width:340px;box-shadow:0 8px 32px #0000004d;pointer-events:auto;animation:fadeIn .3s ease}.onboarding-step-count{font-size:11px;color:var(--hint-color);margin-bottom:4px}.onboarding-title{font-size:18px;font-weight:700;margin-bottom:8px}.onboarding-text{font-size:14px;line-height:1.5;color:var(--text-color);margin-bottom:16px}.onboarding-actions{display:flex;justify-content:space-between;align-items:center}.onboarding-skip{background:none;border:none;color:var(--hint-color);font-size:14px;cursor:pointer;padding:8px 4px}.onboarding-next{background:var(--button-color);color:var(--button-text-color);border:none;border-radius:10px;padding:10px 24px;font-size:15px;font-weight:600;cursor:pointer}.onboarding-next:active{opacity:.8}.sync-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:10001;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.sync-card{background:var(--bg-color);border-radius:20px;padding:32px 24px;width:calc(100vw - 48px);max-width:320px;text-align:center}.sync-bike-container{margin-bottom:16px}.sync-icon{font-size:56px;display:inline-block}.sync-animate{animation:bikeRide 1s ease-in-out infinite}@keyframes bikeRide{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(8px) rotate(2deg)}50%{transform:translate(0) rotate(0)}75%{transform:translate(-8px) rotate(-2deg)}}.sync-text{font-size:16px;font-weight:600;margin-bottom:16px;min-height:24px}.sync-stats{display:flex;justify-content:center;gap:24px;margin:16px 0}.sync-stat-item{display:flex;flex-direction:column;align-items:center}.sync-stat-value{font-size:22px;font-weight:700;color:var(--button-color)}.sync-stat-label{font-size:11px;color:var(--hint-color);text-transform:uppercase}.sync-progress-bar{height:4px;background:var(--secondary-bg);border-radius:2px;overflow:hidden}.sync-progress-fill{height:100%;background:var(--button-color);border-radius:2px;transition:width .5s ease}}@layer legacy{.training-page{max-width:900px;margin:0 auto;padding:16px;color:var(--text-color);letter-spacing:0}.training-page h1{font-size:23px;line-height:1.35;margin:8px 0 16px;overflow-wrap:anywhere}.training-page h2,.plan-choices h2{font-size:17px;line-height:1.4;margin:0}.training-page p,.plan-choices p{margin:10px 0;line-height:1.55;overflow-wrap:anywhere}.training-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.training-heading>*{min-width:0}.training-band{padding:20px 0;border-bottom:1px solid var(--hint-color)}.training-muted{color:var(--hint-color);font-size:12px;overflow-wrap:anywhere}.training-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 12px;color:var(--text-color);background:var(--bg-color);border:1px solid var(--hint-color);border-radius:5px;font:inherit;cursor:pointer;text-decoration:none}.training-action:disabled{opacity:.5;cursor:default}.training-action svg{flex-shrink:0}.training-page a{color:var(--link-color)}.training-focuses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:16px 0}.training-focuses>article{min-width:0;border-left:3px solid #00877c;padding-left:12px}.training-focuses>article:nth-child(2){border-color:#bf6c25}.training-focuses>article:nth-child(3){border-color:#b34b68}.training-focuses h3{font-size:15px;overflow-wrap:anywhere}.training-measure{display:block;font-size:21px;font-variant-numeric:tabular-nums;margin:10px 0}.training-field{display:grid;gap:6px;margin:12px 0;font-size:13px}.training-field input,.training-field select,.training-field textarea{width:100%;max-width:100%;min-width:0;border:1px solid var(--hint-color);border-radius:4px;padding:10px;background:var(--bg-color);color:var(--text-color);font:inherit}.training-options{display:flex;flex-wrap:wrap;gap:14px;border:0;margin:12px 0;padding:0}.training-options label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.training-page summary,.plan-choices summary{padding:10px 0;cursor:pointer}.choice-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0}.choice-modes button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--bg-color);color:var(--text-color);border:1px solid var(--hint-color);border-radius:5px;font:inherit;font-size:12px;padding:6px;cursor:pointer}.choice-modes button svg{flex-shrink:0}.choice-modes button[aria-pressed=true]{background:var(--button-color);color:var(--button-text-color)}.choice-modes button:disabled{opacity:.4;cursor:default}.training-agenda{list-style:none;padding:0;margin:10px 0}.training-agenda li{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--secondary-bg);font-size:13px}.training-agenda a{overflow-wrap:anywhere}.training-notice{padding:10px;border-left:3px solid #bf6c25;background:var(--secondary-bg)}.training-conflict p{white-space:pre-wrap;max-height:240px;overflow:auto}.training-facts{display:flex;flex-wrap:wrap;gap:12px;padding:0;list-style:none;font-size:13px}.training-milestones{list-style:none;padding:0}.training-milestones li{display:flex;align-items:flex-start;gap:10px;padding:10px 0}.training-milestones svg{flex-shrink:0}@media(max-width:600px){.training-page{padding:10px}.training-focuses{grid-template-columns:1fr;gap:16px}.choice-modes{grid-template-columns:repeat(2,minmax(0,1fr))}}}@layer legacy{:root{--radius: 8px;--ui-line: color-mix(in srgb, var(--text-color) 14%, transparent);--ui-soft: color-mix(in srgb, var(--text-color) 5%, var(--bg-color));--ui-muted: color-mix(in srgb, var(--text-color) 66%, var(--bg-color))}.app{max-width:1100px;margin:0 auto;background:var(--bg-color)}.app-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:8px 20px;border-bottom:1px solid var(--ui-line)}.app-toolbar-start{display:flex;align-items:center;gap:12px;min-width:0}.app-wordmark{font-size:18px;font-weight:650;color:var(--text-color);text-decoration:none;letter-spacing:0}.profile-entry{color:var(--text-color);text-decoration:none}.main-content{width:100%;min-width:0;padding:20px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bottom-nav{max-width:1100px;margin:0 auto;border-top:1px solid var(--ui-line)}.nav-item{min-height:50px;justify-content:center;font-size:11px;color:var(--ui-muted)}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--ui-line);border-radius:6px;background:transparent;color:var(--text-color);cursor:pointer;flex-shrink:0}.section-disclosure{border-bottom:1px solid var(--ui-line);padding:12px 0}.section-disclosure>summary{cursor:pointer;padding:10px 0;font-size:15px;font-weight:600}.section-disclosure>summary svg{vertical-align:middle;margin-right:7px}.section-disclosure form{padding:12px 0}.page-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.page-heading h1{font-size:22px;line-height:1.3;margin:0;overflow-wrap:anywhere}.muted{color:var(--ui-muted)}.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.action-row>*{min-width:0}.training-action.action-primary{background:var(--button-color);color:var(--button-text-color);border-color:transparent}.training-page.today-page{padding:0;max-width:none}.today-goal{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:0 0 16px;border-bottom:1px solid var(--ui-line)}.today-goal a{min-width:0;font-weight:500;overflow-wrap:anywhere}.today-goal span{white-space:nowrap;font-size:12px;color:var(--ui-muted)}.today-task{padding:20px 0;border-bottom:1px solid var(--ui-line)}.today-task h2{font-size:20px;margin:5px 0;line-height:1.4}.today-task .task-meta{font-size:15px;color:var(--ui-muted)}.today-task p{margin:7px 0}.readiness-bar{padding:14px 0;border-bottom:1px solid var(--ui-line)}.readiness-bar form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.readiness-bar .training-field{margin:0;flex:1;min-width:150px}.readiness-details{width:100%}.compact-notice{padding:10px 12px;border-left:3px solid #be7b18;background:var(--ui-soft);margin:12px 0;overflow-wrap:anywhere}.compact-notice a{color:var(--link-color)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:14px 0}.week-strip a{min-width:0;min-height:70px;padding:8px 2px;display:flex;align-items:center;flex-direction:column;gap:4px;text-decoration:none;border-bottom:2px solid var(--ui-line);color:var(--text-color);font-size:12px}.week-strip a[aria-current=date]{border-color:var(--button-color);background:var(--ui-soft)}.week-strip small{color:var(--ui-muted);font-size:11px;text-align:center}.compact-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--ui-line)}.compact-row>*{min-width:0;overflow-wrap:anywhere}.compact-row p{margin:4px 0}.inline-feedback{padding:16px 0;border-bottom:1px solid var(--ui-line)}.inline-feedback h2{font-size:16px;margin-bottom:10px}.inline-feedback label{display:grid;gap:5px}.inline-feedback input,.inline-feedback select{min-height:42px;max-width:100%;border:1px solid var(--ui-line);border-radius:4px;background:var(--bg-color);color:var(--text-color);padding:8px;font:inherit}.inline-feedback input[type=number]{width:88px}.data-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ui-line);margin:16px 0}.data-tabs button{min-height:44px;flex:1;min-width:0;padding:8px;background:transparent;color:var(--ui-muted);border:0;border-bottom:2px solid transparent;font:inherit;cursor:pointer}.data-tabs button[aria-selected=true]{color:var(--text-color);border-color:var(--button-color);font-weight:600}.data-tabs button{overflow-wrap:anywhere;font-size:13px}.prescription-strip{height:70px;display:flex;align-items:end;gap:2px;padding:8px 0}.prescription-strip span{min-width:2px;background:#16887a;border-radius:2px 2px 0 0}.prescription-strip span[data-hard=true]{background:#b85269}.prescription-strip span[data-easy=true]{background:#97b5b0}.plan-choices.compact-choices{padding:12px 0;border-bottom:0}.compact-choices>.training-heading h2{font-size:14px}.compact-choices .choice-panel{padding:12px 0}.compact-choices .choice-panel summary{font-weight:600}.delivery-state{font-size:13px;color:var(--ui-muted);margin:8px 0}.delivery-state[data-warning=true]{color:var(--destructive)}.compact-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--ui-line);margin-bottom:16px}.compact-metrics>div{min-width:0;padding:12px 8px}.compact-metrics strong{display:block;font-size:20px}.compact-metrics small{color:var(--ui-muted)}.workout-heading{padding:8px 0 14px;border-bottom:1px solid var(--ui-line)}.workout-heading h1{font-size:22px;line-height:1.35;margin:8px 0;overflow-wrap:anywhere}.workout-v5 .workout-impact{padding:14px 0;background:transparent}.workout-v5 .card{border-radius:0;border-bottom:1px solid var(--ui-line);padding:16px 0}.workout-v5 h2{font-size:17px}.matching-option{display:flex;gap:10px;align-items:flex-start;padding:10px 0}.matching-option input{margin-top:5px;flex-shrink:0}.matching-option small{display:block;color:var(--ui-muted)}.progress-page.progress-v5{padding:0}.priority-measures{margin:12px 0}.priority-measures article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;border-bottom:1px solid var(--ui-line);padding:12px 0}.priority-measures h3{font-size:15px;font-weight:550}.priority-measures strong{font-size:22px;font-variant-numeric:tabular-nums}.priority-measures details{grid-column:1 / -1;margin-top:0}.priority-measures summary{color:var(--ui-muted);font-size:13px}.workout-impact .inline-feedback label{display:grid}.workout-impact .inline-feedback textarea{width:100%}.planned-v5 .training-band{padding:14px 0}.planned-v5 h2{font-size:16px}.prescription-targets{padding:10px 0;border-bottom:1px solid var(--ui-line)}.prescription-preview{padding:12px 0 0}.prescription-preview p{margin:4px 0}.workout-step{padding:10px 0}.workout-step h3{font-size:14px;margin-bottom:6px;color:var(--ui-muted)}.workout-step p,.preserved-text{white-space:pre-wrap;overflow-wrap:anywhere}.danger-action{color:var(--destructive)}.profile-v5 .card{padding:12px 0;border-radius:0}.profile-v5 h2{font-size:17px}.preference-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--ui-line)}.preference-toggle input{width:20px;height:20px;accent-color:var(--button-color)}.race-v5>.card,.race-v5>div>.card{border-radius:0;padding:16px 0;border-bottom:1px solid var(--ui-line)}.race-readiness{border-left:3px solid #be7b18;padding:12px;margin:14px 0;background:var(--ui-soft)}.race-readiness[data-state=supported]{border-color:#16887a}.race-readiness p{margin:7px 0}.race-readiness details{margin-top:9px;font-size:13px}.week-day-button{width:100%;border:0;font:inherit;color:var(--text-color);text-align:left}.calendar-v5>.card,.calendar-v5 .card{border-radius:0;box-shadow:none}.calendar-v5 .calendar-day{color:var(--text-color);font:inherit;border:0;background:transparent}.calendar-v5 .calendar-day.today{outline:1px solid var(--button-color)}.calendar-v5 .icon-button{width:42px;height:42px;background:transparent;color:var(--text-color);border:0;cursor:pointer}.chat-container,.workout-discussion{display:flex;flex-direction:column;height:calc(100dvh - 176px);min-height:260px;margin:0}.chat-container .chat-messages{padding:8px 0 12px}.chat-container .chat-input-bar{position:static;flex-shrink:0;padding:8px 0}.chat-container .chat-input{min-width:0;border-radius:6px}.chat-container .chat-messages{min-height:0}.workout-discussion textarea{font:inherit}.day-v5 h2{font-size:17px;margin-top:18px}.day-session{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--ui-line);color:var(--text-color);text-decoration:none}.day-session>div{min-width:0;overflow-wrap:anywhere}.day-session svg{flex-shrink:0}.day-session p{margin-top:6px;color:var(--ui-muted);font-size:13px}@media(max-width:600px){.measurements-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.measurements-table,.measurements-table tbody{display:block}.measurements-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--ui-line);padding:12px 0}.measurements-table tbody th{grid-column:1 / -1}.measurements-table th,.measurements-table td,.measurements-table th:first-child{min-width:0;padding:7px 6px;border:0;overflow-wrap:anywhere}.measurements-table td:before{content:attr(data-label);display:block;color:var(--ui-muted);font-size:11px;margin-bottom:4px}}@media(max-width:600px){.main-content{padding:14px 12px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.app-toolbar{padding:8px 12px}.today-goal{gap:8px}.today-task h2{font-size:19px}.page-heading h1{font-size:21px}input,select,textarea{font-size:16px!important}.compact-metrics strong{font-size:18px}}@media(max-width:360px){.week-strip{margin-inline:-6px}}}@layer legacy{:root{--training-accent: #147d70;--training-soft: color-mix(in srgb, var(--training-accent) 7%, var(--bg-color));--ui-muted: color-mix(in srgb, var(--text-color) 62%, var(--bg-color));--ui-line: color-mix(in srgb, var(--text-color) 12%, var(--bg-color))}.app{max-width:1180px}.app-toolbar{min-height:64px;padding-inline:28px}.app-wordmark{font-size:20px;font-weight:700}.main-content{padding:26px 28px 110px}.bottom-nav{max-width:1180px}.nav-item.active{color:var(--training-accent)}.app .training-action.action-primary{background:var(--training-accent);color:var(--button-text-color);border:0;min-height:44px;font-weight:600}.training-action,.icon-action{border-color:var(--ui-line)}.eyebrow{display:block;font-size:11px;font-weight:650;text-transform:uppercase;color:var(--ui-muted);margin-bottom:8px;letter-spacing:0}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:24px}.dashboard-heading h1{margin:0;font-size:28px;line-height:1.25}.dashboard-heading h1 span{font-size:14px;font-weight:400;color:var(--ui-muted);display:inline-block;margin-left:8px}.quiet-link{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--training-accent);text-decoration:none}.dashboard-primary{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line)}.today-assignment,.training-overview{min-width:0;padding:24px 0}.training-overview{padding-left:30px;border-left:1px solid var(--ui-line)}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.section-heading>div{min-width:0}.section-heading h2{font-size:19px;font-weight:650;line-height:1.3;margin:0}.section-heading .eyebrow{margin-bottom:5px}.section-heading>a{display:flex;align-items:center;gap:3px;font-size:13px}.focus-link{font-size:12px;display:inline-flex;align-items:center;gap:7px;color:var(--ui-muted);max-width:55%;text-decoration:none;overflow-wrap:anywhere}.assigned-session{padding:12px 0 24px}.assigned-session+.assigned-session{border-top:1px solid var(--ui-line)}.session-title{display:flex;align-items:center;gap:14px}.session-title>div{min-width:0}.session-title h2{font-size:24px;line-height:1.3;overflow-wrap:anywhere}.session-title p{margin-top:7px;color:var(--ui-muted)}.session-symbol{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;background:var(--training-soft);color:var(--training-accent);border-radius:8px}.session-purpose{color:var(--ui-muted);margin:16px 0;max-width:48ch}.wellbeing-disclosure{border-top:1px solid var(--ui-line);padding-top:14px}.wellbeing-disclosure>summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.wellbeing-disclosure>summary span{margin-left:auto;color:var(--ui-muted);font-size:12px;text-align:right}.wellbeing-disclosure .readiness-bar{border:0;padding-bottom:0}.health-notice{display:flex;gap:10px;padding:14px;color:var(--text-color);background:color-mix(in srgb,#c36b44 12%,var(--bg-color));border-left:3px solid #bd6245;margin-bottom:20px}.health-notice svg{flex-shrink:0}.analytics-numbers{display:flex;gap:24px;margin:16px 0 20px}.analytics-numbers>div{min-width:0;flex:1}.analytics-numbers strong{display:block;font-size:28px;font-variant-numeric:tabular-nums;line-height:1.25}.analytics-numbers strong small{font-size:14px;font-weight:400}.analytics-numbers span{font-size:11px;color:var(--ui-muted);display:block;margin-top:5px}.trend-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.mini-segment{display:inline-flex;border:1px solid var(--ui-line);border-radius:5px;flex-shrink:0}.mini-segment button{border:0;min-height:32px;background:transparent;color:var(--ui-muted);padding:6px 10px;font:inherit;font-size:11px;cursor:pointer}.mini-segment button[aria-pressed=true]{color:var(--training-accent);background:var(--training-soft);font-weight:650}.training-history-chart{height:145px;width:100%;margin-top:14px}.zone-disclosure{font-size:12px;margin-top:12px;color:var(--ui-muted)}.zone-disclosure summary{cursor:pointer}.power-zone-strip{height:12px;display:flex;gap:2px;margin:14px 0 8px;border-radius:3px;overflow:hidden}.zone-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}.zone-legend b{color:var(--text-color)}.data-caption{font-size:11px;line-height:1.6;color:var(--ui-muted);overflow-wrap:anywhere;margin-top:9px}.week-strip-v6{margin:22px 0;gap:8px}.week-strip-v6 a{border:0;border-radius:5px;min-height:91px;gap:5px;color:var(--text-color)}.week-strip-v6 a[aria-current=date]{background:var(--training-soft)}.week-strip-v6 strong{font-size:17px}.week-strip-v6 i{height:3px;width:22px;background:var(--ui-line);border-radius:2px}.week-strip-v6 a[data-kind=cycling] i{background:var(--training-accent)}.week-strip-v6 a[data-kind=strength] i{background:#b57249}.recent-results{padding:28px 0 12px}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.result-item{min-width:0;border:1px solid var(--ui-line);border-radius:8px;padding:18px}.result-topline{display:flex;justify-content:space-between;align-items:center;color:var(--ui-muted);font-size:11px}.result-topline span{display:inline-flex;align-items:center;gap:7px}.result-topline a{color:var(--training-accent);display:grid;place-items:center;min-width:28px;min-height:28px}.result-item h3{font-size:15px;font-weight:600;line-height:1.4;margin:8px 0 14px;overflow-wrap:anywhere}.result-item h3 a{color:var(--text-color);text-decoration:none}.result-numbers{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px}.result-numbers span{display:inline-flex;align-items:center;gap:5px}.result-numbers svg{color:var(--ui-muted)}.result-observation{font-size:12px;line-height:1.6;margin-top:12px}.result-observation b{color:var(--training-accent)}.result-bottom{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--ui-muted);border-top:1px solid var(--ui-line);padding-top:12px;margin-top:16px}.result-bottom span{display:inline-flex;gap:5px;align-items:center}.result-item details{font-size:11px;color:var(--ui-muted);margin-top:10px}.dashboard-footer-link{margin-top:22px}.progress-v5 .trend-section{padding:20px 0}.progress-v5 .training-history-chart{height:200px}.progress-v5 .priority-measures article:has(strong:empty){display:none}@media(max-width:700px){.app-toolbar{min-height:56px;padding-inline:16px}.main-content{padding:20px 16px 105px}.dashboard-heading{padding-bottom:20px}.dashboard-heading h1{font-size:25px}.dashboard-heading h1 span{display:block;margin:4px 0 0;font-size:12px}.dashboard-primary{grid-template-columns:minmax(0,1fr);gap:0}.today-assignment{padding-top:20px}.training-overview{padding:22px 0;border-left:0;border-top:1px solid var(--ui-line)}.session-title h2{font-size:21px}.section-heading h2{font-size:18px}.analytics-numbers strong{font-size:26px}.week-strip-v6{gap:2px;margin-inline:-4px}.result-grid{grid-template-columns:minmax(0,1fr)}.result-item{padding:15px}}}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Variable.ttf) format("truetype");font-weight:200 800;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg-color: #141618;--secondary-bg: #202326;--surface-raised: #262a2e;--text-color: #f0f2ed;--hint-color: #a5acae;--ui-muted: #a5acae;--ui-line: #343a3d;--border-color: var(--ui-line);--ui-soft: #202326;--header-bg: #141618;--section-bg: #141618;--button-color: #d4f56a;--button-text-color: #19200b;--link-color: #d4f56a;--accent-text: #d4f56a;--training-accent: #93dfc5;--training-soft: #20332d;--destructive: #ff958c;--warning: #efc977;--color-cycling: #93dfc5;--color-strength: #efc977;--color-running: #d4f56a;--color-rest: #a5acae;--color-yoga: #b9a7e8;--color-swimming: #8dcce5;--color-walking: #accdad;--color-hiking: #bfc995;--radius: 8px;--radius-sm: 6px;--sidebar-width: 224px;--nav-height: 76px}:root[data-theme=light]{color-scheme:light;--bg-color: #f5f6f7;--secondary-bg: #ffffff;--surface-raised: #e9edee;--text-color: #192125;--hint-color: #59646a;--ui-muted: #59646a;--ui-line: #d0d7da;--ui-soft: #e9edee;--header-bg: #f5f6f7;--section-bg: #f5f6f7;--button-color: #d4f56a;--button-text-color: #19200b;--link-color: #325407;--accent-text: #325407;--training-accent: #14644c;--training-soft: #e0eee8;--destructive: #b1312a;--warning: #856016;--color-cycling: #14644c;--color-strength: #856016;--color-running: #426515;--color-rest: #59646a;--color-yoga: #695292;--color-swimming: #216981;--color-walking: #486e49;--color-hiking: #626c28}*,*:before,*:after{box-sizing:border-box;letter-spacing:0}html,body{background:var(--bg-color);color:var(--text-color);font-family:Manrope,sans-serif;font-size:14px;line-height:1.6;overflow-x:clip}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--link-color);text-underline-offset:3px}svg{flex-shrink:0}button,input,select,textarea,a{max-width:100%}:focus-visible{outline:2px solid var(--training-accent);outline-offset:4px}.main-content:focus{outline:none}::selection{background:var(--button-color);color:var(--button-text-color)}.app{max-width:none;margin:0;background:var(--bg-color);min-height:100dvh}.main-content{width:100%;max-width:1240px;margin-inline:auto;padding:32px 32px calc(110px + env(safe-area-inset-bottom))}.main-content>*{min-width:0}.skip-link{position:fixed;top:8px;left:16px;clip-path:inset(50%);z-index:11000;padding:12px 16px;background:var(--button-color);color:var(--button-text-color)}.skip-link:focus{clip-path:none}.app-toolbar{min-height:76px;padding:12px 32px;background:var(--header-bg);border-bottom:1px solid var(--ui-line)}.app-toolbar-start,.toolbar-actions{display:flex;align-items:center;gap:10px}.app-wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:23px;line-height:1;color:var(--text-color)}.app-wordmark svg{color:var(--link-color)}.toolbar-section,.sidebar-brand,.sidebar-caption,.sidebar-profile{display:none}.bottom-nav{min-height:var(--nav-height);max-width:none;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:var(--header-bg);border-top:1px solid var(--ui-line)}.nav-item{min-height:56px;gap:5px;font-size:11px;font-weight:600;border-radius:6px;color:var(--ui-muted);transition:background .15s,color .15s}.nav-item.active{background:var(--ui-soft);color:var(--link-color)}.nav-item:hover{color:var(--text-color);background:var(--ui-soft)}.icon-action,.calendar-v5 .icon-button{min-width:44px;width:44px;height:44px;border:1px solid var(--ui-line);border-radius:6px;background:transparent;color:var(--text-color);padding:0}.icon-action:hover,.training-action:hover,.btn-secondary:hover{background:var(--surface-raised)}.btn,.training-action,.progress-action{min-height:44px;padding:10px 16px;border-radius:6px;gap:8px;font-weight:650;line-height:1.45;text-align:center}.btn{background:var(--secondary-bg);color:var(--text-color);border:1px solid var(--ui-line)}.training-action,.progress-action{background:transparent;border:1px solid var(--ui-line);color:var(--text-color)}.app .training-action.action-primary,.btn-primary{background:var(--button-color);color:var(--button-text-color)!important;border-color:transparent}.btn-primary:hover,.app .training-action.action-primary:hover{filter:brightness(.94)}.btn-secondary{background:var(--secondary-bg);border:1px solid var(--ui-line);color:var(--text-color)}.danger-action{color:var(--destructive)}.action-row{gap:10px;margin-top:20px}.card,.chart-container{background:transparent;border-radius:0;padding:20px 0;margin-bottom:0;border-bottom:1px solid var(--ui-line);box-shadow:none}.card .card{border:0;padding-inline:0}.card-title,.chart-title{font-weight:700;font-size:17px;margin-bottom:16px}.page-heading,.dashboard-heading,.progress-heading{padding-bottom:26px;margin-bottom:0;align-items:center}.page-heading h1,.dashboard-heading h1,.progress-page h1{font-size:30px;font-weight:750;line-height:1.25}.dashboard-heading h1 span{font-size:14px;margin-left:12px}.eyebrow,.section-title{font-size:11px;font-weight:700;color:var(--ui-muted);letter-spacing:0}.eyebrow{margin-bottom:8px}.quiet-link{min-height:44px;color:var(--link-color);font-size:13px;font-weight:600}button.quiet-link{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.course-page{max-width:900px;margin:0 auto}.course-stages{display:flex;flex-wrap:wrap;gap:12px 24px;padding-left:20px;font-size:14px}.course-stages [aria-current]{color:var(--link-color);font-weight:700}.course-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:14px}.course-consent input{flex:0 0 18px;width:18px;height:18px}.course-observation{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--border-color);font-size:14px}.course-observation small{display:block;color:var(--hint-color);margin-top:4px}.dashboard-primary{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:36px}.today-assignment,.training-overview{padding-block:28px}.training-overview{padding-left:36px}.section-heading{gap:16px;margin-bottom:22px}.section-heading h2{font-size:18px;font-weight:700}.focus-link{max-width:60%;font-size:12px}.session-symbol{width:52px;height:52px;border:1px solid var(--ui-line);background:transparent;color:var(--training-accent)}.session-title{align-items:flex-start}.session-title h2{font-size:26px;font-weight:700}.session-title p{font-size:12px;margin-top:6px}.session-purpose{font-size:14px;max-width:58ch;line-height:1.75;margin:18px 0}.session-metrics{display:flex;gap:32px;padding-top:22px}.session-metrics>div{display:flex;align-items:baseline;gap:7px}.session-metrics strong{font-size:44px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.session-metrics small{font-size:13px;color:var(--ui-muted)}.assigned-session{padding:0 0 26px}.assigned-session+.assigned-session{padding-top:24px}.wellbeing-disclosure{padding-top:8px}.wellbeing-disclosure>summary{min-height:44px;font-size:13px}.analytics-numbers{margin:24px 0;gap:16px}.analytics-numbers strong{font-size:34px;font-weight:700}.analytics-numbers span,.data-caption,.result-bottom,.result-topline,.zone-legend{font-size:12px}.trend-toolbar{font-size:12px;gap:10px;flex-wrap:wrap}.mini-segment,.progress-segment{padding:3px;gap:2px;border:1px solid var(--ui-line);border-radius:6px;background:transparent}.mini-segment button,.progress-segment button{min-height:38px;font-size:12px;background:transparent;border-radius:3px;color:var(--ui-muted)}.mini-segment button[aria-pressed=true],.progress-segment button[aria-pressed=true]{color:var(--text-color);background:var(--surface-raised);font-weight:700}.training-history-chart{height:170px}.training-history-chart .recharts-cartesian-grid-horizontal line{stroke:var(--ui-line);stroke-opacity:.65}.recharts-default-tooltip{background:var(--secondary-bg)!important;border:1px solid var(--ui-line)!important;border-radius:6px;color:var(--text-color)!important;box-shadow:0 10px 32px #0003}.recharts-tooltip-label,.recharts-tooltip-item{color:var(--text-color)!important}.zone-disclosure{font-size:12px;margin-top:20px}.week-strip-v6{margin:24px 0 0;gap:8px;border-bottom:1px solid var(--ui-line);padding-bottom:24px}.week-strip-v6 a{min-height:100px;border:1px solid transparent;background:transparent;color:var(--text-color);border-radius:6px;padding-block:10px}.week-strip-v6 a[aria-current=date]{border:1px solid var(--training-accent);background:var(--training-soft)}.week-strip-v6 a:hover{background:var(--ui-soft)}.week-strip-v6 strong{font-size:21px}.week-strip-v6 i{width:28px;height:3px;margin-block:2px}.week-strip-v6 a[data-kind=strength] i{background:var(--color-strength)}.recent-results{padding-top:28px}.result-grid{gap:16px}.result-item{background:var(--secondary-bg);padding:20px;border:1px solid var(--ui-line);border-radius:8px}.result-item h3{font-size:16px;font-weight:700;margin:8px 0 18px}.result-item h3 a{color:var(--text-color)}.result-topline a{min-width:36px;min-height:36px;color:var(--link-color)}.result-numbers{gap:12px 20px;font-size:13px}.result-observation{font-size:13px}.result-bottom{padding-top:14px;margin-top:20px}.result-item details{font-size:12px}.health-notice,.compact-notice,.training-notice,.race-readiness{background:var(--secondary-bg);border-color:var(--warning);padding:16px;border-radius:0}.health-notice{border-color:var(--destructive)}.section-disclosure{padding:16px 0}.section-disclosure>summary{min-height:44px;font-weight:650}summary{cursor:pointer}.training-page,.progress-page{max-width:none;padding:0;background:transparent}.workout-heading{padding:8px 0 24px}.workout-heading h1{font-size:28px;font-weight:700;line-height:1.35}.compact-metrics{margin-top:20px}.compact-metrics>div{padding:16px 8px}.compact-metrics strong,.priority-measures strong{font-size:28px}.compact-metrics small{font-size:12px}.stat-row{padding:12px 0}.stat-row+.stat-row{border-color:var(--ui-line)}.stat-value{font-variant-numeric:tabular-nums}.prescription-targets{display:flex;gap:36px;padding:24px 0}.prescription-targets .stat-row{display:grid;gap:6px;border:0;padding:0}.prescription-targets .stat-value{font-size:28px}.prescription-targets .stat-value small{font-size:13px;color:var(--ui-muted)}.prescription-preview{padding-top:20px}.prescription-preview p{font-size:13px;color:var(--ui-muted)}.prescription-strip{height:120px;gap:3px;padding-top:14px;padding-bottom:0;border-bottom:1px solid var(--ui-line);background:repeating-linear-gradient(to top,transparent 0,transparent 29px,var(--ui-line) 30px,transparent 31px)}.prescription-strip span{background:var(--training-accent);border-radius:2px 2px 0 0}.prescription-strip span[data-hard=true]{background:var(--destructive)}.prescription-strip span[data-easy=true]{background:var(--color-swimming);opacity:.7}.prescription-axis{display:flex;justify-content:space-between;margin-top:7px;color:var(--ui-muted);font-size:11px}.data-tabs{margin:20px 0;gap:8px}.data-tabs button{font-size:13px;min-height:48px;padding:10px}.data-tabs button[aria-selected=true]{color:var(--link-color);border-color:var(--link-color)}.training-band,.progress-band{border-color:var(--ui-line);padding-block:24px}.priority-measures article{padding-block:22px}.priority-measures h3{font-weight:650}.priority-measures details{font-size:13px}.progress-table td,.progress-table th{border-color:var(--ui-line)}.progress-table thead{color:var(--ui-muted)}.progress-chart{height:270px}.calendar-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:18px}.calendar-week{min-width:0}.calendar-week-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--ui-line)}.calendar-week-header h2{font-size:16px;font-weight:700}.calendar-week-header small{color:var(--ui-muted);font-size:12px}.week-day-button{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:12px;align-items:center;min-height:94px;padding:14px 10px;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;background:transparent;text-align:left;color:var(--text-color);width:100%}.week-day-button:hover{background:var(--ui-soft)}.week-day-button[aria-current=date]{background:var(--training-soft);box-shadow:inset 3px 0 var(--training-accent)}.week-day-date{display:grid;text-align:center;line-height:1.5}.week-day-date small{font-size:11px;color:var(--ui-muted)}.week-day-date strong{font-size:21px;font-weight:650}.week-day-content{min-width:0}.week-day-content strong{display:block;overflow-wrap:anywhere;font-size:13px;font-weight:650}.week-day-content small{display:block;font-size:11px;color:var(--ui-muted);margin-top:4px}.week-day-content small span{color:var(--training-accent)}.week-day-icon{color:var(--ui-muted)}.week-day-button[data-completed=true] .week-day-icon{color:var(--training-accent)}.calendar-legend{display:flex;gap:18px;align-items:center;margin-block:20px;color:var(--ui-muted);font-size:12px}.calendar-legend span{display:inline-flex;gap:6px;align-items:center}.calendar-grid{gap:6px}.calendar-v5 .calendar-day{background:var(--secondary-bg);border:1px solid var(--ui-line);border-radius:6px;min-height:50px}.calendar-v5 .calendar-day:hover{background:var(--surface-raised)}.workout-list-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;padding:20px 0;border-bottom:1px solid var(--ui-line);color:var(--text-color);text-decoration:none}.workout-list-item:hover{background:var(--ui-soft)}.workout-list-item .session-symbol{width:44px;height:44px}.workout-list-main{min-width:0}.workout-list-main strong{display:block;overflow-wrap:anywhere;font-size:15px}.workout-list-main>small{display:block;color:var(--ui-muted);margin-top:4px;font-size:12px}.workout-list-stats{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:var(--ui-muted)}.workout-list-stats span{display:inline-flex;align-items:center;gap:5px}.workout-list-score{text-align:right}.workout-list-score strong{display:block;font-size:21px;line-height:1.4}.workout-list-score small{color:var(--ui-muted);font-size:11px}.tag{border-radius:4px;background:var(--ui-soft);color:var(--text-color);font-size:11px;line-height:1.8;border:1px solid var(--ui-line)}.tag-cycling{color:var(--color-cycling)}.tag-strength{color:var(--color-strength)}.intensity-easy,.form-fresh{color:var(--training-accent)}.intensity-moderate,.form-neutral{color:var(--warning)}.intensity-hard,.intensity-max,.form-fatigued,.form-overreaching{color:var(--destructive)}.empty-state{min-height:220px;padding:40px 20px;gap:16px}.empty-state-icon{font-size:36px;color:var(--training-accent);opacity:1}.empty-state p{max-width:44ch}.loading-screen{min-height:280px;height:min(70dvh,700px);font-weight:700}.form-input,.form-select,.training-field input,.training-field select,.training-field textarea,.inline-feedback input,.inline-feedback select{min-height:44px;border:1px solid var(--ui-line);background:var(--secondary-bg);color:var(--text-color);border-radius:6px;padding:10px 12px}input[type=checkbox],input[type=radio]{accent-color:var(--training-accent)}input::placeholder,textarea::placeholder{color:var(--ui-muted);opacity:1}.form-label,.training-field{font-size:13px}.choice-modes button{background:var(--secondary-bg);border-color:var(--ui-line);font-weight:600}.choice-modes button[aria-pressed=true]{background:var(--training-soft);color:var(--training-accent);border-color:var(--training-accent)}.profile-identity{display:flex;align-items:center;gap:18px;padding:4px 0 28px}.athlete-avatar{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--training-soft);color:var(--training-accent);font-size:17px;font-weight:750}.profile-identity .athlete-avatar{width:64px;height:64px;font-size:28px}.profile-identity h1{font-size:28px;line-height:1.4}.profile-identity p{color:var(--ui-muted);font-size:13px}.appearance-setting{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:24px 0;border-block:1px solid var(--ui-line)}.appearance-setting h2{font-size:16px}.appearance-options{display:flex;gap:4px;padding:4px;border:1px solid var(--ui-line);border-radius:6px}.appearance-options button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;background:transparent;color:var(--ui-muted);border:0;border-radius:3px;font-size:12px}.appearance-options button[aria-pressed=true]{background:var(--surface-raised);color:var(--text-color)}.athlete-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.athlete-metric{min-width:0;padding:20px 12px 20px 0;border-bottom:1px solid var(--ui-line)}.athlete-metric strong{display:block;font-size:22px;overflow-wrap:anywhere}.athlete-metric small{color:var(--ui-muted);font-size:12px}.athlete-metric[data-missing=true] strong{color:var(--ui-muted)}.profile-checklist{display:flex;gap:10px 20px;flex-wrap:wrap;margin-top:10px}.profile-checklist span{display:inline-flex;align-items:center;gap:7px;font-size:12px}.profile-checklist svg{color:var(--training-accent)}.chat-container,.workout-discussion{height:calc(100dvh - 216px - env(safe-area-inset-bottom));min-height:300px}.coach-heading{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--ui-line)}.coach-heading h1{font-size:20px}.coach-heading p{font-size:12px;color:var(--ui-muted)}.coach-heading>svg{color:var(--training-accent)}.chat-container .chat-messages{padding:24px 4px}.chat-bubble{max-width:88%;margin-bottom:28px}.chat-bubble-content{border-radius:6px;padding:16px 18px;font-size:14px;line-height:1.8}.chat-user .chat-bubble-content{background:var(--surface-raised);color:var(--text-color);border:1px solid var(--ui-line)}.chat-assistant .chat-bubble-content{background:transparent;padding:0}.chat-message-meta{display:flex;gap:10px;font-size:11px;font-weight:650;color:var(--ui-muted);margin-bottom:8px}.chat-assistant .chat-message-meta{color:var(--training-accent)}.chat-container .chat-input-bar{background:var(--bg-color);border-color:var(--ui-line);padding:14px 0 0;gap:8px}.chat-container .chat-input{background:var(--secondary-bg);border:1px solid var(--ui-line);min-height:46px;padding:12px;font-size:14px}.chat-send-btn{width:44px;height:44px;border-radius:6px}.chat-suggestions{display:grid;gap:10px;width:100%;max-width:460px;margin-top:20px}.chat-suggestions button{text-align:left;justify-content:flex-start}.sync-card,.onboarding-tooltip{border-radius:8px;border:1px solid var(--ui-line);background:var(--secondary-bg)}.onboarding-next,.onboarding-ring{border-radius:6px}.race-route-panel,.race-route-summary,.race-route-strategy{background:transparent}.race-season-goal{display:flex;align-items:flex-start;gap:18px;padding:24px 0;border-block:1px solid var(--ui-line)}.race-season-goal>svg{color:var(--training-accent);margin-top:3px}.race-season-goal>div{flex:1;min-width:0}.race-season-goal h2{font-size:19px;overflow-wrap:anywhere}.race-season-goal p{font-size:13px;margin-top:8px}.race-upcoming{padding:28px 0}.race-list-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;padding:24px 0;color:var(--text-color);text-decoration:none;border-bottom:1px solid var(--ui-line)}.race-list-item h3{font-size:18px;overflow-wrap:anywhere}.race-list-item p{font-size:13px;margin-top:8px}.race-priority{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--ui-line);font-weight:800;border-radius:6px}.race-priority[data-priority=A]{color:var(--destructive)}.race-priority[data-priority=B]{color:var(--warning)}.race-item-end{display:grid;align-content:start;text-align:right}.race-item-end b{font-size:26px;line-height:1.4}.race-item-end small{color:var(--ui-muted);font-size:11px}.chat-attach-btn{color:var(--text-color);min-width:40px;min-height:44px;justify-content:center}.recharts-cartesian-axis-tick-value,.recharts-legend-item-text{fill:var(--ui-muted);color:var(--ui-muted)!important}.race-route-card{padding:24px 0;border:0;border-radius:0}.race-route-heading svg{color:var(--training-accent)}.race-icon-button{min-width:44px;width:44px;height:44px;border:1px solid var(--ui-line)}.race-stage-tabs,.race-strategy-tabs,.race-route-mode{background:transparent;border:1px solid var(--ui-line)}.race-stage-tabs button,.race-strategy-tabs button,.race-route-mode button{min-height:44px}.race-stage-tabs button.active,.race-strategy-tabs button.active,.race-route-mode button.active{background:var(--surface-raised);box-shadow:none}.race-lap-input{height:46px;border-color:var(--ui-line)}.race-lap-input input{min-height:44px}.stage-dot{background:var(--training-accent)}.race-metric-icon,.race-power-heading>svg,.race-lap-number{color:var(--training-accent)}.race-status-badge.completed{color:var(--training-accent);background:var(--training-soft)}.race-status-badge.parsed{color:var(--warning);background:var(--secondary-bg)}.race-status-badge.failed{color:var(--destructive);background:var(--secondary-bg)}.race-fuel-symbol{color:var(--color-swimming)}.race-fuel-event.fuel .race-fuel-symbol{color:var(--warning)}.availability{border-color:var(--ui-line)}.availability-day{background:var(--secondary-bg);padding:14px;border-color:var(--ui-line)}.availability-day:hover{background:var(--surface-raised)}.availability-day[data-mode=busy]{border-top-color:var(--destructive)}.availability-day[data-mode=limited]{border-top-color:var(--training-accent)}.availability [role=alert]{color:var(--destructive)}.schedule-dialog{background:var(--secondary-bg);border-color:var(--ui-line);padding:24px;box-shadow:0 24px 80px #0006}.report-text{font-size:14px;line-height:1.8;white-space:normal;overflow-wrap:anywhere}.report-text p{margin:12px 0}.report-text>:first-child{margin-top:0}.report-text>:last-child{margin-bottom:0}.report-text h2,.report-text h3,.report-text h4,.report-text h5,.report-text h6{font-size:16px;font-weight:700;margin:22px 0 10px;line-height:1.5}.report-text ul,.report-text ol{padding-left:22px;margin:12px 0}.report-text li{margin:7px 0}.report-text hr{border:0;border-top:1px solid var(--ui-line);margin:20px 0}.report-text blockquote{border-left:2px solid var(--training-accent);padding-left:16px;margin:16px 0;color:var(--ui-muted)}.report-text code{background:var(--surface-raised);border-radius:3px;padding:2px 5px;font-size:12px}.report-text pre{overflow:auto;max-width:100%;padding:12px;background:var(--surface-raised);border-radius:6px}.report-text pre code{padding:0;white-space:pre}.report-table-scroll{overflow:auto;max-width:100%;margin:16px 0}.report-text table{border-collapse:collapse;width:100%;font-size:12px}.report-text th,.report-text td{padding:10px 12px;border:1px solid var(--ui-line);min-width:100px;text-align:left}@media(min-width:1100px){.app{margin-left:var(--sidebar-width)}.app-toolbar{min-height:76px;padding:12px 40px}.app-toolbar .app-wordmark{display:none}.toolbar-section{display:block;color:var(--ui-muted);font-size:13px}.main-content{padding:36px 40px 64px}.bottom-nav{inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;justify-content:flex-start;padding:30px 18px 22px;border:0;border-right:1px solid var(--ui-line);background:var(--header-bg);gap:8px}.sidebar-brand{display:flex;margin:0 6px 48px;font-size:23px}.sidebar-caption{display:block;font-size:11px;color:var(--ui-muted);padding:0 14px 10px}.bottom-nav .nav-item{flex:0 0 auto;flex-direction:row;justify-content:flex-start;padding:14px;gap:14px;min-height:50px;font-size:13px}.bottom-nav .nav-item.active{background:var(--training-soft);color:var(--link-color)}.bottom-nav .nav-item svg{width:20px;height:20px}.sidebar-profile{display:flex;align-items:center;gap:10px;color:var(--text-color);text-decoration:none;margin-top:auto;padding:18px 0 0;border-top:1px solid var(--ui-line)}.sidebar-profile>span:nth-child(2){min-width:0;flex:1}.sidebar-profile strong{display:block;font-size:12px;overflow-wrap:anywhere}.sidebar-profile small{display:block;font-size:10px;color:var(--ui-muted);margin-top:4px}.sidebar-profile>svg{width:16px;color:var(--ui-muted)}.app[data-view=chat] .main-content{max-width:1060px;padding-top:26px;padding-bottom:24px}.chat-container,.workout-discussion{height:calc(100dvh - 126px)}.planned-v5,.profile-v5,.workout-v5,.race-v5,.day-v5{max-width:960px;margin-inline:auto}}@media(max-width:800px){.dashboard-primary{grid-template-columns:minmax(0,1fr);gap:0}.training-overview{padding:26px 0;border-left:0;border-top:1px solid var(--ui-line)}.calendar-weeks{grid-template-columns:minmax(0,1fr);gap:20px}.week-day-button{min-height:86px}}@media(max-width:600px){.main-content{padding:24px 18px calc(100px + env(safe-area-inset-bottom))}.app-toolbar{min-height:66px;padding:10px 18px}.app-wordmark{font-size:21px;gap:8px}.app-wordmark svg{width:24px}.toolbar-actions{gap:6px}.theme-toggle{border:0}.page-heading h1,.dashboard-heading h1,.progress-page h1{font-size:27px}.dashboard-heading h1 span{display:block;font-size:13px;margin:6px 0 0}.dashboard-heading,.page-heading{padding-bottom:24px}.today-assignment{padding-top:24px}.session-title h2{font-size:23px}.session-symbol{width:44px;height:44px}.session-metrics strong{font-size:38px}.session-metrics{gap:24px}.analytics-numbers strong{font-size:30px}.week-strip-v6{gap:2px;margin-inline:-6px}.week-strip-v6 a{min-height:92px}.week-strip-v6 strong{font-size:18px}.result-grid{grid-template-columns:minmax(0,1fr)}.result-item{padding:16px}.workout-heading h1{font-size:25px}.compact-metrics strong{font-size:23px}.appearance-options{width:100%}.appearance-options button{flex:1;padding-inline:6px;gap:6px}.athlete-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-metric strong{font-size:22px}.calendar-grid{gap:3px}.calendar-v5 .calendar-day{min-height:44px}.chat-container,.workout-discussion{height:calc(100dvh - 192px - env(safe-area-inset-bottom))}.chat-bubble{max-width:94%}.chat-input-bar{flex-wrap:nowrap}.chat-container .chat-input{font-size:16px}.chat-bubble-content{padding:12px 14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
