:root{--ink:#20322d;--muted:#75827e;--green:#174b3f;--green2:#236555;--lime:#ddec8e;--paper:#f4f4ee;--white:#fff;--line:#e2e6df;--orange:#ef8c57;--red:#b34e3f;--shadow:0 14px 44px rgba(28,55,47,.09)}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,textarea{font:inherit}.app-shell{width:min(760px,100%);margin:auto;padding:calc(16px + env(safe-area-inset-top)) 14px calc(108px + env(safe-area-inset-bottom))}.view{display:none}.view.active{display:block;animation:fadeIn .22s ease}@keyframes fadeIn{from{opacity:.3;transform:translateY(4px)}}
.hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:31px 26px;border-radius:30px;background:var(--green);color:#fff;box-shadow:0 18px 50px rgba(21,63,52,.18)}.hero-copy{min-width:0}.eyebrow{display:block;margin-bottom:20px;color:var(--lime);font-size:11px;font-weight:850;letter-spacing:.17em}.hero h1{margin:0;font-size:clamp(31px,8vw,49px);line-height:1.06;letter-spacing:-.045em}.hero p{margin:9px 0 0;color:#cde1da}.phase-row{display:flex;gap:7px;margin-top:16px}.phase-row span{padding:5px 9px;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(255,255,255,.08);color:#dcebe6;font-size:11px}.ring{--progress:0deg;width:112px;height:112px;flex:0 0 112px;padding:8px;border-radius:50%;background:conic-gradient(var(--lime) var(--progress),rgba(255,255,255,.13) 0);transition:.35s}.ring>div{display:grid;place-content:center;width:100%;height:100%;border-radius:50%;background:var(--green);text-align:center}.ring strong{font-size:26px}.ring small{display:block;color:#bcd4cc;font-size:10px}
.next-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;margin-top:15px;padding:16px;border-radius:20px;background:#e8edb2}.next-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#fff;font-size:21px}.next-card span{color:#67726e;font-size:10px;font-weight:900;letter-spacing:.13em}.next-card h2{margin:2px 0;font-size:17px}.next-card p{margin:0;color:#67726e;font-size:12px}.next-card time{align-self:start;padding:6px 9px;border-radius:99px;background:#fff9;color:var(--green);font-size:11px;font-weight:800}
.baseline-block{margin-top:23px}.baseline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.baseline-grid article{padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff}.baseline-grid article>span,.water-card header span{color:var(--muted);font-size:11px}.baseline-grid article>strong{display:block;margin:8px 0 4px;font-size:17px}.baseline-grid article p{margin:0;color:#88958f;font-size:10px;line-height:1.5}.baseline-grid .water-card{grid-column:1/-1;padding:17px;background:#e9f2ef}.water-card header{display:flex;align-items:center;justify-content:space-between}.water-card header button{padding:7px 10px;border:0;border-radius:99px;background:#fff;color:var(--green);font-size:11px;font-weight:850}.water-card>strong{font-size:26px!important}.water-card>strong small{color:var(--muted);font-size:11px}.water-track{height:7px;margin:9px 0;border-radius:99px;background:#d3dfda;overflow:hidden}.water-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--green);transition:.25s}
.card{margin-top:16px;padding:22px;border:1px solid rgba(220,228,222,.76);border-radius:25px;background:var(--white);box-shadow:var(--shadow)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:11px}.section-head span,.page-head>span,.workout-top span,.install-guide>span{color:#7c8b86;font-size:10px;font-weight:900;letter-spacing:.18em}.section-head h2{margin:3px 0 0;font-size:23px}.section-head>b,.section-head>small{padding:7px 11px;border-radius:99px;background:#eef2eb;color:var(--green);font-size:11px}.task{position:relative;display:grid;grid-template-columns:51px 40px 1fr 28px;align-items:center;gap:9px;width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}.task:last-child{border:0}.task time{color:var(--muted);font-size:12px;font-weight:800}.task i{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#f0f4ed;font-style:normal}.task span{display:grid;gap:2px}.task b{font-size:15px}.task small{color:var(--muted);line-height:1.4}.task em{display:grid;place-items:center;width:24px;height:24px;border:2px solid #cbd4ce;border-radius:50%;color:var(--green);font-style:normal;font-weight:900}.task.done{opacity:.48}.task.done b,.task.done small{text-decoration:line-through}.task.done em{border-color:var(--lime);background:var(--lime)}.task.current:before{content:"";position:absolute;left:-22px;width:4px;height:34px;border-radius:0 9px 9px 0;background:var(--orange)}
.section-block{margin-top:24px}.section-head.outside{padding:0 4px}.section-head.outside p{margin:0;color:var(--muted);font-size:12px}.meal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meal{min-height:138px;padding:17px;border:1px solid var(--line);border-radius:20px;background:#fff}.meal:nth-child(1){background:#fff5e8}.meal:nth-child(2){background:#edf4e9}.meal:nth-child(3){background:#f4f0e4}.meal:nth-child(4){background:#eef2f1}.meal header{display:flex;justify-content:space-between;align-items:center}.meal header span{font-size:20px}.meal header b{color:var(--muted);font-size:11px}.meal h3{margin:12px 0 5px;font-size:16px}.meal p{margin:0;color:#65736e;font-size:12px;line-height:1.55}
.workout-card{margin-top:16px;padding:24px;border-radius:26px;background:var(--green);color:#fff;box-shadow:0 18px 46px rgba(24,75,63,.17)}.workout-top{display:flex;align-items:end;justify-content:space-between;gap:12px}.workout-top span{color:#b8d6cc}.workout-top h2{margin:4px 0 0;font-size:25px}.workout-top>b{padding:7px 11px;border-radius:99px;background:var(--lime);color:var(--green);font-size:11px}.workout-card>p{color:#cce0da;font-size:13px}.workout-steps{display:flex;gap:8px;overflow:auto;padding:5px 0 14px;scrollbar-width:none}.workout-step{min-width:145px;padding:13px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.07)}.workout-step b{display:block;font-size:13px}.workout-step small{color:#b8d0c8;font-size:11px}.primary-action{width:100%;padding:13px;border:0;border-radius:15px;background:#fff;color:var(--green);font-weight:850;cursor:pointer}.primary-action.done{background:var(--lime)}
.strength-guide details{margin-top:9px;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.strength-guide details.today-strength{border-color:#a9c65d;box-shadow:0 0 0 2px #ddec8e55}.strength-guide summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;cursor:pointer;list-style:none}.strength-guide summary::-webkit-details-marker{display:none}.strength-guide summary div{display:grid;gap:3px}.strength-guide summary span{color:var(--green);font-size:18px;font-weight:900}.strength-guide summary b{font-size:12px}.strength-guide summary em{color:var(--muted);font-size:11px;font-style:normal}.today-strength summary:after{content:"今天";padding:4px 7px;border-radius:99px;background:var(--lime);color:var(--green);font-size:9px;font-weight:900}.today-strength summary em{display:none}.movement-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px}.movement-list article{padding:13px;border-radius:14px;background:#f4f6f2}.movement-list b{display:block;font-size:13px}.movement-list span{display:block;margin:2px 0 5px;color:var(--green);font-size:10px;font-weight:800}.movement-list p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.safety-note{margin:12px 4px 0;color:var(--muted);font-size:10px;line-height:1.55}
.page-head{padding:21px 8px 9px}.page-head h1{margin:5px 0 3px;font-size:38px;letter-spacing:-.04em}.page-head p{margin:0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.metric-card{display:block;padding:18px;border:1px solid var(--line);border-radius:21px;background:#fff}.metric-card.wide{grid-column:1/-1}.metric-card>span{color:var(--muted);font-size:12px}.metric-card>div{display:flex;align-items:baseline;gap:6px;margin:8px 0 5px}.metric-card input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:32px;font-weight:800}.metric-card b{color:var(--muted);font-size:12px}.metric-card small{color:#98a39f;font-size:10px}.log-card{margin-top:11px}.diet-fields{display:grid;gap:10px}.diet-field{display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.diet-field:last-child{border:0}.diet-field>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#f0f4ed;font-size:19px}.diet-field label{display:grid;gap:2px}.diet-field label b{font-size:13px}.diet-field input{width:100%;padding:2px 0;border:0;outline:0;color:var(--ink);font-size:13px}.diet-ok{width:28px;height:28px;border:2px solid #cbd4ce;border-radius:50%;background:#fff;color:var(--green);font-weight:900}.diet-ok.active{border-color:var(--lime);background:var(--lime)}.note-card label{display:flex;align-items:center;justify-content:space-between}.note-card label span{font-weight:800}.note-card label small{color:var(--muted)}.note-card textarea{width:100%;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:14px;outline:0;background:#f8faf7;resize:vertical}.save-state{padding:20px;text-align:center;color:var(--muted);font-size:11px}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.stat-grid article{padding:18px;border:1px solid var(--line);border-radius:21px;background:#fff}.stat-grid article>span{color:var(--muted);font-size:11px}.stat-grid strong{display:block;margin:7px 0 4px;font-size:29px}.stat-grid strong small{margin-left:3px;color:var(--muted);font-size:11px}.stat-grid p{margin:0;color:#98a39f;font-size:10px}.week-chart{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:180px;padding-top:10px}.bar-item{display:grid;grid-template-rows:1fr auto auto;align-items:end;gap:6px;height:100%;text-align:center}.bar-track{position:relative;width:100%;height:100%;min-height:90px;border-radius:10px;background:#f1f3ef;overflow:hidden}.bar-fill{position:absolute;right:0;bottom:0;left:0;min-height:3px;border-radius:10px;background:var(--green)}.bar-item.today .bar-fill{background:var(--orange)}.bar-item b{font-size:10px}.bar-item small{color:var(--muted);font-size:10px}.trend-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.trend-grid article{padding:18px;border-radius:21px;background:#e8edb2}.trend-grid article:nth-child(2){background:#e5efeb}.trend-grid span{color:#64716c;font-size:11px}.trend-grid strong{display:block;margin-top:6px;font-size:20px}.trend-grid p{margin:8px 0 0;color:#6f7b76;font-size:10px}.history-list{display:grid}.history-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border:0}.history-item b{display:block;font-size:13px}.history-item small{color:var(--muted);font-size:11px}.history-score{align-self:center;padding:6px 9px;border-radius:99px;background:#edf2ec;color:var(--green);font-size:11px;font-weight:850}.history-score.good{background:var(--lime)}.empty{padding:24px 0;color:var(--muted);text-align:center;font-size:12px}
.settings-card{padding:4px 20px}.settings-card label,.settings-row{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:76px;border-bottom:1px solid var(--line)}.settings-card>*:last-child{border:0}.settings-card b{display:block;font-size:14px}.settings-card small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.settings-card input[type=date]{max-width:145px;padding:9px;border:1px solid var(--line);border-radius:11px;background:#f7f9f6;color:var(--ink)}.settings-row>span{color:var(--green);font-size:12px;font-weight:800}.settings-row button,.file-button{position:relative;padding:9px 13px;border:0;border-radius:99px;background:#eaf0eb;color:var(--green);font-size:12px;font-weight:850;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0}.install-guide{margin-top:16px;padding:24px;border-radius:24px;background:var(--green);color:#fff}.install-guide>span{color:#b8d6cc}.install-guide h2{margin:6px 0;font-size:22px}.install-guide p{margin:0;color:#cde0da;font-size:12px;line-height:1.65}.danger-button{width:100%;margin-top:16px;padding:13px;border:1px solid #e4cac4;border-radius:15px;background:#fff3f0;color:var(--red);font-weight:800}.privacy-note{padding:0 16px;color:var(--muted);font-size:10px;line-height:1.6;text-align:center}
.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(520px,calc(100% - 20px));margin:0 auto calc(8px + env(safe-area-inset-bottom));padding:7px;border:1px solid rgba(224,230,225,.88);border-radius:22px;background:rgba(255,255,255,.93);box-shadow:0 13px 42px rgba(29,49,43,.17);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;place-items:center;gap:2px;padding:7px;border:0;border-radius:15px;background:transparent;color:var(--muted);font-size:10px}.bottom-nav i{font-style:normal;font-size:18px;filter:grayscale(1);opacity:.58}.bottom-nav button.active{background:#edf2ec;color:var(--green);font-weight:850}.bottom-nav button.active i{filter:none;opacity:1}.toast{position:fixed;z-index:30;right:20px;bottom:105px;left:20px;max-width:460px;margin:auto;padding:12px 15px;border-radius:14px;background:#20322df0;color:#fff;font-size:12px;text-align:center;transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}
@media(max-width:520px){.app-shell{padding-left:10px;padding-right:10px}.hero{padding:24px 19px;border-radius:24px}.eyebrow{margin-bottom:16px}.ring{width:91px;height:91px;flex-basis:91px}.ring strong{font-size:22px}.phase-row{margin-top:12px}.card{padding:19px 15px}.task{grid-template-columns:43px 37px 1fr 26px}.task small{font-size:11px}.task.current:before{left:-15px}.meal{min-height:145px;padding:15px}.workout-card{padding:21px 18px}.movement-list{grid-template-columns:1fr}.page-head h1{font-size:34px}.week-chart{gap:5px}.chart-card{padding-right:12px;padding-left:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
