@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";.account-action{margin-top:20px}.account-email{overflow-wrap:anywhere}.topbar-account{background:transparent;color:var(--pine);min-height:44px;padding:6px;font-size:14px}.athlete-examples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 28px}.athlete-examples>p{grid-column:1/-1}.athlete-examples button{display:grid;gap:5px;min-width:0;text-align:left;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.athlete-examples button[aria-pressed=true]{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine)}.athlete-examples span{font-size:13px;color:var(--muted)}.hero-goal>strong{font-size:27px;letter-spacing:-1px;overflow-wrap:anywhere}.hero-goal{max-width:270px}.tour-invite,.tour-panel{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:22px;margin-bottom:28px}.tour-invite{display:flex;align-items:center;gap:16px}.tour-invite>svg{color:var(--pine);flex-shrink:0}.tour-invite>div{flex:1}.tour-invite p,.tour-panel>p{color:var(--muted);font-size:15px;margin-top:7px;line-height:1.65}.tour-top,.tour-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tour-top>span{flex:1}.tour-panel h2{font-size:24px;line-height:1.3;margin-top:15px}.tour-panel progress{width:100%;height:4px;accent-color:var(--pine);display:block;margin-top:10px}.tour-actions{margin-top:18px}.role-context{display:inline-flex;margin-bottom:14px;border:1px solid var(--line);border-radius:6px;padding:5px 9px;font-size:13px;color:var(--muted)}.empty-state>.text-button{display:flex;margin:18px auto 0}@media(max-width:767px){.athlete-examples{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions{gap:6px}.topbar{padding-inline:16px}.mobile-brand>span{font-size:23px}.tour-invite{flex-wrap:wrap;padding:18px}.tour-invite>div{flex-basis:calc(100% - 46px)}.tour-panel{padding:18px}.tour-actions>.button{width:100%}}@media(max-width:359px){.mobile-brand>span{font-size:21px}.mobile-brand>svg{width:25px}.topbar{padding-inline:12px;gap:4px}.language-switch button{min-width:30px}.topbar-account{font-size:13px}.athlete-examples button{padding:12px}}.training-context{margin-top:38px;padding-top:32px;border-top:1px solid var(--line);min-width:0;color:var(--pine)}.tc-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;flex-wrap:wrap}.tc-heading>div{flex:1 1 250px;min-width:0}.tc-heading h2{margin:8px 0;font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.8px}.tc-heading p:not(.eyebrow),.tc-boundary,.tc-fineprint,.tc-review>div>p,.tc-connections>p{color:var(--muted);font-size:13px}.tc-sample-label{padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:11px;font-weight:700}.tc-boundary{margin:14px 0 20px;max-width:850px}.tc-week{display:flex;flex-wrap:wrap;align-items:center;gap:9px 15px;margin-bottom:18px}.tc-week label{font-size:13px;font-weight:650}.tc-week>span{color:var(--muted);font-size:12px}.training-context select,.training-context input:not([type=checkbox]),.training-context textarea{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--pine);background:var(--white);font-size:14px}.training-context select{min-height:44px}.training-context input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:2px 0;accent-color:var(--pine)}.tc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tc-metrics article{min-width:0;padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--white)}.tc-metrics article>span{font-size:12px;font-weight:650}.tc-metrics strong{display:block;font-size:31px;font-weight:700;margin:8px 0 3px;line-height:1.2}.tc-metrics small{font-size:13px;font-weight:500}.tc-metrics p{color:var(--muted);font-size:11px}.tc-fineprint{margin-top:12px;line-height:1.65}.tc-sport-totals{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tc-sport-totals>span{display:grid;gap:2px;padding:9px 13px;border-radius:9px;background:var(--soft);font-size:11px}.tc-sport-totals strong{font-size:12px}.tc-review{margin-top:22px;padding:21px;border:1px solid var(--line);border-radius:13px;background:var(--white)}.tc-review h3,.tc-connections h3{font-size:17px;margin-bottom:7px}.tc-conflicts{display:grid;gap:10px;margin-top:16px}.tc-conflicts>article{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:13px;border-radius:10px;background:var(--soft)}.tc-conflict-icon{flex:0 0 24px}.tc-conflicts article>div{flex:1 1 170px;min-width:0}.tc-conflicts strong{display:block;font-size:13px}.tc-conflicts p,.tc-conflicts small{font-size:12px}.tc-conflicts small{color:var(--danger)}.tc-conflicts button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--white);font-size:12px;font-weight:650}.tc-clear{display:flex;align-items:start;gap:9px;margin-top:13px;font-size:13px}.tc-clear svg,.tc-error svg,.tc-notice svg{flex-shrink:0;margin-top:2px}.tc-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;align-items:start}.tc-tool,.tc-records,.tc-evidence{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--white)}.tc-tool>summary{display:flex;align-items:center;gap:12px;padding:17px;cursor:pointer;list-style:none}.tc-tool>summary::-webkit-details-marker{display:none}.tc-tool>summary>svg{flex-shrink:0}.tc-tool>summary>svg:last-child{margin-left:auto}.tc-tool[open]>summary>svg:last-child{transform:rotate(45deg)}.tc-tool>summary span{display:grid;gap:4px;min-width:0}.tc-tool summary strong{font-size:14px}.tc-tool summary small{font-size:11px;color:var(--muted)}.tc-form{display:grid;gap:12px;padding:0 17px 18px}.tc-form>p{font-size:13px}.tc-form fieldset{display:grid;gap:12px;min-width:0}.tc-form label{font-size:12px;font-weight:650}.tc-check{display:flex;align-items:start;gap:9px;font-size:12px;line-height:1.65}.tc-windows{display:grid;gap:13px}.tc-window{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;align-items:end;gap:9px}.tc-window>label:not(.tc-check){display:grid;gap:4px;min-width:0}.tc-midnight{grid-column:1 / -1}.tc-icon{display:grid;place-items:center;flex-shrink:0;min-height:44px;min-width:38px;border-radius:8px;background:transparent;color:var(--muted)}.tc-icon:hover{color:var(--danger);background:var(--soft)}.tc-text-button{display:flex;align-items:center;gap:7px;text-align:left;width:fit-content;max-width:100%;min-height:44px;padding:7px 0;color:var(--pine);font-size:12px;font-weight:650;background:transparent}.tc-saved-windows{list-style:none;margin:0;padding:0 17px 17px}.tc-saved-windows li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:9px 0}.tc-saved-windows span{display:grid;min-width:0;font-size:12px}.tc-saved-windows strong{font-size:12px}.tc-preview{display:grid;gap:11px;border-top:1px solid var(--line);padding-top:14px}.tc-preview h4{margin:0;font-size:14px}.tc-preview>p{font-size:12px}.tc-file-name,.tc-record-list small,.tc-record-list p,.tc-preview-list small{overflow-wrap:anywhere}.tc-preview-list{display:grid;max-height:310px;overflow-y:auto;overscroll-behavior:contain;gap:8px;padding:2px}.tc-preview-list article{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--soft);font-size:12px}.tc-preview-list small{color:var(--muted);font-size:11px}.tc-actions{display:flex;gap:9px;flex-wrap:wrap}.training-context .button{white-space:normal;height:auto;min-height:44px;line-height:1.5;max-width:100%;justify-content:center}.tc-records,.tc-evidence{margin-top:16px}.tc-records>summary,.tc-evidence>summary{padding:15px 18px;font-size:13px;font-weight:650;cursor:pointer}.tc-records>summary>span{margin-left:10px;color:var(--muted)}.tc-record-list{padding:0 18px 12px;display:grid}.tc-record-list article{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid var(--line)}.tc-record-list article>div{min-width:0}.tc-record-list strong,.tc-record-list p{font-size:12px}.tc-record-list small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.tc-evidence>div{padding:0 18px 18px;display:grid;gap:12px;font-size:12px}.tc-evidence a{display:flex;align-items:center;gap:5px;min-height:44px;font-weight:650}.tc-connections{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.tc-connections h3{display:flex;align-items:center;gap:8px}.tc-connections ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:16px 0 0}.tc-connections li{min-width:0;padding:14px;border-radius:10px;background:var(--soft)}.tc-connections li>strong{display:block;font-size:12px}.tc-connections li>span{display:inline-block;font-size:10px;margin:5px 0 8px;padding:3px 7px;border:1px solid var(--line);border-radius:5px}.tc-connections li>p{color:var(--muted);font-size:11px}.tc-error,.tc-notice{display:flex;gap:8px;align-items:start;border:1px solid var(--line);border-radius:9px;background:var(--white);padding:12px;font-size:13px;margin-bottom:15px}.tc-error{color:var(--danger)}.tc-notice{color:var(--pine)}@media(max-width:700px){.tc-metrics{grid-template-columns:1fr;gap:9px}.tc-metrics article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:14px}.tc-metrics strong{grid-column:2;grid-row:1 / 3;align-self:center;margin:0;font-size:28px}.tc-metrics p{grid-column:1}.tc-tools,.tc-connections ul{grid-template-columns:1fr}.tc-review{padding:16px}.tc-conflicts article{padding:12px}.tc-conflicts button{flex:1 1 100%}.tc-form,.tc-tool>summary{padding-left:14px;padding-right:14px}.tc-window{gap:7px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px}.tc-window input{padding:8px 5px}.tc-actions>button{width:100%}}@media(prefers-reduced-motion:reduce){.training-context *{scroll-behavior:auto}}.coach-dashboard{min-width:0}.coach-desk-heading{max-width:800px;margin-bottom:25px}.coach-desk-heading h2{font-size:clamp(32px,4vw,49px);line-height:1.15;letter-spacing:-.05em;margin:0 0 16px}.coach-desk-heading>p:last-child{font-size:17px;color:var(--muted);max-width:47em}.coach-desk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.coach-desk-stats>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 11px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:16px}.coach-desk-stats strong{font-size:28px;line-height:1.2}.coach-desk-stats span{grid-column:1/-1;font-size:13px;color:var(--muted)}.coach-desk-feedback{color:var(--pine);font-size:14px;margin:12px 0;min-height:0}.coach-desk-feedback:empty{display:none}.coach-desk-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin-top:30px}.coach-section-title{margin-bottom:18px}.coach-section-title h2,.coach-admin-card h2{font-size:24px;letter-spacing:-.035em;line-height:1.25;margin:0 0 9px}.coach-section-title p,.coach-admin-card>p{font-size:14px;color:var(--muted)}.coach-athlete-card,.coach-admin-card{border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--white);min-width:0}.coach-athlete-card+.coach-athlete-card{margin-top:15px}.coach-athlete-top{display:flex;align-items:center;gap:13px}.coach-athlete-initial{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;background:var(--soft);color:var(--pine);border-radius:14px;font-weight:650}.coach-athlete-top h3{font-size:21px;margin:0;letter-spacing:-.03em}.coach-athlete-top p{font-size:13px;color:var(--muted);margin:3px 0 0}.coach-athlete-goal{font-size:16px;font-weight:550;margin:17px 0 6px}.coach-athlete-context{font-size:14px;color:var(--muted);margin:0 0 17px}.coach-attention{padding:14px;border-radius:12px;background:var(--soft);border-left:3px solid var(--pine)}.coach-attention strong{font-size:14px}.coach-attention p{font-size:14px;color:var(--muted);margin:6px 0 0}.coach-quiet-status{display:flex;gap:7px;align-items:center;font-size:14px;color:var(--muted)}.coach-followup-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;margin:14px 0;font-size:13px;color:var(--muted)}.coach-followup-status button{min-height:44px;border:0;padding:8px 0;background:transparent;color:var(--pine);font:inherit;font-weight:650;text-decoration:underline;text-underline-offset:4px}.coach-card-actions{display:flex;gap:8px;flex-wrap:wrap}.coach-card-actions .button{font-size:13px;min-height:44px;padding:10px 13px;white-space:normal}.coach-admin{display:grid;align-content:start;gap:18px;min-width:0}.coach-admin-card form{display:grid;gap:14px;margin-top:20px}.coach-admin-card label{display:grid;gap:6px;font-size:14px;font-weight:550}.coach-admin-card input,.coach-admin-card select,.coach-admin-card textarea{width:100%;max-width:100%;min-width:0;padding:11px 12px;font:inherit;line-height:1.4;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:inherit}.coach-admin-card textarea{resize:vertical}.coach-admin-card>.eyebrow{font-size:10px;margin:0 0 10px}.coach-admin-card>label{margin-top:18px}.coach-tool-note{font-size:13px!important;color:var(--muted);line-height:1.55;margin:13px 0}.coach-admin-card .button{min-height:44px;font-size:14px;white-space:normal}.coach-template-preview{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.coach-template-preview h3{font-size:17px;margin:0 0 6px}.coach-template-preview p{font-size:13px;color:var(--muted)}.coach-template-preview ul{list-style:none;padding:0;margin:15px 0}.coach-template-preview li{display:grid;gap:3px;font-size:13px;padding:11px 0;border-bottom:1px solid var(--line)}.coach-template-preview li span{color:var(--muted)}.coach-template-preview>.button{margin-top:10px;width:100%}.coach-dashboard button:focus-visible,.coach-dashboard input:focus-visible,.coach-dashboard select:focus-visible,.coach-dashboard textarea:focus-visible{outline:3px solid var(--pine);outline-offset:3px}.coach-dashboard button:disabled{opacity:.55;cursor:wait}@media(max-width:1100px){.coach-desk-columns{grid-template-columns:1fr}.coach-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.coach-section-title{grid-column:1/-1;margin:0}.coach-athlete-card+.coach-athlete-card{margin-top:0}.coach-admin{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-athlete-card,.coach-admin-card{padding:21px}}@media(max-width:700px){.coach-roster,.coach-admin{grid-template-columns:1fr}.coach-desk-stats{gap:7px}.coach-desk-stats>div{padding:13px;gap:6px}.coach-desk-stats strong{font-size:24px}.coach-desk-stats span{font-size:12px;line-height:1.4}.coach-desk-heading h2{font-size:35px}.coach-desk-heading>p:last-child{font-size:16px}.coach-desk-columns{gap:21px}.coach-card-actions .button{flex:1 1 140px}.coach-athlete-card,.coach-admin-card{padding:20px}.coach-desk-stats svg{width:17px;height:17px}}@media(max-width:350px){.coach-desk-stats>div{padding:10px;grid-template-columns:1fr}.coach-desk-stats svg{display:none}.coach-desk-stats span{font-size:11px}.coach-athlete-card,.coach-admin-card{padding:17px}.coach-desk-heading h2{font-size:31px}}.coach-inbox{min-width:0;margin:25px 0 30px;color:var(--pine)}.ci-heading{margin-bottom:17px}.ci-heading h2{font-size:24px;letter-spacing:-.6px}.ci-heading p{margin-top:6px;font-size:13px;color:var(--muted)}.ci-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.ci-stream{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--white)}.ci-stream>summary{display:flex;align-items:center;gap:12px;padding:19px 17px;cursor:pointer;list-style:none}.ci-stream>summary::-webkit-details-marker{display:none}.ci-stream>summary>svg{flex:0 0 22px}.ci-stream>summary>span:not(.ci-count){display:grid;gap:3px;min-width:0}.ci-stream>summary strong{font-size:15px}.ci-stream>summary small{font-size:11px;color:var(--muted)}.ci-count{display:grid;place-items:center;min-width:32px;min-height:32px;margin-left:auto;border-radius:9px;background:var(--soft);font-size:17px;font-weight:700}.ci-stream-content{padding:0 17px 17px;font-size:13px;min-width:0}.ci-stream p,.ci-stream strong,.ci-stream small,.ci-stream button{overflow-wrap:anywhere}.ci-item,.ci-race{min-width:0;padding:14px 0;border-top:1px solid var(--line)}.ci-item>p,.ci-race>p{margin-top:5px}.ci-meta{color:var(--muted);font-size:11px;line-height:1.65}.ci-footnote{margin-top:12px}.ci-empty{display:flex;align-items:start;gap:8px;padding:5px 0}.ci-empty svg{flex-shrink:0;margin-top:2px}.ci-actions{display:flex;flex-wrap:wrap;gap:5px 15px;align-items:center}.ci-link{display:inline-flex;align-items:center;justify-content:start;gap:7px;padding:8px 0;min-height:44px;max-width:100%;background:transparent;color:var(--pine);font-size:12px;font-weight:700;text-align:left}.ci-evidence{min-width:0;border-top:1px solid var(--line);margin-top:10px}.ci-evidence>summary{padding:13px 0;min-height:44px;cursor:pointer;font-size:12px;font-weight:700;overflow-wrap:anywhere}.ci-evidence>summary small{margin-left:9px;color:var(--muted);font-size:11px;font-weight:500}.ci-import-review{min-width:0;padding-bottom:10px}.ci-records{list-style:none;margin:10px 0 14px;padding:0;display:grid;gap:8px;max-height:340px;overflow-y:auto;overscroll-behavior:contain}.ci-records li{padding:12px;border-radius:8px;background:var(--soft);font-size:12px}.ci-records li strong{display:block;font-size:12px}.ci-records li small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.ci-item-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 10px}.ci-item-heading>span{font-size:10px;padding:3px 7px;background:var(--soft);border-radius:5px}.ci-due{color:var(--danger)}.ci-race-context{display:grid;gap:8px;padding-bottom:10px;font-size:12px}.ci-race-context p{white-space:pre-wrap}.ci-schedule{display:grid;gap:10px;padding:12px;border-radius:8px;background:var(--soft);margin:7px 0}.ci-schedule label{display:grid;gap:7px;min-width:0;font-size:12px;font-weight:650}.ci-schedule input{min-width:0;width:100%;max-width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--pine)}.coach-inbox .button{min-height:44px;height:auto;max-width:100%;padding:10px 13px;font-size:12px;white-space:normal;line-height:1.5}.ci-notice{margin-bottom:15px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--white);font-size:13px}.ci-unknown{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.ci-unknown .ci-link{margin-right:13px}@media(max-width:850px){.ci-grid{grid-template-columns:1fr}}@media(max-width:400px){.ci-stream>summary{padding:15px 12px;gap:8px}.ci-stream-content{padding:0 12px 14px}.ci-count{min-width:27px;min-height:29px}.ci-stream>summary strong{font-size:14px}.ci-actions .button{width:100%}}.athlete-progress{min-width:0;margin:30px 0;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--white);overflow-wrap:anywhere}.ap-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:13px}.ap-heading>div{min-width:0;flex:1 1 300px}.ap-heading h2{font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.035em;margin-top:10px}.ap-demo-label{padding:6px 11px;border-radius:20px;font-size:12px;color:var(--muted);background:var(--soft)}.ap-intro{max-width:52em;margin-top:13px;font-size:15px;color:var(--muted)}.ap-history{padding:20px;margin:24px 0;border:1px solid var(--line);border-radius:15px}.ap-history-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px}.ap-history-heading h3{font-size:17px;line-height:1.4}.ap-history-heading>span{font-size:12px;color:var(--muted)}.ap-history-chart{display:grid;gap:12px;margin:21px 0}.ap-history-row{display:grid;grid-template-columns:140px minmax(0,1fr) 110px;align-items:center;gap:15px}.ap-history-row>span{font-size:12px;color:var(--muted)}.ap-history-track{height:13px;display:flex;gap:0;min-width:0;background:var(--paper);border-radius:4px;overflow:hidden}.ap-history-track>span{height:100%;min-width:0}.ap-history-row>strong{font-size:14px;text-align:right}.ap-history-row>strong small{display:block;color:var(--muted);font-size:11px;font-weight:400}.ap-history [data-sport=run]{background:var(--pine)}.ap-history [data-sport=ride]{background:#80995c}.ap-history [data-sport=swim]{background:#539497}.ap-history [data-sport=strength]{background:#ae8557}.ap-history-sports{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:17px 0;margin:0;border-top:1px solid var(--line)}.ap-history-sports li{display:flex;align-items:flex-start;gap:7px;min-width:0}.ap-history-sport-key{width:9px;height:9px;flex-shrink:0;border-radius:2px;margin-top:5px}.ap-history-sports li>div{display:grid;gap:3px;min-width:0}.ap-history-sports strong{font-size:13px}.ap-history-sports li span:not(.ap-history-sport-key){font-size:13px}.ap-history-sports small{color:var(--muted);font-size:11px}.ap-history-empty{margin:16px 0;color:var(--muted);font-size:14px}.ap-week-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin:26px 0 18px}.ap-week-heading h3{font-size:17px}.ap-week-heading h3 span{color:var(--muted);font-size:14px;font-weight:500}.ap-week-heading label{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;color:var(--muted);max-width:100%}.ap-week-heading select{min-height:44px;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:var(--paper);color:var(--pine)}.ap-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ap-metrics article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 9px;align-content:start;padding:18px;border-radius:14px;background:var(--paper)}.ap-metrics article>svg{color:var(--muted);margin-top:1px}.ap-metrics article>span{font-size:13px;line-height:1.5}.ap-metrics strong{grid-column:1 / -1;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.045em;line-height:1.3}.ap-metrics strong small{font-size:18px;color:var(--muted);font-weight:500;letter-spacing:0}.ap-metrics p{grid-column:1 / -1;color:var(--muted);font-size:12px}.ap-conversation{margin:16px 0 24px;padding:14px 16px;border-left:3px solid var(--pine);border-radius:0 11px 11px 0;background:var(--soft);font-size:14px}.ap-conversation strong{font-weight:650}.ap-chart-title{display:flex;flex-wrap:wrap;gap:9px 20px;justify-content:space-between;align-items:center}.ap-chart-title h3,.ap-detail-grid h3{font-size:17px;line-height:1.4}.ap-chart-title p{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.ap-key{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}.ap-key-planned{background:var(--soft);border:1px solid var(--muted)}.ap-key-completed{background:var(--pine);margin-left:9px}.ap-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:20px 0 13px}.ap-chart button{min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 7px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit}.ap-chart button[aria-pressed=true]{background:var(--paper);border-color:var(--line)}.ap-chart button:hover{border-color:var(--pine)}.ap-chart button>strong{font-size:13px}.ap-chart button>small{color:var(--muted);font-size:11px}.ap-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100px;width:100%;margin-bottom:7px;border-bottom:1px solid var(--line)}.ap-bars>span{display:block;width:16px;max-width:38%;border-radius:4px 4px 0 0}.ap-bar-planned{background:var(--soft);border:1px solid var(--muted)}.ap-bar-completed{background:var(--pine)}.ap-fineprint{font-size:12px;color:var(--muted);line-height:1.6}.ap-details{border-top:1px solid var(--line);margin-top:15px;font-size:13px}.ap-details>summary{padding:13px 0;cursor:pointer;min-height:44px;font-weight:600}.ap-details>div{padding-bottom:14px}.ap-table-wrap{overflow-x:auto}.ap-table-wrap table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.ap-table-wrap caption{text-align:left;color:var(--muted);margin-bottom:10px}.ap-table-wrap th,.ap-table-wrap td{padding:9px 10px 9px 0;border-bottom:1px solid var(--line)}.ap-detail-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;padding:22px 0 6px;border-top:1px solid var(--line);margin-top:9px}.ap-detail-grid section{min-width:0}.ap-detail-grid h3{margin-bottom:12px}.ap-detail-grid p{font-size:14px;color:var(--muted)}.ap-detail-grid .ap-fineprint{font-size:12px;margin-top:12px}.ap-records ul{list-style:none;padding:0;margin:0}.ap-records li{padding:12px 0;border-bottom:1px solid var(--line)}.ap-records li:first-child{padding-top:0}.ap-records li>div{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;font-size:14px}.ap-records li>p{font-size:12px;margin-top:5px}.ap-checkin{padding:18px;border-radius:14px;background:var(--paper)}.ap-checkin-date{font-size:13px!important}.ap-effort{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:16px}.ap-effort strong{font-size:34px;line-height:1.1}.ap-effort strong small{font-size:17px;font-weight:400;color:var(--muted)}.ap-effort>span{flex:1 1 100px;font-size:12px;color:var(--muted)}.ap-checkin blockquote{margin:16px 0 0;padding-left:13px;border-left:2px solid var(--line);font-size:14px;white-space:pre-wrap}.ap-sources p{color:var(--muted);font-size:13px}.ap-sources p+p{margin-top:10px}.athlete-progress button:focus-visible,.athlete-progress select:focus-visible,.athlete-progress summary:focus-visible,.ap-table-wrap:focus-visible{outline:3px solid var(--pine);outline-offset:3px}@media(max-width:750px){.athlete-progress{padding:21px}.ap-metrics{gap:8px}.ap-metrics article{padding:13px;grid-template-columns:1fr}.ap-metrics article>svg{display:none}.ap-metrics strong{font-size:24px}.ap-metrics article>span{font-size:12px}.ap-metrics p{font-size:11px}.ap-detail-grid{grid-template-columns:1fr;gap:22px}.ap-chart{gap:4px}.ap-chart button{padding:8px 4px}}@media(max-width:480px){.athlete-progress{padding:18px}.ap-metrics{grid-template-columns:1fr}.ap-metrics article{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center}.ap-metrics strong{grid-column:2;grid-row:1 / 3;font-size:26px}.ap-metrics p{grid-column:1}.ap-chart{gap:2px}.ap-chart button>small{font-size:10px}.ap-week-heading{align-items:flex-start}.ap-week-heading h3{width:100%}.ap-week-heading label{width:100%;justify-content:space-between}.ap-chart-title p{font-size:11px}.ap-bars{gap:3px;height:85px}}@media(max-width:750px){.ap-history{padding:16px}.ap-history-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}.ap-history-track{grid-column:1;grid-row:2}.ap-history-row>strong{grid-column:2;grid-row:1 / 3}.ap-history-sports{gap:13px 20px}.ap-history-heading h3{font-size:16px}}.data-connections{min-width:0;margin-top:24px;border:1px solid var(--line);border-radius:18px;background:var(--white)}.data-connections>summary{display:flex;align-items:center;gap:14px;min-height:76px;padding:22px 24px;border-radius:inherit;list-style:none;cursor:pointer}.data-connections>summary::-webkit-details-marker{display:none}.data-connections>summary::marker{content:""}.data-connections>summary:focus-visible,.data-source-links a:focus-visible{outline:3px solid var(--pine);outline-offset:4px}.data-connections-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--soft);color:var(--pine)}.data-connections-heading{display:grid;gap:4px;min-width:0;flex:1}.data-connections-heading strong{font-size:18px;font-weight:650;line-height:1.35;letter-spacing:-.02em;overflow-wrap:anywhere}.data-connections-heading>span{color:var(--muted);font-size:13px;line-height:1.5}.data-connections-chevron{flex-shrink:0;color:var(--muted)}.data-connections[open]>summary .data-connections-chevron{transform:rotate(180deg)}.data-connections-body{padding:0 24px 24px}.data-connections-current{display:grid;gap:5px;margin:0 0 20px;padding:15px 17px;border-radius:12px;background:var(--soft);font-size:14px;line-height:1.6}.data-connections-current strong{font-weight:650}.data-connections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.data-source-card{display:flex;flex-direction:column;min-width:0;padding:19px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.data-source-card .data-source-status{margin:0 0 7px;color:var(--muted);font-size:11px;line-height:1.5;font-weight:650;letter-spacing:.025em}.data-source-card h3{margin:0 0 10px;font-size:18px;line-height:1.35;letter-spacing:-.02em;overflow-wrap:anywhere}.data-source-card>p{margin:0 0 11px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.data-source-card .data-source-condition{color:var(--muted);font-size:13px}.data-source-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:auto;padding-top:2px}.data-source-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--pine);font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:4px}.data-source-links a svg{flex-shrink:0}.data-connections-note{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.65}@media(max-width:700px){.data-connections>summary{align-items:flex-start;gap:11px;padding:19px}.data-connections-icon{flex-basis:35px;height:35px;border-radius:10px}.data-connections-heading strong{font-size:17px}.data-connections-chevron{margin-top:7px}.data-connections-body{padding:0 19px 19px}.data-connections-grid{grid-template-columns:1fr;gap:12px}.data-source-card{padding:17px}}@media(max-width:350px){.data-connections>summary{gap:9px;padding:16px}.data-connections-icon{display:none}.data-connections-body{padding:0 16px 16px}}.athlete-hub{margin:25px 0 36px;border:1px solid var(--line);border-radius:24px;background:var(--white);padding:32px;min-width:0;overflow-wrap:anywhere}.ah-profile-header{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:22px}.ah-portrait{width:112px;height:112px;object-fit:cover;border-radius:24px;flex-shrink:0;border:1px solid var(--line)}.ah-identity{flex:1;min-width:0}.ah-identity h2{font-size:clamp(28px,4vw,39px);line-height:1.18;letter-spacing:-.04em;margin:6px 0}.ah-identity>p:not(.eyebrow){color:var(--muted);font-size:16px}.ah-personal-line{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:10px;font-size:13px;color:var(--muted)}.ah-personal-line span{display:flex;align-items:center;gap:5px}.ah-profile-header>.button{flex-shrink:0}.athlete-hub .eyebrow,.race-goals .eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.12em;line-height:1.5}.ah-note{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0}.ah-fictional-note{margin:18px 0 24px;font-size:12px}.ah-notice{font-size:14px;color:var(--pine);margin:15px 0}.ah-notice:empty{display:none}.ah-error{color:var(--danger);font-size:14px}.ah-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:22px 0 26px;padding-bottom:12px}.ah-tabs button{background:transparent;color:var(--muted);font-weight:600;padding:11px 15px;border-radius:10px;min-height:46px;font-size:14px;display:flex;align-items:center;gap:8px}.ah-tabs button[aria-pressed=true]{background:var(--pine);color:var(--white)}.ah-tabs button span{font-size:11px;border:1px solid currentColor;border-radius:10px;padding:0 5px}.ah-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ah-context-grid article{border-radius:16px;background:var(--paper);padding:22px}.ah-context-grid article>p:last-child{font-size:15px;line-height:1.7;margin-top:12px}.ah-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.ah-section-heading h2{font-size:26px;line-height:1.25;letter-spacing:-.035em;margin:9px 0}.ah-section-heading h3{font-size:19px;line-height:1.4;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.ah-small-tag{font-size:11px;color:var(--muted);background:var(--paper);padding:5px 9px;border-radius:8px}.ah-injuries{margin:18px 0 24px;padding:22px;border:1px solid var(--line);border-radius:16px}.ah-injuries article{margin-top:15px;font-size:14px;line-height:1.65}.ah-injuries article+article{border-top:1px solid var(--line);padding-top:15px}.ah-injuries .race-priority{margin-bottom:6px}.ah-form{display:grid;gap:16px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:17px;margin:22px 0;scroll-margin-top:22px}.ah-form h3{font-size:20px;line-height:1.4}.ah-form label{font-size:14px;font-weight:550;display:grid;gap:6px;min-width:0}.ah-form input,.ah-form select,.ah-form textarea,.race-filters input,.race-filters select{min-width:0;width:100%;max-width:100%;border:1px solid var(--line);border-radius:9px;background:var(--white);padding:12px;font:inherit;color:inherit;line-height:1.5;min-height:46px}.ah-form textarea{resize:vertical}.ah-form small{font-size:12px;font-weight:400;color:var(--muted)}.ah-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ah-inline-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:10px}.ah-inline-actions>button:not(.button){min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px;background:transparent;padding:8px 0;color:var(--pine)}.ah-injury-editor{border:1px solid var(--line);padding:17px;border-radius:12px;display:grid;gap:14px}.ah-injury-editor legend{font-size:13px;padding:0 6px;color:var(--muted)}.ah-next-race{display:flex;gap:16px;align-items:center;justify-content:space-between;width:100%;text-align:left;border:1px solid var(--line);background:var(--soft);padding:22px;border-radius:15px;margin:20px 0}.ah-next-race strong{display:block;font-size:19px;margin:5px 0}.ah-next-race span{font-size:13px;color:var(--muted)}.ah-next-race>span{flex-shrink:0;color:var(--pine);font-weight:600}.ah-sample-history{display:flex;gap:20px;align-items:center;padding:22px;background:var(--paper);border-radius:15px;margin:22px 0}.ah-sample-history>div{flex:1;min-width:0}.ah-sample-history h3{font-size:17px}.ah-sample-history p{font-size:13px;color:var(--muted);margin-top:6px}.ah-sample-history .button{flex-shrink:0}.race-goals{min-width:0}.race-goal-list{display:grid;gap:14px;margin-top:20px}.race-goal-card{display:flex;gap:22px;padding:23px;border:1px solid var(--line);border-radius:18px;background:var(--paper);scroll-margin-top:20px}.race-key{border-left:4px solid var(--pine)}.race-countdown{flex-shrink:0;width:74px;text-align:center;padding-top:5px}.race-countdown strong{display:block;font-size:38px;line-height:1.2;color:var(--pine);letter-spacing:-.04em}.race-countdown span{display:block;font-size:11px;color:var(--muted);line-height:1.4;margin-top:5px}.race-goal-copy{min-width:0;flex:1}.race-goal-copy h3{font-size:20px;line-height:1.4;margin:5px 0}.race-goal-copy>p{font-size:14px;color:var(--muted);margin-bottom:7px}.race-priority{font-size:11px!important;font-weight:650;letter-spacing:.04em;color:var(--pine)!important}.race-personal-note{padding-top:6px;white-space:pre-wrap}.ah-source{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--pine);min-height:44px;line-height:1.4;text-underline-offset:4px}.ah-source svg{flex-shrink:0}.race-empty{display:flex;align-items:center;gap:17px;background:var(--paper);border:1px dashed var(--line);border-radius:15px;padding:24px;margin:20px 0}.race-empty h3{font-size:18px;line-height:1.4}.race-empty p{font-size:14px;color:var(--muted);margin-top:6px}.race-empty svg{flex-shrink:0;color:var(--muted)}.race-remove-confirm{border-top:1px solid var(--line);padding-top:10px}.race-remove-confirm p{font-size:13px;margin-bottom:10px}.race-remove-confirm .button{margin:0 8px 8px 0}.race-catalogue{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.race-catalogue h3{font-size:23px;display:block;margin:9px 0}.race-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:22px 0 12px}.race-filters label{display:grid;gap:6px;align-content:start;font-size:13px;font-weight:550;min-width:0}.race-filters label>span{display:flex;align-items:center;gap:6px}.race-filters input,.race-filters select{background:var(--paper);font-size:14px}.race-event-list{display:grid;gap:0}.race-event{display:grid;grid-template-columns:52px 1fr auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.race-event-date{align-self:start;background:var(--soft);border-radius:12px;text-align:center;padding:9px 5px;color:var(--pine)}.race-event-date strong{display:block;font-size:25px;line-height:1.2}.race-event-date span{font-size:12px}.race-event h4{font-family:Manrope,sans-serif;font-size:16px;line-height:1.5;margin:5px 0}.race-event p{font-size:13px;color:var(--muted)}.race-event .button{font-size:12px;padding:11px 14px}.ah-more{margin-top:24px;border:1px solid var(--line);border-radius:12px;padding:14px 18px}.ah-more summary{cursor:pointer;font-size:14px;font-weight:600;min-height:30px}.ah-more>.ah-source{display:flex;padding:6px 0}.athlete-hub .button,.race-goals .button{white-space:normal;line-height:1.4;min-height:44px}.coach-athlete-top img{width:50px;height:50px;border-radius:15px;object-fit:cover;flex-shrink:0}.coach-roster-personal{display:flex;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:10px 0}.coach-roster-personal span{padding:4px 8px;background:var(--paper);border-radius:7px}.coach-roster-goal{font-size:13px;color:var(--pine);border-top:1px solid var(--line);padding-top:10px;margin-top:12px}@media(max-width:1050px){.ah-profile-header{grid-template-columns:112px minmax(0,1fr)}.ah-profile-header>.button{grid-column:2;margin-left:0;justify-self:start}.ah-sample-history{flex-direction:column;align-items:flex-start}.race-event{grid-template-columns:46px 1fr;gap:14px}.race-event>.button{grid-column:2;justify-self:start}.race-filters{grid-template-columns:1fr 1fr}.race-filters>label:first-child{grid-column:1/-1}}@media(max-width:600px){.athlete-hub{padding:20px;border-radius:18px}.ah-profile-header{grid-template-columns:74px minmax(0,1fr);gap:15px}.ah-portrait{width:74px;height:74px;border-radius:18px;align-self:flex-start}.ah-identity h2{font-size:27px}.ah-profile-header>.button{grid-column:1/-1;margin-left:0}.ah-personal-line{display:grid;gap:7px}.ah-tabs{gap:6px}.ah-tabs button{padding:10px 9px;font-size:12px;flex:1;justify-content:center}.ah-context-grid,.ah-form-grid{grid-template-columns:1fr}.ah-context-grid article,.ah-injuries{padding:18px}.ah-form{padding:17px}.ah-section-heading h2{font-size:24px}.ah-section-heading h3{font-size:18px}.ah-next-race{flex-wrap:wrap;padding:18px}.race-goal-card{padding:17px;gap:13px}.race-countdown{width:49px}.race-countdown strong{font-size:31px}.race-goal-copy h3{font-size:17px}.race-empty{flex-wrap:wrap;padding:20px}.race-filters{grid-template-columns:1fr}.race-filters>label:first-child{grid-column:auto}.race-event{gap:12px}.ah-more{padding:13px}.ah-injury-editor{padding:12px}.ah-profile-header>.button,.ah-sample-history>.button{width:100%}}@media(max-width:350px){.athlete-hub{padding:15px}.ah-portrait{width:58px;height:58px;border-radius:14px}.ah-profile-header{grid-template-columns:58px minmax(0,1fr);gap:11px}.ah-identity h2{font-size:23px}.ah-identity .eyebrow{font-size:9px}.ah-tabs button{font-size:11px}.race-countdown{width:37px}.race-goal-card{gap:10px;padding:13px}.race-goal-copy h3{font-size:16px}.race-event{grid-template-columns:39px 1fr;gap:10px}}.training-blocks{margin-top:32px;padding-top:26px;border-top:1px solid var(--line);color:var(--pine);min-width:0}.tb-heading{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:15px}.tb-heading>div{flex:1 1 250px;min-width:0}.tb-heading h2{font-size:clamp(23px,3vw,32px);letter-spacing:-.04em;line-height:1.22;margin:9px 0}.tb-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}.tb-badge{font-size:11px;background:var(--soft);border:1px solid var(--line);padding:7px 10px;border-radius:8px}.tb-note{font-size:13px;color:var(--muted);margin:13px 0;line-height:1.6}.tb-panel{border:1px solid var(--line);border-radius:13px;background:var(--white);margin-top:16px;min-width:0}.tb-panel>summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-weight:650;font-size:15px;cursor:pointer;padding:18px;list-style:none}.tb-panel>summary:before{content:"+"}.tb-panel[open]>summary:before{content:"−"}.tb-panel>summary>span{font-size:12px;color:var(--muted);font-weight:450;margin-left:auto}.tb-panel-body{padding:0 18px 19px}.training-blocks label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:550}.training-blocks input:not([type=checkbox]),.training-blocks select,.training-blocks textarea{width:100%;min-width:0;max-width:100%;padding:10px 11px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--pine);font-size:14px}.training-blocks textarea{resize:vertical}.training-blocks .tb-check{display:flex;align-items:start;gap:9px;line-height:1.5;margin:15px 0}.tb-check input{flex:0 0 18px;width:18px;height:18px;margin:1px 0;accent-color:var(--pine)}.tb-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.tb-actions>label{flex:1 1 190px}.tb-actions .button,.tb-publish>.button{font-size:13px;white-space:normal;min-height:44px}.tb-icon{display:grid;place-items:center;min-width:44px;min-height:44px;background:var(--soft);color:var(--pine);border:1px solid var(--line);border-radius:8px}.tb-library{display:grid;gap:9px;margin-top:16px}.tb-library article{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:13px 0}.tb-library article>div:first-child{flex:1 1 180px;min-width:0}.tb-library strong{font-size:14px;overflow-wrap:anywhere}.tb-library p{font-size:12px;color:var(--muted);margin:4px 0}.tb-delete{flex:1 1 100%;padding:12px;background:var(--soft);border-radius:8px}.tb-delete>.tb-actions{margin-top:12px}.tb-editor{border-top:1px solid var(--line);padding-top:18px;margin-top:16px}.tb-editor h3,.tb-publish h3{font-size:20px;margin:0 0 12px}.tb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:13px}.tb-stage-editors,.tb-zones{display:grid;gap:12px;margin:16px 0}.tb-stage-editor,.tb-zone{border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}.tb-stage-editor legend,.tb-zone legend{padding:0 6px;font-size:12px;font-weight:650}.tb-stage-editor>.tb-actions{margin-top:10px}.tb-stage-editor>.tb-actions>span{font-size:12px;margin-left:auto}.tb-total{margin:14px 0;font-size:15px;font-weight:650}.tb-zones{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-zone .tb-fields{grid-template-columns:1fr}.tb-text-button{display:flex;align-items:center;min-height:44px;padding:8px 0;background:transparent;color:var(--pine);font-size:13px;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:4px}.tb-publish{padding:20px}.tb-publish>fieldset>label{margin-bottom:15px}.tb-preview{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.tb-preview>p{font-size:14px}.tb-error,.tb-issues{color:var(--danger);font-size:13px;line-height:1.6;margin:13px 0}.tb-issues{padding-left:20px}.tb-issues li+li{margin-top:7px}.tb-notice{font-size:14px;border-left:3px solid var(--pine);padding:11px 14px;background:var(--soft);margin:13px 0}.tb-workout{min-width:0;padding:17px;margin:17px 0;background:var(--soft);border:1px solid var(--line);border-radius:11px;overflow-wrap:anywhere;color:var(--pine)}.tb-workout-heading{display:grid;gap:6px}.tb-workout-heading strong{font-size:16px}.tb-workout-heading span,.tb-workout>p{font-size:13px}.tb-workout>p{margin-top:7px}.tb-workout>small{display:block;color:var(--muted);font-size:11px;line-height:1.6}.tb-stage-list{list-style:none;padding:0;margin:13px 0}.tb-stage-list li{border-top:1px solid var(--line);padding:12px 0}.tb-stage-list li>div{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;font-size:13px}.tb-stage-list li>div>span{color:var(--muted)}.tb-stage-list p{font-size:13px;line-height:1.6;margin-top:6px;white-space:pre-wrap}.tb-target{display:grid;gap:3px}.tb-target strong{font-size:12px}.training-blocks button:focus-visible,.training-blocks input:focus-visible,.training-blocks textarea:focus-visible,.training-blocks select:focus-visible,.training-blocks summary:focus-visible{outline:3px solid var(--pine);outline-offset:3px}.training-blocks button:disabled{cursor:not-allowed}.training-blocks summary::-webkit-details-marker{display:none}@media(max-width:700px){.tb-zones{grid-template-columns:1fr}.tb-panel-body{padding:0 15px 16px}.tb-panel>summary{padding:16px}.tb-publish{padding:17px}.tb-workout{padding:14px}.tb-actions .button{flex:1 1 130px}.tb-fields{gap:10px}.tb-stage-editor,.tb-zone{padding:12px}}@media(max-width:420px){.tb-fields{grid-template-columns:1fr}.tb-heading h2{font-size:25px}.tb-publish{padding:14px}.tb-panel-body{padding:0 12px 14px}.tb-panel>summary{font-size:14px;padding:14px;gap:8px}.tb-workout{padding:12px}.tb-stage-editor{padding:10px}.tb-preview h3{font-size:18px}}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}.theme-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:78px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--pine);font-size:14px}.theme-options button[aria-pressed=true]{background:var(--pine);color:#fffefa;border-color:var(--pine)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;color:#e0e9df;background:#101c18;--pine: #c4e29f;--pine-dark: #d6edbd;--paper: #101c18;--white: #1a2b23;--muted: #a5b4a5;--line: #354b3d;--soft: #263a2c;--danger: #f0b79c}[data-theme=dark] .sidebar,[data-theme=dark] .demo-toolbar{background:#17271f;border-color:var(--line)}[data-theme=dark] .mobile-nav{background:#17271ff5;border-color:var(--line)}[data-theme=dark] .coach-note,[data-theme=dark] .week-summary,[data-theme=dark] .strip-cell,[data-theme=dark] .week-selector button,[data-theme=dark] .conversation,[data-theme=dark] .settings-card,[data-theme=dark] .app-dialog{background:#1a2b23;border-color:var(--line);color:#e0e9df}[data-theme=dark] .life-card,[data-theme=dark] .sample-card,[data-theme=dark] .coach-all-clear,[data-theme=dark] .session-context,[data-theme=dark] .detail-coach-note,[data-theme=dark] .strip-cell.is-done{background:#24372a;border-color:#3a503b}[data-theme=dark] .role-switch,[data-theme=dark] .session-row,[data-theme=dark] .reason-options button{background:#21342a;border-color:var(--line);color:#bfceba}[data-theme=dark] .role-switch button[aria-pressed=true],[data-theme=dark] .desktop-nav button.active,[data-theme=dark] .reason-options button[aria-pressed=true]{background:#3b5134;border-color:#8da77d;color:#eff9df}[data-theme=dark] .desktop-nav button:hover:not(.active),[data-theme=dark] .session-row:hover,[data-theme=dark] button.strip-cell:hover,[data-theme=dark] .button.outline:hover:not(:disabled){background:#30462f;border-color:#66835d}[data-theme=dark] .button.primary,[data-theme=dark] .theme-options button[aria-pressed=true],[data-theme=dark] .week-selector button[aria-pressed=true],[data-theme=dark] .round-arrow,[data-theme=dark] .nav-count,[data-theme=dark] .role-switch button>span{background:#c4e29f;color:#162b22;border-color:#c4e29f}[data-theme=dark] .button.primary:hover:not(:disabled){background:#d6edbd}[data-theme=dark] .week-selector button[aria-pressed=true]>span{color:#304d35}[data-theme=dark] .button.outline{border-color:#71886b}[data-theme=dark] .next-workout{background:#173e32;color:#edf5e9;border:1px solid #365947}[data-theme=dark] .hero h1>span{color:#91b982}[data-theme=dark] .coach-avatar,[data-theme=dark] .athlete-avatar,[data-theme=dark] .life-icon,[data-theme=dark] .strip-icon,[data-theme=dark] .session-sport,[data-theme=dark] .settings-icon,[data-theme=dark] .settings-icon.lime{background:#354b31;color:#c2dc9c;border-color:#456039}[data-theme=dark] .strip-icon.ride,[data-theme=dark] .session-sport.ride{background:#29443e;color:#b0d6cb}[data-theme=dark] .strip-cell.rest-cell,[data-theme=dark] .strip-icon.rest{background:transparent}[data-theme=dark] .status-pill.pending,[data-theme=dark] .inline-notice{background:#433c24;color:#ead898!important}[data-theme=dark] .status-pill.approved,[data-theme=dark] .count-pill,[data-theme=dark] .completed-detail,[data-theme=dark] .session-detail-tags>span{background:#31462c;border-color:#4d6543;color:#c7dda6}[data-theme=dark] .status-pill.declined{background:#44352a;color:#e1c1a8}[data-theme=dark] .message p{background:#293b2e;color:#e0e9df}[data-theme=dark] .message.from-athlete p{background:#3a5034;color:#eff5e7}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:#132219;border-color:#597050;color:#e5eddf}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#a1b09a}[data-theme=dark] .hero-description,[data-theme=dark] .life-card>p:not(.eyebrow),[data-theme=dark] .coach-note blockquote,[data-theme=dark] .settings-card>p,[data-theme=dark] .page-heading>p:last-child,[data-theme=dark] .athlete-context,[data-theme=dark] .dialog-content>p,[data-theme=dark] .prescription p,[data-theme=dark] .detail-coach-note>p{color:#becbbb}[data-theme=dark] .eyebrow,[data-theme=dark] .tiny-label,[data-theme=dark] .demo-label,[data-theme=dark] .demo-toolbar-note,[data-theme=dark] .role-switch button,[data-theme=dark] .desktop-nav button,[data-theme=dark] .mobile-nav button,[data-theme=dark] .setting-fact,[data-theme=dark] .page-footer,[data-theme=dark] .footer-brand,[data-theme=dark] .field-legend,[data-theme=dark] label,[data-theme=dark] .rest-row{color:#b4c3ab}[data-theme=dark] .mobile-nav button.active,[data-theme=dark] .language-switch button[aria-pressed=true]{color:#daf0bb}[data-theme=dark] .main-shell small,[data-theme=dark] .hero-goal>small,[data-theme=dark] .plan-week-totals span,[data-theme=dark] .strip-day,[data-theme=dark] .day-date strong,[data-theme=dark] .message-meta time,[data-theme=dark] .change-comparison span,[data-theme=dark] .week-summary-stat>span,[data-theme=dark] .week-progress>div:first-child,[data-theme=dark] .request-caution,[data-theme=dark] .subtle-note,[data-theme=dark] .dialog-content .detail-sample,[data-theme=dark] .range-labels,[data-theme=dark] .form-note{color:#acbea3!important}[data-theme=dark] .message-meta strong,[data-theme=dark] .message-composer>label strong,[data-theme=dark] .coach-reply strong,[data-theme=dark] .prescription strong{color:#bfd5a7}[data-theme=dark] .progress-track{background:#354938}[data-theme=dark] .day-row,[data-theme=dark] .settings-link,[data-theme=dark] .prescription,[data-theme=dark] .sidebar-coach,[data-theme=dark] .hero-goal,[data-theme=dark] .goal-orbit{border-color:var(--line)}[data-theme=dark] .error-banner,[data-theme=dark] .dialog-error{background:#3a2921;border-color:#986c53;color:#f3c4a9}[data-theme=dark] .danger-text{color:#edb99b}[data-theme=dark] :focus-visible{outline-color:#d8ee95}:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#243c33;background:#f6f5ef;font-synthesis:none;font-size:16px;line-height:1.55;--pine: #193f35;--pine-dark: #14352c;--lime: #d8ee95;--paper: #f6f5ef;--white: #fffefa;--muted: #707a70;--line: #e2e5d9;--soft: #eeeee4;--danger: #a64736}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-hyphens:auto;hyphens:auto}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit}button,a,input,textarea,select{outline-offset:4px}:focus-visible{outline:2px solid #739742}button svg,a svg{flex-shrink:0}button{border:0}svg{vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-family:Manrope,DM Sans,sans-serif}h1,h2,h3{text-wrap:balance;-webkit-hyphens:auto;hyphens:auto}fieldset{min-width:0;padding:0;border:0;margin:0}img,svg{max-width:100%}.skip-link{position:fixed;top:-80px;left:12px;z-index:100;padding:14px 20px;border-radius:10px;background:var(--pine);color:#fff}.skip-link:focus{top:10px}.app-shell{min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;padding:39px 22px 25px;background:#efefe5;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;color:var(--pine);text-decoration:none;min-height:44px}.brand>svg{width:37px;height:37px}.brand>span{font-family:Manrope,sans-serif;font-size:28px;font-weight:800;letter-spacing:-1.7px}.brand-dot{color:#7d984a}.brand-caption{margin:7px 0 44px 45px;color:var(--muted);font-size:14px}.desktop-nav{display:grid;gap:9px}.desktop-nav button{display:flex;align-items:center;gap:13px;min-height:51px;padding:12px 15px;border-radius:10px;background:transparent;text-align:left;color:#667269;font-size:15px;font-weight:550}.desktop-nav button svg{width:19px;height:19px;stroke-width:1.7}.desktop-nav button.active{color:var(--pine);background:#dfe7cd;font-weight:750}.desktop-nav button:hover:not(.active){background:#e8eade}.nav-count{display:grid;place-items:center;margin-left:auto;height:22px;min-width:22px;border-radius:50%;background:var(--pine);color:#fff;font-size:12px}.sidebar-coach{display:flex;align-items:center;gap:10px;padding:20px 0;margin-top:auto;border-bottom:1px solid #d9dfd0}.avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:Manrope,sans-serif;font-weight:750}.coach-avatar{width:42px;height:42px;border-radius:50%;background:#e1e7ce;color:#5e7044;font-size:19px}.sidebar-coach>div{display:grid;gap:2px;min-width:0}.sidebar-coach strong{font-size:14px}.sidebar-coach small{color:var(--muted);font-size:12px}.online-dot{width:6px;height:6px;margin-left:auto;border-radius:50%;background:#789651}.sidebar-bottom{padding-top:24px}.tiny-label{font-size:11px;font-weight:650;letter-spacing:1.15px;color:#75816d}.goal-mini{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:550}.sidebar-bottom>p{font-size:12px;color:var(--muted);margin-top:11px}.main-shell{margin-left:232px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:91px;padding:0 48px;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:17px;font-size:14px}.breadcrumb>span{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#879080}.breadcrumb i{width:1px;height:14px;background:#ccd3c5;transform:rotate(25deg)}.topbar-actions{display:flex;align-items:center;gap:23px}.language-switch{display:flex;align-items:center;gap:3px}.language-switch button{min-width:36px;min-height:44px;padding:6px;background:transparent;color:#8b9386;font-size:14px;font-weight:550}.language-switch button[aria-pressed=true]{color:var(--pine);font-weight:750}.language-switch>span{color:#b3baac;font-size:13px}.topbar-divider{height:23px;width:1px;background:var(--line)}.athlete-avatar{width:39px;height:39px;border-radius:50%;background:#e2e7d8;border:3px solid #fff;color:var(--pine);font-size:11px}.mobile-brand{display:none}.demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 48px;background:#f0f1e9;border-bottom:1px solid #e5e8dc}.demo-label{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;color:#758268;font-size:11px;font-weight:700;letter-spacing:.9px}.demo-dot{width:5px;height:5px;border-radius:50%;background:#86a359}.demo-toolbar-note{margin-left:6px;color:#7e8778;font-size:12px;font-weight:450;letter-spacing:0}.role-switch{flex-shrink:0;display:flex;padding:3px;border:1px solid #d9dfcf;border-radius:30px;background:#e8ecdf}.role-switch button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:5px 18px;border-radius:22px;background:transparent;font-size:12px;font-weight:600;color:#7b8574}.role-switch button[aria-pressed=true]{background:#fffef9;color:var(--pine);box-shadow:0 1px 4px #2d422013}.role-switch button>span{min-width:17px;padding:0 3px;border-radius:10px;background:var(--pine);color:#fff;font-size:11px}.page{max-width:1290px;min-width:0;margin:0 auto;padding:41px 48px 0}.hero{display:flex;align-items:center;justify-content:space-between;gap:34px;padding-bottom:35px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:750;letter-spacing:1.35px;color:#83916f;line-height:1.5}.hero .eyebrow{margin-bottom:16px}.hero-copy{min-width:0}.hero h1{font-size:clamp(40px,4.1vw,59px);font-weight:650;letter-spacing:-2.8px;line-height:1.07;color:var(--pine)}.hero h1>span{color:#6f8359}.hero-description{max-width:450px;margin-top:17px;font-size:15px;line-height:1.7;color:#586653}.hero-goal{min-width:194px;position:relative;margin-top:10px;padding:12px 0 12px 30px;border-left:1px solid #dbe1d0}.goal-orbit{display:grid;place-items:center;position:absolute;right:2px;top:-1px;width:43px;height:43px;border:1px solid #dce3cf;border-radius:50%;color:#9aad79;transform:rotate(-9deg)}.goal-orbit svg{width:19px}.hero-goal>strong{display:block;margin-top:7px;color:var(--pine);font-size:47px;font-weight:650;letter-spacing:-2px}.hero-goal>strong>span{color:#8d987d;font-size:18px;font-weight:500;letter-spacing:-.5px}.hero-goal>p:not(.tiny-label){font-size:13px;font-weight:550}.hero-goal>small{display:block;margin-top:5px;color:#8a9281;font-size:11px}.today-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:24px}.next-workout{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px;border-radius:18px;background:var(--pine);color:var(--white);overflow:hidden}.next-workout:after{pointer-events:none;content:"";position:absolute;top:45px;right:-110px;width:360px;height:360px;border:1px solid #d8ee9510;border-radius:50%;box-shadow:0 0 0 28px #d8ee9504,0 0 0 58px #d8ee9503}.workout-topline{z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}.light-eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:1.4px;color:#bdcea8}.live-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px #d8ee9515}.workout-date{color:#afc2ac;font-size:11px;white-space:nowrap}.workout-head{display:flex;align-items:center;gap:12px;margin-top:33px}.sport-tile{display:grid;place-items:center;width:48px;height:48px;background:#e0f2b417;border:1px solid #d8ee951d;border-radius:13px;color:var(--lime)}.sport-tile>svg{width:23px}.intensity-tag{border:1px solid #a6c18035;border-radius:5px;padding:3px 9px;font-size:11px;font-weight:500;color:#c4d4ad}.next-workout h2{z-index:1;max-width:350px;margin-top:17px;font-size:clamp(26px,2.2vw,34px);font-weight:550;letter-spacing:-1.2px;line-height:1.17}.workout-metrics{display:flex;align-items:center;gap:27px;margin-top:26px}.workout-metrics>div:not(.metric-divider){display:flex;flex-direction:column;gap:5px}.workout-metrics strong{font-size:37px;font-weight:550;letter-spacing:-1.5px;line-height:1.1}.workout-metrics strong>span{font-size:15px;font-weight:400;letter-spacing:0;color:#adbea3}.workout-metrics small{display:flex;align-items:center;gap:5px;font-size:11px;color:#9eb69a}.workout-metrics .effort-word{margin-bottom:3px;font-size:26px;font-weight:450;letter-spacing:-.6px}.metric-divider{width:1px;height:50px;background:#d8ee951c}.workout-bars{display:flex;align-items:end;gap:4px;height:103px;padding:13px 0 0;margin-top:auto;border-bottom:1px solid #d8ee9525}.workout-bars>span{flex:1;border-radius:3px 3px 0 0;background:#cce88b}.workout-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px}.workout-footer>span{max-width:235px;font-size:11px;font-weight:400;color:#a7bc9e}.round-arrow{display:grid;flex-shrink:0;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--pine)}.round-arrow>svg{width:21px}.right-stack{display:flex;flex-direction:column;gap:17px;min-width:0}.life-card{position:relative;padding:26px 27px 23px;border:1px solid #dfe3d2;border-radius:18px;background:#eff1e4}.life-icon{position:absolute;right:23px;top:22px;display:grid;width:37px;height:37px;place-items:center;border-radius:50%;background:#e2e8cc;color:#7b8e5d;transform:rotate(-7deg)}.life-icon>svg{width:19px}.life-card .eyebrow{font-size:10px;letter-spacing:1.1px;margin:0 38px 13px 0}.life-card h2{font-size:28px;letter-spacing:-1px;font-weight:650;line-height:1.2}.life-card>p:not(.eyebrow){max-width:320px;margin-top:12px;margin-bottom:19px;font-size:13px;color:#586653;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid transparent;border-radius:8px;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4;transition:background .15s ease,transform .15s ease}.button.primary{color:#edf3df;background:var(--pine)}.button.primary:hover:not(:disabled){background:#285746}.button.outline{border-color:#d7decb;background:transparent;color:var(--pine)}.button.outline:hover:not(:disabled){background:#e8eddc}.life-card .button{width:100%;justify-content:space-between;font-size:12px;border-radius:8px}.life-card>small{display:block;text-align:center;margin-top:9px;font-size:10px;color:#8a947b}.coach-note{padding:20px 23px;border:1px solid var(--line);border-radius:16px;background:#fffefa}.coach-note-head{display:flex;align-items:center;gap:10px}.coach-note-head .avatar{height:35px;width:35px;font-size:15px}.coach-note-head>div{display:grid;gap:1px}.coach-note-head strong{font-size:12px;font-weight:650}.coach-note-head small{font-size:10px;color:#8a9280}.coach-note-head>svg{width:17px;margin-left:auto;color:#97a885}.coach-note blockquote{margin:13px 0 6px;font-size:13px;font-weight:450;line-height:1.65;color:#68765e}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 0;min-height:35px;border:0;background:transparent;color:var(--pine);font-size:12px;font-weight:650;text-decoration:none}.text-button:hover{color:#759446}.week-overview{margin-top:41px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading .eyebrow{margin-bottom:7px;font-size:10px;letter-spacing:1.1px}.section-heading h2{color:var(--pine);font-size:23px;font-weight:650;letter-spacing:-.8px;line-height:1.3}.week-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:23px;align-items:center;margin:0 0 24px;padding:22px 25px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.week-summary-stat{display:flex;flex-direction:column}.week-summary-stat>strong{font-size:26px;font-weight:650;letter-spacing:-.9px;line-height:1.4}.week-summary-stat>strong>small{color:#87927b;font-size:14px;font-weight:400;letter-spacing:0}.week-summary-stat>span{color:#89917f;font-size:11px}.week-progress{padding-left:10px}.week-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:11px;color:#8a947e}.week-progress strong{color:#6f835b;font-size:12px}.progress-track{height:5px;border-radius:10px;background:#ecefe4}.progress-track>span{display:block;height:100%;border-radius:inherit;background:#aec77c}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:11px}.strip-cell{display:flex;flex-direction:column;align-items:center;min-width:0;padding:16px 6px 12px;border:1px solid var(--line);border-radius:10px;background:#fffefa}button.strip-cell:hover{border-color:#a2b777;background:#f2f5e7}.strip-cell.is-done{background:#edf1e3;border-color:#dde5ce}.strip-cell.rest-cell{border-style:dashed;background:transparent}.strip-day{color:#8a947e;font-size:10px}.strip-icon{display:grid;width:33px;height:33px;place-items:center;margin:10px 0 8px;border-radius:50%;color:#7a9360;background:#eef2e4}.strip-icon>svg{width:16px;height:16px;stroke-width:1.7}.strip-icon.is-done{background:#dce8c1;color:#72914d}.strip-icon.rest{color:#a4ad96;background:transparent}.strip-icon.ride{color:#7b9388;background:#eaf0e8}.strip-cell>strong{font-size:15px;font-weight:650}.strip-cell>small{margin-top:3px;font-size:10px;color:#8b947f}.page-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:28px 0;margin-top:37px;border-top:1px solid var(--line);font-size:11px;color:#a0a793}.footer-brand{color:#859473;font-family:Manrope,sans-serif;font-weight:750;font-size:13px;letter-spacing:-.5px}.cloud-status{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:10px}.review-section,.requests-section{margin:14px 0 29px}.requests-section{margin-top:35px}.count-pill{display:inline-flex;flex-shrink:0;align-items:center;padding:6px 10px;border:1px solid #d4ddc5;border-radius:24px;background:#ebf0df;color:#6c8455;font-size:12px;font-weight:600}.coach-all-clear{display:flex;align-items:center;gap:15px;padding:20px 23px;border:1px solid #dae3ce;border-radius:13px;background:#edf2e4}.coach-all-clear>svg{color:#789956}.coach-all-clear strong{font-size:15px}.coach-all-clear p{margin-top:3px;color:#7b8970;font-size:14px}.request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.request-card{min-width:0;padding:23px;border:1px solid #dce2d1;border-radius:15px;background:var(--white)}.request-card:only-child{max-width:690px;grid-column:1 / -1;width:100%}.request-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.request-card-top .eyebrow{font-size:10px}.status-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-pill.pending{background:#f7eccc;color:#8a742c}.status-pill.approved{background:#e3edcf;color:#5f7c45}.status-pill.declined{background:#f3e8dc;color:#8b7050}.request-card h3{margin:13px 0 10px;font-size:19px;letter-spacing:-.5px;line-height:1.4}.athlete-context{margin-bottom:16px;font-size:14px;color:#586653;overflow-wrap:normal;overflow-x:auto}.change-comparison{display:flex;align-items:center;gap:20px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.change-comparison>div{display:grid;gap:2px;flex:1}.change-comparison small{font-size:10px;font-weight:600;letter-spacing:.6px;color:#8e987e}.change-comparison strong{font-size:14px;font-weight:650}.change-comparison span{font-size:13px;color:#7b866f}.change-comparison>svg{color:#a2b587;flex-shrink:0}.request-caution{margin-top:10px;color:#8c937f;font-size:12px;line-height:1.55}.coach-reply{margin-top:16px;padding-left:14px;border-left:2px solid #cbdba9;font-size:14px;overflow-wrap:normal;overflow-x:auto}.coach-reply strong{font-size:12px;color:#7f9663}.coach-reply p{margin-top:4px}.review-actions{margin-top:18px}.review-actions label{font-size:13px}.review-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.review-buttons .button{min-height:42px;padding:9px 12px;font-size:12px}.review-actions>.text-button{margin-top:7px}.page-heading{padding:5px 0 35px}.page-heading h1{max-width:740px;margin-top:13px;font-size:clamp(33px,3.4vw,47px);font-weight:650;line-height:1.12;letter-spacing:-1.9px;color:var(--pine)}.page-heading>p:last-child{max-width:620px;margin-top:15px;font-size:15px;color:#7a8570;line-height:1.7}.plan-topline{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-bottom:23px}.week-selector{display:grid;flex:1;max-width:615px;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.week-selector button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 8px;min-height:72px;border:1px solid var(--line);border-radius:10px;background:#fffefa}.week-selector button>span{font-size:11px;color:#8a967e}.week-selector button>strong{font-weight:650;font-size:20px}.week-selector button>svg{position:absolute;right:8px;bottom:10px;color:#97a976}.week-selector button[aria-pressed=true]{background:var(--pine);color:#edf4df;border-color:var(--pine)}.week-selector button[aria-pressed=true]>span{color:#b1c599}.export-plan{flex-shrink:0;font-size:13px}.plan-week{padding:27px;background:var(--white);border:1px solid var(--line);border-radius:16px}.plan-week-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.plan-week-heading .eyebrow{font-size:10px;letter-spacing:.6px}.plan-week-heading h2{margin-top:7px;font-size:24px;font-weight:650;letter-spacing:-.8px}.plan-week-totals{display:flex;flex-direction:column;align-items:end;flex-shrink:0}.plan-week-totals strong{font-size:24px;font-weight:650;letter-spacing:-.7px}.plan-week-totals span{color:#849276;font-size:12px}.plan-week .week-strip{margin-bottom:27px;gap:7px}.plan-week .strip-cell{padding:12px 4px 10px}.session-list{border-top:1px solid var(--line)}.day-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid #ebeee3}.day-row:last-child{border-bottom:0;padding-bottom:0}.day-date{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25}.day-date strong{color:#8a967d;font-size:11px;font-weight:500}.day-date>span{margin-top:3px;font-size:20px;font-weight:550}.day-sessions{display:grid;gap:8px;min-width:0}.session-row{display:flex;align-items:center;gap:15px;min-width:0;width:100%;padding:13px 16px;border:1px solid #e5eadb;border-radius:10px;background:#f9faf3;text-align:left}.session-row:hover{border-color:#bdcda2;background:#f0f5e5}.session-sport{display:grid;place-items:center;flex-shrink:0;height:40px;width:40px;border-radius:10px;background:#e7edd8;color:#7b9560}.session-sport svg{width:20px;height:20px}.session-sport.ride{background:#e7eeea;color:#769182}.session-sport.rest{background:#efeee5;color:#a3a98b}.session-row-copy{display:grid;gap:3px;min-width:0;flex:1}.session-row-copy strong{font-size:14px;font-weight:600;line-height:1.4}.session-row-copy small{color:#849176;font-size:12px}.session-row>svg{margin-left:auto;color:#9aa988}.completed-badge{display:flex;align-items:center;gap:5px;margin-left:auto;color:#809967;font-size:11px}.rest-row{display:flex;align-items:center;gap:12px;min-height:61px;padding:11px 16px;color:#949d87;font-size:13px}.rest-row svg{flex-shrink:0}.subtle-note{display:flex;align-items:start;gap:7px;margin-top:18px;color:#8b947f;font-size:12px}.subtle-note svg{margin-top:3px;flex-shrink:0}.conversation{max-width:820px;border:1px solid var(--line);border-radius:17px;background:#fffefa}.conversation-head{display:flex;align-items:center;gap:13px;padding:22px 27px;border-bottom:1px solid var(--line)}.conversation-head>div{display:grid;gap:3px}.conversation-head strong{font-size:15px}.conversation-head small{font-size:12px;color:#8b947f}.conversation-head>svg{margin-left:auto;color:#8da174;width:21px}.message-history{display:flex;flex-direction:column;gap:22px;min-height:280px;max-height:490px;padding:28px;overflow-y:auto;scroll-padding-bottom:20px}.message{max-width:81%;min-width:0}.message.from-athlete{align-self:flex-end}.message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:7px}.message-meta strong{font-size:12px;color:#778a61}.message-meta time{font-size:11px;color:#a1a993}.message p{padding:15px 17px;border-radius:3px 13px 13px;background:#f0f2e8;color:#5d6e52;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:normal;overflow-x:auto}.message.from-athlete p{border-radius:13px 3px 13px 13px;background:#e4eccf;color:#536846}.message.from-athlete .message-meta{justify-content:flex-end}.message-composer{padding:20px 26px;border-top:1px solid var(--line)}.message-composer>label{font-size:12px;color:#939e86}.message-composer>label strong{color:#71875a;font-size:12px;font-weight:600}.message-input{display:flex;align-items:end;gap:10px;margin-top:10px}.message-input textarea{min-height:76px;flex:1}.message-input .button{min-height:48px;font-size:12px}.message-composer>small{display:block;margin-top:10px;color:#9ba48d;font-size:11px}.legacy-draft{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:14px}.legacy-draft summary{cursor:pointer;font-weight:600}.legacy-draft p,.legacy-draft .button{margin-top:12px}.legacy-draft blockquote{margin:14px 0;padding-left:12px;border-left:2px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.settings-card{min-width:0;padding:26px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.settings-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:19px;background:#eaf0dd;border-radius:11px;color:#799559}.settings-icon.lime{background:#e8efcf}.settings-icon svg{width:21px}.settings-card h2{font-size:21px;letter-spacing:-.7px;font-weight:650;line-height:1.3}.settings-card>p{margin-top:13px;color:#586653;font-size:14px;line-height:1.7}.setting-fact{display:flex;align-items:start;gap:8px;margin-top:17px;color:#89977a;font-size:12px}.setting-fact svg{margin-top:3px;flex-shrink:0;color:#849e60}.settings-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:17px 0;border:0;border-bottom:1px solid #e8ecdf;background:transparent;color:inherit;text-decoration:none;text-align:left}.settings-link:last-child{border-bottom:0;padding-bottom:0}.settings-link>div{display:grid;gap:4px}.settings-link strong{font-size:14px;font-weight:600}.settings-link small{font-size:12px;color:#8d987f}.settings-link>svg{width:18px;color:#97aa7d}.sample-card{background:#f0f2e6}.sample-card .text-button{margin-top:15px}.danger-text{color:#986b50}.build-note{color:#9ca68d;font-size:11px;margin-top:27px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:63vh;padding:35px 12px;text-align:center}.loading-emblem{display:grid;place-items:center;width:70px;height:70px;margin-bottom:25px;border:1px solid #d7e2c6;border-radius:20px;background:#e9efd9;color:#7e9955}.loading-emblem svg{width:45px}.loading-state h1,.empty-state h1{font-size:34px;font-weight:600;letter-spacing:-1.5px}.loading-state p,.empty-state p{color:#829172;margin-top:13px;max-width:420px}.loading-state>svg{margin-top:24px;color:#8aa267}.empty-state>svg{color:#8aa267;margin-bottom:24px}.empty-state .button{margin-top:24px}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:start;gap:13px;padding:17px 19px;margin-bottom:25px;border:1px solid #e2c7b4;border-radius:11px;background:#fff3e9;color:#9b5e3d}.error-banner>svg{width:21px;margin-top:2px;flex-shrink:0}.error-banner>div{flex:1;min-width:0}.error-banner strong{font-size:14px}.error-banner p{font-size:14px;margin-top:4px;overflow-wrap:normal;overflow-x:auto}.error-banner>div>button{display:flex;align-items:center;gap:7px;min-height:44px;margin-top:5px;padding:4px 0;font-size:14px;font-weight:600;background:transparent;text-decoration:underline}.icon-button{display:inline-grid;flex-shrink:0;place-items:center;width:40px;height:40px;background:transparent;border-radius:50%}.save-toast{position:fixed;z-index:40;left:calc(50% + 116px);bottom:22px;display:flex;align-items:center;gap:9px;max-width:calc(100vw - 30px);padding:13px 18px;border:1px solid #cddbb4;border-radius:10px;background:#f5f9eb;color:#557040;font-size:14px;box-shadow:0 8px 30px #253f2412;transform:translate(-50%)}.save-toast svg{flex-shrink:0}.app-dialog{position:fixed;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #dbe2d0;border-radius:19px;background:var(--white);color:var(--pine);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 35px 110px #12261930}.app-dialog::backdrop{background:#122e2580;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;background:#f0f3e8;color:#7f9367}.dialog-close svg{width:19px}.dialog-content{padding:35px}.dialog-content>.eyebrow{padding-right:36px;margin-bottom:13px;font-size:11px}.dialog-content h2{max-width:460px;padding-right:10px;font-size:33px;font-weight:600;line-height:1.18;letter-spacing:-1.15px}.dialog-content>p:not(.eyebrow){margin-top:17px;color:#586653;font-size:15px;line-height:1.65}.dialog-content h3{margin:25px 0 15px;font-size:20px;font-weight:650;letter-spacing:-.6px}.dialog-content label,.review-actions label{position:relative;display:block;margin-top:20px;color:#71845d;font-size:14px;font-weight:550}input:not([type=range]),textarea,select{width:100%;min-width:0;min-height:46px;padding:11px 13px;margin-top:7px;border:1px solid #dce3cf;border-radius:8px;background:#fffefa;color:#3d5533;font-size:16px;line-height:1.5}input::placeholder,textarea::placeholder{color:#a0aa92}textarea{display:block;resize:vertical;max-height:260px}input:focus,textarea:focus,select:focus{border-color:#91ae6c}.session-context{display:flex;align-items:center;gap:14px;padding:15px;margin:22px 0;border-radius:10px;background:#eef3e2}.session-context>svg{width:24px;color:#839d63;flex-shrink:0}.session-context>div{display:grid;gap:3px;min-width:0}.session-context strong{font-size:14px;font-weight:600}.session-context small{font-size:12px;color:#91a07e}.field-legend{margin-bottom:10px;color:#758868;font-size:14px;font-weight:550}.reason-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reason-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:10px 5px;border:1px solid #dce4cf;border-radius:10px;background:#fafbf5;color:#8a9a76;font-size:14px}.reason-options button>svg{width:20px}.reason-options button[aria-pressed=true]{background:#e4edd1;border-color:#acbf8a;color:#607d46}.input-with-unit{position:relative}.input-with-unit input{padding-right:49px}.input-with-unit>span{position:absolute;right:15px;top:20px;font-size:14px;color:#94a180}.form-note{margin:17px 0 0;color:#8c987f;font-size:13px;line-height:1.6}.full-width{width:100%;margin-top:20px;min-height:48px}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:25px}.inline-notice{display:flex;align-items:start;gap:8px;padding:13px;border-radius:9px;background:#f3efdc;color:#8c8052!important;font-size:14px!important}.inline-notice>svg{margin-top:3px;flex-shrink:0}.session-detail-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.session-detail-tags>span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #e0e7d2;border-radius:5px;background:#f1f5e8;color:#7b9360;font-size:12px}.session-detail-tags svg{width:15px;height:15px}.session-detail-tags .done{background:#dfe9ca}.session-focus{padding-bottom:21px;border-bottom:1px solid var(--line)}.prescription{display:flex;align-items:start;gap:14px;padding:17px 0;border-bottom:1px solid #e8eddf}.prescription>svg{margin-top:4px;flex-shrink:0;color:#91a775}.prescription strong{color:#6f865c;font-size:14px;font-weight:600}.prescription p{color:#586653;font-size:14px;margin-top:4px;line-height:1.65;overflow-wrap:normal;overflow-x:auto}.detail-coach-note{display:flex;align-items:start;gap:12px;margin-top:21px;padding:16px;border-radius:10px;background:#eff3e4}.detail-coach-note .avatar{width:31px;height:31px;font-size:14px}.detail-coach-note>p{font-size:14px;color:#586653;line-height:1.65;overflow-wrap:normal;overflow-x:auto}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.field-grid label{margin-top:14px}.rpe-value{position:absolute;right:0;top:-3px;font-size:23px;color:#688849;font-weight:600}.rpe-value small{color:#a0ad8f;font-size:13px;font-weight:400}input[type=range]{width:100%;height:36px;margin:14px 0 0;accent-color:#82a650;cursor:pointer}.range-labels{display:flex;justify-content:space-between;color:#9ba78d;font-size:12px}.dialog-content .detail-sample{margin-top:21px;font-size:12px!important;color:#9da890!important}.completed-detail{display:flex;gap:14px;margin-top:25px;padding:19px;border-radius:11px;background:#e5eed4;color:#6c8a50}.completed-detail>svg{flex-shrink:0}.completed-detail p{font-size:14px;margin-top:7px;overflow-wrap:normal;overflow-x:auto}.finished-plan{padding:50px 0}.finished-plan>svg{color:#cee698}.finished-plan p{color:#afc49e;margin-top:20px}.dialog-error{margin:60px 25px 0;padding:14px;border:1px solid #dfc4af;border-radius:9px;background:#fff1e3;color:#985c39;font-size:14px}.mobile-nav{display:none}.hero-description,.life-card>p:not(.eyebrow),.coach-note blockquote,.page-heading>p:last-child,.settings-card>p,.message p,.athlete-context,.dialog-content>p:not(.eyebrow),.prescription p,.detail-coach-note>p{font-size:16px}.demo-label,.demo-toolbar-note,.role-switch button,.workout-date,.intensity-tag,.workout-metrics small,.workout-footer>span,.life-card .button,.life-card>small,.coach-note-head strong,.coach-note-head small,.text-button,.week-summary-stat>span,.week-progress>div:first-child,.strip-day,.strip-cell>small,.cloud-status,.status-pill,.change-comparison span,.request-caution,.review-buttons .button,.week-selector button>span,.plan-week-totals span,.session-row-copy small,.rest-row,.subtle-note,.conversation-head small,.message-meta strong,.message-meta time,.message-composer>label,.message-composer>label strong,.message-composer>small,.message-input .button,.setting-fact,.settings-link small,.session-context small,.form-note,.session-detail-tags>span,.range-labels,.dialog-content .detail-sample{font-size:14px!important}.role-switch button,.language-switch button,.text-button,.round-arrow,.icon-button{min-height:44px}.language-switch button,.round-arrow,.icon-button{min-width:44px}.workout-topline{flex-wrap:wrap}.workout-footer>span{max-width:260px}.life-card>small{line-height:1.5}.next-workout{min-height:523px}.request-caution,.subtle-note,.dialog-content .detail-sample,.message-composer>small{color:#6c795e!important}.strip-day,.strip-cell>small,.week-summary-stat>span,.coach-note-head small,.life-card>small,.workout-date{color:#77866a}.workout-date,.workout-metrics small,.workout-footer>span{color:#bfd0b4}.demo-toolbar-note{color:#6b7c5d}.demo-label{font-size:11px!important}@media(min-width:1550px){.page{padding-top:51px}.hero{padding-bottom:45px}.next-workout{padding:34px}.life-card{padding:30px}}@media(max-width:1190px){.sidebar{width:205px;padding-inline:18px}.brand>span{font-size:25px}.brand>svg{width:33px}.main-shell{margin-left:205px}.topbar,.demo-toolbar,.page{padding-inline:29px}.demo-toolbar-note{display:none}.hero{gap:18px}.hero h1{font-size:47px}.hero-goal{min-width:172px;padding-left:20px}.hero-goal>strong{font-size:40px}.today-grid{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.next-workout{padding:23px}.life-card{padding:24px 20px}.life-card h2{font-size:25px}.coach-note{padding:19px}.workout-metrics{gap:18px}.week-strip{gap:6px}.strip-cell{padding-inline:3px}.week-summary{padding:20px;gap:14px}.request-card{padding:19px}.request-grid{grid-template-columns:minmax(0,1fr)}.save-toast{left:calc(50% + 102px)}.export-plan{padding-inline:12px}.plan-week{padding:22px}.message-input .button>span{display:none}}@media(max-width:980px){.sidebar{width:186px;padding-inline:14px}.main-shell{margin-left:186px}.desktop-nav button{padding-inline:12px;gap:10px}.sidebar-coach{gap:8px}.sidebar-coach .avatar{width:34px;height:34px}.sidebar-coach small{font-size:11px}.brand-caption{margin-left:37px}.goal-mini{font-size:12px}.topbar,.demo-toolbar{padding-inline:23px}.page{padding-inline:23px;padding-top:32px}.breadcrumb>span{display:none}.breadcrumb i{display:none}.hero h1{font-size:43px}.hero-goal{display:none}.hero-description{max-width:500px}.today-grid{grid-template-columns:minmax(0,1fr)}.next-workout{min-height:439px;padding:27px}.next-workout h2{max-width:430px;font-size:34px}.workout-head{margin-top:24px}.workout-bars{margin-top:12px}.right-stack{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.life-card{padding:21px}.life-card .eyebrow{font-size:9px}.life-icon{width:30px;height:30px;right:15px;top:18px}.life-card h2{font-size:24px}.life-card>p:not(.eyebrow),.coach-note blockquote{font-size:15px}.life-card .button{padding-inline:10px;gap:5px}.coach-note-head{gap:8px}.coach-note-head>svg{display:none}.week-summary{grid-template-columns:1fr 1fr}.week-progress{grid-column:1 / -1;padding:0}.settings-grid{grid-template-columns:minmax(0,1fr)}.plan-topline{flex-wrap:wrap;gap:13px}.week-selector{flex-basis:100%;max-width:none}.export-plan{margin-left:auto}.plan-week-heading h2{font-size:23px}.save-toast{left:calc(50% + 93px)}.cloud-status{margin-left:0}}@media(max-width:767px){html{scroll-padding-bottom:calc(var(--mobile-nav-height, 76px + env(safe-area-inset-bottom)) + 24px)}.sidebar{display:none}.main-shell{margin-left:0}.topbar{min-height:81px;padding-inline:25px}.mobile-brand{display:flex}.mobile-brand>svg{width:32px;height:32px}.mobile-brand>span{font-size:25px;letter-spacing:-1.3px}.breadcrumb{display:none}.topbar-actions{gap:13px}.topbar-divider,.topbar-actions>.avatar{display:none}.demo-toolbar{gap:8px;padding:11px 25px}.demo-label{font-size:10px!important;letter-spacing:.5px}.role-switch button{padding-inline:13px;min-height:38px}.page{padding:33px 25px calc(var(--mobile-nav-height, 76px + env(safe-area-inset-bottom)) + 24px);max-width:690px}.hero{padding-bottom:30px}.hero h1{font-size:clamp(43px,7vw,55px);line-height:1.08;letter-spacing:-2.2px}.hero .eyebrow{font-size:10px;letter-spacing:1.15px;margin-bottom:15px}.hero-description{max-width:475px;line-height:1.65;margin-top:16px}.hero-goal{display:block;min-width:180px}.next-workout{min-height:430px;padding:27px}.workout-topline{gap:11px}.light-eyebrow{font-size:10px;letter-spacing:1.1px}.next-workout h2{font-size:32px}.right-stack{gap:15px}.life-card{padding:24px}.life-card>p:not(.eyebrow),.coach-note blockquote{font-size:16px}.coach-note{padding:23px}.week-overview{margin-top:34px}.section-heading h2{font-size:23px}.section-heading{align-items:start}.section-heading>.text-button{max-width:150px;text-align:right;padding-top:1px;line-height:1.5}.week-summary{margin-bottom:18px}.week-strip{gap:6px}.strip-cell{padding:13px 2px 10px;border-radius:8px}.strip-icon{width:30px;height:30px;margin:9px 0 6px}.strip-cell>small{font-size:12px!important}.strip-day{font-size:12px!important}.page-footer{margin-top:29px;padding:23px 0 15px}.page-footer>span:nth-child(2){font-size:12px}.cloud-status{width:100%;font-size:12px!important}.mobile-nav{position:fixed;z-index:30;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:76px;padding:8px 10px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #dfe5d3;background:#fbfcf5f5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.mobile-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:55px;padding:5px 0;background:transparent;color:#99a68b;font-size:12px;font-weight:550}.mobile-nav button svg{width:22px;height:22px;stroke-width:1.6}.mobile-nav button.active{color:var(--pine)}.mobile-nav button.active svg{stroke-width:2}.save-toast{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 26px)}.page-heading{padding-bottom:26px}.page-heading h1{font-size:39px}.plan-week{padding:24px}.plan-week-heading{align-items:start}.plan-week-heading h2{font-size:23px}.plan-week-heading .eyebrow{letter-spacing:.3px}.conversation-head,.message-composer{padding-inline:22px}.message-history{padding:24px 20px}.message{max-width:89%}.settings-card{padding:26px}.app-dialog{width:min(590px,calc(100vw - 22px));max-height:calc(100dvh - 30px);border-radius:17px}.dialog-content{padding:29px 25px}.dialog-content h2{font-size:31px}.field-grid{gap:0 10px}.dialog-actions{flex-direction:column}.dialog-actions>button{min-height:46px}}@media(max-width:575px){.hero-goal{display:none}.right-stack{display:flex;flex-direction:column}.next-workout{min-height:444px}.workout-metrics{gap:25px}.workout-bars{height:86px}.life-card{padding:25px}.life-card .eyebrow{font-size:10px;margin-bottom:13px}.life-card h2{font-size:29px}.life-card>p:not(.eyebrow){max-width:none}.life-card .button{padding:12px 17px;min-height:48px}.coach-note blockquote{margin-top:15px}.coach-note-head>svg{display:block}.week-strip{gap:4px}.strip-cell{border-radius:7px}.strip-icon{width:27px;height:27px}.strip-cell>strong{font-size:14px}.strip-cell>small{display:none}.strip-day{font-size:11px!important}.section-heading{flex-wrap:wrap;gap:4px}.section-heading>.text-button{max-width:none;text-align:left}.week-summary{padding:21px}.week-summary-stat>strong{font-size:25px}.week-summary-stat>strong>small{display:block}.week-summary-stat{justify-content:start;align-self:start}.week-summary-stat>span{font-size:13px!important}.week-selector{gap:5px}.week-selector button{min-height:53px;padding:7px 2px}.week-selector button>span{display:none}.week-selector button>svg{display:none}.plan-week{padding:20px 16px}.plan-week .week-strip{gap:3px}.plan-week .strip-cell{padding:10px 1px}.plan-week-heading{flex-wrap:wrap;gap:9px}.plan-week-totals{flex-direction:row;align-items:center;gap:10px}.plan-week-totals strong{font-size:20px}.day-row{grid-template-columns:34px minmax(0,1fr);gap:7px}.day-date>span{font-size:18px}.session-row{padding:11px 9px;gap:10px}.session-sport{width:31px;height:34px;border-radius:8px}.session-sport svg{width:17px}.session-row-copy strong{font-size:14px}.session-row-copy small{font-size:12px!important}.completed-badge>span{display:none}.session-row>svg{width:14px}.rest-row{padding-inline:8px;gap:9px;font-size:14px!important}.message-composer{padding:20px 16px}.message-input{align-items:stretch}.message-input .button{min-width:46px;padding-inline:13px;margin-top:7px}.conversation-head{padding:20px 17px;gap:10px}.conversation-head>svg{display:none}.conversation-head small{line-height:1.5}.message-meta time{font-size:12px!important}.message-history{padding-inline:17px}.request-card{padding:20px}.change-comparison{gap:11px}.change-comparison strong{font-size:13px}.change-comparison span{font-size:12px!important}.request-card-top .eyebrow{font-size:9px}.status-pill{font-size:12px!important}.review-buttons .button{flex:1}.dialog-content{padding:29px 21px}.dialog-content h2{font-size:29px}.dialog-content>.eyebrow{font-size:10px;letter-spacing:.8px}.dialog-content .field-grid{grid-template-columns:minmax(0,1fr)}.reason-options{gap:6px}.reason-options button{font-size:13px}}@media(max-width:359px){.topbar{padding-inline:16px;min-height:73px}.mobile-brand>span{font-size:23px}.mobile-brand>svg{width:28px}.language-switch{gap:0}.language-switch button{min-width:35px;padding-inline:5px}.demo-toolbar{padding-inline:16px}.demo-label{max-width:98px;font-size:9px!important;line-height:1.4}.demo-dot{display:none}.role-switch button{padding-inline:10px;font-size:13px!important}.page{padding-inline:16px;padding-top:27px}.hero h1{font-size:40px;letter-spacing:-1.9px}.hero .eyebrow{font-size:9px}.hero-description{font-size:16px}.next-workout{padding:23px 21px}.next-workout h2{font-size:30px}.light-eyebrow{font-size:9px}.workout-metrics{gap:20px}.workout-metrics strong{font-size:35px}.workout-metrics .effort-word{font-size:24px}.workout-metrics small{font-size:13px!important}.workout-footer>span{font-size:13px!important}.life-card,.coach-note{padding:22px}.strip-icon{width:24px;height:25px}.strip-icon svg{width:15px}.strip-cell>strong{font-size:13px}.page-heading h1{font-size:35px}.plan-week{padding-inline:12px}.day-row{grid-template-columns:29px minmax(0,1fr)}.session-row{gap:7px;padding-inline:8px}.session-sport{width:26px}.session-row>svg{display:none}.completed-badge{margin-left:0}.settings-card{padding:23px}.dialog-content{padding:28px 18px}.dialog-content h2{font-size:27px}.mobile-nav{padding-inline:5px}.mobile-nav button{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mobile-nav button,.strip-day,.demo-label{font-size:14px!important}.demo-label{letter-spacing:.4px}.role-switch button{min-height:44px}.coach-note-head small,.life-card>small,.week-summary-stat>span,.week-progress>div:first-child,.strip-cell>small,.session-row-copy small,.conversation-head small,.settings-link small,.form-note{color:#6d7b5f}.feature-overview-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:600;text-decoration:none}.page-footer>a{min-height:44px;display:inline-flex;align-items:center;color:inherit;text-underline-offset:4px}@media(max-width:600px){.feature-overview-link{display:none}}
