@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#172d29;--muted:#73817e;--line:#dfe5e1;--paper:#f6f8f5;--lime:#d7f568;--white:#fff;--accent:#325f4d;--radius:12px}.proposal-actions{display:flex;flex-wrap:wrap;gap:12px}.session-description .effort-target{color:var(--accent);font-weight:600;font-size:.875rem}.matched-effort{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.matched-effort p{margin:10px 0}.matched-effort small{display:block;color:var(--muted)}.activity-row .recorded-effort{color:var(--accent);font-size:.875rem;white-space:normal;overflow-wrap:anywhere}.sleep-card{margin:22px 0;min-width:0}.sleep-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0}.sleep-stats small,.sleep-stats span{display:block;font-size:.875rem;color:var(--muted)}.sleep-stats strong{display:block;font-size:1.5rem;margin:5px 0}.sleep-history summary{cursor:pointer;padding:12px 0;font-weight:600}.sleep-history .table-wrap{max-width:100%;overflow-x:auto}.sleep-history td,.sleep-history th{white-space:nowrap}.sleep-import-note{display:block;margin-top:16px;color:var(--muted)}@media (max-width:800px){.sleep-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:12px 18px;border-radius:7px;font-weight:600;cursor:pointer;line-height:1.35;transition:background .15s}.button:hover,button:hover{background:#304c43}button:disabled{opacity:.5;cursor:wait}.secondary{color:var(--ink);background:white;border-color:var(--line)}.secondary:hover{background:#edf2e9}.icon-button{padding:7px;background:transparent;color:var(--ink);border:0}.text-button{border:0;background:none;color:var(--ink);padding:5px;text-decoration:underline}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.text-link:hover{color:#4c753c}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:246px;background:#fff;border-right:1px solid var(--line);padding:38px 22px 22px;z-index:10;display:flex;flex-direction:column}.wordmark{font:800 22px Manrope,sans-serif;letter-spacing:2px;display:block;white-space:nowrap}.brand-symbol{letter-spacing:-5px;font-size:28px;margin-right:12px}.wordmark small,.wordmark>span:not(.brand-symbol){font:500 10px DM Sans,sans-serif;letter-spacing:2px;display:block;margin:4px 0 0 41px;color:var(--muted)}nav{display:flex;flex-direction:column;gap:7px;margin-top:51px}.nav-item{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:7px;font-size:14px;color:#64726f;font-weight:500}.nav-item:hover{background:#f3f6ef}.nav-item.active{background:#eff5df;color:#223c2c;font-weight:700}.nav-indicator{margin-left:auto;width:5px;height:5px;background:#547238;border-radius:50%}.sidebar-goal{margin-top:auto;padding:35px 15px 26px;display:flex;flex-direction:column}.sidebar-goal svg{margin:20px 0 10px}.sidebar-goal strong{font-size:15px}.sidebar-goal>span:not(.eyebrow){letter-spacing:2px}.sidebar-goal small,.sidebar-goal>span:not(.eyebrow){font-size:12px;color:var(--muted)}.goal-line{height:2px;background:#e1e8d7;margin:20px 0 12px}.athlete{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:22px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf0e5;font-size:14px}.athlete small,.athlete strong{display:block;font-size:13px}.athlete small{font-size:11px;color:var(--muted)}.main-shell{min-width:0;margin-left:246px;width:calc(100% - 246px)}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;background:#ffffffb3;font-size:11px;letter-spacing:1.2px;font-weight:500}.slash{color:#b9c2bc;margin:0 15px}.badge{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.9px;font-weight:700;padding:5px 9px;background:#eff2ec;border-radius:4px;white-space:nowrap;text-transform:uppercase}.badge.mock{background:#eef4d8;color:#4d612c}.demo-bar{background:#eff3e4;border-bottom:1px solid #e0e7d1;padding:8px 44px;color:#67744c;font-size:12px}.main-content{max-width:1370px;margin:0 auto;padding:38px 44px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.65px;font-weight:700;color:#6b7a72;display:inline-flex;align-items:center;gap:8px}.page-heading h1{font:600 clamp(32px,3vw,43px)/1.17 Manrope,sans-serif;letter-spacing:-1.6px;margin:15px 0 11px}.page-heading h1 span{color:#6e8074}.page-heading p{color:var(--muted);font-size:14px;margin:0}.page-heading.small h1{font-size:34px;letter-spacing:-1px}.page-heading.small{margin-bottom:32px}.page-heading>.button{font-size:13px}h2{font:600 21px/1.3 Manrope,sans-serif;letter-spacing:-.5px;margin:0}h3{font:600 18px/1.4 Manrope,sans-serif;letter-spacing:-.3px;margin:9px 0}p{margin:12px 0}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.home-primary{display:flex;flex-direction:column;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.today-card{background:#e9eedf;border:1px solid #dce3d0;border-radius:var(--radius);padding:22px 26px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.section-heading>span:not(.eyebrow){color:var(--muted);font-size:13px}.today-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:25px 0 22px}.today-title h2{font-size:27px}.today-title p{font-size:13px;color:#75816c;max-width:330px;margin:8px 0 0}.today-title svg{flex-shrink:0;color:#5d7051}.session-targets{display:flex;gap:28px;margin-bottom:22px;font-size:13px;font-weight:500}.session-targets span{display:flex;align-items:center;gap:9px}.today-bottom{border-top:1px solid #d2dcc9;display:flex;gap:15px;align-items:center;justify-content:space-between;padding:13px 0;color:#6b7960;font-size:12px}.today-bottom a{line-height:1}.coach-note{padding:20px 25px}.coach-note .eyebrow{font-size:9px}.coach-note .section-heading{margin:0}.coach-note .section-heading svg{color:#72836b}.coach-note p{font-size:15px;line-height:1.8;margin:13px 0}.coach-note .text-link{font-size:12px}.race-card{position:relative;background:#18332c;color:#fff;border-radius:var(--radius);padding:26px;overflow:hidden;display:flex;flex-direction:column}.race-card .eyebrow{color:#a7bd8d;font-size:9px}.race-year{position:absolute;font:700 82px/1 Manrope,sans-serif;color:#ffffff0d;right:12px;top:52px;letter-spacing:-8px;writing-mode:vertical-rl}.race-year span{color:#c7e77812}.race-card>svg{margin-top:38px;color:#bbd596}.race-card h2{font-size:28px;line-height:1.15;margin:18px 0 5px}.race-card p{color:#b7c4b8;font-size:12px;max-width:195px}.race-rule{height:1px;background:#ffffff20;margin:13px 0}.race-card .race-ambition{font-size:13px;line-height:1.7}.race-card>a{margin-top:auto;font-size:12px;display:flex;gap:8px;align-items:center;color:#d5eead;padding-top:20px}.space-top{margin-top:33px}.space-top h2{font-size:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat{border:1px solid var(--line);border-radius:var(--radius);padding:17px 20px;background:white}.stat>div{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:8px}.stat strong{display:block;font:600 27px Manrope,sans-serif;letter-spacing:-1px;margin:13px 0 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat small{font-size:9px;color:#96a18f;letter-spacing:1px}.trend-card{margin-top:18px;padding:21px 25px;display:grid;grid-template-columns:1fr 1.2fr;gap:20px;align-items:center}.trend-card h3{font-size:17px}.trend-card p{font-size:12px;color:var(--muted);margin:4px 0}.chart{min-width:0;padding:8px 3px 25px}.chart-bars{height:100px;gap:16px;border-bottom:1px solid #e9eee3;background:repeating-linear-gradient(0deg,transparent 0,transparent 32px,#f0f3ed 33px,#f0f3ed 34px)}.bar-column,.chart-bars{display:flex;align-items:flex-end}.bar-column{position:relative;height:100%;flex:1 1;min-width:0}.bar{width:100%;background:#b4c79b;border-radius:3px 3px 0 0;min-height:3px;max-width:45px;margin:auto auto 0}.bar.current{background:#627d49}.bar-column>span{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);font-size:9px;color:#8b9684;white-space:nowrap}.session-row{padding:0 23px}.session-row+.session-row{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.session-row>summary{display:flex;gap:15px;align-items:center;padding:20px 0}.session-date{width:55px;flex-shrink:0}.session-date span,.session-date strong{display:block;font-size:12px}.session-date strong{text-transform:uppercase;font-size:10px;letter-spacing:1px}.session-date span{color:var(--muted)}.session-icon{display:grid;place-items:center;background:#f0f3ec;width:40px;height:40px;border-radius:9px;color:#6e8060;flex-shrink:0}.session-icon.key{background:#e7eecf}.session-description{flex:1 1;min-width:0}.session-description strong{display:block;font-size:14px}.session-description span{display:block;font-size:12px;color:var(--muted);max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-duration{font-size:13px;margin-right:10px;white-space:nowrap}.badge.complete{background:#e6f1e7;color:#42784b}.session-row>summary>svg{color:#aab3a5}.session-detail{padding:5px 0 22px 70px;font-size:14px}.session-detail dl{margin:15px 0}dl{display:grid;grid-template-columns:150px 1fr;gap:9px 18px;font-size:13px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.mock-controls{margin-top:30px;padding:20px;border:1px dashed #c7d3b9;border-radius:10px;display:flex;gap:15px;align-items:center;background:#f0f4e9}.mock-controls div{flex:1 1}.mock-controls small,.mock-controls strong{display:block;font-size:13px}.mock-controls small{font-size:12px;color:var(--muted)}.mock-controls button{font-size:12px}.alert,.notice{padding:15px 18px;background:#fff2e4;border:1px solid #f0d1ac;border-radius:7px;display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:14px}.notice{background:#edf5e6;border-color:#d7e4cc}.loading{padding:90px;text-align:center;color:var(--muted)}.loading-mark{font-size:50px;color:#73945c}.empty{padding:32px;font-size:14px;line-height:1.8}.empty,.muted{color:var(--muted)}.muted{font-size:13px}.padded{padding:25px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.large-chart{padding:25px;margin:24px 0}.large-chart .chart-bars{height:240px;gap:25px}.large-chart .bar{max-width:60px}.large-chart .chart{padding-bottom:40px}.large-chart p{font-size:12px}.activity-row{display:flex;align-items:center;gap:25px;padding:19px 24px;border-bottom:1px solid var(--line);font-size:13px}.activity-row:last-child{border:0}.activity-row>div{flex:1 1}.activity-row small,.activity-row strong{display:block}.activity-row small{color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}td,th{padding:16px 23px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted);font-weight:500;background:#fafbf8}.plan-strip{background:#e9eedf;display:grid;grid-template-columns:2fr 1fr 1fr;border-radius:12px;padding:22px 28px}.plan-strip>div+div{border-left:1px solid #cfd9c4;padding-left:25px}.plan-strip h3{margin-bottom:0}.segmented{display:flex;background:#e8ede3;padding:4px;border-radius:7px}.segmented button{background:none;color:var(--muted);font-size:13px;border:0;padding:8px 17px}.segmented button.selected{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000000e}.revision{padding:20px 25px;margin-bottom:12px;font-size:14px}.revision p{margin:10px 0}.revision small{color:var(--muted)}.chat-page{width:100%;min-width:0;max-width:920px;margin:0 auto}.chat-page .page-heading>div{min-width:0;overflow-wrap:anywhere}.conversation{background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:30px;min-height:380px;max-height:60vh;overflow-y:auto;scroll-behavior:smooth}.conversation-divider{font-size:9px;letter-spacing:1.5px;color:#97a38c;text-align:center;margin-bottom:30px}.message{display:flex;gap:16px;margin-bottom:27px}.message-avatar{display:grid;place-items:center;flex-shrink:0;width:31px;height:31px;background:var(--ink);color:var(--lime);border-radius:50%;font-size:14px}.message.athlete .message-avatar{background:#ecf0e7;color:#5e7550}.message-body{flex:1 1;min-width:0;overflow-wrap:anywhere}.message-meta{display:flex;gap:12px;align-items:center;font-size:12px}.message-meta span{color:var(--muted);font-size:11px}.message-meta a{text-decoration:underline}.message p{font-size:15px;line-height:1.8;white-space:pre-wrap;margin:8px 0 0;overflow-wrap:anywhere}.message.athlete p{color:#5c6e61}.composer{padding:20px 26px;background:white;border:1px solid var(--line);border-radius:12px 12px 0 0}.composer textarea{display:block;border:0;resize:vertical;width:100%;outline-offset:5px;padding:0;font-size:15px}.composer>div{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:20px}.composer>div>span{font-size:11px;color:var(--muted)}.composer button{font-size:13px}.inline-label{display:flex;align-items:center;gap:12px}.inline-label select{font-size:12px;padding:5px;max-width:130px}.chat-footnote{font-size:11px;text-align:center;color:var(--muted);margin:17px}.thinking{margin-bottom:24px;font-size:13px;color:#72914f;background:#f0f6e9;padding:15px;border-radius:6px}.run-stats{display:flex;gap:40px;align-items:center;margin-bottom:25px;padding:22px 25px;border:1px solid var(--line);background:#fff;border-radius:12px}.run-stats>div{display:flex;flex-direction:column}.run-stats strong{font:600 26px Manrope,sans-serif}.run-stats span{font-size:11px;color:var(--muted)}.run-stats button{margin-left:auto;font-size:12px}.run-card{margin-bottom:13px}.run-card>summary{padding:21px 25px;display:flex;gap:17px;align-items:center}.run-card>summary>div{flex:1 1}.run-card>summary strong{text-transform:capitalize;display:block;font-size:14px}.run-card>summary small{display:block;color:var(--muted);font-size:11px}.run-icon{background:#edf3e7;padding:10px;border-radius:8px;display:flex}.run-icon.failure{background:#f8e9df;color:#a56742}.run-detail{padding:0 25px 23px;border-top:1px solid var(--line)}.rationale{font-size:15px;padding:15px 0;line-height:1.8}.run-detail blockquote{margin:20px 0;padding:15px 20px;border-left:3px solid #c3d88f;background:#f4f7ef;font-size:14px}.nested-details{margin-top:10px;border:1px solid var(--line);border-radius:6px}.nested-details summary{padding:10px 13px;font-size:12px;font-weight:600}.nested-details summary:before{content:"＋";margin-right:10px}pre{background:#f4f6f0;padding:17px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;margin:0;line-height:1.7}code,pre{font-size:12px}.run-actions{border-top:1px solid var(--line);padding:18px 25px;display:flex;align-items:center;gap:18px}.run-actions button{font-size:12px}.proposal{background:#f2f7e7;padding:20px 25px;display:flex;align-items:center;gap:12px;font-size:13px}.proposal>div{flex:1 1}.proposal p{margin:5px 0}.proposal button{font-size:12px}.simulation{border:2px dashed #c3a965;background:#fffbea;padding:23px;border-radius:12px;margin-bottom:25px}.simulation>.section-heading .eyebrow{color:#8f782f}.simulation .run-detail{padding:0;border-color:#e5dcbf}.mutation-result{display:flex;align-items:center;gap:13px;font-size:12px;padding:12px 0}.delivery-row,.event-row{display:flex;align-items:center;gap:18px;padding:17px 23px;border-bottom:1px solid var(--line);font-size:13px}.delivery-row:last-child,.event-row:last-child{border:0}.delivery-row>div,.event-row>div{flex:1 1}.delivery-row small,.delivery-row strong,.event-row small,.event-row strong{display:block}.delivery-row small,.event-row small{font-size:11px;color:var(--muted)}.delivery-row strong,.event-row strong{text-transform:capitalize}.connection-card{padding:24px}.connection-card h2{display:flex;align-items:center;gap:10px;font-size:20px}.connection-card p{font-size:14px}.connection-note{font-size:12px!important;color:var(--muted);min-height:54px}.connection-card small{display:block;color:var(--muted);font-size:11px;margin-top:15px}.button-row{display:flex;gap:12px;align-items:center}.connection-card .button,.connection-card button{font-size:12px}.strava-button{background:#fc4c02;border-color:#fc4c02}.strava-button:hover{background:#dc490b}.settings-form{margin-top:24px}.settings-form>.card{margin-bottom:20px}.settings-form h2{margin-bottom:23px;font-size:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500}label small{font-size:11px;color:var(--muted);font-weight:400}input,select,textarea{padding:11px 12px;border:1px solid #d8e0d1;border-radius:6px;background:#fff;color:var(--ink);font-size:14px;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #bdd397;outline-offset:2px}.full-width{grid-column:1/-1}.checkboxes{display:flex;flex-direction:column;gap:15px;margin:25px 0}.checkboxes label{flex-direction:row;align-items:center;gap:10px}.checkboxes input{width:17px;height:17px;accent-color:#426942}.save-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0 30px}.save-bar>span{font-size:12px;color:var(--muted)}.save-bar button{font-size:13px}.cost-panel p{font-size:14px}.cost-panel small{font-size:12px;color:var(--muted)}.cost-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cost-grid>div{display:flex;flex-direction:column}.cost-grid strong{font-size:26px}.cost-grid span{font-size:12px;color:var(--muted)}.discovery{margin-top:17px}.discovery>button{margin:8px 0}.discovery summary{font-size:13px;text-decoration:underline}footer{padding:20px 44px 28px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.8px;display:flex;gap:18px;color:#8c9884}footer>span{font-size:11px;letter-spacing:0}.mobile-close,.mobile-toggle{display:none}.login{max-width:480px;margin:12vh auto;padding:30px}.login .wordmark{margin-bottom:50px}.login .wordmark>span{margin-left:0}.login h1{font:600 34px Manrope,sans-serif;letter-spacing:-1px}.login p{color:var(--muted);font-size:14px}.login form{margin-top:30px}.login button{margin-top:20px;width:100%}@media (min-width:1500px){.main-content{padding-top:50px}.sidebar{width:265px}.main-shell{margin-left:265px;width:calc(100% - 265px)}.home-grid{grid-template-columns:minmax(0,1fr) 310px}.today-title{margin:30px 0}.coach-note p{font-size:16px}}@media (max-width:1150px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.main-shell{margin-left:210px;width:calc(100% - 210px)}.wordmark{font-size:19px}.main-content{padding:30px}.demo-bar,.topbar{padding-left:30px;padding-right:30px}.home-grid{grid-template-columns:minmax(0,1fr) 235px}.race-card{padding:23px}.stat{padding:15px}.stat strong{font-size:22px}.stat>div{font-size:11px}.session-description span{max-width:220px}.session-row .badge{display:none}.run-stats{gap:22px}.trend-card{grid-template-columns:1fr 1fr}.bar-column>span{font-size:8px}.connection-card{padding:20px}}@media (max-width:900px){.sidebar{width:185px}.main-shell{margin-left:185px;width:calc(100% - 185px)}.wordmark{font-size:16px}.brand-symbol{font-size:22px;margin-right:8px}.wordmark small{font-size:8px;margin-left:31px}.nav-item{font-size:12px;padding:11px 9px;gap:9px}.main-content{padding:25px}.topbar{padding:0 25px;font-size:9px}.demo-bar{padding:8px 25px}.home-grid{grid-template-columns:1fr}.race-card{display:none}.stats-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.run-stats{flex-wrap:wrap}.run-stats button{margin-left:0}.session-row{padding:0 17px}.session-row>summary{gap:10px}.session-date{width:47px}.session-description strong{font-size:13px}.session-duration{margin:0}.page-heading h1{font-size:33px}.page-heading>.button{font-size:12px}.plan-strip{padding:20px}.plan-strip h3{font-size:16px}.large-chart .chart-bars{gap:14px}.large-chart .bar-column:nth-child(2n)>span{display:none}.form-grid{gap:18px}.sidebar-goal{padding-left:10px}.sidebar-goal strong{font-size:13px}}@media (max-width:650px){.sidebar{display:none;width:246px;box-shadow:8px 0 80px #12271b33}.sidebar.open{display:flex}.sidebar .wordmark{font-size:21px}.sidebar .wordmark small{font-size:9px}.sidebar .nav-item{font-size:15px;padding:12px}.mobile-close{display:block;position:absolute;right:12px;top:85px}.mobile-toggle{display:inline-flex;margin-right:10px}.main-shell{margin-left:0;width:100%}.topbar{position:sticky;top:0;z-index:5;background:#fff;height:64px;padding:0 18px;justify-content:flex-start;font-size:8px;letter-spacing:.4px}.topbar>div{margin-left:auto}.slash{margin:0 7px}.badge.mock{font-size:8px;padding:4px 6px;letter-spacing:.5px}.demo-bar{font-size:10px;padding:8px 20px}.main-content{padding:26px 19px}.page-heading{align-items:flex-start;gap:15px;margin-bottom:24px}.page-heading h1{font-size:31px;letter-spacing:-1px}.page-heading.small h1{font-size:29px}.page-heading p{font-size:13px}.page-heading>.button{padding:10px;font-size:0;margin-top:29px;gap:0}.page-heading>.button svg{width:22px;height:22px}.eyebrow{font-size:9px;letter-spacing:1.1px}.today-card{padding:20px 20px 0}.today-title h2{font-size:23px}.today-title p{font-size:12px}.session-targets{font-size:12px;gap:18px}.today-bottom{font-size:11px}.coach-note{padding:20px}.coach-note p{font-size:14px}.stats-grid{gap:10px}.stat{padding:16px}.stat strong{font-size:24px}.space-top h2{font-size:18px}.section-heading .text-link{font-size:11px}.trend-card{grid-template-columns:1fr;padding:20px;gap:12px}.trend-card .chart-bars{height:110px}.bar-column>span{font-size:9px}.session-row>summary{padding:18px 0;gap:10px}.session-icon{display:none}.session-description span{max-width:155px;font-size:10px}.session-duration{font-size:11px}.session-row>summary>svg{width:14px}.session-date span{font-size:10px}.session-detail{padding-left:0}.mock-controls{flex-wrap:wrap;padding:17px}.mock-controls div{min-width:200px}.mock-controls button{margin-left:34px}.mock-controls small{font-size:11px}footer{padding:18px 20px;gap:12px}footer,footer span{font-size:9px}.conversation{padding:18px 12px;max-height:55vh}.message{gap:11px}.message p{font-size:14px}.message-meta{align-items:flex-start;flex-direction:column;gap:0}.message-meta span{font-size:10px}.composer{padding:12px}.composer>div{margin-top:8px;gap:10px}.composer>div>span{min-width:0;overflow-wrap:anywhere;font-size:10px;max-width:180px}.composer textarea{height:52px;min-height:52px;max-height:160px;font-size:16px;line-height:1.5}.composer button{flex-shrink:0;padding:10px 13px}.inline-label{gap:5px;align-items:flex-start;flex-direction:column}.chat-footnote{font-size:10px}.page-heading.small>svg{display:none}.plan-strip{gap:12px;padding:17px;grid-template-columns:1.5fr 1fr 1fr}.plan-strip>div+div{padding-left:12px}.plan-strip .eyebrow{font-size:8px}.plan-strip h3{font-size:14px}.plan-strip+.section-heading{align-items:flex-start;flex-direction:column}.segmented button{font-size:12px}.activity-row{padding:16px;gap:10px;font-size:11px}.activity-row>svg{display:none}.activity-row strong{font-size:12px}.activity-row>span:last-child{display:none}.large-chart{padding:20px}.large-chart h2{font-size:17px}.large-chart select{max-width:112px;font-size:12px}.large-chart .chart-bars{height:180px;gap:10px}.large-chart .bar-column>span{font-size:8px}td,th{padding:13px 16px;font-size:12px}.run-stats{gap:17px;padding:19px}.run-stats strong{font-size:22px}.run-stats span{font-size:10px}.run-card>summary{padding:17px;gap:11px}.run-card>summary strong{font-size:13px}.run-card>summary small{font-size:10px}.run-card>summary>.badge{font-size:8px}.run-card>summary>svg{display:none}.run-detail{padding:0 18px 20px}.run-detail dl{grid-template-columns:100px 1fr;font-size:12px;gap:10px}.rationale{font-size:14px}.run-actions{padding:17px;flex-direction:column;align-items:flex-start;gap:9px}.proposal{padding:17px;flex-wrap:wrap}.proposal>div{flex-basis:100%}.mutation-result{flex-wrap:wrap;gap:9px}.simulation{padding:17px}.delivery-row,.event-row{padding:17px;gap:12px}.event-row strong{font-size:12px}.event-row small{font-size:10px}.delivery-row{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.padded{padding:20px}.form-grid label{font-size:13px}.save-bar{align-items:flex-start;flex-direction:column}.save-bar button{width:100%}.cost-grid{grid-template-columns:1fr 1fr;gap:20px}.connection-card h2{font-size:18px}.connection-card .badge{font-size:9px}.cost-panel select{max-width:130px;font-size:12px}.cost-panel .section-heading h2{font-size:19px}.login{margin:7vh auto}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.coach-note p,.connection-card>p,.message p,.padded>p,.session-detail>p,input,select,textarea{font-size:1rem}.nav-item,.session-description strong,.session-duration,.text-link,label{font-size:.875rem}.athlete small,.badge,.bar-column>span,.connection-card small,.demo-bar,.eyebrow,.message-meta span,.session-date span,.session-date strong,.session-description span,.sidebar-goal small,.stat small,.topbar,.wordmark small,footer,footer>span{font-size:.75rem}@media (max-width:650px){.topbar{gap:5px}.topbar>span{max-width:165px;line-height:1.4;font-size:.7rem}.topbar .slash{margin:0 3px}.session-description span{max-width:145px}.page-heading .eyebrow{font-size:.7rem}.bar-column>span{font-size:.65rem}.bar-column:nth-child(2n)>span{display:none}.session-duration{font-size:.8rem}.nav-item{font-size:1rem}.badge.mock{font-size:.65rem}}.workout-editor{margin:24px 0}.workout-editor h2{margin:8px 0 0}.workout-editor>p{max-width:760px}.workout-form{display:grid;gap:20px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border,#e5e8e2)}.workout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.workout-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.workout-form input,.workout-form select,.workout-form textarea{width:100%;min-width:0}.workout-form .inline-check{flex-direction:row;align-items:center}.workout-form .inline-check input{width:auto}.workout-form>button{justify-self:start}.training-mix{margin:24px 0}.mix-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px;margin-top:24px}.mix-grid>div{display:grid;gap:8px}.mix-grid span{font-size:14px;color:var(--muted)}.today-additional{margin:16px 0;font-size:14px}.activity-row small{overflow-wrap:anywhere}@media (max-width:600px){.workout-fields{grid-template-columns:1fr}.workout-editor .section-heading{align-items:flex-start;flex-direction:column;gap:16px}.workout-editor .section-heading button{align-self:flex-start}}.plan-progress{margin-bottom:22px;min-width:0}.plan-progress .section-heading{flex-wrap:wrap;gap:14px}.plan-progress select{max-width:100%;padding:9px 12px;font-size:16px}.plan-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:22px 0}.plan-score{min-width:0;padding:20px;background:#f5f7f2;border-radius:12px}.plan-score>span{font-weight:600}.plan-score>strong{display:block;font-size:clamp(32px,5vw,48px);line-height:1.2;margin:10px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan-score p{font-size:14px;margin:8px 0 0}.plan-score meter{width:100%;height:14px;accent-color:#526e3f}.plan-definition{font-size:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}.plan-progress h3{margin-top:22px}.plan-chart-key{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:14px;margin:14px 0}.plan-chart-key span{display:inline-flex;align-items:center;gap:7px}.plan-chart-key i{width:18px;height:10px;display:inline-block}.planned-key{border:2px solid #8b9c7b;background:#e9eee3}.recorded-key{background:#526e3f}.plan-week-row{display:grid;grid-template-columns:66px minmax(0,1fr) 55px;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.plan-week-row>strong{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan-week-work{min-width:0}.plan-week-bars{position:relative;height:26px}.plan-target-bar{position:absolute;height:26px;background:#e9eee3;border:1px solid #8b9c7b;border-radius:4px}.plan-recorded-bar{position:absolute;height:10px;top:8px;background:#526e3f;border-radius:3px}.plan-week-work small{display:block;margin-top:5px;font-size:14px;color:var(--muted)}.plan-score-details{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.plan-score-details summary{cursor:pointer;font-weight:600}.plan-score-details p{font-size:14px;line-height:1.6}.plan-credit-list{padding:0;list-style:none}.plan-credit-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.plan-credit-list li>div{min-width:0;overflow-wrap:anywhere}.plan-credit-list li>div>span{display:block;color:var(--muted);margin-top:4px}.plan-credit-list li>span{flex-shrink:0}@media (max-width:650px){.plan-score-grid{grid-template-columns:1fr;gap:12px}.plan-score{padding:16px}.plan-week-row{grid-template-columns:48px minmax(0,1fr) 44px;gap:8px}.plan-week-work small{font-size:12px}.plan-credit-list li{align-items:flex-start}}.workout-matcher{margin:18px 0;min-width:0}.workout-matcher form{margin-top:16px;display:grid;gap:14px}.workout-matcher form>label:not(.match-confirm){display:grid;gap:6px}.workout-matcher input:not([type=checkbox]){width:100%;min-width:0;padding:10px;font-size:16px;border:1px solid var(--line);border-radius:6px}.match-workout-list{max-height:350px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.match-workout-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.match-workout-option span{min-width:0;overflow-wrap:anywhere}.match-workout-option small{display:block;font-size:14px;margin-top:4px;color:var(--muted)}.match-confirm input,.match-workout-option input{flex-shrink:0;margin-top:4px;width:18px;height:18px}.match-confirm{display:flex;align-items:flex-start;gap:10px}.match-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width:650px){.match-actions button{width:100%}.workout-matcher>button{max-width:100%;white-space:normal}}.preparation-roadmap{scroll-margin-top:85px;min-width:0}.preparation-roadmap li,.preparation-roadmap p{line-height:1.6}.roadmap-start{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.roadmap-start p{margin-bottom:0}.roadmap-stages{margin-top:20px}.roadmap-stages details{border-top:1px solid var(--line)}.roadmap-stages summary{display:flex;align-items:center;gap:14px;padding:18px 0;cursor:pointer}.roadmap-stages summary:after{content:"+";margin-left:auto;font-size:22px}.roadmap-stages details[open] summary:after{content:"−"}.roadmap-number{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;font-size:14px}.roadmap-window{display:block;font-size:14px;color:var(--muted);margin-top:4px}.roadmap-detail{padding:0 0 22px 46px}.roadmap-detail>p{margin-top:0}.preparation-roadmap ul{padding-left:20px}.preparation-roadmap li{margin-bottom:8px}.preparation-roadmap .button{max-width:100%;white-space:normal}.roadmap-guidance{border-top:1px solid var(--line);padding-top:18px}.roadmap-guidance summary{cursor:pointer;font-weight:600}.roadmap-progress-link{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:24px}.roadmap-progress-link p{margin-bottom:0}.roadmap-progress-link .button{flex-shrink:0}@media (max-width:650px){.roadmap-start{grid-template-columns:1fr;gap:14px}.roadmap-detail{padding-left:0}.roadmap-progress-link{flex-direction:column;align-items:flex-start}}.climb-timeline{padding:24px 28px 20px;margin-bottom:24px;overflow:hidden}.climb-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.climb-heading h2{font-size:22px;margin:7px 0 0}.climb-count{text-align:right;flex-shrink:0}.climb-count strong{display:block;font-family:Manrope,sans-serif;font-size:24px}.climb-count span{display:block;font-size:14px;color:var(--muted)}.climb-chart{position:relative;height:155px;margin-top:12px}.climb-chart>svg{display:block;width:100%;height:100%;overflow:visible}.climb-area{fill:#edf3e9}.climb-adherence-fill{fill:#aac5ae}.climb-adherence-caption{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-size:14px}.climb-adherence-caption>span{color:var(--muted)}.climb-adherence-label{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.climb-adherence-swatch{width:14px;height:14px;border-radius:3px;background:#aac5ae;border:1px solid #73947a;flex-shrink:0}.climb-adherence-swatch.unavailable{background:transparent;border-color:var(--muted)}.climb-route{stroke:#b0c2b5;stroke-width:3;fill:none;stroke-linecap:round}.climb-elapsed{stroke:var(--accent);stroke-width:4;fill:none;stroke-linecap:round}.climb-bike{position:absolute;transform:translate(-50%,-100%);color:var(--ink);line-height:0;padding-bottom:2px}.climb-bike svg{filter:drop-shadow(0 0 3px white)}.climb-flag{position:absolute;left:94%;top:20%;transform:translate(-3px,-100%);line-height:0;color:var(--accent)}.climb-dates{display:flex;justify-content:space-between;gap:20px;font-size:14px}.climb-dates>div:last-child{text-align:right}.climb-dates span,.climb-dates strong{display:block}.climb-dates span{color:var(--muted);margin-top:3px}.climb-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.climb-caption p{margin:0;font-size:14px;color:var(--muted);max-width:620px}.climb-caption strong{color:var(--ink)}.climb-caption a{flex-shrink:0;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}@media (max-width:650px){.climb-timeline{padding:20px 18px}.climb-heading{flex-direction:column;gap:8px}.climb-heading h2{font-size:20px}.climb-count{text-align:left;display:flex;gap:7px;flex-wrap:wrap;align-items:baseline}.climb-count strong{font-size:20px}.climb-chart{height:125px}.climb-caption{align-items:flex-start;flex-direction:column;gap:10px}}.recovery-section{margin:28px 0;min-width:0}.recovery-checkin,.recovery-review,.recovery-timeline{margin:20px 0;min-width:0}.recovery-checkin h2{font-size:1.25rem;margin:8px 0 16px}.energy-options{display:flex;flex-wrap:wrap;gap:8px}.energy-options button{min-height:44px;flex:1 1 90px;justify-content:center}.energy-options button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}.recovery-timeline .section-heading{flex-wrap:wrap;gap:12px}.recovery-timeline select{max-width:100%}.recovery-axis{font-size:.875rem;margin:18px 0 8px;display:flex;flex-wrap:wrap;gap:8px 20px}.recovery-days{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));gap:3px}button.recovery-day{display:flex;flex-direction:column;gap:10px;padding:5px 0;min-width:0;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:5px}button.recovery-day[aria-pressed=true]{border-color:var(--accent);background:#edf3ee}button.recovery-day:focus-visible{outline:3px solid #376aa0;outline-offset:2px}.effort-track,.energy-track,.sleep-track{display:block;width:100%;position:relative;border-bottom:1px solid var(--line)}.sleep-track{height:110px;background:repeating-linear-gradient(0deg,transparent 0,transparent 26px,#edf0ed 27px,transparent 28px)}.energy-track{height:40px}.effort-track{height:45px}.effort-bar,.sleep-bar{display:block;position:absolute;bottom:0;width:72%;left:14%;min-height:2px;border-radius:3px 3px 0 0;background:var(--accent)}.effort-bar{background:#497ca2}.energy-dot{position:absolute;width:8px;height:8px;max-width:100%;left:50%;transform:translateX(-50%);border-radius:50%;background:#a46c13}.recovery-date{font-size:.75rem;font-weight:400}.recovery-range{display:flex;justify-content:space-between;font-size:.875rem;margin:8px 0}.recovery-detail{background:var(--paper);border-radius:8px;padding:16px;margin-top:16px}.recovery-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:0}.recovery-detail dt{color:#586b64;font-size:.875rem}.recovery-detail dd{margin:3px 0 0;overflow-wrap:anywhere}.recovery-detail small{display:block}@media (max-width:600px){.recovery-days{gap:1px}.recovery-detail dl{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-timeline.padded{padding:18px 12px}}.distance-coverage{display:block;margin:6px 0 0;font-size:11px;line-height:1.45;color:var(--muted);white-space:normal}.distance-chart-coverage{margin-top:32px;font-size:11px;line-height:1.5;color:var(--muted)}.distance-chart-coverage p{margin:4px 0}.bar.distance-partial{background-image:repeating-linear-gradient(135deg,transparent 0 5px,#ffffff55 5px 7px)}.bar.distance-unknown{background:transparent;border-top:1px dashed var(--muted)}