:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#202f3b;background:#f5f8f7;font-synthesis:none;font-size:14px;font-weight:400;--green:#128268;--mint:#eaf7f1;--line:#e8eeed;--muted:#7d8a97}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:default;opacity:.48}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6ac8ad;outline-offset:3px}button{transition:background .15s,box-shadow .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.98)}button:active:not(:disabled){transform:translateY(1px)}small{font-size:12px;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.25;letter-spacing:-1px;color:#112b37}h2{font-size:18px;font-weight:650;letter-spacing:-.3px;line-height:1.35;color:#142b38}h3{font-size:20px;line-height:1.45;font-weight:650;color:#142b38}p{line-height:1.7}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:210px;background:#f5f9f7;border-right:1px solid #e3ece8;display:flex;flex-direction:column;padding:26px 12px;z-index:20}.brand{display:flex;align-items:center;gap:9px;padding:0 12px;color:#123e34;font-size:20px;font-weight:750;letter-spacing:-.8px;white-space:nowrap}.brand svg{color:#11896a}.sidebar nav{display:flex;flex-direction:column;gap:7px;margin-top:33px}.sidebar nav button,.settings{display:flex;align-items:center;gap:13px;border:0;background:none;text-align:left;min-height:45px;padding:10px 16px;border-radius:9px;color:#40515e}.sidebar nav button.active{background:#e0f4ec;color:#118267;font-weight:650}.sidebar nav button:hover{background:#edf4f0}.settings{margin-top:auto;gap:13px}.app>main{margin-left:210px;padding:20px 24px 0;max-width:1630px}.page-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 23px;min-height:53px}.page-header p{font-size:13px;color:#617480;margin-bottom:3px}.title-line{display:flex;align-items:center;gap:18px}.mode-badge{border:0;border-radius:7px;padding:6px 11px;background:#e9eeee;font-size:11px;color:#71818b}.mode-badge.live{background:#e2f3ec;color:#138267}.sync{display:flex;align-items:center;gap:12px;color:#8995a0;font-size:11px}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid #e2e9e8;border-radius:7px;background:#fff;padding:0}.sync>.iconbtn{width:38px;height:38px;background:#f8fbfa}.mobile-settings{display:none}.panel{background:#fff;border:1px solid #e6eeeb;border-radius:16px;padding:18px;min-width:0}.top-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}.today-panel{background:#edf8f3;border-color:#cceee1;padding:19px 20px;min-height:322px}.today-columns{display:flex;margin-top:19px;gap:24px}.main-workout{flex:1;min-width:0}.workout-title{display:flex;align-items:center;gap:15px}.sport{display:inline-flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0}.sport.run{color:#349be4}.sport.yoga,.sport.stretch{color:#9463d8}.workout-title>.sport,.extra-workout>.sport{width:61px;height:61px;border-radius:50%;background:#168c6c;color:#fff}.workout-title p{font-size:16px;margin-top:4px}.separator{display:inline-block;width:1px;height:14px;background:#9fbfb2;margin:0 15px;vertical-align:middle}.extra-workout{width:188px;flex-shrink:0;border-left:1px solid #cfe4dc;padding-left:21px}.extra-workout>.sport{width:48px;height:48px;background:#9864d6;color:#fff;margin:1px 0 11px}.extra-workout h3{font-size:17px}.extra-workout p{font-size:16px;margin-top:3px}.steps{display:flex;align-items:flex-end;gap:3px;margin:21px 0 0}.steps>div{min-width:0;display:flex;flex-direction:column;align-items:center}.stepbar{width:100%;border-radius:5px 5px 0 0;background:#adb9c1}.stepbar.effort{background:#159c79}.stepbar.low{background:#59a8e6}.steps strong{font-size:12px;font-weight:500;margin:5px 0}.steps span{font-size:11px;color:#617784;white-space:nowrap}.step-caption{font-size:12px;color:#75908c;margin:18px 0 13px}.primary{background:#0c896c;border:1px solid #0c896c;border-radius:9px;min-height:39px;color:#fff;padding:9px 17px;display:inline-flex;gap:10px;align-items:center;justify-content:center;font-weight:600;font-size:13px}.main-workout>.primary{border-radius:24px;min-height:41px;padding:10px 22px}.workout-description{margin-top:28px;color:#688378}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.section-head>small{font-size:10px}.recovery{padding:19px 20px 7px;min-height:322px}.recovery-row{display:flex;align-items:center;gap:11px;padding:14px 0;width:100%;border:0;border-bottom:1px solid #eef2f1;background:none;text-align:left;min-height:66px}.recovery-row:last-of-type{border-bottom:0}.round-icon{display:inline-flex;width:41px;height:41px;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.round-icon.blue{background:#edf8ff;color:#35a1e5}.round-icon.pink{background:#fff2f5;color:#ef5b85}.round-icon.gray{background:#eef3f4;color:#577280}.metric-name{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:99px}.metric-name strong{font-size:16px;font-weight:650;white-space:nowrap}.recovery .spark{margin-left:auto;width:70px;height:26px;flex-shrink:1;min-width:25px}.trend-caption{font-size:10px;white-space:nowrap}.metric-arrow{display:none;color:#83909a}.freshness{display:block;margin:4px 0 8px}.week-panel{margin-bottom:14px;padding:14px 16px 16px}.week-head{display:flex;gap:12px;justify-content:space-between;margin-bottom:14px;min-height:87px}.week-summary{display:flex;align-items:center;gap:14px}.week-summary h2{align-self:flex-start;padding-top:5px;white-space:nowrap}.ring{position:relative;width:82px;height:82px;flex-shrink:0}.ring b{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:650;pointer-events:none}.week-total{display:flex;flex-direction:column;gap:4px}.week-total strong{font-size:17px;white-space:nowrap}.week-total strong span{font-weight:550}.week-total>small:last-child{font-size:10px;color:#8c989d}.week-right{flex:1;max-width:590px;min-width:280px}.week-nav{display:flex;align-items:center;justify-content:flex-end;gap:10px}.week-nav>.iconbtn{height:29px;width:29px}.week-nav strong{font-size:12px;white-space:nowrap;font-weight:600}.soft-btn{background:#eff9f4;color:#148167;border:1px solid #cceadf;min-height:29px;border-radius:6px;padding:5px 11px;font-size:11px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.soft-btn:disabled{opacity:.6}.week-chart{height:56px;margin-top:4px}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day{padding:12px 13px 10px;background:#fff;border:1px solid #eaf0ee;border-radius:11px;display:flex;flex-direction:column;min-height:190px}.day.today{background:#edf9f3;border-color:#cbeedd}.day-date{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.day-date strong{font-size:12px;font-weight:500}.day>small{font-size:11px}.day-date .check{color:#119678;background:#e5f7ee;border-radius:50%;padding:2px;box-sizing:content-box}.green{color:#1e9675!important}.day-content{display:flex;flex-direction:column;gap:8px;flex:1;margin:16px 0 12px}.course{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;width:100%;min-width:0}.course>.sport{width:35px;height:35px;background:#e5f6ef;border-radius:50%;margin-bottom:1px}.course>.sport.run{background:#edf7ff}.course>.sport.yoga,.course>.sport.stretch{background:#f6edff}.course strong{font-size:12px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.course small{font-size:11px}.rest{display:flex;flex-direction:column;gap:10px;align-items:flex-start;color:#7e8e98;padding-top:3px}.rest strong{font-size:12px;color:#304451}progress{width:100%;height:5px;border:0;border-radius:6px;background:#e6ecee;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0 0 6px;overflow:hidden}progress::-webkit-progress-bar{background:#e6ecee;border-radius:6px}progress::-webkit-progress-value{background:#37ae89;border-radius:6px}progress::-moz-progress-bar{background:#37ae89;border-radius:6px}.bottom-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:14px}.recent,.food-panel{padding:15px 17px}.table-row{width:100%;display:grid;grid-template-columns:.8fr 1.9fr .8fr .8fr .45fr;gap:9px;align-items:center;min-height:34px;border:0;border-bottom:1px solid #edf1ef;background:none;text-align:left;font-size:11px;padding:5px 0;color:#627280}.table-row:last-child{border-bottom:0}.table-row>span{white-space:nowrap}.table-row>span:nth-child(2){display:flex;align-items:center;gap:8px;min-width:0;white-space:normal}.table-row b{font-size:11px;font-weight:500;color:#354b57;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-head{color:#85939d;font-size:11px;min-height:28px}.text-btn{border:0;background:none;color:#14896d;display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:4px 0}.weight-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eef2ef}.weight-row .round-icon{width:37px;height:37px}.weight-row>strong{font-size:23px;color:#172e3c;white-space:nowrap}.weight-row strong small{color:#243e48;font-size:14px;font-weight:500}.weight-row>.spark{height:28px;flex:1;min-width:45px;max-width:160px}.weight-row>small{font-size:10px;margin-left:auto}.meal-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.date-label{display:flex;align-items:center;gap:5px;min-width:0;color:#758893}.date-label input{border:0;background:none;color:#637d89;font-size:11px;width:118px;min-width:0;outline-offset:0;padding:2px 0}.meal-heading>strong{font-size:12px;font-weight:600;white-space:nowrap}.meal-heading strong span{font-size:11px}.meal-heading strong small{font-weight:400;font-size:10px}.meal-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:6px}.meal-field{display:flex;flex-direction:column;border:1px solid #e6eeeb;border-radius:7px;padding:7px 8px;min-width:0;background:#fbfdfc}.meal-field>span{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;color:#73828b}.meal-field>span>svg:first-child{color:#e3a044;flex-shrink:0}.meal-field.dinner>span>svg:first-child{color:#8191a5}.meal-field.snack>span>svg:first-child{color:#82ac2e}.meal-field>span>svg:last-child{margin-left:auto}.meal-field>div{display:flex;align-items:center;gap:2px;margin-top:6px;min-width:0}.meal-field input{width:100%;min-width:0;background:none;border:0;padding:0;outline-offset:1px;font-size:14px;font-weight:550;color:#273e48;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.meal-field input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.meal-field input::placeholder{font-size:12px;font-weight:400;color:#8996a2}.meal-field small{font-size:10px}.save-btn{font-size:11px;align-self:center;white-space:nowrap;padding:10px;min-height:40px}.meal-foot{margin-top:7px;display:flex;gap:6px;justify-content:space-between}.meal-foot small{font-size:9px}.unsaved{color:#b87f29}.page-footer{display:flex;gap:12px;padding:19px 3px;font-size:10px;color:#90a09e}.page-footer>span:last-child{margin-left:auto}.mobile-nav{display:none}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;max-width:90vw;z-index:100;background:#183e35;color:#fff;box-shadow:0 7px 25px #12382b25;border-radius:10px;padding:13px 18px;font-size:13px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#142b3c38;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;z-index:80}.drawer{width:530px;max-width:100%;height:100%;overflow:auto;background:#fff;padding:25px;box-shadow:-12px 0 50px #203f3910}.drawer>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.drawer>header h2{font-size:22px}.drawer p{margin:15px 0;color:#5c717f}.drawer h3{font-size:16px;margin:23px 0 8px}.drawer pre{font-family:inherit;white-space:pre-wrap;background:#f4f8f6;padding:20px;line-height:1.8;border-radius:12px;font-size:13px;overflow-wrap:anywhere}.drawer .sport{margin-bottom:8px}.notice{display:flex;align-items:flex-start;gap:10px;padding:16px;background:#eaf6f0;color:#36745f;font-size:13px;border-radius:10px;margin:14px 0;line-height:1.8}.notice>svg{flex-shrink:0;margin-top:3px}.notice.error{background:#fff2ed;color:#9d4c39}.notice button{margin-left:auto;background:#fff;border:0;border-radius:5px;padding:3px 10px;white-space:nowrap}.no-workout{padding:30px 0;color:#488270}.no-workout h3{margin:13px 0 8px}.detail-chart,.cycle,.analytics{margin-top:16px;padding:25px}.detail-chart h2{margin-bottom:25px}.detail-chart>small{display:block;margin:20px 0 0}.cycle>svg{color:#148267;margin-bottom:20px}.cycle p{margin:15px 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:25px}.stat-grid>div{display:flex;flex-direction:column;gap:10px;padding:15px;border-left:1px solid var(--line)}.stat-grid .sport{justify-content:flex-start}.stat-grid strong{font-size:30px}.stat-grid small{font-size:15px}.stat-grid p{color:#8b9a9c}.big-value{font-size:34px;font-weight:600;color:#1b4c3d!important}.muted{color:#8c999f!important;font-size:12px}.login-form label{display:flex;flex-direction:column;gap:12px}.login-form input{border:1px solid #cbded6;border-radius:8px;padding:13px;margin-bottom:20px}.connection-gate{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.empty{padding:30px;text-align:center;color:#95a29f}.freshness{font-size:10px}.spinning svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.app>main{padding:27px 32px 0}.today-panel,.recovery{min-height:345px}.today-columns{margin-top:25px}.steps{margin-top:27px}.day{min-height:212px}.recent,.food-panel{padding:20px}.table-row{min-height:38px}.meal-inputs{gap:8px}.meal-field{padding:10px}}@media(max-width:1250px){.sidebar{width:184px}.brand{font-size:18px;padding:0 5px}.sidebar nav button{gap:10px;padding:10px 12px;font-size:13px}.app>main{margin-left:184px;padding:20px 18px 0}.extra-workout{width:135px;padding-left:15px}.workout-title{gap:10px}.workout-title>.sport{width:47px;height:47px}.workout-title h3{font-size:17px}.workout-title p{font-size:13px}.extra-workout h3{font-size:15px}.today-columns{gap:15px}.recovery{padding:18px 15px 8px}.trend-caption{display:none}.metric-name{min-width:83px}.metric-name strong{font-size:14px}.week-summary{gap:8px}.week-summary h2{font-size:16px}.week-total strong{font-size:15px}.week-right{min-width:250px}.day{padding:11px 9px}.day-content{margin-top:13px}.bottom-grid{grid-template-columns:1fr}.meal-field{padding:10px 12px}.meal-field>span{font-size:12px}.meal-field input{font-size:16px}.meal-heading>strong{font-size:13px}.table-row{font-size:12px;min-height:38px}.table-row b{font-size:12px}.recent,.food-panel{padding:17px}}@media(max-width:960px)and (min-width:721px){.sidebar{width:74px;padding:23px 8px}.sidebar .brand span,.sidebar nav button span{display:none}.brand{justify-content:center}.sidebar nav button{justify-content:center;padding:12px}.settings{font-size:0;justify-content:center;padding:12px}.settings svg{flex-shrink:0}.app>main{margin-left:74px}.extra-workout{display:none}.top-grid{grid-template-columns:1.5fr 1fr}.today-panel{padding:19px 17px}.week-summary h2{display:none}.week-right{min-width:200px}.week-nav{gap:6px}.week-nav strong{font-size:10px}.day{padding:10px 7px}.course strong{font-size:11px}.days{gap:5px}}@media(max-width:720px){:root{font-size:14px}.sidebar{display:none}.app>main{margin:0;padding:20px 15px 83px;max-width:100%;overflow:hidden}.page-header{align-items:center;margin-bottom:18px;gap:10px}.page-header p{font-size:10px;margin-bottom:5px}.page-header h1{font-size:25px}.title-line{gap:10px}.mode-badge{font-size:9px;padding:4px 7px}.sync{gap:7px}.sync>span{display:none}.sync>.iconbtn{width:33px;height:33px}.mobile-settings{display:inline-flex}.top-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.today-panel{min-height:0;padding:19px;border-radius:14px}.today-columns{display:block;margin-top:20px}.workout-title{gap:13px}.workout-title>.sport{height:49px;width:49px}.workout-title h3{font-size:18px}.workout-title p{font-size:13px}.separator{margin:0 9px}.steps{margin-top:24px}.steps span{font-size:10px}.step-caption{font-size:10px;margin-top:17px;white-space:normal}.main-workout>.primary{font-size:12px;min-height:38px;margin-bottom:5px}.extra-workout{display:flex;align-items:center;gap:11px;width:100%;border-left:0;border-top:1px solid #d8ebe2;padding:15px 0 0;margin-top:16px}.extra-workout>.sport{width:37px;height:37px;margin:0}.extra-workout h3{font-size:14px}.extra-workout p{font-size:12px;color:#7c898d;margin-left:auto;margin-top:0;white-space:nowrap}.recovery{min-height:0;border-radius:14px;padding:17px 18px 6px}.recovery-row{min-height:60px;padding:10px 0}.metric-name{display:flex;flex-direction:row;align-items:center;gap:13px;flex:1;min-width:0;font-size:12px}.metric-name strong{font-size:13px;white-space:nowrap}.recovery .round-icon{width:32px;height:32px}.recovery .round-icon svg{width:20px}.recovery .spark{max-width:60px;width:60px}.trend-caption{display:none}.metric-arrow{display:block;flex-shrink:0}.section-head h2{font-size:16px}.section-head>small{font-size:9px}.week-panel{border-radius:14px;padding:16px 0;margin-bottom:12px}.week-head{flex-wrap:wrap;margin:0 15px 12px;gap:12px}.week-summary{width:100%;gap:10px}.week-summary h2{align-self:center;margin-right:auto;font-size:17px;padding:0}.ring{width:66px;height:66px}.ring>div{transform:scale(.8);transform-origin:top left}.ring b{font-size:16px}.week-total strong{font-size:14px}.week-total>small{font-size:10px}.week-total>small:last-child{font-size:9px}.week-right{min-width:0;width:100%;max-width:none}.week-nav{justify-content:space-between;gap:8px}.week-nav strong{font-size:12px}.week-nav>.iconbtn{width:34px;height:33px}.soft-btn{min-height:33px}.week-chart{height:60px;margin-top:10px}.days{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:15px;padding:0 15px 8px;gap:9px;overscroll-behavior-x:contain}.day{flex:0 0 132px;min-height:190px;scroll-snap-align:start;padding:12px}.day-content{margin-top:16px}.course strong{font-size:12px}.course>.sport{width:34px;height:34px}.bottom-grid{display:flex;flex-direction:column;gap:12px}.recent,.food-panel{border-radius:14px;padding:15px}.table-row{grid-template-columns:.65fr 1.6fr .7fr .65fr .35fr;gap:5px;min-height:40px;font-size:10px}.table-row b{font-size:11px}.table-row>span:nth-child(2){gap:5px}.table-head{font-size:10px}.food-panel .section-head{margin-bottom:14px}.weight-row{gap:8px}.weight-row strong{font-size:23px}.weight-row>.spark{max-width:70px}.weight-row>small{font-size:9px}.meal-heading{flex-wrap:wrap;gap:10px;margin:14px 0 12px}.meal-heading>strong{font-size:12px}.meal-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.meal-field{padding:11px 12px}.meal-field input{font-size:18px}.meal-field>span{font-size:12px}.meal-field>div{margin-top:8px}.meal-field small{font-size:11px}.save-btn{grid-column:1/-1;min-height:43px;margin-top:3px;font-size:13px}.meal-foot small{font-size:9px;line-height:1.5}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #e4ece8;justify-content:space-around;padding:8px 6px max(9px,env(safe-area-inset-bottom));height:calc(65px + env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:none;min-width:48px;color:#89959d;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:2px 8px;font-size:10px}.mobile-nav button.active{color:#11896b}.page-footer{flex-wrap:wrap;font-size:9px;line-height:1.7;gap:3px 10px;padding:18px 2px 0}.page-footer>span:last-child{width:100%;margin:0}.drawer{width:100%;border-radius:16px 16px 0 0;height:92dvh;margin-top:auto;padding:22px 18px}.scrim{align-items:flex-end}.drawer>header h2{font-size:19px}.toast{bottom:82px;font-size:12px;padding:11px 14px;min-width:240px;justify-content:center}.detail-chart,.cycle,.analytics{padding:18px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-grid strong{font-size:25px}.connection-gate{min-height:400px}.full-activities .table-row{font-size:10px}.workout-detail pre{font-size:12px}.food-panel>.section-head>small{font-size:9px}.notice{font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.cycle-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.cycle-table article{border:1px solid var(--line);border-radius:12px;padding:18px}.cycle-table article>div{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.cycle-table b,.cycle-table span{display:block;margin:6px 0}.cycle-table b{color:var(--green)}.cycle-table p{font-size:13px}.cycle-table small{line-height:1.7}@media(max-width:720px){.cycle-table{grid-template-columns:1fr}}.day:has(.course+.course) .day-content{gap:10px}.day:has(.course+.course) .course{display:grid;grid-template-columns:25px 1fr;gap:4px 6px;align-items:center}.day:has(.course+.course) .course>.sport{width:25px;height:25px;grid-row:1/3}.day:has(.course+.course) .course>.sport svg{width:19px}.day:has(.course+.course) .course small{grid-column:2}.day:has(.course+.course) .course strong{font-size:11px}@media(min-width:721px){h2{font-size:20px}.workout-title h3{font-size:22px}.week-chart{height:66px}.table-row,.table-row b{font-size:12px}.meal-field>span{font-size:11px}.meal-field input{font-size:15px}}.table-note{display:block;margin-top:10px;font-size:10px;line-height:1.6}.table-row{grid-template-columns:.75fr 1.8fr .9fr .8fr .5fr}.metric-name{position:relative;padding-bottom:13px}.metric-name>small{position:absolute;bottom:0;font-size:9px;color:#87948e}.recovery-row{min-height:75px}.meal-error{font-size:12px;color:#a34b38;margin:10px 0}.meal-foot{align-items:center;flex-wrap:wrap}.meal-foot>.text-btn{font-size:10px;margin-left:auto}.source-name{display:block;margin:14px 0;line-height:1.7}.cycle-table article>.text-btn{display:flex;margin-top:10px}.connection-gate{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.week-summary,.week-total{min-width:0}.week-total>small{line-height:1.5}.extra-list{width:188px;flex-shrink:0;border-left:1px solid #cfe4dc;padding-left:21px;display:flex;flex-direction:column;gap:16px}.extra-list .extra-workout{width:100%;border:0;padding:0;background:none;text-align:left}.extra-list .extra-workout h3{font-size:16px}.steps>div{justify-content:flex-end}.steps span{white-space:normal;overflow-wrap:anywhere;min-height:26px;text-align:center;font-size:10px}.mobile-nav button{min-width:0;flex:1}.mobile-nav{gap:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@media(max-width:1100px){.today-columns{flex-direction:column}.extra-list{width:100%;padding:13px 0 0;border-left:0;border-top:1px solid #cfe4dc}.extra-list .extra-workout{display:flex;align-items:center;gap:12px;margin:0}.extra-list .extra-workout>.sport{margin:0;width:37px;height:37px}.extra-list .extra-workout h3{font-size:14px}.extra-list .extra-workout p{font-size:12px;margin-left:auto;white-space:nowrap}.week-head{flex-wrap:wrap}.week-right{min-width:240px}.week-summary h2{display:block;font-size:16px}.week-total{max-width:260px}}@media(max-width:720px){.metric-name{padding-bottom:13px;flex-wrap:wrap;gap:5px 10px}.metric-name>small{font-size:9px}.recovery-row{min-height:64px}.week-total{max-width:190px}.week-summary{flex-wrap:wrap;gap:9px}.week-summary h2{font-size:17px;flex:1}.week-total strong{white-space:normal}.week-right{min-width:0}.mobile-nav button{padding:2px 3px;font-size:10px}.mobile-nav button svg{width:21px}.table-row{grid-template-columns:.65fr 1.5fr .9fr .75fr .4fr}.table-note{font-size:9px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{align-items:flex-start}.title-line{flex-wrap:wrap;gap:7px}.extra-list .extra-workout h3{font-size:13px}.day:has(.course+.course) .course strong{font-size:11px}.meal-foot>.text-btn{min-height:30px}}.coverage-note{font-size:12px;color:#8f702f;padding:10px 0 13px;line-height:1.6}.drawer .notice .text-btn{margin:7px 0 0;display:block}@media(max-width:720px){.week-nav{flex-wrap:wrap;row-gap:8px}}@media(max-width:360px){.week-nav{gap:6px}.week-nav strong{font-size:11px}.week-nav .soft-btn{padding:5px 8px}}@media(min-width:721px){.recovery-row{min-height:66px;padding:10px 0}}.metric-name>small{font-size:10px;color:#697d74}.top-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.94fr) minmax(0,1.08fr);align-items:stretch}.top-grid .today-columns{flex-direction:column;gap:14px;margin-top:17px}.top-grid .today-panel{padding:19px 18px}.top-grid .workout-title{gap:11px;align-items:flex-start}.top-grid .workout-title>.sport{width:46px;height:46px}.top-grid .workout-title>.sport svg{width:30px;height:30px}.top-grid .workout-title h3{font-size:19px}.top-grid .workout-title p{font-size:12px;line-height:1.7}.top-grid .separator{margin:0 7px}.top-grid .step-caption{font-size:11px;margin:12px 0}.top-grid .steps{margin-top:18px}.top-grid .extra-list{width:100%;border-left:0;border-top:1px solid #cfe4dc;padding:12px 0 0;gap:12px}.top-grid .extra-list .extra-workout{display:flex;align-items:center;gap:9px;margin:0}.top-grid .extra-list .extra-workout>.sport{margin:0;width:30px;height:30px}.top-grid .extra-list .extra-workout h3{font-size:13px}.top-grid .extra-list .extra-workout p{font-size:12px;margin:0 0 0 auto;white-space:nowrap}.top-grid .recovery{padding:19px 16px 7px}.top-grid .recovery-row{gap:9px}.top-grid .recovery .round-icon{width:34px;height:34px}.top-grid .recovery .metric-name{min-width:0;flex-shrink:0}.top-grid .recovery .metric-name strong{font-size:15px}.top-grid .recovery .spark{width:48px;min-width:24px}.top-grid .recovery .trend-caption{display:none}.coach-card{padding:19px 18px 15px;display:flex;flex-direction:column;background:#fbfdfb}.coach-card .section-head{margin-bottom:13px}.coach-card h2{display:flex;align-items:center;gap:8px}.coach-card h2 svg{color:#40836b}.coach-card .section-head>small{padding:4px 7px;background:#edf4ee;border-radius:5px;color:#637e6c;white-space:nowrap}.coach-sections{display:flex;flex-direction:column;gap:12px}.coach-sections article+article{border-top:1px solid #e9efeb;padding-top:10px}.coach-label{font-size:10px;color:#648576;margin-bottom:4px}.coach-sections h3{font-size:13px;line-height:1.5;font-weight:650;letter-spacing:0}.coach-sections p{font-size:11px;line-height:1.75;color:#64776e;margin-top:4px}.coach-more{align-self:flex-start;font-size:11px;margin-top:auto;padding-top:13px;min-height:32px}.coach-detail>section{padding:14px 0;border-bottom:1px solid var(--line)}.coach-detail>section>h3{margin:7px 0 8px}.coach-detail>section>p{font-size:13px;line-height:1.85;margin:10px 0}.coach-evidence a{display:block;color:#247e64;font-size:12px;line-height:1.8;margin:8px 0}.coach-evidence>small{display:block;line-height:1.8;margin-top:15px}@media(min-width:1101px)and (max-width:1280px){.top-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr)}.top-grid .today-panel,.top-grid .recovery,.coach-card{padding-left:14px;padding-right:14px}.top-grid .recovery .spark{display:none}.top-grid .workout-title h3{font-size:17px}.top-grid .workout-title>.sport{width:38px;height:38px}}@media(min-width:721px)and (max-width:1100px){.top-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.coach-card{grid-column:1/-1}.coach-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.coach-sections article+article{border-top:0;border-left:1px solid #e9efeb;padding:0 0 0 20px}.coach-more{margin-top:10px}.coach-sections p{font-size:12px}}@media(max-width:720px){.top-grid{display:flex}.top-grid .workout-title h3{font-size:18px}.top-grid .today-panel{padding:19px}.top-grid .recovery{padding:17px 18px 6px}.top-grid .recovery .metric-name{flex-shrink:1}.top-grid .recovery .metric-name strong{font-size:13px}.top-grid .recovery .spark{width:45px}.coach-card{border-radius:14px;padding:18px}.coach-sections{gap:13px}.coach-sections h3{font-size:14px}.coach-sections p{font-size:12px}.coach-label{font-size:11px}.coach-more{padding-top:14px;font-size:12px}}.top-grid .metric-name>small{white-space:nowrap}.coach-sections p{font-size:12px;line-height:1.65}.coach-narrative{display:flex;flex-direction:column;gap:13px}.coach-narrative .coach-verdict{font-size:16px;line-height:1.55;color:#254d3d;letter-spacing:-.2px}.coach-narrative p{font-size:12px;line-height:1.8;color:#596e63}.coach-narrative .coach-summary{color:#405d4d}.coach-action{padding-top:10px;border-top:1px solid #e8efea}.coach-action>strong{display:block;font-size:11px;color:#6e8576;font-weight:550;margin-bottom:4px}.coach-data{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.coach-data>summary{cursor:pointer;color:#547b66;font-size:13px;line-height:2}.coach-data p{font-size:12px!important;line-height:1.8!important}.coach-detail>.coach-detail-verdict{font-size:21px;line-height:1.55;color:#254d3d;margin:20px 0 12px}@media(min-width:721px)and (max-width:1100px){.coach-narrative{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.coach-verdict,.coach-summary{grid-column:1/-1}.coach-action{padding-top:0;border-top:0}.coach-narrative .coach-summary{max-width:80ch}}@media(max-width:720px){.coach-narrative .coach-verdict{font-size:17px}.coach-narrative p{font-size:13px}.coach-action>strong{font-size:12px}}.app{--nav-width:210px;padding-left:var(--nav-width)}.app>main{width:100%;margin-left:auto;margin-right:auto}@media(max-width:1250px){.app{--nav-width:184px}}@media(max-width:960px)and (min-width:721px){.app{--nav-width:74px}}@media(max-width:720px){.app{--nav-width:0px}}.coach-status{font-size:11px;line-height:1.6;color:#7b8790;margin-top:12px}.coach-narrative .coach-action p{overflow-wrap:anywhere}:root{color:#3c4945;background:#f4f4ef;--green:#217f70;--mint:#e4eee5;--line:#d6dcd2;--muted:#68756d;--accent:#e5804b;font-variant-numeric:tabular-nums}h1,h2,h3{color:#3b4943}h1{font-weight:650;letter-spacing:-.6px}h2{font-weight:600;font-size:17px;letter-spacing:.1px}h3{font-weight:600}.sidebar{background:#eaf0e7;border-color:#d0d9cd}.brand{color:#397b6a;font-weight:650;font-size:19px}.brand svg{color:#32aa98}.sidebar nav button,.settings{border-radius:3px;color:#58665d}.sidebar nav button.active{background:#d6e6d8;color:#256f5e;box-shadow:inset 3px 0 #32aa98}.sidebar nav button:hover{background:#dfe9dd}.panel{border:0;border-top:1px solid #ccd5c9;border-radius:3px;background:#fafbf6;padding:22px;box-shadow:none}.top-grid,.bottom-grid{gap:22px}.top-grid{margin-bottom:22px}.top-grid .today-panel{background:#e6eee3;border-color:#b8cebc;padding:22px}.top-grid .recovery{padding:22px 18px 9px}.coach-card{background:#f7f8f1;padding:22px;border-color:#cbd5c7}.panel>h2,.section-head{padding-bottom:12px;border-bottom:1px solid #d7dfd1}.section-head{margin-bottom:12px}.top-grid .today-panel>h2{border-color:#c5d6c4}.coach-card .section-head{margin-bottom:16px}.top-grid .workout-title h3{font-size:20px;line-height:1.55}.top-grid .workout-title p{font-size:13px;color:#5a6c60}.workout-title>.sport{background:#32aa98}.top-grid .extra-list{border-color:#c5d6c4}.sport.run{color:#d57842}.sport.yoga,.sport.stretch{color:#7a897b}.extra-workout>.sport{background:#9eb9a6}.course>.sport{background:#e3eee2}.course>.sport.run{background:#f8e8dc}.course>.sport.yoga,.course>.sport.stretch{background:#e9eddf}.round-icon.blue{background:#e0ece4;color:#2e8d7e}.round-icon.pink{background:#f7e9de;color:#c76b3d}.round-icon.gray{background:#e7ebe2;color:#71816e}.recovery-row{border-color:#dce3d8}.metric-name{font-size:12px}.top-grid .recovery .metric-name strong{font-size:17px;font-weight:600;color:#3b4943}.metric-name>small{color:#67786a}.coach-narrative .coach-verdict{color:#3e6857;font-weight:600}.coach-card .section-head>small{background:#e2eadc;color:#536c56;border-radius:2px}.coach-narrative p{color:#58695d}.coach-action{border-color:#d8dfd2}.primary{background:#287f70;border-color:#287f70;border-radius:3px}.main-workout>.primary{border-radius:3px}.iconbtn{background:#fafbf6;border-color:#d2dacf;border-radius:3px}.soft-btn{border-radius:3px;background:#e6eee3;border-color:#c9d9c8;color:#32715d}.text-btn{color:#287f70}.week-panel{margin-bottom:22px;padding:22px}.week-head{padding-bottom:15px;border-bottom:1px solid #d7dfd1;margin-bottom:17px}.week-total strong{color:#417867}.week-total>small{color:#657266}.week-summary h2{font-size:17px}.days{gap:0}.day{border:0;border-right:1px solid #d8dfd3;border-radius:0;background:transparent;padding:13px 14px;min-height:196px}.day:last-child{border-right:0}.day.today{background:#e7eee1;border-color:#d8dfd3;box-shadow:inset 0 3px #32aa98}.day-date strong{font-size:15px;font-weight:600;color:#4b5e50}.day>small{color:#63725f}.course strong{font-size:12px;line-height:1.7;color:#435446}.course small{color:#68776a}.day-date .check{background:#dbeadc;color:#267d6b}.green{color:#287f70!important}progress,progress::-webkit-progress-bar{background:#dce4d7;border-radius:0;height:4px}progress::-webkit-progress-value{background:#32aa98;border-radius:0}progress::-moz-progress-bar{background:#32aa98;border-radius:0}.table-row{border-color:#dce2d7;min-height:39px;color:#607062}.table-row b{color:#425747}.table-head{color:#657462}.recent,.food-panel{padding:22px}.meal-field{border-radius:3px!important;background:#eaf0e3!important;border-color:#d7dfce!important}.meal-field.lunch,.meal-field.snack{background:#f5e9dc!important}.meal-field>span{color:#586c56}.meal-field.lunch>span,.meal-field.snack>span{color:#9a603e}.meal-field input{color:#445b49}.weight-row strong{color:#417867}.mode-badge{border-radius:3px;background:#e2e7dc;color:#5f6d5d}.mode-badge.live{background:#deebdd;color:#36715c}.page-header p,.sync{color:#657562}.page-footer{border-color:#ccd5c9;color:#64715f}.detail-chart,.analytics,.cycle{margin-bottom:22px}.stat-grid>div,.cycle-table article{border-radius:3px;background:#f2f5eb;border-color:#d7dfd1}.drawer{background:#fafbf6}.drawer>header{border-color:#d6ddcf}.notice{background:#edf1e5;border-color:#d5dfca;border-radius:3px}.workout-detail pre{background:#eef2e8;border-color:#d9e1d1}.steps{gap:3px}.stepbar{border-radius:1px 1px 0 0;min-height:18px}.steps strong{color:#465b4d}.steps span{color:#536955}.steps .step-zone{font-size:10px;color:#52664f;margin-top:3px}.zone-legend{display:flex;gap:8px 12px;flex-wrap:wrap;padding:10px 0 2px;font-size:11px;color:#5b6d5b}.zone-legend span,.zone-scale span{display:inline-flex;align-items:center;gap:5px}.zone-legend i{width:9px;height:9px;display:inline-block;flex-shrink:0}.zone-guide{margin-bottom:22px}.zone-guide p{font-size:13px;color:#596a5b;margin-bottom:18px}.zone-guide>small{display:block;line-height:1.8}.zone-scale{display:flex;align-items:center;gap:24px;margin:14px 0}.zone-scale>strong{font-size:12px;font-weight:500;white-space:nowrap}.zone-scale>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;flex:1;max-width:620px}.zone-scale span{flex-direction:column;gap:6px;font-size:11px;color:#536451}.zone-scale i{height:8px;width:100%}.mobile-nav{background:#f8faf2f5;border-color:#d0d9c9}.mobile-nav button{color:#63745e}.mobile-nav button.active{color:#287f70}@media(max-width:720px){.app>main{padding-top:22px}.top-grid,.bottom-grid{gap:16px}.top-grid{margin-bottom:16px}.panel,.today-panel,.recovery,.coach-card,.week-panel,.recent,.food-panel{border-radius:3px}.top-grid .today-panel,.coach-card,.recent,.food-panel{padding:19px}.week-panel{padding:17px 0}.week-head{margin-left:17px;margin-right:17px}.days{gap:0;padding-bottom:5px}.day{flex-basis:140px;min-height:202px;border-right:1px solid #d8dfd3}.day:last-child{border-right:0}.top-grid .recovery .metric-name strong{font-size:14px}.zone-guide{padding:19px}.zone-scale{gap:12px}.zone-scale>div{gap:6px}.zone-scale>strong{font-size:11px}.zone-guide .section-head{align-items:flex-start;flex-wrap:wrap}.zone-guide .section-head small{white-space:normal}.meal-field input{font-size:18px}.week-panel,.zone-guide,.detail-chart,.analytics,.cycle{margin-bottom:16px}}
