.coach-thread-layout{grid-template-columns:260px minmax(0,1fr);gap:20px;min-height:620px;display:grid}body:has(.coach-controls.expanded) .coach-thread-layout{grid-template-columns:minmax(0,1fr)}body:has(.coach-controls.expanded) .conversation-sidebar{display:none}body:has(.coach-controls.expanded) .message-list{max-height:75vh}.coach-controls{justify-content:flex-end;gap:10px;margin:0 0 14px;display:flex}.coach-controls .danger-button{padding:10px 14px}.conversation-sidebar{align-self:start;padding:16px}.new-conversation{justify-content:center;width:100%}.conversation-heading{color:#859188;letter-spacing:.04em;text-transform:uppercase;margin:22px 8px 10px;font-size:12px;font-weight:600}.conversation-list{flex-direction:column;gap:5px;display:flex}.conversation-list button{color:#486050;text-align:left;background:0 0;border:0;border-radius:7px;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:12px;display:flex}.conversation-list button:hover,.conversation-list button.active{color:#275b46;background:#eef3ea}.conversation-list span{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:14px;font-weight:600;overflow:hidden}.conversation-list small{color:#8a968c;font-size:12px}.conversation-empty{color:#8a968c;padding:10px 8px;font-size:13px;line-height:1.5}.coach-thread{flex-direction:column;min-height:620px;display:flex}.thread-head{border-bottom:1px solid #e6ece7;align-items:center;gap:14px;padding:20px 24px;display:flex}.thread-head .coach-avatar{border-radius:10px;flex-shrink:0;width:42px;height:42px;margin:0}.thread-head h3{white-space:nowrap;text-overflow:ellipsis;max-width:620px;margin:0 0 4px;font-size:16px;font-weight:600;overflow:hidden}.thread-head p{color:#87938a;margin:0;font-size:13px}.coach-attachment{color:#355746;background:#f3f7f1;border:1px solid #dce7df;border-radius:10px;align-items:center;gap:12px;margin:16px 22px 0;padding:13px 15px;display:flex}.coach-attachment .activity-icon{flex-shrink:0}.coach-attachment div{min-width:0}.coach-attachment small{color:#7d8c80;letter-spacing:.07em;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.coach-attachment strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.coach-attachment p{color:#6e7e72;margin:3px 0 0;font-size:12px}.message-list{background:#fbfcfa;flex-direction:column;flex:1;gap:18px;min-height:360px;max-height:560px;padding:28px;display:flex;overflow-y:auto}:root[data-theme=dark] .message-list{background:#101817}:root[data-theme=dark] .coach-controls .outline{color:#d8e6de!important;background:#1d2b26!important;border-color:#3b5146!important}:root[data-theme=dark] .thread-head,:root[data-theme=dark] .composer-wrap{border-color:#31443b}:root[data-theme=dark] .message>p,:root[data-theme=dark] .coach-markdown{color:#d8e6de;background:#1b2924}:root[data-theme=dark] .coach-markdown h1,:root[data-theme=dark] .coach-markdown h2,:root[data-theme=dark] .coach-markdown h3,:root[data-theme=dark] .coach-markdown h4{color:#e7f0ea}:root[data-theme=dark] .coach-markdown code{color:#e7f0ea;background:#263930}.message{max-width:min(78%,720px)}.message span{color:#829087;margin:0 0 6px;font-size:12px;font-weight:600;display:block}.message>p,.coach-markdown{color:#3f5849;background:#f0f4ed;border-radius:10px;margin:0;padding:15px 17px;font-size:15px;line-height:1.7}.message>p{white-space:pre-wrap}.coach-markdown h1,.coach-markdown h2,.coach-markdown h3,.coach-markdown h4{color:#294f3e;margin:14px 0 7px;line-height:1.3}.coach-markdown h1:first-child,.coach-markdown h2:first-child,.coach-markdown h3:first-child,.coach-markdown h4:first-child{margin-top:0}.coach-markdown h1{font-size:21px}.coach-markdown h2{font-size:19px}.coach-markdown h3{font-size:17px}.coach-markdown h4{font-size:15px}.coach-markdown p{margin:8px 0}.coach-markdown p:last-child{margin-bottom:0}.coach-markdown ul,.coach-markdown ol{margin:8px 0;padding-left:22px}.coach-markdown li{margin:4px 0}.coach-markdown code{background:#dfe9df;border-radius:4px;padding:1px 5px;font-size:13px}.message.user{align-self:flex-end}.message.user span{text-align:right}.message.user p{color:#fff;background:#245e4b}.message.pending p{color:#718072;align-items:center;gap:9px;display:flex}.coach-proposals{background:#fbfcfa;padding:0 22px 20px}:root[data-theme=dark] .coach-proposals{background:#101817}.coach-plan-proposal{background:#f5f8f1;border:1px solid #cdddcf;border-radius:11px;padding:18px;box-shadow:0 5px 18px #204b370f}.coach-plan-proposal+.coach-plan-proposal{margin-top:14px}.proposal-badge{color:#4f744f;letter-spacing:.08em;align-items:center;gap:7px;margin-bottom:14px;font-size:10px;font-weight:800;display:flex}.proposal-workouts{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.proposal-workouts section{background:#fff;border:1px solid #e2e9e1;border-radius:8px;min-width:0;padding:13px}.proposal-workouts section.proposed{background:#edf5e9;border-color:#b9d1bb}.proposal-workouts small,.proposal-reason small{color:#819087;letter-spacing:.07em;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.proposal-workouts strong{text-overflow:ellipsis;white-space:nowrap;color:#365746;font-size:14px;display:block;overflow:hidden}.proposal-workouts p{color:#75847a;margin:5px 0 0;font-size:11px;line-height:1.45}.proposal-reason{padding:14px 2px 4px}.proposal-reason p{color:#53685a;margin:0;font-size:13px;line-height:1.55}.proposal-actions{gap:9px;margin-top:12px;display:flex}.proposal-actions button{min-width:125px}.proposal-safety{color:#8a958c;margin:11px 0 0;font-size:11px;line-height:1.45}.thread-empty{text-align:center;max-width:620px;margin:auto;padding:25px}.thread-empty .coach-avatar{margin:0 auto 20px}.thread-empty h2{margin:0 0 8px;font-size:24px}.thread-empty>p{color:#7d8c80;font-size:15px}.thread-empty .prompts{justify-content:center;margin-bottom:0}.coach-loading{color:#7d8c80;align-items:center;gap:9px;margin:auto;font-size:14px;display:flex}.composer-wrap{border-top:1px solid #e6ece7;padding:18px 22px}.composer-wrap .ask-form{background:#fff;flex-direction:row}.composer-wrap .ask-form textarea{resize:none;min-height:48px;max-height:140px;padding:4px;font-size:16px;line-height:1.5}.composer-wrap .ask-form button{flex-shrink:0;padding:11px}.composer-wrap>small{color:#909b8b;margin:9px 3px 0;font-size:12px;display:block}.activity-feedback{background:#f8faf6;border:1px solid #dce7df;border-radius:10px;margin:17px 0 22px;padding:17px}.activity-feedback>div:first-child{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.activity-feedback .eyebrow{margin:0 0 4px;font-size:9px}.activity-feedback h3{color:#365746;margin:0;font-size:17px}.activity-feedback>p{color:#64766a;margin:10px 0 0;font-size:13px}.activity-feedback>small{color:#7f8d83;margin-top:7px;line-height:1.5;display:block}.feedback-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px;display:grid!important}.feedback-grid label,.feedback-note{color:#718176;flex-direction:column;gap:5px;font-size:11px;display:flex}.feedback-grid select,.feedback-note textarea{color:#355746;background:#fff;border:1px solid #d8e3d8;border-radius:6px;width:100%;padding:8px;font-size:13px}.feedback-note{margin-top:10px}.feedback-note textarea{resize:vertical;min-height:62px}.activity-feedback.editing>.primary{margin-top:11px;padding:9px 13px}.derived-analysis{background:#fbfcfa;border:1px solid #dce7df;border-radius:10px;margin:24px 0;padding:18px}.derived-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.derived-head .eyebrow{color:#708271;margin:0 0 4px;font-size:10px}.derived-head h3{margin:0}.derived-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px;display:grid}.derived-grid>div{background:#f0f5ef;border-radius:8px;flex-direction:column;min-width:0;padding:13px;display:flex}.derived-grid span{color:#78877c;font-size:11px}.derived-grid b{color:#355746;margin:7px 0 4px;font-size:18px;font-weight:600}.derived-grid small{color:#89948b;font-size:10px;line-height:1.4}.quality-line,.planned-actual,.comparable-sessions{border-top:1px solid #e2e9e3;margin-top:14px;padding-top:14px}.quality-line b,.planned-actual b,.comparable-sessions>b{color:#486252;margin-bottom:5px;font-size:12px;display:block}.quality-line span,.planned-actual span{color:#718077;font-size:12px}.quality-line small{color:#9a795e;margin-top:5px;font-size:11px;display:block}.planned-actual p{color:#6f7f74;margin:6px 0 0;font-size:12px;line-height:1.5}.comparable-sessions>div{color:#65766b;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;display:flex}.comparable-sessions small{color:#87938a;text-align:right}.race-chips{flex-wrap:wrap;gap:7px;display:flex}.priority-chip{color:#446849;text-transform:uppercase;background:#eef4e8;border-color:#c9d9bd;font-weight:700}.danger-text{color:#a04e46}.danger-text:hover{color:#823d37}.danger-button{color:#fff;background:#a84e46;border:1px solid #a84e46;border-radius:7px;justify-content:center;align-items:center;padding:11px 16px;font-size:14px;font-weight:600;display:inline-flex}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}.goal-approach{background:#f8faf6;border:1px solid #dce5d6;border-radius:8px;padding:15px}.goal-approach>div:first-child{color:#52694f;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.goal-approach>div:first-child label{display:block}.goal-approach>div:first-child b{color:#35644d;font-size:13px}.goal-approach input[type=range]{accent-color:#2f755b;width:100%;margin:15px 0 8px}.approach-scale{color:#8a978d;text-align:center;grid-template-columns:repeat(4,1fr);font-size:10px;display:grid}.approach-scale span:first-child{text-align:left}.approach-scale span:last-child{text-align:right}.elevation-rhythm{position:relative}.elevation-legend i{background:linear-gradient(#9ebba573,#dfeadf29);border-bottom:2px solid #7f9f83;border-radius:5px 5px 1px 1px;width:16px;height:8px}.goals-section{margin-bottom:48px}.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.performance-goal{flex-direction:column;min-height:210px;padding:22px;display:flex;position:relative}.performance-goal:after{content:"";pointer-events:none;background:linear-gradient(145deg,#0000 49%,#52805f17 50%);width:150px;height:90px;position:absolute;bottom:-38px;right:-20px;transform:rotate(-8deg)}.performance-goal .race-chips{z-index:1;position:relative}.performance-goal .eyebrow{color:#7f8e83;margin:30px 0 7px;font-size:10px}.performance-goal h3{z-index:1;color:#315447;letter-spacing:-.35px;margin:0;font-size:22px;line-height:1.25;position:relative}.performance-goal .goal-meta{color:#75877c;flex-wrap:wrap;gap:8px 16px;margin:18px 0 20px;font-size:13px;display:flex}.performance-goal .text-button{z-index:1;align-self:flex-start;margin-top:auto;position:relative}.performance-goal.achieved{background:#f7fbf6;border-color:#bed8c2}.performance-goal.paused,.performance-goal.archived{opacity:.68}.race-calendar-heading{margin-top:0}@media (max-width:1000px){.goal-grid{grid-template-columns:1fr 1fr}}@media (max-width:750px){.coach-thread-layout{grid-template-columns:1fr;min-height:0}.conversation-list{flex-direction:row;padding-bottom:3px;overflow-x:auto}.conversation-list button{min-width:190px}.coach-thread{min-height:560px}.message-list{padding:20px 16px}.message{max-width:90%}.coach-proposals{padding:0 14px 16px}.proposal-workouts{grid-template-columns:1fr}.proposal-workouts>svg{display:none}.proposal-actions button{flex:1;min-width:0}.composer-wrap{padding:14px}.thread-head{padding:17px}.coach-attachment{margin:13px 14px 0}.derived-grid,.feedback-grid{grid-template-columns:1fr 1fr}.goal-grid{grid-template-columns:1fr}.comparable-sessions>div{flex-direction:column;gap:3px}.comparable-sessions small{text-align:left}}.today-briefing{color:#315447;text-align:left;background:linear-gradient(105deg,#f1f6eb,#f8faf5);border:1px solid #cadbc9;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;margin:0 0 24px;padding:18px 20px;display:grid;box-shadow:0 5px 18px #204b370a}.today-briefing:hover{background:linear-gradient(105deg,#ebf3e5,#f5f9f1);border-color:#a9c6aa}.briefing-icon{color:#4e754e;background:#dfead4;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.briefing-copy{min-width:0}.briefing-copy small{color:#6e8067;letter-spacing:1.3px;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.briefing-copy strong{font-size:17px;font-weight:600;display:block}.briefing-copy p{color:#68796e;margin:3px 0 0;font-size:13px;line-height:1.5}.briefing-meta{color:#52705d;align-items:center;gap:11px;display:flex}.briefing-meta>span{white-space:nowrap;background:#fff9;border:1px solid #d6e2d1;border-radius:5px;padding:6px 9px;font-size:11px}@media (max-width:750px){.today-briefing{grid-template-columns:auto minmax(0,1fr);padding:16px}.briefing-meta{grid-column:2;justify-content:space-between}.briefing-copy p{font-size:12px}}.coach-thread-layout,.coach-thread,.message-list,.message,.message>p,.coach-markdown{min-width:0}.message,.message>p,.coach-markdown{overflow-wrap:anywhere;word-break:break-word}.message-list{max-height:min(70vh,720px)}.coach-markdown pre,.coach-markdown table{max-width:100%;overflow-x:auto}.coach-markdown pre{white-space:pre-wrap}.coach-markdown a{overflow-wrap:anywhere}.thread-head h3{min-width:0}.composer-wrap .ask-form textarea{overflow-wrap:anywhere}:root[data-theme=dark] .conversation-heading,:root[data-theme=dark] .conversation-list small,:root[data-theme=dark] .conversation-empty,:root[data-theme=dark] .thread-head p,:root[data-theme=dark] .coach-attachment small,:root[data-theme=dark] .coach-attachment p,:root[data-theme=dark] .message span,:root[data-theme=dark] .proposal-workouts small,:root[data-theme=dark] .proposal-workouts p,:root[data-theme=dark] .proposal-reason p,:root[data-theme=dark] .proposal-safety,:root[data-theme=dark] .thread-empty>p,:root[data-theme=dark] .coach-loading,:root[data-theme=dark] .composer-wrap>small,:root[data-theme=dark] .activity-feedback>p,:root[data-theme=dark] .activity-feedback>small,:root[data-theme=dark] .feedback-grid label,:root[data-theme=dark] .feedback-note,:root[data-theme=dark] .derived-grid span,:root[data-theme=dark] .derived-grid small,:root[data-theme=dark] .quality-line span,:root[data-theme=dark] .planned-actual span,:root[data-theme=dark] .planned-actual p,:root[data-theme=dark] .comparable-sessions>div,:root[data-theme=dark] .comparable-sessions small,:root[data-theme=dark] .approach-scale{color:#afc0b7!important}:root[data-theme=dark] .conversation-list button{color:#d8e6de}:root[data-theme=dark] .conversation-list button:hover,:root[data-theme=dark] .conversation-list button.active{color:#e7f0ea;background:#263930}:root[data-theme=dark] .coach-attachment,:root[data-theme=dark] .activity-feedback,:root[data-theme=dark] .derived-analysis,:root[data-theme=dark] .goal-approach,:root[data-theme=dark] .coach-plan-proposal{color:#d8e6de;background:#1b2924;border-color:#3b5146}:root[data-theme=dark] .proposal-workouts section,:root[data-theme=dark] .feedback-grid select,:root[data-theme=dark] .feedback-note textarea{color:#e7f0ea;background:#17221f;border-color:#31443b}
:root[data-skin=glass] .glass-surface{--g-radius:20px;--g-tint:#ffffff9e;--g-tint-strong:#ffffffc7;--g-border:#ffffff8c;--g-ring:#102a2412;--g-shadow:0 10px 34px -12px #0e262047;--g-text:#0f2a24;--g-muted:#5d7269;--g-accent:#0f6b55;letter-spacing:-.01em;color:var(--g-text);padding-top:4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,system-ui,sans-serif;position:relative}:root[data-skin=glass][data-theme=dark] .glass-surface{--g-tint:#1e2c2794;--g-tint-strong:#22322cc2;--g-border:#ffffff1a;--g-ring:#00000040;--g-shadow:0 12px 38px -14px #0009;--g-text:#eaf2ed;--g-muted:#a3b6ac;--g-accent:#6fd3ac}:root[data-skin=glass] .glass-surface:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60rem 40rem at 12% -8%,#48a38433,#0000 60%),radial-gradient(48rem 34rem at 92% 4%,#6096c429,#0000 62%),radial-gradient(52rem 38rem at 52% 108%,#c4a86824,#0000 60%);position:fixed;inset:0}:root[data-skin=glass][data-theme=dark] .glass-surface:before{background:radial-gradient(60rem 40rem at 12% -8%,#3478624d,#0000 60%),radial-gradient(48rem 34rem at 92% 4%,#30567842,#0000 62%),radial-gradient(52rem 38rem at 52% 108%,#78623633,#0000 60%)}:root[data-skin=glass] .glass-surface .panel,:root[data-skin=glass] .glass-surface .stat,:root[data-skin=glass] .glass-surface .today-briefing,:root[data-skin=glass] .glass-surface .race-card,:root[data-skin=glass] .glass-surface .compact-empty{-webkit-backdrop-filter:blur(26px)saturate(180%);backdrop-filter:blur(26px)saturate(180%);box-shadow:var(--g-shadow),0 0 0 1px var(--g-ring);background:var(--g-tint)!important;border:1px solid var(--g-border)!important;border-radius:var(--g-radius)!important;color:var(--g-text)!important}:root[data-skin=glass] .glass-surface .panel-head{padding:22px 24px 18px;border-bottom:1px solid var(--g-ring)!important}:root[data-skin=glass] .glass-surface .panel-head h2{letter-spacing:-.02em;font-size:17px;font-weight:600}:root[data-skin=glass] .glass-surface h1,:root[data-skin=glass] .glass-surface h2,:root[data-skin=glass] .glass-surface h3{letter-spacing:-.025em;color:var(--g-text);font-weight:600}:root[data-skin=glass] .glass-surface .eyebrow{letter-spacing:.14em;color:var(--g-muted);opacity:.85;font-size:11px;font-weight:600}:root[data-skin=glass] .glass-surface p,:root[data-skin=glass] .glass-surface small,:root[data-skin=glass] .glass-surface .subtle{color:var(--g-muted)}:root[data-skin=glass] .glass-surface .stats{gap:14px}:root[data-skin=glass] .glass-surface .stat{padding:22px 24px}:root[data-skin=glass] .glass-surface .stat h2{letter-spacing:-.035em;color:var(--g-text);font-variant-numeric:tabular-nums;margin:14px 0 8px;font-size:38px;font-weight:590}:root[data-skin=glass] .glass-surface .stat p,:root[data-skin=glass] .glass-surface .stat small{color:var(--g-muted)}:root[data-skin=glass] .glass-surface .today-briefing{padding:22px 24px;transition:transform .18s,box-shadow .18s;background:linear-gradient(135deg,#0f6b5529,#0f6b550d 60%),var(--g-tint-strong)!important}:root[data-skin=glass] .glass-surface .today-briefing:hover{box-shadow:0 16px 42px -14px #0e262057,0 0 0 1px var(--g-ring);transform:translateY(-1px)}:root[data-skin=glass] .glass-surface .briefing-icon{border-radius:14px;color:var(--g-accent)!important;background:#0f6b5524!important}:root[data-skin=glass] .glass-surface .briefing-copy strong{letter-spacing:-.02em;font-size:19px;font-weight:600}:root[data-skin=glass] .glass-surface button.primary{padding:11px 20px;font-weight:590;box-shadow:0 6px 18px -6px #0f6b5599;background:var(--g-accent)!important;border-radius:999px!important}:root[data-skin=glass] .glass-surface button.outline,:root[data-skin=glass] .glass-surface .chip{background:var(--g-tint-strong)!important;border:1px solid var(--g-border)!important;color:var(--g-text)!important;border-radius:999px!important}:root[data-skin=glass] .glass-surface .text-button{font-weight:550;color:var(--g-accent)!important}:root[data-skin=glass] .glass-surface .section-heading{margin:30px 0 16px}:root[data-skin=glass] .glass-surface .dashboard-grid{gap:16px}@media (prefers-reduced-transparency:reduce){:root[data-skin=glass] .glass-surface .panel,:root[data-skin=glass] .glass-surface .stat,:root[data-skin=glass] .glass-surface .today-briefing,:root[data-skin=glass] .glass-surface .race-card,:root[data-skin=glass] .glass-surface .compact-empty{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--card,#fff)!important}:root[data-skin=glass] .glass-surface:before{display:none}}@media (prefers-reduced-motion:reduce){:root[data-skin=glass] .glass-surface .today-briefing{transition:none}:root[data-skin=glass] .glass-surface .today-briefing:hover{transform:none}}.skin-toggle{color:#44584f;letter-spacing:.02em;background:#fff;border:1px solid #dbe3df;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:12px;font-weight:600;display:inline-flex}.skin-toggle[aria-pressed=true]{color:#0f6b55;background:#0f6b551f;border-color:#0000}:root[data-theme=dark] .skin-toggle{color:#c6d6cd;background:#17221f;border-color:#31443b}:root[data-theme=dark] .skin-toggle[aria-pressed=true]{color:#6fd3ac;background:#6fd3ac29}@media (max-width:750px){.skin-toggle span{display:none}.skin-toggle{padding:9px}}
