:root{--bg:#f7f8f4;--paper:#fff;--ink:#253b31;--muted:#52634c;--line:#e8ece5;--green:#32694f;--pale:#edf3e8;--orange:#ce9760;--font:Arial, "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{background:0 0;border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe5db;border-radius:9px;outline:none;min-width:0;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:#6b9474;box-shadow:0 0 0 3px #edf3e8}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);flex-shrink:0}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.8px;margin-bottom:8px;font-size:29px;font-weight:650;line-height:1.5}h2{letter-spacing:-.3px;margin:4px 0 0;font-size:20px;font-weight:600;line-height:1.5}h3{font-size:15px;font-weight:600}p{color:var(--muted)}small{color:var(--muted);font-size:12px}strong{font-weight:600}fieldset{border:0;min-width:0;margin:0;padding:0}.button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:11px 17px;font-size:13px;font-weight:500;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#24583f}.button.secondary{color:#41694c;background:#fff;border:1px solid #dce4d6}.button.small{min-height:34px;padding:7px 12px;font-size:12px}.text-link{color:var(--muted);align-items:center;gap:6px;padding:5px 0;font-size:12px;display:inline-flex}.text-link:hover{text-decoration:underline}.icon-button{width:32px;height:32px;color:var(--muted);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--pale);color:var(--green)}.eyebrow{letter-spacing:2px;color:var(--muted);margin-bottom:7px;font-size:12px;display:block}.card{background:var(--paper);border:1px solid var(--line);border-radius:15px;min-width:0;padding:25px}.card-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-heading h3{margin:0}.section-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.section-title .eyebrow{margin-bottom:2px}.section-title h2{font-size:18px}.badge{color:var(--muted);white-space:nowrap;background:#f2f5ef;border:1px solid #e8eddf;border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;display:inline-flex}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fcfdf9;flex-direction:column;flex-shrink:0;width:225px;padding:33px 22px 18px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{letter-spacing:3px;flex-wrap:wrap;align-items:center;gap:11px;font-size:22px;font-weight:650;display:flex}.brand>span:first-child,.brand-mark{background:var(--green);color:#f9fbf4;letter-spacing:0;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-family:Songti SC,serif;font-size:24px;font-weight:400;display:inline-flex}.brand em{letter-spacing:4px;color:var(--muted);width:100%;margin-top:-11px;padding-left:49px;font-size:12px;font-style:normal}.nav-caption{color:var(--muted);letter-spacing:2px;margin:48px 12px 15px;font-size:12px}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar nav button{text-align:left;color:var(--muted);border-radius:9px;align-items:center;gap:14px;padding:13px 14px;font-size:13px;display:flex;position:relative}.sidebar nav button:hover{background:#f1f4ec}.sidebar nav button.active{color:#426e4b;background:#eaf0e1;font-weight:600}.nav-dot{background:#6f925e;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{color:var(--muted);background:#f2f5ea;border:1px solid #e7ecdc;border-radius:11px;margin-top:auto;padding:19px 16px}.sidebar-note h4{color:var(--muted);margin:10px 0 7px;font-size:13px;font-weight:500}.sidebar-note p{color:var(--muted);margin-bottom:13px;font-size:12px;line-height:1.9}.sidebar-note>span{letter-spacing:2px;color:var(--muted);font-size:12px}.sidebar-help{color:var(--muted);align-items:center;gap:10px;padding:20px 7px;font-size:12px;display:flex}.sidebar-help svg:last-child{margin-left:auto}.sidebar-user{border-top:1px solid var(--line);align-items:center;gap:10px;padding:18px 4px 0;display:flex}.avatar{color:var(--muted);background:#e4ebd8;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;display:flex}.sidebar-user strong,.sidebar-user small{font-size:12px;display:block}.online-dot{background:#8ea779;border-radius:50%;width:5px;height:5px;display:inline-block}.sidebar-user>.online-dot{margin-left:auto}.main-area{flex:1;min-width:0;margin-left:225px}.topbar{border-bottom:1px solid var(--line);background:#fcfdf9;justify-content:space-between;align-items:center;gap:12px;height:79px;padding:0 43px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:15px;font-size:12px;display:flex}.breadcrumb strong{color:var(--muted);font-weight:400}.topbar-right{align-items:center;gap:20px;display:flex}.desktop-date{color:var(--muted);font-size:12px}.status-badge{border-color:#e3e9d6;padding:5px 9px}.content{max-width:1450px;margin:0 auto;padding:36px 43px 0}.welcome{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.welcome p{color:var(--muted);margin:0;font-size:12px}.welcome .eyebrow{margin-bottom:6px}.title-dot{color:var(--muted)}.dashboard-top{grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:22px;margin-bottom:22px;display:grid}.calorie-card{color:#fff;background:#30654e;border-radius:15px;position:relative;overflow:hidden}.calorie-card:before{content:"";pointer-events:none;border:1px solid #ffffff08;border-radius:50%;width:250px;height:250px;position:absolute;top:-70px;right:-80px}.calorie-heading{justify-content:space-between;align-items:center;padding:22px 26px 0;font-size:13px;display:flex}.calorie-heading>span:first-child{align-items:center;gap:8px;display:flex}.light-badge{color:#c0d4bf;background:#ffffff13;border:1px solid #ffffff16;border-radius:5px;padding:3px 8px;font-size:12px}.calorie-body{justify-content:space-between;align-items:center;gap:28px;padding:22px 28px 23px;display:flex}.calorie-body>div:first-child{flex:1;min-width:180px;max-width:290px}.small-light{color:#b1c5ad;font-size:12px}.hero-number{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:51px;font-weight:500;line-height:1.3}.hero-number>span{color:var(--muted);letter-spacing:0;margin-left:9px;font-size:12px;font-weight:400}.calorie-body p{color:#adc3a7;margin:9px 0 16px;font-size:12px}.calorie-body p strong{color:#d4e3ca;margin:0 4px;font-weight:500}.progress-track{background:#ffffff15;border-radius:3px;height:4px;margin-bottom:10px;overflow:hidden}.progress-track>div{background:#c1d3a4;border-radius:3px;height:100%}.calorie-footer{background:#285c461f;border-top:1px solid #ffffff12;align-items:center;gap:30px;padding:16px 27px;display:flex}.calorie-footer>div{flex-direction:column;gap:2px;display:flex}.calorie-footer>div>span{color:#a7bfa2;font-size:12px}.calorie-footer strong{font-size:17px;font-weight:500}.calorie-footer small{color:#b3c8aa;font-size:12px;font-weight:400}.calorie-footer button{color:#c7d9bc;border-left:1px solid #ffffff20;align-items:center;gap:8px;margin-left:auto;padding-left:22px;font-size:12px;display:flex}.protein{background:#9bab79}.carbs{background:#dbbc80}.fat{background:#d9a385}.dashboard-bottom{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:22px;display:grid}.chart-summary{align-items:center;gap:13px;margin-top:4px;display:flex}.chart-summary strong{color:#4f6245;font-size:25px}.chart-summary strong small{font-size:12px;font-weight:400}.chart-summary>span{color:var(--muted);font-size:12px}.weight-chart{width:100%;height:auto;min-height:120px;margin:9px 0 -8px;display:block}.next-training h3{margin:2px 0 5px;font-size:14px}.next-training>p{color:var(--muted);font-size:12px}.next-training .button{width:100%;margin-top:10px;padding:10px}.mini-exercises{margin:17px 0}.mini-exercises>div{color:var(--muted);align-items:center;gap:10px;padding:6px 0;font-size:12px;display:flex}.mini-exercises>div>span{color:var(--muted);background:#f2f5ec;border-radius:4px;justify-content:center;align-items:center;width:21px;height:21px;display:flex}.mini-exercises small{margin-left:auto;font-size:12px}.training-decoration{height:70px;color:var(--muted);justify-content:center;align-items:center;display:flex}.bottom-note{background:#f0f3e8;border:1px solid #e8eddd;border-radius:9px;align-items:center;gap:10px;margin-top:24px;padding:11px 15px;display:flex}.bottom-note p{color:var(--muted);margin:0;font-size:12px}.note-leaf{color:var(--muted);font-size:18px}.page-footer{color:var(--muted);align-items:center;gap:12px;padding:25px 0 22px;font-size:12px;display:flex}.page-footer>span{letter-spacing:1px;color:var(--muted);font-size:12px}.page-footer>small{color:var(--muted);margin-left:auto;font-size:12px}.mobile-nav{display:none}.hint{color:var(--muted);margin:10px 0 16px;font-size:12px;line-height:1.8}.info-note,.error-note{color:var(--muted);background:#f1f5ec;border:1px solid #e5ebdc;border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.8}.error-note{color:var(--muted);background:#fff4ed;border-color:#f3e2d6}.empty{text-align:center;color:var(--muted);padding:34px 14px;font-size:12px;line-height:1.9}.field{color:var(--muted);flex-direction:column;gap:7px;min-width:0;margin-bottom:17px;font-size:12px;display:flex}.field>small{font-size:12px;line-height:1.7}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px;display:grid}.checks{flex-wrap:wrap;gap:12px;margin:6px 0;display:flex}.checks>label,.check-row{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.check-row{margin:12px 0 18px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.toast{color:#fff;z-index:100;background:#263e32;border:1px solid #507256;border-radius:11px;align-items:center;gap:15px;width:max-content;max-width:calc(100% - 32px);padding:13px 14px 13px 18px;font-size:12px;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #14291b22}.toast>button{color:#c5d4b9;align-items:center;padding:4px;display:flex}.segmented{background:#f4f6ef;border-radius:9px;gap:4px;margin-bottom:21px;padding:4px;display:flex}.segmented button{color:var(--muted);border-radius:6px;flex:1;padding:8px 10px;font-size:12px}.segmented button.active{color:#4e7044;background:#fff;box-shadow:0 1px 5px #2a402115}.food-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:23px;display:grid}.search-box{color:var(--muted);background:#fafbf7;border:1px solid #e1e8d9;border-radius:9px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{box-shadow:none;background:0 0;border:0;padding-left:0;font-size:12px}.food-results{max-height:820px;overflow:auto}.food-result{text-align:left;border-bottom:1px solid #eef1e9;align-items:center;gap:12px;width:100%;padding:15px 0;display:flex}.food-result:hover{background:#fafcf6}.food-avatar{width:38px;height:38px;color:var(--muted);background:#f4f7ec;border:1px solid #edf0e4;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-family:Songti SC,serif;font-size:15px;display:flex}.food-result>span:nth-child(2){min-width:0}.food-result strong{color:var(--muted);font-size:12px;display:block}.food-result small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12px;display:block;overflow:hidden}.food-result em{color:var(--muted);font-size:12px;font-style:normal}.food-energy{color:var(--muted);flex-direction:column;flex-shrink:0;align-items:flex-end;margin-left:auto;font-size:14px;display:flex}.food-energy small{font-size:12px}.food-energy svg{display:none}.date-input{width:130px;padding:7px 8px;font-size:12px}.intake-banner{color:var(--muted);background:#f0f4e9;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:15px;font-size:12px;display:flex}.intake-banner strong{color:var(--muted);font-size:24px}.intake-banner strong small{font-size:12px;font-weight:400}.allowance-breakdown{flex-wrap:wrap;gap:0 6px;display:flex}.allowance-breakdown>span{white-space:nowrap}.intake-target .allowance-breakdown{justify-content:flex-end}.meal-empty{color:var(--muted);margin:9px 0 0;font-size:12px}.meal-row{align-items:center;gap:5px;padding:8px 0;display:flex}.meal-name{text-align:left;flex:1;min-width:0;padding:0}.meal-name strong{font-size:12px;font-weight:500;display:block}.meal-name small{font-size:12px}.meal-log>.button{width:100%;margin-top:22px}.meal-log>.hint{font-size:12px}.nutrition-preview{color:var(--muted);background:#f0f5e8;border:1px solid #e7eddc;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin:20px 0;padding:18px;display:flex}.nutrition-preview strong{color:var(--muted);font-size:29px}.nutrition-preview small,.nutrition-preview>span{font-size:12px}details summary{cursor:pointer;color:var(--muted);padding:7px 0;font-size:12px}details{margin-top:12px}.history-copy{text-align:left;border-top:1px solid var(--line);width:100%;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:12px;display:flex}.ingredient-search{background:#f9fbf4;border-radius:8px;max-height:165px;margin-bottom:15px;padding:5px 10px;overflow:auto}.ingredient-search button{width:100%;color:var(--muted);border-bottom:1px solid #edf0e4;justify-content:space-between;align-items:center;padding:9px 0;font-size:12px;display:flex}.ingredient{align-items:center;gap:7px;margin:8px 0;font-size:12px;display:flex}.ingredient>span{flex:1}.ingredient input{width:75px;padding:6px}.settings-layout aside>.card+.card{margin-top:22px}.plan-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;padding:40px 20px;display:flex}.plan-empty>svg{margin-bottom:20px}.plan-empty p{font-size:12px;line-height:2}.plan-empty h3{color:var(--muted)}.training-tip p{font-size:12px;line-height:1.9}.training-tip .eyebrow{margin-bottom:14px}.training-tip h3{font-weight:500}.suggestions>.button{width:100%;font-size:12px}.suggestions>.section-title{margin-bottom:15px}.suggestions>.section-title svg{color:var(--muted)}.suggestions .hint{font-size:12px}.suggestion{border-top:1px solid var(--line);margin-top:18px;padding:17px 0 5px}.suggestion>div:first-child{justify-content:space-between;align-items:center;display:flex}.suggestion p{color:var(--muted);font-size:12px;line-height:1.9}.suggestion>strong{color:var(--muted);font-size:14px;font-weight:500}.suggestion details .hint{word-break:break-all}.change-details small{color:var(--muted);margin:6px 0;font-size:12px;display:block}.history-section{margin-top:24px}.history-row{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:20px;padding:13px 0;font-size:12px;display:flex}.history-row>span:first-child{flex:1}.history-row strong{color:var(--muted);font-size:12px;display:block}.history-row small{margin-top:4px;font-size:12px;display:block}.exercise-illustration{background:#f4f7ef;border-radius:12px;flex-direction:column;align-items:center;margin-bottom:20px;padding:15px;display:flex}.exercise-illustration svg{height:170px}.exercise-illustration>span{color:var(--muted);font-size:12px}.guide-tags{gap:8px;margin:15px 0 25px;display:flex}.guide-steps{color:var(--muted);padding-left:24px;font-size:12px;line-height:2.1}.guide-steps li{margin-bottom:9px;padding-left:6px}.library-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.library-grid>button{border:1px solid var(--line);text-align:left;color:var(--muted);background:#fafcf6;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.library-grid strong{color:var(--muted);font-size:12px}.library-grid small{font-size:12px}.set-head,.set-row{grid-template-columns:25px 1fr 1fr 1fr 35px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.set-head{color:var(--muted);padding:0 3px;font-size:12px}.set-row input{text-align:center;min-width:0;padding:9px 5px;font-size:12px}.set-row strong{color:var(--muted);text-align:center;font-size:12px}.set-row.done input{background:#f4f8ee;border-color:#dbe7ca}.set-check{width:32px;height:32px;color:var(--muted);background:#f6f9f0;border:1px solid #dce7ce;border-radius:7px;justify-content:center;align-items:center;display:flex}.set-check.checked{color:#fff;background:#71915b;border-color:#71915b}.rest-timer{color:var(--muted);background:#f1f5e9;border-radius:10px;align-items:center;gap:12px;margin:18px 0;padding:14px;display:flex}.rest-timer strong{font-variant-numeric:tabular-nums;flex:1;font-size:16px}.rest-timer button{background:#fff;border-radius:5px;padding:5px 8px;font-size:12px}.toolbar{align-items:center;gap:12px;display:flex}.toolbar select{width:125px;padding:11px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:var(--muted);border-bottom:1px solid var(--line);padding:12px 8px;font-size:12px;font-weight:500}td{color:var(--muted);border-bottom:1px solid #f0f3e9;padding:13px 8px}td small{font-size:12px;display:block}.settings-layout{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:23px;display:grid}.settings-action{text-align:left;border-bottom:1px solid var(--line);width:100%;color:var(--muted);align-items:center;gap:13px;padding:17px 0;font-size:12px;display:flex}.settings-action small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.settings-action.danger{color:var(--muted)}.source-card>svg{color:var(--muted);margin-bottom:15px}.source-card p{color:var(--muted);font-size:12px;line-height:1.9}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{background:#edf1e5;flex-direction:column;padding:45px 55px;display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";pointer-events:none;border:1px solid #d5e1c6;border-radius:50%;width:600px;height:600px;position:absolute;bottom:-250px;right:-130px}.auth-story .brand .tag{letter-spacing:1px;color:var(--muted);border:1px solid #d7e1c9;border-radius:4px;margin-left:2px;padding:2px 6px;font-size:12px;font-weight:400}.auth-heading{z-index:1;margin:auto 0;padding:55px 0;position:relative}.auth-heading .eyebrow{margin-bottom:22px;font-size:12px}.auth-heading h1{letter-spacing:-3px;color:#3f6442;margin-bottom:25px;font-size:65px;font-weight:500;line-height:1.3}.auth-heading p{color:var(--muted);font-size:14px;line-height:2}.auth-orbit{width:200px;height:160px;color:var(--muted);background:#f5f8ef80;border:1px solid #d2dfc2;border-radius:100px;flex-direction:column;justify-content:center;align-items:center;gap:17px;margin:40px 0 5px;display:flex}.auth-orbit>span{letter-spacing:3px;font-size:12px}.auth-story>small{color:var(--muted);font-size:12px}.auth-form{background:#fcfdf9;justify-content:center;align-items:center;padding:50px;display:flex}.auth-form-inner{width:100%;max-width:345px}.auth-form h2{margin:18px 0 10px;font-size:23px;font-weight:500}.auth-form p{color:var(--muted);margin-bottom:30px;font-size:12px}.auth-form .button{width:100%;margin-top:12px}.auth-note{color:var(--muted);border-top:1px solid #e6eddc;gap:10px;margin-top:30px;padding-top:20px;font-size:12px;line-height:1.9;display:flex}.auth-note svg{flex-shrink:0;margin-top:2px}.page-loader{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.page-loader>svg{color:var(--muted)}.page-loader p{font-size:12px}.onboarding{max-width:680px;margin:auto;padding:45px 25px}.onboarding>.brand{margin-bottom:40px}.onboarding>p{margin-bottom:25px;font-size:12px}.settings-layout~.auth-page{min-height:0}.settings-layout+.auth-page .auth-story{display:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:1550px){.content{padding-top:45px}.dashboard-top{grid-template-columns:1.8fr 1fr}.calorie-body{padding-top:32px;padding-bottom:32px}.hero-number{font-size:58px}.dashboard-bottom>.card{padding:28px}}@media (max-width:1200px){.sidebar{width:195px;padding-left:16px;padding-right:16px}.main-area{margin-left:195px}.content{padding:28px 28px 0}.topbar{padding:0 28px}.welcome h1{font-size:24px}.dashboard-top{grid-template-columns:minmax(0,1.5fr) minmax(235px,1fr)}.calorie-body{gap:15px;padding:23px}.hero-number{font-size:44px}.calorie-body>div:first-child{min-width:140px}.calorie-footer{gap:20px;padding:14px 23px}.calorie-footer button{padding-left:13px}.card{padding:22px}.dashboard-bottom{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr)}.section-title h2{font-size:16px}.food-result small{max-width:190px}}@media (max-width:1000px){.sidebar{width:178px;padding-left:13px;padding-right:13px}.main-area{margin-left:178px}.content{padding:26px 23px 0}.topbar{height:68px;padding:0 23px}.brand{font-size:19px}.brand>span:first-child{width:34px;height:34px}.brand em{padding-left:46px;font-size:12px}.sidebar nav button{gap:10px;padding:12px 11px;font-size:12px}.welcome h1{font-size:22px}.welcome .button{font-size:12px}.dashboard-top,.dashboard-bottom{grid-template-columns:1fr}.next-training .mini-exercises{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.mini-exercises>div{flex-wrap:wrap;gap:5px;font-size:12px}.mini-exercises small{margin-left:0}.next-training .button{margin-top:5px}.page-footer small{display:none}.food-layout,.settings-layout{grid-template-columns:1fr}.food-results{max-height:440px}.food-result small{max-width:430px}.food-layout .meal-log{order:-1}.meal-log .section-title{margin-bottom:16px}.training-tip h3{font-size:13px}.training-tip p{font-size:12px}.auth-story{padding:38px}.auth-heading h1{font-size:55px}.auth-form{padding:35px}.auth-form h2{font-size:21px}}@media (max-width:700px){body{font-size:13px}.sidebar{display:none}.main-area{margin-left:0}.topbar{background:#fcfdf9;height:62px;padding:0 20px}.breadcrumb{gap:9px;font-size:12px}.topbar-right{gap:10px}.desktop-date{display:none}.topbar .avatar{width:30px;height:30px;font-size:12px}.status-badge{padding:3px 6px;font-size:12px}.content{padding:25px 18px 80px}.welcome{align-items:flex-start;gap:14px;margin-bottom:23px}.welcome .eyebrow{letter-spacing:1.5px;font-size:12px}.welcome h1{letter-spacing:-.8px;max-width:300px;font-size:23px;line-height:1.5}.welcome p{max-width:260px;font-size:12px;line-height:1.8}.welcome>.button{gap:5px;min-height:34px;margin-top:3px;padding:8px 10px;font-size:12px}.welcome>.button svg{width:13px}.dashboard-top{gap:15px;margin-bottom:15px}.calorie-heading{padding:20px 22px 0;font-size:12px}.calorie-body{gap:15px;padding:19px 23px 22px}.hero-number{font-size:46px}.calorie-footer{gap:18px;padding:14px 21px}.calorie-footer strong{font-size:16px}.calorie-footer>div>span{font-size:12px}.calorie-footer button{gap:5px;padding-left:13px;font-size:12px}.calorie-footer button svg{width:13px}.card{border-radius:13px;padding:20px}.dashboard-bottom{gap:17px}.section-title{gap:8px;margin-bottom:18px}.section-title h2{font-size:17px}.section-title .eyebrow,.section-title .text-link{font-size:12px}.chart-summary{gap:10px}.chart-summary strong{font-size:24px}.chart-summary>span{font-size:12px}.next-training .mini-exercises{margin:16px 0;display:block}.mini-exercises>div{gap:9px;font-size:12px}.mini-exercises small{margin-left:auto}.next-training>p{font-size:12px}.next-training .button{margin-top:8px}.bottom-note{margin-top:17px;padding:10px 13px}.bottom-note p{font-size:12px}.page-footer{gap:8px;padding-top:20px;font-size:12px}.page-footer>span{font-size:12px}.mobile-nav{padding:10px 8px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;background:#fcfdf9f2;border-top:1px solid #e7ecde;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);flex-direction:column;align-items:center;gap:5px;min-width:52px;padding:3px;font-size:12px;display:flex}.mobile-nav button.active{color:var(--muted)}.mobile-nav button.active:after{content:"";background:#6d8c57;border-radius:3px;width:26px;height:2px;position:absolute;top:0}.toast{max-width:calc(100% - 30px);font-size:12px;bottom:92px}.field{font-size:12px}.field input,.field select{font-size:16px}.field>small{font-size:12px}.form-grid{gap:0 12px}.button{font-size:12px}.food-layout{gap:17px}.food-layout .meal-log{order:0}.food-results{max-height:390px}.food-result small{max-width:230px}.food-result strong{font-size:12px}.food-avatar{width:34px;height:34px}.food-energy{font-size:13px}.food-result{gap:10px}.date-input{width:120px;font-size:12px}.intake-banner{gap:6px;padding:12px;font-size:12px}.intake-banner strong{font-size:22px}.meal-empty{font-size:12px}.meal-row{gap:1px}.meal-name strong,.history-copy{font-size:12px}.nutrition-preview{padding:14px}.nutrition-preview>span{font-size:12px}.nutrition-preview strong{font-size:25px}.history-row{gap:10px;font-size:12px}.history-row strong,.history-row small{font-size:12px}.set-head,.set-row{grid-template-columns:20px 1fr 1fr 1fr 30px;gap:7px}.set-row input{font-size:16px}.set-check{width:29px;height:29px}.rest-timer{gap:8px}.rest-timer strong{font-size:14px}.library-grid{gap:8px}.library-grid>button{padding:11px}.library-grid strong,.library-grid small{font-size:12px}.toolbar{flex-direction:column;align-items:flex-end;gap:6px}.toolbar select{width:110px;padding:7px;font-size:12px}.toolbar .button{min-height:32px;padding:7px 9px;font-size:12px}.table-wrap table{font-size:12px}td,th{padding:11px 6px}.history-section{margin-top:17px}.settings-layout{gap:17px}.settings-action,.source-card p{font-size:12px}.auth-page{min-height:100dvh;display:block}.auth-story{padding:25px 25px 22px}.auth-story .brand{font-size:18px}.auth-story .brand>span:first-child{width:31px;height:31px;font-size:21px}.auth-heading{padding:28px 0 4px}.auth-heading .eyebrow{margin-bottom:10px;font-size:12px}.auth-heading h1{letter-spacing:-1px;margin-bottom:10px;font-size:35px}.auth-heading h1 br{display:none}.auth-heading p{margin-bottom:0;font-size:12px;line-height:1.8}.auth-heading p br{display:none}.auth-orbit{gap:0;width:86px;height:86px;margin:0;position:absolute;bottom:0;right:0}.auth-orbit svg{width:34px;height:34px}.auth-orbit>span,.auth-story>small{display:none}.auth-form{min-height:430px;padding:32px 25px 45px}.auth-form-inner{max-width:420px}.auth-form h2{margin-top:14px;font-size:21px}.auth-form p{margin-bottom:22px;font-size:12px}.auth-form input{font-size:16px}.auth-note{font-size:12px}.onboarding{padding:28px 18px}.onboarding>.brand{margin-bottom:30px}.onboarding h1{font-size:25px}.onboarding .card{padding:20px}.onboarding>p{font-size:12px}.checks{gap:10px}.checks>label,.check-row{font-size:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.chart-legend{justify-content:flex-end;gap:18px;margin:5px 0 0;font-size:12px;display:flex}.chart-legend span:first-child,.chart-legend span:last-child{color:var(--muted)}@media (max-width:700px){.dashboard-welcome{display:block}.dashboard-welcome h1{max-width:none;font-size:22px}.dashboard-welcome>.button{margin-top:14px}.dashboard-welcome p{max-width:none}}.exercise-media{margin:1rem 0}.exercise-media video{background:#18251f;border-radius:12px;width:100%;max-height:380px;margin-bottom:.75rem;display:block}.exercise-frames{align-items:stretch;gap:12px;display:flex}.exercise-frames figure{background:#fff;border-radius:12px;flex:1;min-width:0;margin:0;padding:8px}.exercise-frames img{object-fit:contain;width:100%;height:260px;display:block}.exercise-frames figcaption{text-align:center;color:var(--muted);font-size:12px}.media-credit{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.media-credit a{text-decoration:underline}.food-shortcuts{flex-wrap:wrap;gap:7px;margin:14px 0 8px;display:flex}.food-shortcuts button{cursor:pointer;border:1px solid var(--line)}.energy-basis{margin:16px 0;line-height:1.8}@media (max-width:480px){.exercise-frames{flex-direction:column}.exercise-frames img{height:220px}}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}input::placeholder{color:var(--muted);opacity:1}.portion-options{margin-bottom:16px}.portion-options button{margin:0 8px 8px 0}.history-row{flex-wrap:wrap}@media (max-width:600px){.content{overflow-wrap:anywhere}.button,.mobile-nav button,.icon-button{min-height:44px}.welcome,.toolbar,.section-title{flex-wrap:wrap}}.calorie-card .small-light,.calorie-card .hero-number>span,.calorie-card .calorie-body p,.calorie-card .calorie-body p strong,.calorie-card .calorie-footer>div>span,.calorie-card .calorie-footer small,.calorie-card .calorie-footer button,.calorie-card .light-badge{color:#e4efde}.chart-scale,.chart-dates{color:var(--muted);font-size:12px}.chart-scale{margin-bottom:0}.chart-dates{justify-content:space-between;gap:12px;margin-top:-16px;display:flex}
:root{--bg:#f7f8f4;--paper:#fff;--ink:#29262f;--muted:#625d6b;--line:#e5e2e9;--primary:#7653af;--green:var(--primary);--pale:#ede6f6;--actual:#93899e;--inset:22px;--shadow-panel:0 8px 28px #49336809;--surface-lavender:#f2ecf9;--surface-sage:#edf2ec;--surface-sand:#f7f0e5;--radius-feature:24px;--teal:#557866;--orange:#b66d2b;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif}html{font-size:1rem}body{-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.6}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em}h1{font-size:1.6875rem;font-weight:600;line-height:1.3}h2,.section-title h2{font-size:1.125rem;font-weight:600;line-height:1.4}h3{font-size:1rem;font-weight:600}p,small,.hint{color:var(--muted)}small,.hint,.badge,.empty,.info-note,.error-note,.field>small{font-size:.8125rem}strong{font-variant-numeric:tabular-nums}[hidden]{display:none!important}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--green)}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #997dbb}.button,.button.small{border-radius:12px;flex-shrink:0;min-height:50px;padding:10px 18px;font-size:.875rem;font-weight:600}.button:hover{transform:none}.button.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:none}.button.primary:hover{background:#654496}.button.secondary{background:var(--pale);color:var(--primary);box-shadow:none;border-color:#0000}.icon-button{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--muted);border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--pale)}.icon-button svg{width:20px;height:20px}.text-link{min-width:44px;min-height:44px;color:var(--green);text-align:left;justify-content:center;align-items:center;gap:6px;font-size:.875rem;display:inline-flex}.badge{background:var(--pale);color:var(--primary);border:0;border-radius:7px;font-size:.75rem}.card{border:1px solid var(--line);background:var(--paper);box-shadow:none;border-radius:18px;padding:18px}.section-title{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;margin-bottom:8px}.section-title h2{margin:0}.eyebrow{color:var(--muted);letter-spacing:.06em;font-size:.75rem}.title-dot{display:none}.page-heading{isolation:isolate;justify-content:space-between;align-items:center;gap:12px;min-height:68px;margin:0 0 16px;display:flex;position:relative}.page-heading-main{flex:11rem;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.page-heading-main>div{min-width:0}.page-heading h1{margin:0}.page-heading p{margin:4px 0 0;font-size:.75rem;line-height:1.5}.page-heading-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.back-link{min-height:44px;color:var(--muted);align-items:center;gap:6px;margin:-8px 0 8px;padding:0;font-size:.875rem;display:inline-flex}.app-shell{background:radial-gradient(ellipse 360px 270px at 100% 0,#e9e0f5 0,transparent 78%),linear-gradient(180deg,#faf8fc,var(--bg) 520px);width:100%;max-width:430px;min-height:100dvh;margin:auto;display:block}.sidebar{display:none}.main-area{min-width:0;margin:0}.topbar{height:auto;min-height:52px;padding:calc(4px + env(safe-area-inset-top)) var(--inset) 4px;background:0 0;border:0;align-items:center;gap:10px;display:flex}.topbar-right{gap:8px}.topbar>a{align-items:center;min-height:44px;display:inline-flex}.brand-lockup{color:var(--ink);vertical-align:middle;align-items:center;gap:7px;line-height:1.2;display:inline-flex}.brand-lockup img{object-fit:contain;flex-shrink:0;width:30px;height:30px;display:block}.brand-lockup>span{white-space:nowrap;letter-spacing:.03em;font-size:.9375rem;font-weight:600}.brand-lockup small{display:none}.page-loader>.brand-lockup{text-align:center;flex-direction:column;gap:16px}.brand-category{color:var(--muted);white-space:nowrap;font-size:.75rem}.topbar .avatar{background:var(--pale);color:var(--primary);border:3px solid #fff;border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px;font-size:.875rem;box-shadow:0 0 0 1px #e2d7ed}.content{max-width:none;padding:4px var(--inset) calc(106px + env(safe-area-inset-bottom))}.mobile-nav{width:min(100%,430px);height:auto;min-height:64px;padding:6px 16px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#fffffff5;border-top:1px solid #e8e0ef;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -6px 24px #49336806}.mobile-nav button{min-height:50px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-size:.75rem;display:flex}.mobile-nav button>i{border-radius:11px;place-items:center;width:44px;height:30px;font-style:normal;display:grid}.mobile-nav button svg{stroke-width:1.8px;width:21px;height:21px}.mobile-nav button.active{color:var(--primary);background:0 0;font-weight:600}.mobile-nav button.active>i{background:var(--pale)}.mobile-nav button.active:after{display:none}details{margin-top:12px}details>summary{min-height:48px;color:var(--muted);cursor:pointer;align-items:center;gap:12px;padding:10px 0;font-size:.875rem;list-style:none;display:flex}summary::-webkit-details-marker{display:none}details>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;flex:0 0 7px;width:7px;height:7px;margin-left:auto;transition:transform .18s;transform:rotate(45deg)}details[open]>summary:after{transform:rotate(225deg)}details>summary>span{margin-left:auto;font-size:.8125rem}.info-note,.data-note{background:var(--pale);color:#685d7e;border:0;border-radius:10px;padding:12px 14px;font-size:.8125rem;line-height:1.65}.error-note,.danger{color:#a53739}.error-note{background:#fff0f1;border-color:#f7dfe2}.empty{min-height:auto;color:var(--muted);background:0 0;padding:24px 8px;font-size:.875rem}.decorative-artwork{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0;width:96px;height:64px;display:block}.heading-artwork{width:72px;height:56px}.page-heading:has(.page-heading-actions) .heading-artwork{width:56px;height:48px}.intake-head{isolation:isolate;--muted:#39333f;background:linear-gradient(115deg,#faf0df,#f7ead8);border-bottom:1px solid #eadfcd;border-radius:23px 23px 0 0;margin:-18px -18px 0;padding:8px 18px 18px;position:relative;overflow:hidden}.intake-artwork{z-index:-1;opacity:.32;width:78%;height:auto;position:absolute;top:-12px;right:-28px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 75%);mask-image:linear-gradient(90deg,#0000,#000 75%)}.intake-head .remaining>b{color:#583982}.intake-head .intake-rail{background:#ffffffb3}.food-overview{border-radius:var(--radius-feature);box-shadow:var(--shadow-panel);background:#fff;border:1px solid #e6ddd2;margin-bottom:18px;padding-bottom:16px;overflow:hidden}.food-overview:has(.food-intake-rail){padding-bottom:0}.food-overview-hero{background:#f7f0e5;min-height:140px;position:relative}.food-overview-hero>img{object-fit:cover;object-position:center 52%}.food-overview-hero:after{content:"";pointer-events:none;background:linear-gradient(90deg,#f8f3ec 0,#f8f3ecc4 35%,#0000 70%);position:absolute;inset:0}.food-empty-intro{text-align:center;padding:4px 0}.food-empty-intro p{margin:0 0 16px;font-size:.8125rem}.empty-illustration{vertical-align:middle;width:136px;height:100px;margin-bottom:8px;display:inline-block}.profile-cover{isolation:isolate;--muted:#39333f;border-radius:var(--radius-feature);background:linear-gradient(125deg,#ede3f8,#f5f0fa);border:1px solid #e2d8ee;margin:0 0 24px;padding:20px 16px;position:relative;overflow:hidden}.profile-artwork{z-index:-1;opacity:.32;width:84%;height:auto;position:absolute;top:-24px;right:-44px;-webkit-mask-image:linear-gradient(90deg,#0000 10%,#000 80%);mask-image:linear-gradient(90deg,#0000 10%,#000 80%)}.profile-identity .text-link{color:#432761}.auth-scene{z-index:-1;pointer-events:none;height:470px;position:absolute;inset:0 0 auto;overflow:hidden}.auth-scene>img{object-fit:cover;object-position:center top}.auth-scene:after{content:"";background:linear-gradient(#f8f5f00d 0,#f8f5f04d 28%,#f8f5f0 95%);position:absolute;inset:0}.auth-page.auth-page-change{background:0 0;min-height:0}.auth-page-change .auth-form-inner{box-shadow:none;border-color:var(--line)}.auth-page:has(input:focus) .auth-scene{visibility:hidden}.intake-summary{border-radius:var(--radius-feature);box-shadow:var(--shadow-panel);background:#fff;border:1px solid #eadfcd;padding:18px}.summary-label{align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.summary-label>div>span{color:var(--muted);font-size:.75rem;font-weight:400}.intake-numbers{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.intake-numbers>strong{letter-spacing:-.04em;font-family:Helvetica Neue,Arial,sans-serif;font-size:3rem;font-weight:550;line-height:1.12}.remaining{border-left:1px solid var(--line);grid-template-columns:auto auto;align-items:baseline;column-gap:5px;padding-left:18px;display:grid}.remaining>span{color:var(--muted);font-size:.75rem}.remaining>span:first-child{grid-column:1/-1;margin-bottom:2px}.intake-summary.is-over .remaining>b{color:#a53739}.remaining>b{color:var(--primary);font-family:Helvetica Neue,Arial,sans-serif;font-size:1.5625rem;font-weight:550;line-height:1.3}.intake-rail{background:var(--pale);border-radius:6px;height:5px;margin-top:16px;overflow:hidden}.intake-rail>span{background:var(--primary);border-radius:inherit;height:100%;display:block}.rail-caption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin-top:7px;font-size:.75rem;display:flex}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr));gap:8px;margin-top:16px;display:grid}.nutrition-grid>div{background:var(--surface-lavender);border-radius:12px;min-width:0;padding:10px 8px 8px}.nutrition-grid>.carbs{background:var(--surface-sage)}.nutrition-grid>.fat{background:var(--surface-sand)}.nutrition-grid>div>span{color:var(--muted);font-size:.75rem}.nutrition-grid p{flex-wrap:wrap;align-items:baseline;gap:4px;margin:2px 0 6px;line-height:1.2;display:flex}.nutrition-grid strong{color:var(--ink);font-size:1.25rem;font-weight:550;line-height:1.25}.nutrition-grid small{font-size:.75rem}.nutrition-grid i{background:#c9b5e1;border-radius:2px;height:3px;display:block}.nutrition-grid .carbs i{background:#91ab9a}.nutrition-grid .fat i{background:#d5b589}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px;display:grid}.quick-actions .button{white-space:normal;min-width:0;padding:10px 8px;font-size:.875rem}.button.outline{color:var(--primary);background:#fff;border:1px solid #c9b5e1}.today-training .section-title,.latest-meal .section-title{margin-bottom:6px}.today-training h2,.latest-meal h2{font-size:1.0625rem}.today-training .section-title .text-link,.latest-meal .section-title .text-link{color:var(--muted);font-size:.75rem}.training-feature{border:1px solid var(--line);border-radius:var(--radius-feature);text-align:left;width:100%;box-shadow:var(--shadow-panel);background:#fff;padding:0;display:block;overflow:hidden}.training-feature-image{aspect-ratio:2.5;position:relative;overflow:hidden}.training-feature-image img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.training-feature-image>span{color:#51483e;background:#fffaf2ed;border-radius:6px;padding:3px 8px;font-size:.75rem;position:absolute;top:10px;left:10px}.training-feature-caption{align-items:center;gap:12px;padding:12px 16px;display:flex}.training-feature-caption>div{flex:1;min-width:0}.training-feature-caption h3{margin:0;font-size:1rem}.training-feature-caption p{margin:3px 0 0;font-size:.75rem}.training-feature-caption>i{width:40px;height:40px;color:var(--primary);background:var(--pale);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.latest-meal{margin-top:10px;margin-bottom:24px}.meal-preview{border:1px solid var(--line);text-align:left;background:#fff;border-radius:18px;align-items:center;gap:12px;width:100%;min-height:80px;padding:14px;display:flex}.meal-preview-icon{width:54px;height:58px;color:var(--teal);background:var(--surface-sage);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.meal-preview>div{flex:1;min-width:0}.meal-preview>div>strong{font-size:.875rem}.meal-preview p{overflow-wrap:anywhere;margin:3px 0 0;font-size:.75rem}.meal-preview-kcal{flex-direction:column;align-items:flex-end;display:flex}.meal-preview-kcal strong{font-size:1.25rem}.meal-preview-kcal small{font-size:.75rem}.daily-records{margin-bottom:24px}.daily-records h2{margin:0 0 12px}.stat-grid{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0 16px;display:grid}.stat-card{text-align:left;width:100%;color:var(--ink);box-shadow:none;background:#fff;border:0;border-radius:0;align-items:center;gap:12px;padding:14px 0;display:flex}.stat-card+.stat-card{border-top:1px solid var(--line)}.stat-icon{background:var(--pale);width:36px;height:36px;color:var(--green);border-radius:10px;flex:none;justify-content:center;align-items:center;margin:0;display:flex}.stat-icon svg{stroke-width:1.8px;width:20px;height:20px}.stat-card>span:nth-child(2){color:var(--muted);flex:1;font-size:.8125rem}.stat-card strong{color:var(--ink);white-space:nowrap;font-size:1.5rem;line-height:1.5;display:block}.stat-card strong small{color:var(--muted);font-size:.75rem;font-weight:400}.stat-card>span>small{color:var(--muted);white-space:normal;font-size:.75rem;display:block}.stat-card>svg:last-child{color:#9388a8;width:16px;margin-left:auto}.dashboard-details{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.chart-summary{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.chart-summary strong{color:var(--ink);white-space:nowrap;font-size:1.875rem}.chart-summary strong small{color:var(--muted);font-size:.875rem;font-weight:400}.chart-summary>span{color:var(--muted);font-size:.8125rem}.single-weight{color:var(--muted);align-items:center;gap:10px;padding:24px 0 8px;font-size:.8125rem;display:flex}.single-weight-dot{background:var(--green);border-radius:50%;flex:none;width:10px;height:10px}.calculation-details{border-top:1px solid var(--line);margin:20px 0}.food-layout{display:block}.card.meal-log{background:0 0;border:0;padding:0}.date-navigation{border:1px solid var(--line);background:#ffffffb3;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:4px;display:flex}.date-navigation label{flex-direction:column;align-items:center;min-width:0;display:flex}.date-navigation label>span{color:var(--muted);font-size:.8125rem}.date-navigation input{text-align:center;width:172px;color:var(--ink);background:0 0;border:0;padding:6px}.intake-banner{z-index:1;background:linear-gradient(90deg,#f8f3ec 82%,#f8f3ec00);border:0;width:min(100%,max(58%,9rem));min-width:0;margin:0;padding:20px 18px;position:relative}.intake-banner>div>span{color:var(--muted);font-size:.8125rem;display:block}.intake-banner strong{overflow-wrap:normal;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:0 6px;font-size:2.25rem;line-height:1.4;display:flex}.intake-banner small{color:var(--muted);font-size:.8125rem;font-weight:400}.intake-target{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;padding:14px 18px 0;font-size:.8125rem;display:flex}.allowance-breakdown{color:var(--muted);font-size:.75rem}.add-food{display:none}.food-intake-rail{margin:12px 18px 18px}.meal-type-icon{width:36px;height:36px;color:var(--primary);background:var(--pale);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.meal-type-午餐{color:var(--teal);background:#e8ede5}.meal-type-加餐{color:#806b4b;background:#efe7d7}.meal-type-晚餐{color:var(--muted);background:#eeeee7}.meal-section{border:1px solid var(--line);background:#fff;border-radius:18px;margin:12px 0;padding:14px}.meal-section h3{color:var(--ink);align-items:center;gap:10px;margin:0;font-size:1rem;display:flex}.meal-section h3>span{color:var(--muted);margin-left:auto;font-size:.8125rem;font-weight:400}.meal-section h3>.icon-button{color:var(--green)}.meal-empty{color:var(--muted);margin:2px 0 6px 46px;padding:0;font-size:.8125rem}.meal-name{min-height:44px}.meal-name strong{color:var(--ink);font-size:.9375rem}.meal-name small{color:var(--muted);font-size:.8125rem}.meal-row{gap:8px;padding:8px 0 0}.meal-log>.button{margin-top:20px}.search-box{background:#f8f7fb;border:1px solid #997dbb;border-radius:12px;gap:10px;min-height:48px;padding:0 12px}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #7653af14}.search-box input,.search-box input:focus,.search-box input:focus-visible{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;padding:12px 0;font-size:1rem}.search-box>svg{flex:0 0 20px;width:20px;height:20px}.food-avatar{background:var(--pale);color:var(--green);border:0;border-radius:10px;font-family:inherit}.food-result strong{color:var(--ink)}.food-result small,.food-result em{color:var(--muted);font-size:.8125rem}.food-result:hover{background:#f8f7fb}.food-shortcuts button{border:0;min-height:44px}.segmented{background:#f5f3fa;border-radius:12px}.segmented button{min-height:44px;font-size:.875rem}.segmented button.active{color:var(--green);box-shadow:0 2px 5px #2c214a0d}.nutrition-preview{background:var(--pale);border:0;border-radius:12px;flex-wrap:wrap}.nutrition-preview>span{font-size:.8125rem}.ingredient-search{background:#f8f7fb}.ingredient-search button{border-color:var(--line);min-height:44px;font-size:.875rem}.food-result{border-color:var(--line)}.history-copy{min-height:44px;font-size:.875rem}.training-layout{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.training-plan{background:0 0;border:0;padding:0}.plan-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:12px;display:flex}.plan-heading h2{margin:0 0 6px}.plan-heading>span{color:var(--muted);font-size:.8125rem}.segmented.day-tabs{background:#eae3f2;border-radius:12px;gap:4px;margin-bottom:18px;padding:4px;display:flex}.day-tabs button{white-space:nowrap;min-width:0;min-height:44px;color:var(--muted);border-radius:9px;flex:1;padding:8px 4px;font-size:.875rem}.day-tabs button.active{color:var(--green);background:#fff;box-shadow:0 2px 5px #2c214a0d}.training-session{border:1px solid var(--line);border-radius:var(--radius-feature);box-shadow:var(--shadow-panel);background:#fff;flex-direction:column;align-items:stretch;gap:0;margin:0 0 18px;display:flex;overflow:hidden}.training-session-image{aspect-ratio:2.5;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.training-session>div{min-width:0;padding:16px}.training-session h3{margin:0 0 4px;font-size:1.125rem}.training-session p,.training-session .hint{margin:4px 0 0;font-size:.8125rem}.training-session>.button{margin:0 16px 16px}.training-session>.badge{align-self:flex-start;margin:0 16px 16px}.session-progress{background:var(--surface-lavender);color:var(--muted);border:1px solid #e4daee;border-radius:16px;margin:0 0 14px;padding:14px 16px;font-size:.75rem}.session-progress strong{color:var(--primary);margin-left:8px}.session-progress>div{gap:6px;margin-top:10px;display:flex}.session-progress i{background:#dedfe1;border-radius:4px;flex:1;height:5px}.session-progress i.current{background:var(--pale);border:1px solid #a288c8}.session-progress i.done{background:var(--teal)}.training-safety{color:var(--muted);background:0 0;border:0;margin:16px 0 0;padding:0;font-size:.8125rem}.plan-details{border-bottom:1px solid var(--line);margin:6px 0 0;padding-bottom:8px}.exercise-card{border:0;border-bottom:1px solid var(--line);background:#ffffff7a;border-radius:16px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:4px 12px;margin:10px 0;padding:16px 12px;display:grid;position:relative}.exercise-card.is-current{background:#fff;border:1px solid #c9b5e1;border-radius:18px;margin-top:12px;padding:14px 12px}.exercise-card.is-current .exercise-index{color:var(--primary);background:var(--pale);text-align:center;border-radius:7px;padding:5px 0}.exercise-card.is-complete{background:var(--surface-sage);border-color:#dce5da}.exercise-card.is-complete .exercise-index{color:var(--teal)}.exercise-index{color:#7a6b90;background:0 0;grid-column:1;width:auto;height:auto;padding-top:8px;font-size:.8125rem}.exercise-info{grid-column:2;min-width:0}.exercise-name{min-width:44px;min-height:44px;color:var(--ink);text-align:left;align-items:center;padding:0;font-size:1rem;display:inline-flex}.exercise-info p{color:var(--muted);margin:2px 0 8px;font-size:.8125rem}.exercise-footer{flex-wrap:wrap;grid-column:2;justify-content:space-between;align-items:center;gap:4px 8px;display:flex}.exercise-prescription{flex-wrap:wrap;gap:4px 8px;display:flex}.exercise-prescription span{color:var(--ink);background:0 0;border:0;border-radius:0;padding:0;font-size:.75rem}.exercise-actions{flex-direction:row;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.exercise-actions .button.primary{background:var(--pale);color:var(--green);min-width:60px;padding-inline:12px}.exercise-actions .text-link{order:2;min-width:44px;font-size:.8125rem}.suggestions .eyebrow,.training-tip .eyebrow{display:none}.training-tip{margin-top:20px}.suggestions p,.training-tip p{font-size:.875rem}.range-tabs{border:1px solid var(--line);background:#eae3f2;border-radius:12px;gap:8px;margin:0 0 18px;padding:4px;display:flex}.range-tabs button{min-height:44px;color:var(--muted);border-radius:12px;flex:1;padding:8px 12px;font-size:.875rem}.range-tabs button[aria-pressed=true]{color:var(--green);background:#fff}.weight-overview{background:0 0}.weight-metrics{isolation:isolate;--muted:#39333f;border-radius:var(--radius-feature);background:linear-gradient(120deg,#eaf0e5,#f2f5ec);border:1px solid #dae4d8;grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:16px;margin-bottom:18px;padding:22px 18px;display:grid;position:relative;overflow:hidden}.weight-metric{flex-direction:column;display:flex}.weight-metrics span,.weight-metrics small{color:var(--muted);font-size:.8125rem}.weight-metrics strong{color:var(--ink);white-space:normal;font-size:2rem;line-height:1.3}.weight-metrics strong small{font-weight:400}.weight-metric-latest strong{letter-spacing:-.04em;font-size:3rem;font-weight:550}.weight-metrics small{margin-top:5px}.weight-artwork{z-index:-1;opacity:.32;width:78%;height:auto;position:absolute;bottom:-40px;right:-32px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 75%);mask-image:linear-gradient(90deg,#0000,#000 75%)}.chart-panel{padding:14px}.chart-panel .section-title{margin-bottom:0}.chart-panel .section-title h2{font-size:.875rem}.chart-caption{border-top:1px solid var(--line);margin:12px 0 0;padding-top:12px;font-size:.75rem}.weight-chart{width:100%;height:auto;margin-top:12px;display:block}.chart-scale,.chart-dates{color:var(--muted);font-size:.75rem}.chart-scale{margin-top:20px}.chart-dates{justify-content:space-between;display:flex}.chart-inspect{color:var(--muted);align-items:center;gap:12px;margin-top:12px;font-size:.8125rem;display:flex}.chart-inspect>span{flex-shrink:0}.chart-inspect select{min-width:0;min-height:44px;padding:6px 10px;font-size:.8125rem}.chart-tooltip{color:var(--ink);margin:8px 0 0;font-size:.8125rem}.chart-legend{flex-wrap:wrap;justify-content:flex-start;gap:8px 20px;margin:12px 0 0;font-size:.75rem;display:flex}.chart-legend span{color:var(--muted);align-items:center;gap:6px;display:flex}.chart-legend i{border-top:2px dashed var(--actual);width:16px}.chart-legend span:last-child i{border-color:var(--primary);border-top-style:solid;border-top-width:3px}.chart-start{text-align:center;padding:20px 0 4px;font-size:.875rem}.trend-stats{background:#fff;border-radius:20px;grid-template-columns:1fr 1fr;gap:8px 20px;margin:20px 0;padding:20px 24px;display:grid}.trend-stats span,.trend-stats small{color:var(--muted);font-size:.8125rem}.trend-stats strong{color:var(--ink);font-size:1.625rem;display:block}.trend-stats p{grid-column:1/-1;margin:4px 0 0;font-size:.75rem}.history-section{margin-top:20px}.weight-history-row{border-top:1px solid var(--line);align-items:center;gap:16px;padding:12px 0;display:flex}.weight-history-row>span{color:var(--muted);font-size:.875rem}.weight-history-row>div{flex-direction:column;flex:1;display:flex}.weight-history-row strong{color:var(--ink);font-size:1.125rem}.weight-history-row small{color:var(--muted);font-size:.75rem;font-weight:400}.metric-list details{border-bottom:1px solid var(--line);margin:0}.metric-list summary{color:var(--ink)}.metric-list dl{margin:6px 0 18px}.metric-list dl>div{justify-content:space-between;gap:16px;font-size:.875rem;display:flex}.metric-list dd{color:var(--ink)}.history-row{gap:8px}.history-row strong{color:var(--ink)}.history-row small{color:var(--muted);font-size:.8125rem}.profile-identity{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;display:flex}.profile-identity-details{flex:5rem;min-width:0}.profile-identity h2{overflow-wrap:anywhere;margin:0}.profile-identity p{margin:3px 0 0;font-size:.8125rem}.profile-identity .text-link{font-size:.8125rem}.profile-avatar{width:60px;height:60px;color:var(--green);background:#eae2fa;border:4px solid #fff;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 0 0 1px #d8c8eb}.profile-summary{background:#ffffffd6;border:1px solid #fff;border-radius:16px;margin-bottom:0;padding:16px}.profile-summary>span{color:#624a94;font-size:.8125rem}.profile-summary>div{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:16px;display:grid}.profile-summary p{margin:12px 0 0;font-size:.8125rem}.profile-summary strong{color:var(--ink);overflow-wrap:normal;font-size:1.875rem;font-weight:600;display:block}.profile-summary small{color:var(--muted);font-size:.8125rem;font-weight:400}.menu-list{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:20px;padding:4px 18px}.menu-row{width:100%;min-height:74px;color:var(--ink);text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:14px;padding:16px 0;display:flex}.menu-row:last-child{border-bottom:0}.menu-row>svg{color:#8a7ba6;flex-shrink:0}.menu-list[aria-label=个人功能] .menu-row>svg:first-child{box-sizing:content-box;background:var(--surface-lavender);color:var(--primary);border-radius:12px;padding:9px}.menu-list[aria-label=个人功能] .menu-row:nth-child(2)>svg:first-child{background:var(--surface-sage);color:var(--teal)}.menu-row>span{flex:1;min-width:0}.menu-row strong{font-size:.9375rem;font-weight:500;display:block}.menu-row small{color:var(--muted);margin-top:3px;font-size:.75rem;display:block}.menu-row>span+svg:last-child{margin-left:auto}.menu-row.danger,.menu-row.danger>svg{color:#a53739}.version-note{text-align:center;color:var(--muted);margin:24px 0;font-size:.75rem}.about-content{margin-bottom:20px}.about-content>svg{color:var(--green)}.about-content p{font-size:.875rem}.about-content .text-link{justify-content:flex-start;display:flex}.field,.checks>label,.check-row{color:var(--ink);font-size:.875rem}.field>small,.checks>label small{color:var(--muted)}.form-grid{gap:16px}.checks>label,.check-row{min-height:44px}.nutrition-preview strong,.nutrition-preview>span{color:var(--ink)}.toast{color:#fff;background:#413459;border:0;border-radius:12px;font-size:.875rem;bottom:24px}.toast>button{min-width:44px;min-height:44px}.confirm-description{margin:8px 0 24px;font-size:.875rem;line-height:1.7}.confirm-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-actions .button{flex:1}.confirm-actions .confirm-danger{background:#a53739;border-color:#a53739}.confirm-actions .confirm-danger:hover{background:#8c333a}.set-table{overflow-x:auto}.set-head,.set-row{min-width:calc(96px + 9rem)}.set-head,.set-row strong{font-size:.75rem}.set-head,.set-row{grid-template-columns:20px repeat(3,minmax(0,1fr)) 44px;gap:8px}.set-row input{min-width:0;min-height:48px;padding-inline:4px;font-size:1.25rem}.set-check{min-width:44px;min-height:44px;color:var(--green);background:var(--pale);border-color:#dfd6f2}.set-check.checked{background:var(--green);color:#fff;border-color:var(--green)}.set-row.done input{background:#f7f4fc;border-color:#dfd6f2}.rest-timer{color:var(--teal);background:#e8ede5;border-color:#0000;flex-wrap:wrap;gap:8px}.rest-timer strong,.rest-timer button{color:var(--teal)}.rest-timer strong{font-size:1rem}.rest-timer button{min-height:44px;font-size:.75rem}.rest-timer>div{flex-wrap:wrap}.library-filters{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.library-row{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.library-row>span:nth-child(2){flex:1;min-width:0}.library-row strong{color:var(--ink);font-size:.9375rem;display:block}.library-row small{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;display:block}.library-row>svg{color:var(--muted);flex:0 0 18px}.exercise-thumbnail{color:#9b8cb4;background:#f8f7fb;border-radius:10px;flex:0 0 56px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.exercise-thumbnail img{object-fit:contain;width:100%;height:100%}.library-more{width:100%;margin-top:18px}.library-original{margin-top:0;font-size:.8125rem}.guide-media{align-items:center;gap:12px;padding:8px 0;display:flex;overflow-x:auto}.guide-media figure{text-align:center;flex:1 0 40%;min-width:120px;margin:0}.guide-media img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:300px}.guide-media figcaption{color:var(--muted);font-size:.75rem}.guide-media video{background:#f8f7fb;width:100%;max-height:360px}.guide-steps{padding-left:24px}.guide-steps li{margin:12px 0;padding-left:4px;line-height:1.75}.media-credits p{overflow-wrap:anywhere;font-size:.75rem}.media-credits small{display:block}.media-credits a{text-decoration:underline}.media-error{padding:12px 0;font-size:.875rem}.guide-steps{font-size:.9375rem}.auth-page{isolation:isolate;background:#f8f5f0;width:100%;max-width:430px;min-height:100dvh;margin:auto;display:block;position:relative}.auth-story{padding:calc(24px + env(safe-area-inset-top)) var(--inset) 0;background:0 0;position:relative}.auth-story:after{display:none}.auth-form{padding:32px var(--inset) calc(24px + env(safe-area-inset-bottom));background:0 0;min-height:0;position:relative}.auth-form-inner{border-radius:var(--radius-feature);max-width:none;box-shadow:var(--shadow-panel);background:#fffffff2;border:1px solid #ffffffd9;padding:22px 20px}.auth-form h1{margin:0 0 24px;font-size:1.5rem}.auth-form p{color:var(--muted);overflow-wrap:anywhere;margin:0 0 16px;font-size:.8125rem}.auth-form .auth-description{margin-top:-12px}.auth-form .auth-help{margin:20px 0 0}.auth-form .auth-privacy{margin:8px 0 0}.auth-privacy a{align-items:center;min-height:44px;display:inline-flex}@media (max-height:650px){.auth-scene{opacity:.55;height:260px}.auth-form{padding-top:20px}.auth-form-inner{padding:18px 16px}}.auth-page+.toast{top:calc(12px + env(safe-area-inset-top));bottom:auto}.auth-page:not(.auth-page-change){grid-template:minmax(min-content,1fr) auto minmax(env(safe-area-inset-bottom),1fr) / minmax(0,1fr);display:grid}.auth-page:not(.auth-page-change) .auth-story{align-self:end}.auth-page:not(.auth-page-change) .auth-form{padding-block:24px}.onboarding{max-width:430px;padding:24px var(--inset);background:radial-gradient(at 100% 0,#eae0f5,#0000 420px)}.onboarding>.brand-lockup{margin-bottom:24px}.workout-set-progress{justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:.8125rem;display:flex}.workout-set-progress strong{color:var(--primary)}.workout-instructions{margin:0}.workout-instructions summary{min-height:44px}.set-row.current{background:#f6f2fb;border-radius:10px}.set-row.current input{border-color:#997dbb}.set-row.current>strong{color:var(--primary)}.set-head span{overflow-wrap:anywhere}.toast{bottom:calc(84px + env(safe-area-inset-bottom));width:max-content;max-width:min(390px,100vw - 32px);left:50%;right:auto;transform:translate(-50%)}.toast>button{color:#fff;flex-shrink:0}@media (min-width:431px){body{background:#eeedf1}.app-shell,.auth-page{box-shadow:0 0 0 1px #e3e4dc}}@media (max-width:370px){:root{--inset:20px}.brand-category{display:none}.remaining{padding-left:12px}.nutrition-grid{gap:12px}.page-heading{align-items:flex-start;gap:8px}.page-heading h1{font-size:1.625rem}.page-heading-actions .text-link{font-size:.75rem}.library-filters,.form-grid{grid-template-columns:1fr}}@media (max-width:700px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-editor .form-grid{grid-template-columns:minmax(0,1fr)}}.page-heading,.topbar{flex-wrap:wrap}.page-heading>div{min-width:0}.page-heading-actions{flex-shrink:1}.page-heading-actions .text-link{white-space:normal}.topbar-right{margin-left:auto}.training-session>div,.exercise-info,.meal-name{overflow-wrap:anywhere}.meal-section h3{flex-wrap:wrap;row-gap:0}.rest-timer strong{min-width:4em}.modal-actions{flex-wrap:wrap;gap:8px}.modal-actions .button{flex:8rem}.trend-stats{border-radius:18px;padding:18px}.weight-metrics strong{overflow-wrap:normal}.weight-metrics strong small{white-space:nowrap}.chart-inspect{flex-wrap:wrap}.chart-inspect select{flex:10rem}.exercise-actions .button{min-height:44px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}.calorie-budget{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:18px 0 14px;padding-top:14px;display:flex}.calorie-budget>div{flex:4rem;min-width:0}.calorie-budget dt{color:var(--muted);font-size:.75rem}.calorie-budget dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:1rem;font-weight:600}.calorie-budget dd small{color:var(--muted);font-size:.625rem;font-weight:400}.calorie-budget>span{color:#a79eb3;font-size:.75rem}.calorie-budget>div:last-child dd{color:var(--primary)}.calorie-total{background:#f8f6fb;border:0;border-radius:12px;margin-bottom:8px;padding:12px}.calorie-total dt>small{font-size:.625rem;display:block}.calorie-detail{border-top:0;margin:16px 0 8px;padding-top:0}.budget-notice{margin:14px 0 0;line-height:1.7}.today-expenditure{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 0 12px;display:flex}.today-expenditure>div>span{color:var(--muted);font-size:.8125rem}.today-expenditure strong{margin-top:4px;font-size:1.5rem;font-weight:600;display:block}.today-expenditure strong small{color:var(--muted);margin-left:4px;font-size:.75rem;font-weight:400}.today-expenditure p{margin:4px 0 0;font-size:.75rem}.extra-training>.button{width:100%;margin:8px 0}.extra-workout-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.extra-workout-row>div{overflow-wrap:anywhere;min-width:0}.extra-workout-row strong,.extra-workout-row small{display:block}.extra-workout-row small{color:var(--muted);margin-top:5px;font-size:.75rem}.extra-workout-row>.button{flex-shrink:0}.library-record{margin:8px 0 16px}.library-record>.button{width:100%}.goal-planner{margin:0 0 22px}.goal-planner .section-title{margin-bottom:12px}.goal-weight-path{align-items:center;gap:20px;padding:8px 0;display:flex}.goal-weight-path>span{color:var(--muted);flex:1;min-width:0;font-size:.75rem}.goal-weight-path strong{color:var(--ink);overflow-wrap:anywhere;font-size:1.75rem;font-weight:550;display:block}.goal-weight-path small{font-size:.8125rem;font-weight:400}.goal-weight-path>i{color:var(--primary);font-style:normal}.goal-plan-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:14px;margin:14px 0;display:grid}.goal-plan-metrics dt{color:var(--muted);font-size:.75rem}.goal-plan-metrics dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:1rem;font-weight:600}.goal-plan-metrics small{font-size:.75rem;font-weight:400}.goal-warning{color:#855422;background:#fff3e7;border-radius:10px;padding:10px 12px;font-size:.8125rem;line-height:1.65}.goal-warning ul{margin:0;padding-left:18px}.goal-warning p{color:inherit;font-size:inherit;margin:8px 0 0}.goal-method{border-bottom:1px solid var(--line);margin:8px 0}.goal-method>summary{color:var(--muted);font-size:.75rem}.goal-method .hint{line-height:1.7}.goal-planner>.button{white-space:normal;width:100%}.goal-date-fields{margin-bottom:14px}.goal-date-fields .hint{margin-top:6px;display:block}.goal-form-preview{background:#f6f3fa;border-radius:12px;margin-bottom:18px;padding:12px}.goal-expected-deficit{grid-column:1/-1}.goal-expected-deficit dd{font-size:1.375rem}.goal-range{border-top:1px solid var(--line);color:var(--muted);margin-top:18px;padding-top:14px;font-size:.75rem}.goal-range span,.goal-range b,.goal-range strong{display:block}.goal-range b{color:var(--ink);margin-top:4px;font-weight:550}.goal-range.is-warning{color:#9a4927;border-color:#efd6c4}.goal-range.is-warning b{color:inherit}.goal-range strong{margin-bottom:6px;font-size:.8125rem}.goal-dialog-section{border-bottom:1px solid var(--line);padding:4px 0 12px}.goal-dialog-section h3{margin:12px 0}.goal-proposal{background:#f6f3fa;border:0;border-radius:12px;margin-top:12px;padding:8px 12px}.goal-dialog-section .goal-plan-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}.goal-dialog-section dd{font-size:.9375rem}.help-heading{align-items:center;gap:6px;min-width:0;display:flex}.help-heading>h2,.help-heading>h3{min-width:0;margin:0}.help-button{color:var(--muted);flex:0 0 44px}.help-content{text-align:left;overflow-wrap:anywhere}.help-content p{font-size:.875rem;line-height:1.75}.help-content>:last-child{margin-bottom:0}.summary-label .summary-help{margin-left:auto}.suggestion-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.suggestion-heading .hint{margin:0}.suggestion-heading .help-button{margin-left:auto}.weight-history-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 44px;gap:12px;display:grid}.weight-history-row>span,.weight-history-row>div{overflow-wrap:anywhere;min-width:0}.weight-history-row>div{text-align:right}.metric-list summary{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 44px;gap:12px;display:grid}.metric-list summary>span{text-align:right;min-width:0;margin-left:0}.metric-list summary:after{justify-self:center;margin-left:0}.metric-list dl>div{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;display:grid}.metric-list dd{text-align:right;overflow-wrap:anywhere;margin:0}.motion-tabs,.segmented.motion-tabs{isolation:isolate;grid-template-columns:repeat(var(--tab-count),minmax(0,1fr));gap:0;padding:4px;display:grid;position:relative}.motion-tabs:before{content:"";z-index:-1;width:calc((100% - 8px) / var(--tab-count));transform:translateX(calc(var(--tab-index) * 100%));background:#fff;border-radius:9px;transition:transform .18s ease-out;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 2px 5px #2c214a0d}.motion-tabs button,.motion-tabs button.active,.motion-tabs button[aria-pressed=true]{white-space:normal;min-width:0;box-shadow:none;background:0 0;padding:8px 4px;transition:color .18s ease-out}.button,.icon-button,.menu-row,.mobile-nav button,.picker-option,.calendar-day{transition:color .16s,background-color .16s,border-color .16s,transform .12s,opacity .16s}.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.98)}.mobile-nav button>i,.session-progress i{transition:background-color .18s,color .18s}.intake-rail>span{transition:width .18s ease-out}details[open]>:not(summary){animation:.15s ease-out disclosure-reveal}@keyframes disclosure-reveal{0%{opacity:.6;transform:translateY(-3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.motion-tabs:before{transition:none}.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:none}details[open]>:not(summary){animation:none}}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:16px;display:flex}.auth-links button{min-height:44px}.auth-code-row{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:7px 8px;margin-bottom:16px;display:grid}.auth-code-row>.field{display:contents}.auth-code-row>.field>label{grid-column:1/-1}.auth-code-row .auth-code-button{white-space:normal;width:100%;min-height:48px;margin:0;padding:10px 4px}.auth-form .auth-status{color:#44325d;background:#ede6f6;border-radius:12px;padding:12px;line-height:1.6}
:root{--control-border:#dcd8e2;--control-surface:#fff;--control-radius:12px;--control-focus:#7653af;--control-ring:#7653af1f;--control-placeholder:#7b7484;--control-error:#a53739;--overlay-shadow:0 -12px 48px #29243f1a}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field>label,.field>span{color:var(--ink);font-size:.875rem;font-weight:500}.field>label{cursor:pointer}.form-input,.picker-trigger{border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-surface);width:100%;min-width:0;min-height:50px;color:var(--ink);font:inherit;padding:12px 16px;font-size:1rem;line-height:1.5;transition:border-color .15s,box-shadow .15s,background-color .15s}.form-input:focus,.picker-trigger:focus-visible{border-color:var(--control-focus);box-shadow:0 0 0 3px var(--control-ring);outline:none}.form-input::placeholder,.picker-placeholder{color:var(--control-placeholder)}.form-input:disabled,.picker-trigger:disabled{color:#8a8491;cursor:not-allowed;opacity:.7;background:#f2f1f4;border-color:#e3e0e7}.form-input[readonly],.picker-trigger[aria-disabled=true]{color:var(--muted);cursor:default;background:#f6f5f7}:is(.form-input[aria-invalid=true],.picker-trigger[aria-invalid=true],.form-input:user-invalid){border-color:var(--control-error)}.form-textarea{resize:vertical;min-height:110px}.control-error{color:var(--control-error);margin-top:6px;font-size:.8125rem;font-weight:400;display:block}.picker-control{width:100%;min-width:0;font-weight:400;display:block;position:relative}.picker-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.picker-trigger>span{overflow-wrap:anywhere;min-width:0}.picker-trigger>svg{color:#83778f;flex:0 0 20px}.picker-trigger[aria-expanded=true]{border-color:var(--primary);background:#fbf9ff}.picker-control>.control-native{opacity:0;clip-path:inset(50%);pointer-events:none;border:0;width:1px;min-width:0;height:1px;min-height:0;margin:0;padding:0;position:absolute}.form-input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--primary);border-radius:6px;flex:0 0 20px;padding:0}.check-row{min-height:44px}.search-box{border:1px solid var(--control-border);border-radius:var(--control-radius);background:#fff;gap:10px;min-height:50px;padding:0 14px}.search-box>svg{color:#83778f;flex:0 0 20px}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--control-ring)}.search-box .form-input{box-shadow:none;background:0 0;border:0;border-radius:0;padding:12px 0}.button{border-radius:var(--control-radius)}.button:disabled{opacity:.5;cursor:not-allowed}.button:active:not(:disabled),.icon-button:active:not(:disabled){filter:brightness(.96)}.icon-button{border-radius:var(--control-radius)}.modal.app-overlay{inset:var(--app-viewport-top,0px) 0 auto;height:var(--app-viewport-height,100dvh);width:100%;max-width:none;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;flex-direction:column;justify-content:flex-end;align-items:center;margin:0;padding:0;display:flex;position:fixed;overflow:hidden}.overlay-panel{width:min(100%,430px);min-height:0;max-height:92%;box-shadow:var(--overlay-shadow);overscroll-behavior:contain;background:#fff;border:1px solid #ece8f0;border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;flex:0 auto;animation:.22s cubic-bezier(.2,.8,.2,1) both sheet-enter;display:flex;overflow:hidden}.modal.app-overlay:not([open]){display:none}.modal.app-overlay::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#29243f73;animation:.22s ease-out both scrim-enter}.overlay-panel>.overlay-header{background:#fff;border-bottom:1px solid #f0edf4;flex:none;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:18px 16px 14px 22px;display:flex;position:static}.overlay-header h2{overflow-wrap:anywhere;margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.overlay-header h2:focus{outline:none}.overlay-header .icon-button{color:#756b80;background:#f5f3f8}.overlay-content{min-height:0;padding:18px 22px calc(22px + env(safe-area-inset-bottom));overscroll-behavior:contain;scrollbar-gutter:stable;overflow:hidden auto}.overlay-content>:first-child{margin-top:0}.overlay-content>:last-child{margin-bottom:0}.modal.app-overlay.confirm-modal{justify-content:center}.confirm-modal>.overlay-panel{border:1px solid #ece8f0;border-radius:22px;width:min(380px,100% - 32px);max-height:calc(100% - 32px);animation-name:confirm-enter;box-shadow:0 20px 80px #29243f26}.confirm-modal .overlay-content{padding-bottom:22px}.confirm-modal .overlay-header{border-bottom:0;padding-bottom:0}.confirm-description{margin:0 0 24px;font-size:.875rem;line-height:1.7}.confirm-actions{gap:12px;display:flex}.confirm-actions .button{flex:1}.confirm-actions .confirm-danger{background:var(--control-error);border-color:var(--control-error)}.picker-options{flex-direction:column;gap:4px;display:flex}.search-box+.picker-options{margin-top:14px}.picker-option{text-align:left;width:100%;min-height:52px;color:var(--ink);border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;font-size:1rem;line-height:1.5;display:flex}.picker-option>span{overflow-wrap:anywhere;min-width:0}.picker-option>svg{flex:0 0 20px}.picker-option:active:not(:disabled),.picker-option:hover:not(:disabled){background:#f6f3fa}.picker-option.is-selected{color:var(--primary);background:var(--pale);border-color:#e2d5f1;font-weight:600}.picker-option:disabled{color:#928b9a;cursor:not-allowed;opacity:.65}.picker-group{color:var(--muted);margin:8px 0 4px;padding:12px 14px 4px;font-size:.75rem}.calendar-navigation{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.calendar-heading{min-height:48px;color:var(--ink);justify-items:center;padding:0 12px;font-size:1.0625rem;font-weight:600;display:grid}.calendar-heading>span{color:var(--primary);font-size:.75rem;font-weight:400}.calendar-weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 0;display:grid}.calendar-weekdays{color:var(--muted);margin-bottom:8px;font-size:.8125rem}.calendar-weekdays>span{padding:8px 0}.calendar-day{isolation:isolate;width:100%;min-width:0;min-height:44px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:12px;place-items:center;padding:0;font-size:1rem;display:grid;position:relative}.calendar-day:before{content:"";z-index:-1;border-radius:50%;position:absolute;inset:2px}.calendar-day.is-today:before{box-shadow:inset 0 0 0 1px #b6a0d3}.calendar-day.is-selected{color:#fff;font-weight:600}.calendar-day.is-selected:before{background:var(--primary);box-shadow:none}.calendar-day:hover:not(:disabled):not(.is-selected):before{background:var(--pale)}.calendar-day:disabled{color:#b4aebc;cursor:not-allowed}.calendar-actions{border-top:1px solid #f0edf4;justify-content:space-between;align-items:center;margin-top:18px;padding-top:12px;display:flex}.calendar-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.calendar-month{min-height:48px;color:var(--ink);background:#f7f5fa;border-radius:12px;font-size:.9375rem}.calendar-month.is-selected{color:var(--primary);background:var(--pale);font-weight:600}.calendar-month:disabled{opacity:.35;cursor:not-allowed}.date-navigation label{text-align:center;flex:1;min-width:0}.date-navigation .picker-trigger{background:0 0;border-color:#0000;justify-content:center;gap:8px;padding-inline:4px;font-size:.875rem}.chart-inspect>.picker-control{flex:10rem}.chart-inspect .picker-trigger{font-size:.8125rem}.library-filters>.picker-control{min-width:0}@keyframes sheet-enter{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@keyframes confirm-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes scrim-enter{0%{opacity:0}to{opacity:1}}@keyframes sheet-exit{to{opacity:0;transform:translateY(32px)}}@keyframes confirm-exit{to{opacity:0;transform:scale(.98)}}@keyframes scrim-exit{to{opacity:0}}.modal.app-overlay.is-closing{pointer-events:none}.modal.app-overlay.is-closing>.overlay-panel{animation:.16s ease-in both sheet-exit}.modal.app-overlay.confirm-modal.is-closing>.overlay-panel{animation-name:confirm-exit}.modal.app-overlay.is-closing::backdrop{animation:.16s ease-in both scrim-exit}@media (max-width:350px){.overlay-content{padding-inline:14px}.overlay-panel>.overlay-header{padding-left:14px}.picker-trigger{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.modal.app-overlay>.overlay-panel,.modal.app-overlay::backdrop{animation:none}.form-input,.picker-trigger{transition:none}}@media (max-width:350px){.calendar-grid,.calendar-weekdays{margin-inline:-10px}}.date-control .picker-trigger{font-variant-numeric:tabular-nums;gap:8px;padding-inline:12px}.form-grid .date-control .picker-trigger{font-size:.875rem}.date-control .picker-trigger>span{white-space:nowrap}.overlay-content .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.overlay-content form>fieldset>.button[type=submit]{width:100%;margin-top:20px}
