@font-face{font-family:"Alibaba PuHuiTi Heavy";src:url("./assets/fonts/AlibabaPuHuiTi-3-105-Heavy.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap}
@font-face{font-family:"Alibaba PuHuiTi ExtraBold";src:url("./assets/fonts/AlibabaPuHuiTi-3-95-ExtraBold-Numerals.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:"Alibaba PuHuiTi Black";src:url("./assets/fonts/AlibabaPuHuiTi-3-115-Black-Numerals.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap}
:root{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;color:#161616;background:#e8eced;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #00c8b7;outline-offset:2px}img{display:block}h2,p{margin:0}
.preview-stage{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;padding:0;background:radial-gradient(circle at 50% 42%,#f9faf9 0,#e7ebed 70%)}
.device-frame{position:absolute;left:50%;top:50%;width:403px;height:840px;padding:14px;border-radius:58px;background:linear-gradient(110deg,#0b0d0e 0%,#4e5051 6%,#0a0b0c 11%,#0a0b0c 88%,#555758 95%,#090a0b 100%);box-shadow:0 0 0 2px #101112,0 0 0 4px #7a7d7e,0 26px 70px rgba(18,30,37,.36);transform:translate(-50%,-50%) scale(var(--device-scale,1));transform-origin:center;isolation:isolate}
.device-frame::after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.18);border-radius:54px;pointer-events:none}
.device-side-button{position:absolute;z-index:-1;width:4px;border-radius:3px;background:linear-gradient(90deg,#333638,#0a0b0c)}
.device-side-button--mute{left:-6px;top:129px;height:31px}.device-side-button--volume{left:-6px;top:185px;height:79px}.device-side-button--power{right:-6px;top:205px;height:88px}
.phone{position:relative;display:grid;grid-template-rows:44px minmax(0,1fr) 109px;width:375px;height:812px;overflow:hidden;border-radius:44px;background:linear-gradient(180deg,#fff 6.45%,#fbfbfb 15.81%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.dynamic-island{position:absolute;z-index:8;left:50%;top:9px;width:116px;height:34px;border-radius:19px;background:#050505;box-shadow:inset 0 1px 2px rgba(255,255,255,.11);transform:translateX(-50%);pointer-events:none}
.dynamic-island::after{content:"";position:absolute;right:12px;top:13px;width:8px;height:8px;border-radius:50%;background:#121a24;box-shadow:inset 0 0 2px #245380}
.status-bar{height:44px;background:#fff;z-index:2}.status-bar img{width:375px;height:44px}
.scroll-area{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}.scroll-area::-webkit-scrollbar{display:none}
.page-flow{width:375px;min-height:834px;background:linear-gradient(180deg,#fff 0,#fbfbfb 150px)}
.topbar{position:relative;width:351px;height:40px;margin:0 auto}.topbar button{border:0;background:none;padding:0}.avatar-button{position:absolute;left:5px;top:0;width:55px;height:40px}.avatar{position:absolute;left:0;top:2px;width:36px;height:36px;border-radius:50%}.avatar-chevron{position:absolute;left:43px;top:18px;width:6px;height:4px}.search-box{position:absolute;left:61px;top:0;display:flex;align-items:center;gap:8px;width:230px;height:40px;padding-left:16px;border-radius:20px;background:#fff}.search-box img{width:14px;height:14px;flex:none}.search-box input{min-width:0;width:100%;border:0;outline:none;background:transparent;font-size:14px;color:#333}.search-box input::placeholder{color:rgba(51,51,51,.45);opacity:1}.search-box input::-webkit-search-cancel-button{-webkit-appearance:none}
.trend-button{position:absolute;left:287px;top:16px;display:flex;align-items:flex-end;gap:3px;width:15px;height:15px}.trend-button span{display:block;width:3px;background:#000}.trend-button span:nth-child(1){height:10.5px}.trend-button span:nth-child(2){height:15px}.trend-button span:nth-child(3){height:8px}.message-button{position:absolute;left:320px;top:7px;width:31px;height:27px}.message-button img{width:31px;height:27px}
.top-to-goal-gap{height:32px}.goal-section{position:relative;width:347px;height:129px;margin:0 auto}.goal-heading{position:relative;width:347px;height:23px;padding-left:18px;display:flex;align-items:flex-start}.goal-heading strong{font-size:16px;line-height:16px;font-weight:900}.goal-unit{margin-left:6px;margin-top:2px;font-size:14px;line-height:14px;color:rgba(0,0,0,.4)}.goal-toggle{position:absolute;left:112px;top:5px;width:17px;height:9px;padding:0;border:0;background:none}.goal-toggle img{width:17px;height:9px}.goal-toggle[aria-expanded="true"] img{transform:rotate(180deg)}.health-report{position:absolute;right:16px;top:-3px;display:flex;align-items:center;gap:4px;width:72px;height:26px;padding:0 5px;border:0;border-radius:14px;background:#fafafa;color:rgba(0,0,0,.28);font-size:12px;white-space:nowrap}.health-report img{width:4px;height:6px}
.goal-progress{position:relative;width:347px;height:30px;margin-top:17px}.progress-track{position:absolute;left:31px;top:12px;width:285px;height:8px;border-radius:88px;background:#f9f9f9}.progress-fill{width:151px;height:8px;border-radius:88px;background:#36d373}.goal-progress>span{position:absolute;left:137px;top:0;width:62px;height:30px;display:grid;place-items:center;border:1px solid rgba(200,200,200,.2);border-radius:15px;background:#fff;color:#36d373;font-size:12px;font-weight:600}
.goal-numbers{display:flex;align-items:flex-start;width:347px;height:42px;margin-top:17px;padding-left:42px}.goal-numbers>div{display:flex;flex-direction:column;align-items:center;width:48px;padding-top:3.5px;white-space:nowrap}.goal-numbers>div:nth-child(1){margin-right:62px}.goal-numbers>div.current{width:43px;margin-right:55px;padding-top:0;align-items:center}.goal-numbers strong{font-size:14px;line-height:14px;font-weight:800}.goal-numbers>div:not(.current) strong{font-family:"Alibaba PuHuiTi ExtraBold","PingFang SC",sans-serif}.goal-numbers .current strong{font-family:"Alibaba PuHuiTi Black","PingFang SC",sans-serif;font-size:24px;line-height:24px;font-weight:900}.goal-numbers small{margin-top:9px;color:rgba(0,0,0,.4);font-size:12px;line-height:12px}.goal-numbers .current small{margin-top:6px}.goal-detail{position:absolute;top:123px;left:31px;z-index:2;padding:8px 12px;border-radius:10px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.12);font-size:12px}
.goal-to-cards-gap{height:33px}.two-cards{display:flex;gap:13px;width:347px;height:227px;margin:0 auto}.small-card{position:relative;width:167px;height:227px;padding:16px;border-radius:18px;background:#fff;overflow:hidden}.card-actions,.wide-actions{display:flex;align-items:center;justify-content:space-between;height:26px}.card-icon{width:26px;height:26px;flex:none}.record-action{position:relative;display:flex;align-items:center;justify-content:center;gap:2px;width:61px;height:26px;padding:0;border:0;border-radius:13px;background:#f6fcfc;font-size:12px;font-weight:700;white-space:nowrap}.record-action img{width:4px;height:6px}.action-weight{color:#00dbe8;background:#f5fdfd}.action-food{color:#36d373;background:#f7fdfa}.action-water{color:#00bfff;background:#f4fbfe}.action-exercise{color:#ff4a16;background:#fef8f6}
.card-copy{margin-top:13px}.card-copy h2,.wide-copy h2{font-size:16px;line-height:16px;font-weight:900}.card-copy .value,.wide-copy .value{display:flex;align-items:flex-end;white-space:nowrap;margin-top:6px;font-weight:900;line-height:20px}.value strong{font-size:20px;line-height:20px}.value b{font-size:18px;line-height:19px}.card-copy p,.wide-copy p{margin-top:7px;color:rgba(0,0,0,.35);font-size:12px;font-weight:600;line-height:12px;white-space:nowrap}.card-chart{position:absolute;left:16px;bottom:17px}.weight-chart{width:135px;height:65px}.calorie-gauge{width:135px;height:70px;bottom:12px}
.card-copy h2,.wide-copy h2,.card-copy .value,.wide-copy .value{font-family:"Alibaba PuHuiTi Heavy","PingFang SC",sans-serif}
.cards-to-water-gap{height:14px}.wide-card{position:relative;width:347px;margin:0 auto;padding:16px;border-radius:18px;background:#fff;overflow:hidden}.water-card{height:132px}.wide-body{position:relative;display:flex;align-items:flex-start;height:61px;margin-top:11px}.wide-copy{width:103px;flex:none}.wide-body>img{position:absolute;display:block}.water-chart{left:154px;top:0;width:158px;height:61px}.water-to-exercise-gap{height:18px}.exercise-card{height:137px}.exercise-card .wide-body{margin-top:13px}.exercise-chart{left:210px;top:0;width:105px;height:61px}.exercise-to-edit-gap{height:16px}.edit-card-button{display:block;width:351px;height:40px;margin:0 auto;border:0;border-radius:18px;background:#fff;color:rgba(0,0,0,.75);font-size:14px;font-weight:800}.content-bottom-gap{height:16px}
.exercise-icon-wrap{position:relative;display:block;width:26px;height:26px;flex:none}.exercise-icon-detail{position:absolute;left:4px;top:9px;width:18px;height:9px}
.record-action{background:transparent}.record-action span,.record-action .action-chevron{position:relative;z-index:1}.record-action .action-bg{position:absolute;inset:0;width:61px;height:26px}.record-action .action-chevron{width:4px;height:6px}
.bottom-nav{position:relative;height:109px;background:#fff;z-index:2}.nav-items{display:flex;justify-content:space-between;align-items:flex-start;width:328px;height:40px;margin:20px 0 0 20px}.nav-item{position:relative;width:40px;height:40px;padding:0;border:0;background:none;color:rgba(120,120,120,.6);font-size:10px;font-weight:600;line-height:12px;white-space:nowrap}.nav-item img{position:absolute;left:50%;bottom:17px;max-width:none;transform:translateX(-50%)}.nav-item span{position:absolute;left:50%;bottom:0;transform:translateX(-50%)}.nav-item.active{color:#36d373}.nav-item.active span{font-weight:700}.home-indicator{position:absolute;left:0;bottom:0;width:375px;height:34px}
.nav-item[data-tab="记录"]:not(.active)::after{content:"";position:absolute;left:calc(50% - 7px);bottom:20px;width:17px;height:3px;border-radius:64px;background:#d9d9d9}
.nav-item[data-tab="轻断食"]{transform:translateY(-3px)}
.nav-item[data-tab="轻断食"] span{bottom:-3px}
.nav-item[data-tab="身体档案"] img{bottom:17px}
.sheet-backdrop{position:absolute;inset:0;z-index:5;background:rgba(0,0,0,.24)}.action-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;min-height:230px;max-height:75%;overflow-y:auto;padding:24px 20px 38px;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -10px 30px rgba(0,0,0,.12)}.sheet-handle{position:absolute;left:163px;top:8px;width:49px;height:5px;border-radius:5px;background:#d8d8d8}.sheet-close{position:absolute;right:18px;top:16px;width:30px;height:30px;border:0;border-radius:50%;background:#f5f5f5;font-size:24px;line-height:24px}.action-sheet h2{margin:12px 0 6px;font-size:20px}.action-sheet p{color:#888;font-size:13px}.sheet-form{display:flex;gap:8px;margin-top:20px}.sheet-form input{min-width:0;flex:1;height:42px;padding:0 12px;border:1px solid #ddd;border-radius:12px;font-size:16px}.sheet-form button,.sheet-primary{height:42px;padding:0 16px;border:0;border-radius:12px;background:#00bfb0;color:#fff;font-weight:700}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.sheet-actions button{padding:9px 12px;border:1px solid #e5e5e5;border-radius:12px;background:#fafafa}.toast{position:absolute;left:50%;bottom:128px;z-index:9;max-width:85%;padding:9px 14px;border-radius:18px;background:rgba(0,0,0,.75);color:#fff;font-size:13px;white-space:nowrap;opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
[hidden]{display:none!important}
@media(max-width:420px){.preview-stage{background:#e8eced}}
