:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#203b34;background:#f6f7f2;font-synthesis:none;font-weight:400;--green:#087b6a;--deep:#164e42;--muted:#7a8a82;--border:#e7ece5;--soft:#e8f3ec;--shadow:0 5px 22px #304d3d04}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #aac86b;outline-offset:3px}input:focus,textarea:focus{outline:2px solid #9bbfb0;outline-offset:1px}input,textarea{border:1px solid #dce5df;background:#fcfdfa;border-radius:10px;padding:12px 13px;color:#213b32;min-width:0;width:100%}input::placeholder,textarea::placeholder{color:#a0aaa3}input:disabled,textarea:disabled{background:#f4f5f1}input::-webkit-inner-spin-button{appearance:none}textarea{resize:vertical;min-height:100px}h1,h2,h3,h4,p{margin:0}svg{flex-shrink:0;vertical-align:middle}a{color:var(--green)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.35px;color:#829786}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:700;letter-spacing:1px}.brand-mark{display:grid;place-items:center;width:39px;height:42px;background:var(--green);color:#e5f1d3;border-radius:13px 13px 18px 7px;transform:rotate(-4deg)}.brand-mark svg{transform:rotate(4deg)}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;color:#829189;margin-top:5px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 18px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:13px;font-weight:600;transition:background .15s,transform .15s}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:#066b5b}.button.subtle{background:#eef4ec;color:var(--green)}.button.small{padding:8px 13px;white-space:nowrap}.button:active{transform:translateY(1px)}.text-button{padding:10px 6px;border:0;background:none;color:var(--green);font-size:12px;min-height:44px}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;background:transparent;border:0;border-radius:9px}.icon-button:hover{background:#eef3ec}.muted{color:var(--muted);font-size:12px;line-height:1.8}.footnote{font-size:11px;color:#8a968d;line-height:1.85}.message{font-size:12px;line-height:1.8;border-radius:9px;padding:11px 13px}.message.error{color:#a34731;background:#fff2ec}.message.success{color:#176b52;background:#edf7ed}.setup-note{font-size:12px;line-height:1.8;background:#f3f5ec;padding:12px;border-radius:8px;color:#798565}.small-error{font-size:11px;color:#a34731;line-height:1.7}.auth-loading{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;color:var(--muted)}.app-shell{max-width:1560px;margin:auto;display:flex;min-height:100dvh}.sidebar{width:238px;flex-shrink:0;background:#fbfcf7;border-right:1px solid var(--border);padding:37px 25px 20px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.side-intro{font-size:12px;line-height:1.85;color:#8b998e;margin:30px 0 34px 7px}.sidebar nav{display:grid;gap:8px}.side-nav{display:flex;align-items:center;gap:13px;height:50px;padding:0 15px;border:0;border-radius:11px;background:none;color:#7a8c80;font-size:13px;font-weight:500;position:relative;text-align:left}.side-nav.active{color:var(--green);background:#e9f2e8;font-weight:650}.side-nav:hover{background:#edf3e9}.nav-dot{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--green)}.side-plan{position:relative;margin-top:40px;border:1px solid #e2e9d6;background:linear-gradient(155deg,#f0f4e6,#f7f9f0);border-radius:14px;padding:21px 18px;overflow:hidden}.side-plan .eyebrow{font-size:9px}.goal-line{display:flex;align-items:center;gap:11px;margin:14px 0;color:#4b6751;font-size:27px;font-weight:650}.goal-line span:last-child{color:var(--green)}.goal-line small{font-size:10px;margin-left:4px;font-weight:400;color:#8b9887}.side-plan p{font-size:10px;line-height:1.8;color:#91a083}.mini-leaves{position:absolute;right:-10px;bottom:0;color:#c6d7b0;transform:rotate(-25deg);opacity:.7}.mini-leaves svg:first-child{width:48px;height:48px}.mini-leaves svg:last-child{position:absolute;width:28px;height:28px;left:-13px;bottom:3px;transform:rotate(60deg)}.sidebar-bottom{margin-top:auto;padding-top:34px}.side-help{display:flex;align-items:center;gap:9px;min-height:44px;border:0;background:none;font-size:11px;color:#8b998e}.account{display:flex;align-items:center;gap:9px;padding-top:20px;margin-top:14px;border-top:1px solid var(--border)}.avatar{border-radius:50%;background:#edf1e7;color:#647e68;width:32px;height:32px;display:grid;place-items:center;font-size:13px}.account>div{min-width:0;flex:1}.account b{font-size:10px;font-weight:500}.account small{display:block;font-size:9px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9ba59b}.account button{border:0;background:none;width:44px;height:44px;color:#8a988e}.main-content{flex:1;min-width:0;padding:43px 42px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}.page-heading h1{font-size:30px;font-weight:650;letter-spacing:-.6px;line-height:1.35;margin-top:11px}.page-heading p{color:#86938b;font-size:12px;margin-top:12px}.heading-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.date-picker{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e1e7df;border-radius:10px;padding:11px 12px;font-size:11px;color:#607468;position:relative;min-height:44px;overflow:hidden}.date-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;min-width:0;width:100%;height:100%}.date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.save-status{display:flex;align-items:center;gap:5px;font-size:10px;color:#91a287;white-space:nowrap}.save-status.saving{color:#7d915f}.save-status.failed{color:#b26a3c}.save-status.saved{color:var(--green)}.preview-banner{display:flex;align-items:center;gap:8px;background:#f1f2e5;border:1px solid #e6e9d2;padding:10px 13px;font-size:11px;line-height:1.7;color:#8b8958;border-radius:9px;margin-bottom:20px}.error-banner{border:1px solid #eed7cb;border-radius:10px;padding:14px 16px;background:#fff4ed;display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:16px 0;color:#985840;font-size:12px}.error-banner>div{flex:1;min-width:190px}.error-banner b{display:block;margin-bottom:5px}.error-banner span{line-height:1.7}.loading-panel{min-height:250px;display:flex;align-items:center;justify-content:center;gap:12px;color:#7a8a82;font-size:13px}.top-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:19px 20px;box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6e8273}.stat-icon{width:31px;height:31px;display:grid;place-items:center;background:#f0f5eb;color:#729977;border-radius:9px}.stat-value{font-size:34px;line-height:1.35;letter-spacing:-1px;font-weight:650;color:var(--green);margin:3px 0 7px}.stat-value small{font-size:12px;color:#8a9b8b;margin-left:7px;font-weight:400;letter-spacing:0}.stat-card p{font-size:10px;color:#a0aba1}.phase-note{display:flex;align-items:flex-start;gap:9px;color:#788d75;background:#eef3e6;border:1px solid #e4ead7;border-radius:9px;padding:11px 14px;font-size:10px;line-height:1.8;margin-bottom:27px}.phase-note svg{margin-top:1px;color:#7d9b73}.phase-note b{font-weight:550;margin-right:9px;color:#536f58}.future-note{padding:11px 13px;background:#eef2f4;color:#7c8c97;font-size:12px;line-height:1.7;border-radius:8px;margin-bottom:18px}.today-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:25px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:17px}.section-heading h2{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:650;white-space:nowrap}.section-heading h2 svg{color:#60866d}.section-meta{color:#a1aaa0;font-size:10px;white-space:nowrap}.nutrition-summary{background:#0d7d6d;border-radius:13px;color:#fff;padding:23px 24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;min-height:131px;background-image:radial-gradient(ellipse at bottom right,#288d721e,transparent)}.nutrition-summary small{font-size:10px;color:#c4e0c7}.nutrition-summary strong{display:block;font-size:24px;line-height:1.7;letter-spacing:-.5px;margin-top:5px;font-weight:650}.nutrition-summary strong span{font-size:12px;font-weight:400;letter-spacing:0;color:#c5e2cd}.nutrition-summary p{font-size:10px;color:#b3d6bc;margin-top:4px}.nutrition-summary>svg{opacity:.22;transform:rotate(-15deg)}.meal-list{display:grid;gap:11px}.meal-card{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:#fff;transition:border-color .15s,background .15s}.meal-card.checked{border-color:#bcd8ba;background:#fcfef9}.meal-top{display:flex;align-items:center;gap:10px;margin:-3px -5px 5px 0}.meal-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#f1f4e8;color:#91a66c}.meal-1{background:#eef3e9;color:#709774}.meal-2{background:#eef3f2;color:#77a091}.meal-3{background:#f5f0e6;color:#b1a176}.meal-card h3{font-size:13px;font-weight:650}.meal-kcal{margin-left:auto;font-size:13px;color:#688873;font-weight:600;white-space:nowrap}.meal-kcal small{font-size:9px;font-weight:400;color:#9faa9e}.meal-card>p{font-size:12px;line-height:1.9;color:#4d6558;margin-top:6px}.meal-card>small{font-size:10px;color:#99a294;line-height:1.8;display:block;margin-top:7px}.check-button{border:0;background:none;width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;position:relative;color:#fff}.check-button:before{content:"";position:absolute;inset:10px;border:1.5px solid #d7e2d5;border-radius:50%;transition:background .15s}.check-button svg{position:relative;z-index:1}.check-button:hover:before{border-color:var(--green)}.check-button.checked:before{background:var(--green);border-color:var(--green)}.meal-list+.footnote{margin:15px 5px 0}.workout-card{border-radius:13px;background:#fff;border:1px solid var(--border);overflow:hidden}.workout-title{display:flex;align-items:center;gap:12px;padding:21px 20px;border-bottom:1px solid #ebefea;background:linear-gradient(90deg,#eff5ed,#fbfcf6)}.workout-badge{width:44px;height:47px;border:1px solid #d8e6d3;background:#e8f1df;color:#497958;font-size:26px;font-weight:600;border-radius:11px;display:grid;place-items:center}.workout-title>div{flex:1;min-width:0}.workout-title small{font-size:9px;color:#8ca185}.workout-title h3{font-size:14px;line-height:1.6;margin-top:4px;font-weight:650;white-space:nowrap}.duration{font-size:9px;white-space:nowrap;background:#fff;color:#8d9d81;border:1px solid #e2e9d9;padding:5px 7px;border-radius:5px}.task-list{padding:0 16px}.task-row{border-bottom:1px solid #edf0e9}.task-row:last-child{border:0}.task-main{display:flex;align-items:flex-start;gap:5px;padding:13px 0}.task-main .check-button{margin-left:-9px;margin-top:-4px}.task-copy{flex:1;min-width:0;padding-top:4px}.task-copy h4{font-size:12px;font-weight:550;line-height:1.5;color:#405e4b}.task-copy p{font-size:10px;line-height:1.8;color:#95a18f;margin-top:6px}.task-copy .reps{color:#7c947e;letter-spacing:.2px;font-size:11px}.reps b{font-weight:600;color:#577e5d}.reps span{margin:0 5px;color:#acb9a9}.task-row.checked h4{color:var(--green)}.optional{font-size:8px;background:#edf1e5;color:#91a17e;font-weight:400;margin-left:7px;padding:3px 5px;border-radius:4px}.training-toggle{display:flex;align-items:center;justify-content:center;gap:3px;min-width:44px;min-height:44px;font-size:9px;border:0;background:none;color:#8c9b85;border-radius:8px}.training-toggle:hover{background:#eff4e9}.training-detail{padding:9px 12px 13px;margin:0 0 14px 36px;background:#f7f9f2;border:1px solid #e8eddf;border-radius:8px}.training-detail>p{font-size:10px;line-height:1.8;color:#8a9982;margin-bottom:11px}.training-detail>small{display:block;font-size:9px;color:#9fa995;margin-top:9px}.set-head,.set-inputs{display:grid;grid-template-columns:26px 1fr 1fr;gap:8px;align-items:center}.set-head{font-size:9px;color:#99a68d;padding-bottom:7px}.set-inputs{margin-bottom:6px;font-size:10px;color:#8ba07b}.set-inputs input{padding:9px 8px;font-size:11px;height:44px;background:#fff;border-radius:6px}.minutes-input{display:flex;align-items:center;gap:8px;font-size:10px;color:#6c856b}.minutes-input input{flex:1;max-width:130px;height:44px;font-size:11px}.gentle-note{display:flex;gap:12px;padding:16px 17px;border:1px solid #e5eadb;border-radius:11px;background:#f2f5e9;margin-top:16px;color:#91a076}.gentle-note b{font-size:10px;font-weight:550;color:#718262}.gentle-note p{font-size:10px;color:#9aa38d;line-height:1.8;margin-top:6px}.record-shortcut{display:flex;align-items:center;gap:12px;width:100%;margin-top:13px;padding:17px 18px;background:#fff;border:1px solid var(--border);border-radius:11px;text-align:left;color:#678469}.record-shortcut>span{flex:1;font-size:11px}.record-shortcut small{display:block;font-size:9px;color:#a5af9e;margin-top:7px}.panel{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.empty{text-align:center;padding:30px 12px;color:#a0b28d}.empty h3{color:#718568;font-size:14px;font-weight:500;margin-top:16px}.empty p{font-size:11px;color:#98a28f;line-height:1.9;margin:10px auto 0;max-width:270px}.center-button{display:flex;margin:0 auto 25px}.page-footer{display:flex;align-items:center;gap:7px;padding:30px 0 23px;font-size:9px;color:#a3ae9d}.page-footer>span:last-child{margin-left:auto;font-size:8px}.mobile-header,.bottom-nav{display:none}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:20px}.calendar-panel{padding:27px 25px}.calendar-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.calendar-top h2{font-size:20px;margin-top:8px;font-weight:600}.segmented{display:flex;padding:4px;background:#f1f4ec;border-radius:9px;gap:3px}.segmented button{border:0;background:none;font-size:11px;color:#95a28b;padding:8px 13px;min-height:44px;border-radius:7px;white-space:nowrap}.segmented button.active{color:var(--green);background:#fff;box-shadow:0 2px 6px #3b553110}.calendar-count{display:flex;align-items:center;gap:15px;margin:25px 0;background:#f0f6ec;border-radius:11px;padding:20px 17px}.count-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:#e2eed6;color:#729063}.calendar-count strong{font-size:31px;line-height:1;color:var(--green);font-weight:600;letter-spacing:-1px}.calendar-count strong small{font-size:12px;letter-spacing:0;margin-left:6px;font-weight:400;color:#88a080}.calendar-count p{font-size:10px;color:#8ba17e;margin-top:9px}.count-caption{margin-left:auto;font-size:9px;line-height:1.8;color:#98a58b;text-align:right}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.calendar-controls h3{font-size:15px;font-weight:550}.calendar-controls>div{display:flex;gap:0;align-items:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{font-size:10px;color:#9aa794;text-align:center;margin-bottom:11px}.calendar-cell{height:66px;min-width:0;border:1px solid #edf0e8;border-radius:10px;background:#fcfdf9;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;position:relative}.day-number{font-size:13px;position:relative;font-weight:500}.day-number small{font-size:7px;position:absolute;right:-10px;top:-2px;color:#728d5f}.calendar-marker{display:grid;place-items:center;min-height:15px}.calendar-cell.complete{background:#e7f3e6;border-color:#cce3c6;color:var(--green)}.calendar-cell.partial{background:#f2f3df;border-color:#e4e7c8;color:#8b9760}.calendar-cell.future{color:#b1b9b0;border-style:dashed;background:#fff}.calendar-cell.outside{color:#bdc4ba;border:0;background:repeating-linear-gradient(135deg,#f4f5f0,#f4f5f0 3px,#f7f8f3 3px 6px)}.calendar-cell.empty{color:#84917d;padding:0}.calendar-cell.selected{outline:2px solid var(--green);outline-offset:1px}.calendar-cell.is-today:not(.selected){border-color:#a8cba3}.calendar-cell.muted-month{opacity:.4}.partial-dot,.future-dot,.empty-dot{display:block;width:5px;height:5px;border-radius:50%;background:#a2b36c}.future-dot{border:1px solid #c0c7bc;background:none;width:6px;height:6px}.empty-dot{background:#d6ddd1;width:3px;height:3px}.calendar-cell.outside .empty-dot{opacity:0}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;padding:20px 0 15px;font-size:9px;color:#9ca692}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:7px;height:7px;display:block;border-radius:2px}.legend-complete{background:var(--green)}.legend-partial{background:#b5be76}.legend-empty{background:#dce3d5}.legend-future{border:1px dashed #b6c2ab}.legend-outside{background:repeating-linear-gradient(135deg,#d1d8c7,#d1d8c7 1px,#fff 1px 2px)}.calendar-right{display:flex;flex-direction:column;gap:17px}.day-preview{padding:25px 22px}.day-preview h3{margin:15px 0 13px;font-size:21px;font-weight:600}.day-preview h3 small{font-size:10px;color:#8d9e81;font-weight:400;margin-left:8px}.status-tag{display:inline-block;font-size:9px;border-radius:5px;padding:5px 8px;background:#f1f3ec;color:#8ea07e}.status-tag.complete{background:#e4f3e4;color:var(--green)}.status-tag.partial{background:#f3f3df;color:#9b9d62}.status-tag.future{background:#edf2f4;color:#8999a0}.day-preview-workout{display:flex;gap:10px;align-items:center;margin:24px 0;color:#6f8c68}.day-preview-workout b{font-size:12px;font-weight:500;line-height:1.6}.day-preview-workout small{display:block;font-size:10px;color:#9ba78f;margin-top:5px}.preview-progress{display:flex;justify-content:space-between;font-size:10px;color:#9ba891;padding:16px 0;border-top:1px solid var(--border)}.preview-progress b{font-weight:500;color:#6f8b60}.day-preview .button{width:100%;font-size:11px;margin-top:2px}.week-summary{padding:22px}.week-summary>h3{font-size:14px;font-weight:550}.week-summary>p{font-size:10px;color:#9ca991;margin:9px 0 17px}.summary-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:18px 0;font-size:11px}.summary-line span{display:flex;align-items:center;gap:8px;color:#8b9e80}.summary-line b{color:#547852;font-size:11px;font-weight:550;white-space:nowrap}.week-summary>small{display:block;font-size:9px;color:#9ea890;line-height:1.8;border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.records-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px}.metrics-panel{padding:25px;align-self:start}.metrics-panel>.muted{font-size:11px}.metric-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:23px 0}.number-field{display:block;font-size:11px;color:#809477;min-width:0}.number-field>div{display:flex;align-items:center;position:relative;margin-top:9px}.number-field input{padding:13px 32px 13px 12px;background:#f9fbf4;font-size:13px;border-color:#e2e9d9}.number-field span{position:absolute;right:9px;font-size:9px;color:#a3b095;pointer-events:none}.number-field:last-child input{padding-right:39px}.field-label{display:block;font-size:11px;color:#809477;margin:23px 0 10px}.degree-selector{display:flex;gap:8px}.degree-selector button{flex:1;border:1px solid #e5ebdf;background:#fbfcf7;min-height:44px;border-radius:8px;font-size:11px;color:#99a58c;padding:10px 4px}.degree-selector button.selected{background:#eaf3e2;color:#648253;border-color:#b8cfa5}.metrics-panel textarea{font-size:12px;background:#f9fbf4;border-color:#e2e9d9;line-height:1.8}.auto-save-tip{display:flex;align-items:center;gap:6px;color:#99a78b;font-size:9px;margin:14px 0 0;line-height:1.7}.records-right{display:flex;flex-direction:column;gap:17px}.trend-panel{padding:23px}.trend-heading{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.trend-heading h3{font-size:14px;font-weight:550}.trend-heading strong{font-size:25px;font-weight:550;color:var(--green);letter-spacing:-1px}.trend-heading small{font-size:10px;margin-left:5px;color:#9aac8c;font-weight:400;letter-spacing:0}.trend-panel .empty{padding:23px 5px}.trend-panel .empty h3{font-size:12px}.trend-panel .empty p{font-size:10px}.weight-chart svg{width:100%;height:auto;display:block;margin:16px 0 7px}.history-panel{padding:22px}.history-panel>h3{font-size:14px;font-weight:550;margin-bottom:16px}.history-panel>.muted{font-size:11px}.history-row{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #edf0e8;background:none;padding:13px 0;text-align:left;min-height:65px}.history-row:last-child{border-bottom:0}.history-row>div:first-child{flex:1}.history-row b{font-size:12px;font-weight:500}.history-row small{display:block;font-size:9px;color:#9daa93;margin-top:6px;line-height:1.6}.history-row>div:nth-child(2){text-align:right}.history-row span{font-size:11px;color:#769165}.history-row>svg{color:#a1ad95}.plan-adjustments{padding:19px 22px;font-size:11px;color:#879778}.plan-adjustments summary{cursor:pointer;min-height:26px;color:#6e855f}.plan-adjustments p{font-size:10px;line-height:1.85;margin-top:12px;color:#9aa58f}.auth-page{min-height:100dvh;max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.9fr);column-gap:70px;padding:39px 80px 0;position:relative;background:radial-gradient(ellipse at 10% 65%,#edf3dd,transparent 55%)}.auth-brand{grid-column:1/-1}.auth-story{padding-top:62px;position:relative}.auth-story h1{font-size:42px;font-weight:600;line-height:1.45;letter-spacing:-1px;margin:20px 0;color:#294436}.auth-story h1>span{display:block;color:var(--green)}.auth-story>p{color:#8c9d86;font-size:13px;line-height:2}.auth-illustration{position:relative;height:280px;max-width:460px;margin-top:27px}.orbit{position:absolute;border:1px solid #dce7cb;border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:255px;height:230px;top:11px;left:73px}.orbit-two{width:305px;height:180px;top:35px;left:42px}.big-leaf{width:145px;height:145px;position:absolute;left:122px;top:48px;color:#adcba2;stroke-width:1;transform:rotate(-28deg);fill:#dae9c6}.float-card{position:absolute;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid #dee8d3;background:#ffffffed;border-radius:12px;box-shadow:0 9px 35px #2f53260a;font-size:12px;color:#486746}.float-card>svg:first-child{color:#82a06b;width:23px;height:23px}.float-card span{font-weight:550}.float-card small{display:block;font-size:9px;color:#a2ae94;margin-top:7px;font-weight:400}.float-check{color:var(--green);width:16px;margin-left:8px}.food-float{left:5px;top:17px;transform:rotate(-4deg)}.move-float{right:9px;top:149px;transform:rotate(4deg)}.sprout{position:absolute;left:41px;bottom:11px;display:flex;align-items:center;gap:9px;font-size:9px;color:#99ad88}.sprout>svg{color:#a7bb91;stroke-width:1}.auth-form-card{align-self:center;background:#fff;border:1px solid #e2e9da;border-radius:20px;padding:30px 31px;box-shadow:0 15px 60px #41683b08;margin-top:10px;margin-bottom:30px}.small-icon{display:grid;place-items:center;width:45px;height:45px;background:#edf4e7;color:#749465;border-radius:13px;margin-bottom:20px}.auth-form-card h2{font-size:22px;font-weight:600;letter-spacing:-.2px}.auth-form-card>p{color:#9aa88e;font-size:11px;line-height:1.85;margin-top:11px}.auth-form-card form{margin-top:24px;display:grid;gap:17px}.auth-form-card form>label{font-size:11px;color:#7e9274;display:block}.auth-form-card label input{margin-top:9px;height:46px;font-size:12px;background:#fafcf6;border-color:#dfe8d8}.auth-submit{width:100%;margin-top:2px;font-size:12px}.auth-submit>svg:last-child{margin-left:auto}.auth-submit:not(:has(svg)){justify-content:center}.auth-switch{display:block;margin:7px auto 0;font-size:11px}.auth-private{display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid var(--border);padding-top:17px;margin-top:15px;font-size:9px;color:#9dab91}.preview-link{display:flex;justify-content:center;align-items:center;gap:5px;font-size:10px;color:#95a184;margin-top:18px;min-height:44px;text-decoration:none}.auth-footer{grid-column:1/-1;display:flex;justify-content:space-between;padding:27px 0 23px;font-size:10px;color:#9eb08f}.auth-footer span{font-size:9px;letter-spacing:2px}.help-dialog{max-width:450px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:18px;padding:24px;color:#3f5c48;box-shadow:0 24px 100px #203b3422}.help-dialog::backdrop{background:#24463266;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.dialog-heading h2{font-size:17px;font-weight:600}.help-dialog>p{font-size:12px;color:#93a386;line-height:1.8;margin-top:14px}.help-step{display:flex;align-items:flex-start;gap:13px;margin-top:21px}.help-step>span{width:29px;height:29px;background:#edf4e5;color:#82a066;border-radius:9px;display:grid;place-items:center;font-size:11px;flex-shrink:0}.help-step b{font-size:12px;font-weight:550}.help-step p{font-size:11px;line-height:1.8;color:#97a58a;margin-top:7px}.help-dialog>.button{width:100%;margin-top:21px}@media(min-width:1500px){.main-content{padding:48px 58px 0}.sidebar{width:250px;padding-left:30px;padding-right:30px}.today-columns{gap:30px}.meal-card{padding:18px 22px}.task-main{padding:16px 0}}@media(max-width:1160px){.sidebar{width:206px;padding:29px 19px 18px}.main-content{padding:34px 27px 0}.today-columns{gap:17px}.workout-title{gap:9px;padding:19px 15px;flex-wrap:wrap}.workout-title .duration{margin-left:53px}.nutrition-summary{padding:22px 19px}.nutrition-summary strong{font-size:21px}.task-list{padding:0 13px}.meal-card{padding:15px}.stat-card{padding:17px}.page-heading h1{font-size:28px}.calendar-layout{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:17px}.calendar-panel{padding:23px 19px}.calendar-count{gap:11px;padding:18px 13px}.count-caption{font-size:8px}.calendar-controls h3{font-size:13px}.calendar-grid{gap:5px}.calendar-cell{height:58px;border-radius:8px}.calendar-legend{gap:11px}.segmented button{padding:8px 11px}.calendar-top h2{font-size:18px}.metrics-panel{padding:21px}.metric-fields{grid-template-columns:1fr}.number-field>div{margin-top:7px}.auth-page{padding:35px 55px 0;gap:50px}.auth-story h1{font-size:38px}.auth-form-card{padding:28px}}@media(max-width:900px){.sidebar{width:185px;padding:28px 16px 18px}.brand{font-size:21px;gap:9px}.side-intro{font-size:11px;margin-top:25px}.side-nav{padding:0 12px;font-size:12px;gap:10px}.side-plan{padding:18px 14px}.goal-line{font-size:25px;gap:9px}.main-content{padding:30px 22px 0}.heading-actions{flex-direction:column;align-items:flex-end;gap:8px}.top-stats{gap:10px}.stat-card{padding:14px 13px}.stat-value{font-size:29px}.stat-top{font-size:10px}.stat-card p{font-size:9px;line-height:1.7}.stat-icon{width:28px;height:28px}.today-columns{grid-template-columns:1fr;gap:25px}.workout-title .duration{margin-left:0}.nutrition-summary strong{font-size:26px}.meal-card{padding:18px 20px}.section-heading h2{font-size:16px}.task-list{padding:0 22px}.task-main{padding:15px 0}.task-copy h4{font-size:13px}.task-copy p{font-size:11px}.task-copy .reps{font-size:12px}.calendar-layout,.records-layout{grid-template-columns:1fr}.calendar-right{display:grid;grid-template-columns:1fr 1fr;gap:15px}.calendar-cell{height:68px}.calendar-panel{padding:25px}.calendar-controls h3{font-size:15px}.metric-fields{grid-template-columns:repeat(3,1fr)}.records-right{display:grid;grid-template-columns:1fr}.page-footer{flex-wrap:wrap}.page-footer>span:last-child{display:none}.auth-page{padding:30px 34px 0;gap:27px;grid-template-columns:minmax(0,1fr) minmax(290px,.95fr)}.auth-story h1{font-size:32px}.auth-story>p{font-size:12px}.auth-form-card{padding:26px 23px}.auth-illustration{transform:scale(.82);transform-origin:left center;margin-top:0;margin-right:-50px}.move-float{right:-5px}.auth-story .eyebrow{font-size:8px;letter-spacing:.8px}}@media(max-width:680px){.app-shell{display:block}.sidebar{display:none}.main-content{padding:0 18px 85px}.mobile-header{display:flex;align-items:center;padding:23px 1px 25px;gap:4px}.mobile-header .brand{flex:1;font-size:21px;gap:9px}.mobile-header .brand-mark{width:34px;height:37px;border-radius:11px 11px 16px 6px}.mobile-header .brand small{font-size:8px;letter-spacing:.6px;margin-top:4px}.mobile-header .icon-button{color:#8a9f7e}.page-heading{margin-bottom:20px;gap:8px}.page-heading .eyebrow{font-size:8px;letter-spacing:1px}.page-heading h1{font-size:27px;margin-top:9px;letter-spacing:-.4px}.page-heading p{font-size:10px;margin-top:10px;line-height:1.8}.heading-actions{gap:6px;align-self:flex-end;padding-bottom:2px}.date-picker{padding:10px 9px;font-size:10px;gap:5px;min-height:40px}.date-picker svg{width:13px}.save-status{font-size:8px;gap:4px}.save-status svg{width:12px}.preview-banner{font-size:9px;padding:9px 10px;margin-bottom:16px;gap:6px}.preview-banner svg{width:14px}.top-stats{gap:8px;margin-bottom:17px}.stat-card{border-radius:10px;padding:13px 10px}.stat-top{font-size:9px;align-items:flex-start;line-height:1.5;gap:3px}.stat-icon{width:auto;height:auto;background:none;border-radius:0}.stat-icon svg{width:13px;height:13px}.stat-value{font-size:26px;line-height:1.4;margin-top:6px;letter-spacing:-.7px}.stat-value small{font-size:9px;margin-left:4px}.stat-card p{font-size:8px;line-height:1.6;min-height:25px}.phase-note{font-size:9px;padding:10px 11px;gap:7px;margin-bottom:23px}.phase-note b{display:block;margin-right:0;margin-bottom:2px}.phase-note svg{width:14px;margin-top:2px}.today-columns{gap:25px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:16px;gap:8px}.section-heading h2 svg{width:18px}.section-meta{font-size:9px}.nutrition-summary{border-radius:12px;padding:20px 22px;min-height:129px}.nutrition-summary strong{font-size:26px}.meal-list{gap:10px}.meal-card{padding:16px 17px;border-radius:11px}.meal-card>p{font-size:12px;line-height:1.95}.meal-card>small{font-size:10px;margin-top:6px}.meal-top{margin-bottom:1px}.meal-icon{width:30px;height:30px}.meal-card h3{font-size:13px}.meal-kcal{font-size:12px}.meal-kcal small{font-size:9px}.meal-top .check-button{margin-right:-3px}.meal-list+.footnote{font-size:10px;margin-top:13px}.workout-title{padding:20px 17px;gap:10px;flex-wrap:nowrap}.workout-title h3{font-size:13px}.workout-title .duration{font-size:8px;padding:5px 6px;margin-left:0}.workout-badge{width:39px;height:44px;font-size:24px}.task-list{padding:0 17px}.task-main{padding:15px 0;gap:3px}.task-copy h4{font-size:12px}.task-copy p{font-size:10px}.task-copy .reps{font-size:11px}.task-main .check-button{margin-left:-8px}.training-toggle{font-size:9px}.training-detail{margin-left:34px}.gentle-note{padding:16px 14px}.gentle-note b{font-size:11px}.gentle-note p{font-size:10px}.record-shortcut{padding:17px}.record-shortcut>span{font-size:12px}.record-shortcut small{font-size:10px}.page-footer{padding:24px 0 20px;font-size:9px;justify-content:center}.bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;border-top:1px solid #e3e9dd;background:#fcfdf9f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:7px 22px calc(7px + env(safe-area-inset-bottom));z-index:20;box-shadow:0 -4px 20px #244f2c03}.bottom-nav button{border:0;border-radius:10px;background:none;color:#a1ae93;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:49px;font-size:10px}.bottom-nav button.active{color:var(--green);background:#eef5e7}.bottom-nav button.active svg{stroke-width:2.2}.calendar-layout{gap:16px}.calendar-panel{padding:19px 15px;border-radius:12px}.calendar-top h2{font-size:18px}.calendar-top .eyebrow{font-size:8px}.segmented{padding:3px;border-radius:8px}.segmented button{font-size:10px;padding:8px 10px;border-radius:6px}.calendar-count{padding:17px 12px;gap:11px;margin:20px 0}.count-icon{width:38px;height:38px}.count-icon svg{width:21px}.calendar-count strong{font-size:30px}.calendar-count p{font-size:9px}.count-caption{font-size:8px}.calendar-controls{margin-bottom:16px}.calendar-controls h3{font-size:13px}.calendar-controls .icon-button{width:34px}.calendar-controls .text-button{font-size:10px;padding:10px 5px}.calendar-grid,.calendar-weekdays{gap:5px}.calendar-cell{height:59px;border-radius:7px;gap:7px}.day-number{font-size:12px}.day-number small{font-size:6px;right:-9px}.calendar-legend{gap:11px;padding:19px 0 13px;font-size:8px}.calendar-legend i{width:6px;height:6px}.calendar-panel>.footnote{font-size:9px}.calendar-right{grid-template-columns:1fr;gap:16px}.day-preview{padding:22px 20px}.day-preview h3{font-size:21px}.day-preview-workout b{font-size:13px}.day-preview-workout small{font-size:11px}.day-preview .button{font-size:12px}.week-summary{padding:22px 20px}.summary-line,.summary-line b{font-size:12px}.metrics-panel{padding:21px 17px;border-radius:12px}.metrics-panel>.muted{font-size:10px}.metric-fields{gap:8px;margin:22px 0}.number-field{font-size:10px}.number-field input{padding:12px 28px 12px 9px;font-size:12px;min-height:45px}.number-field span{right:7px;font-size:8px}.number-field:last-child input{padding-right:32px}.field-label{font-size:11px}.degree-selector{gap:7px}.degree-selector button,.metrics-panel textarea{font-size:11px}.records-layout{gap:17px}.trend-panel{padding:23px 20px}.history-panel{padding:22px 20px}.history-row b{font-size:12px}.history-row small{font-size:10px}.history-row span{font-size:12px}.auth-page{display:flex;flex-direction:column;padding:27px 23px 0;background:radial-gradient(ellipse at 0 20%,#edf3dd,transparent 60%)}.auth-brand{margin-bottom:29px}.auth-brand .brand{font-size:23px}.auth-story{padding:0}.auth-story .eyebrow{font-size:8px}.auth-story h1{font-size:32px;line-height:1.4;margin:14px 0 12px}.auth-story h1>span{display:inline}.auth-story>p{font-size:11px;line-height:1.9}.auth-illustration{display:none}.auth-form-card{width:100%;margin:26px 0 0;border-radius:16px;padding:25px 23px;align-self:stretch}.small-icon{width:36px;height:36px;margin-bottom:15px;border-radius:10px}.small-icon svg{width:20px}.auth-form-card h2{font-size:21px}.auth-form-card>p{font-size:11px}.auth-form-card form{margin-top:23px;gap:17px}.auth-form-card form>label{font-size:12px}.auth-form-card label input{font-size:13px;height:47px}.auth-submit{font-size:13px;min-height:46px}.auth-switch{font-size:12px}.auth-private{font-size:10px}.auth-footer{padding:24px 0;font-size:9px}.auth-footer span{font-size:8px}.help-dialog{padding:20px}.dialog-heading h2{font-size:16px}.error-banner{padding:13px;font-size:11px}.error-banner .button{font-size:11px}}.set-count{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#80916f;gap:10px;margin-bottom:12px}.set-count select{height:44px;min-width:92px;border:1px solid #dce5d2;border-radius:6px;background:#fff;padding:8px;color:#5e7856;font:inherit}.set-count select:focus{outline:2px solid #9bbfb0;outline-offset:1px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
