@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(./poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(./poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(./poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(./poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(./poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(./poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary: #6200ef;--color-primary-deep: #4a00b4;--color-primary-soft: #e9dcff;--color-primary-wash: #f3ecff;--color-bg: #ffffff;--color-page-bg: #eceef2;--color-surface: #ffffff;--color-surface-alt: #f2f3f5;--color-card-dark: #0e0d13;--color-text: #141419;--color-text-2: #6f7178;--color-text-3: #a4a7ae;--color-border: #e8e9ee;--color-mint: #eef7b4;--color-mint-deep: #a8cf2e;--color-peach: #ffe0d3;--color-pink: #ffb7c9;--color-pink-deep: #f26d8d;--color-yellow: #f8d477;--color-blue-soft: #d8ecfa;--color-green: #37c96c;--color-red: #f25555;--chart-fill-1: #8B5CF6;--chart-fill-2: #4C1D95;--chart-dot: #A78BFA;--chart-line: #C9B4FF;--chart-label: #d8c7ff;--toast-success: #6ee7a0;--toast-warning: #f8d477;--toast-error: #ff9a9a;--toast-info: #b8a4ff;--badge-red-soft: #ffe1e1;--tag-mint-text: #5a6b12;--channel-wechat: #2aae67;--channel-alipay: #1677ff;--fav-rose: #8c2c47;--blue-deep: #1f5f8b;--pay-ok-bg: #e2f8ea;--pay-bad-bg: #ffe5e5;--danger-soft: #ffe5e5;--macro-carb: #b49aec;--macro-protein: #f4d47c;--macro-fat: #f8b0bb;--macro-fiber: #b3d248;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-sans: "Poppins", "Inter", "PingFang SC", "Noto Sans CJK SC", sans-serif;--shadow-card: 0 2px 10px rgba(20, 16, 40, .05);--shell-max: 375px;--nav-height: 64px}html[data-theme=dark]{--color-bg: #131217;--color-page-bg: #08070b;--color-surface: #1b1a21;--color-surface-alt: #232229;--color-card-dark: #0e0d13;--color-text: #f2f1f6;--color-text-2: #a7a6b0;--color-text-3: #6d6c78;--color-border: #2c2b34;--color-primary-soft: #35205e;--color-primary-wash: #251840;--color-mint: #3a4014;--color-peach: #4a2c1d;--color-pink: #5c2433;--color-blue-soft: #1d3448}html,body,#root{height:auto;min-height:100%}#root{display:flex;justify-content:center;align-items:flex-start}body{background:var(--color-page-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img,svg{display:block}img{max-width:none;object-fit:cover}.app-shell{width:100%;max-width:var(--shell-max);margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--color-bg);position:relative;display:flex;flex-direction:column}.page{flex:1;padding:0 var(--space-5) calc(var(--nav-height) + var(--space-8));overflow-x:hidden}.page--full{padding-bottom:var(--space-8)}.page-header{display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--space-5) + 8px) 0 var(--space-4)}.page-header__title{font-size:26px;font-weight:600}.page-header__spacer{flex:1}.back-btn{width:44px;height:44px;border-radius:var(--radius-full);border:none;background:var(--color-surface-alt);display:grid;place-items:center;cursor:pointer;color:var(--color-text)}.back-btn--dark{background:#ffffff1f;color:#fff}.section-row{display:flex;align-items:baseline;justify-content:space-between;margin:var(--space-6) 0 var(--space-4)}.section-row h2{font-size:22px;font-weight:600}.section-row .link{border:none;background:none;color:var(--color-text-3);font-size:14px;cursor:pointer;padding:0}.section-row .link:hover{color:var(--color-primary)}.card{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:var(--space-5)}.card--flat{background:var(--color-surface);border:1px solid var(--color-border)}.card--dark{background:var(--color-card-dark);color:#fff}.card--lav{background:var(--color-primary-soft)}.card--interactive{cursor:pointer;transition:transform .15s ease}.card--interactive:active{transform:scale(.98)}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:14px;width:calc(100% - 40px);max-width:calc(var(--shell-max) - 40px);height:var(--nav-height);background:var(--color-card-dark);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:space-around;z-index:100;padding:0 6px}.bottom-nav__item{border:none;background:none;width:52px;height:52px;border-radius:var(--radius-full);display:grid;place-items:center;color:#9a99a5;cursor:pointer;position:relative}.bottom-nav__item--active{background:var(--color-primary);color:#fff}.bottom-nav__badge{position:absolute;top:6px;right:6px;background:var(--color-red);color:#fff;border-radius:var(--radius-full);min-width:16px;height:16px;font-size:10px;line-height:16px;text-align:center;padding:0 4px;font-weight:600}.top-bar{padding-top:calc(var(--space-4) + 8px)}.input-pill,.textarea-pill{width:100%;border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);padding:16px 20px;outline:none;transition:border-color .15s}.textarea-pill{border-radius:var(--radius-lg);resize:vertical}.input-pill:focus,.textarea-pill:focus{border-color:var(--color-primary)}.input-pill--error,.textarea-pill--error{border-color:var(--color-red)}.input-pill:disabled{background:var(--color-surface-alt);color:var(--color-text-3)}.field-label{font-size:14px;font-weight:500;margin-bottom:var(--space-2);display:block}.field-error{color:var(--color-red);font-size:12px;margin-top:var(--space-1)}.group-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.group-list__row{display:flex;align-items:center;gap:var(--space-3);padding:15px var(--space-4);width:100%;border:none;background:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--color-border);font-size:15px}.group-list__row:last-child{border-bottom:none}.group-list__row:hover{background:var(--color-surface-alt)}.group-list__icon{width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--color-primary-wash);color:var(--color-primary);flex:0 0 auto}.group-list__meta{margin-left:auto;color:var(--color-text-3);font-size:13px;display:flex;align-items:center;gap:4px}.dark-head{background:var(--color-card-dark);color:#fff;padding:0 var(--space-5) var(--space-6);margin:0 calc(-1 * var(--space-5))}.dark-head h1{font-size:30px;font-weight:600;margin:18px 0 10px}.dark-head p{color:#b9b8c2;font-size:15px}.row{display:flex;align-items:center;gap:var(--space-3)}.row--between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.muted{color:var(--color-text-2)}.tiny{font-size:12px;color:var(--color-text-3)}.big-num{font-weight:700;font-size:34px;letter-spacing:-.5px}.unit{color:var(--color-text-3);font-weight:500}@keyframes ring-in{0%{stroke-dashoffset:var(--ring-len)}}.ring-anim{animation:ring-in .8s ease-out}.hscroll{display:flex;gap:var(--space-3);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--space-5));padding:0 var(--space-5) var(--space-1)}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{flex:0 0 auto}.theme-fab{position:absolute;top:18px;right:18px;z-index:90}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100e73;z-index:200}.overlay{position:fixed;background:var(--color-surface, #fff);color:var(--color-text, #222);display:flex;flex-direction:column;z-index:201;max-width:var(--shell-max, 375px);width:100%;left:50%;transform:translate(-50%);box-sizing:border-box}.overlay--bottom{bottom:0;max-height:82vh;border-radius:20px 20px 0 0}.overlay--center{top:50%;left:50%;width:calc(100% - 48px);max-height:80vh;border-radius:16px;transform:translate(-50%,-50%)}.overlay--left,.overlay--right{top:0;bottom:0;width:min(320px,84vw)}.overlay--left{left:0;transform:none}.overlay--right{left:auto;right:0;transform:none}.toast-region{position:fixed;top:16px;left:50%;transform:translate(-50%);width:min(100% - 32px,var(--shell-max, 375px));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:300;pointer-events:none}.tabs,.segmented,.chips,.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar,.segmented::-webkit-scrollbar,.chips::-webkit-scrollbar,.filters::-webkit-scrollbar{display:none}.tabs>*,.segmented>*,.chips>*,.filters>*{flex:0 0 auto;white-space:nowrap}.icon-btn{border:none;border-radius:var(--radius-full);display:grid;place-items:center;cursor:pointer;background:none;color:var(--color-text);transition:background .15s,transform .12s}.icon-btn:active{transform:scale(.94)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--filled,.icon-btn--plain:hover{background:var(--color-surface-alt)}.icon-btn--filled:hover{background:var(--color-border)}.icon-btn--sm{width:34px;height:34px}.icon-btn--md{width:44px;height:44px}.page-header--center{justify-content:center;position:relative}.page-header--center .page-header__title{position:absolute;left:50%;transform:translate(-50%)}.page-header--center .back-btn{position:relative;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-full);font-weight:500;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-deep)}.btn--secondary{background:var(--color-card-dark);color:#fff}.btn--secondary:hover:not(:disabled){opacity:.85}.btn--ghost{background:transparent;color:var(--color-text)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-alt)}.btn--danger{background:var(--color-red);color:#fff}.btn--danger:hover:not(:disabled){opacity:.85}.btn--sm{padding:8px 16px;font-size:13px}.btn--md{padding:12px 22px;font-size:15px}.btn--lg{padding:16px 28px;font-size:16px}.btn--block{display:flex;width:100%}.btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{display:block}.input-wrap{display:flex;align-items:center;gap:8px;border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);padding:2px 18px;transition:border-color .15s}.input-wrap:focus-within{border-color:var(--color-primary)}.input-wrap--error{border-color:var(--color-red)}.input-wrap__prefix{color:var(--color-text-3);display:grid;place-items:center}.input-wrap__suffix{color:var(--color-text-3);font-size:13px}.input-wrap__input{flex:1;min-width:0;border:none;outline:none;background:none;padding:13px 0;font-size:15px}.input-wrap__input::placeholder{color:var(--color-text-3)}.input-wrap__input:disabled{color:var(--color-text-3)}.input-wrap__eye{border:none;background:none;color:var(--color-text-2);font-size:12px;cursor:pointer;padding:4px}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox--disabled{opacity:.5;cursor:not-allowed}.checkbox input{position:absolute;opacity:0;width:1px;height:1px}.checkbox__box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--color-border);background:var(--color-surface);display:grid;place-items:center;transition:background .15s,border-color .15s;flex:0 0 auto}.checkbox__box--on{background:var(--color-primary);border-color:var(--color-primary)}.checkbox input:focus-visible+.checkbox__box{outline:2px solid var(--color-primary);outline-offset:2px}.checkbox__label{font-size:14px}.toast{display:flex;align-items:center;gap:8px;background:var(--color-card-dark);color:#fff;border-radius:var(--radius-full);padding:10px 18px;font-size:14px;box-shadow:0 6px 20px #0000002e;animation:toast-in .25s ease;max-inline-size:100%}.toast--success svg{color:var(--toast-success)}.toast--warning svg{color:var(--toast-warning)}.toast--error svg{color:var(--toast-error)}.toast--info svg{color:var(--toast-info)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.auth-page{padding-top:0}.auth-page__tabs{display:flex;background:var(--color-surface-alt);border-radius:var(--radius-full);padding:4px;margin:20px 0 24px}.auth-page__tab{flex:1;border:none;background:none;padding:12px 0;border-radius:var(--radius-full);font-size:15px;color:var(--color-text-3);cursor:pointer}.auth-page__tab--active{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:var(--shadow-card)}.auth-page__form{gap:16px}.auth-page__prefix{font-size:15px;color:var(--color-text-2);padding-right:4px}.auth-page__send{border:none;background:none;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;padding:0}.auth-page__send:disabled{color:var(--color-text-3);cursor:not-allowed}.auth-page__agree{margin-top:2px}.auth-page__link{border:none;background:none;color:var(--color-primary);padding:0;font-size:inherit;cursor:pointer}.auth-page__link--strong{font-weight:600;margin-left:6px}.auth-page__wechat{margin-top:4px}.auth-page__switch{text-align:center;font-size:14px;color:var(--color-text-2);margin-top:4px}.progress-ring{position:relative;display:grid;place-items:center;flex:0 0 auto}.progress-ring__center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.onb-dots{display:flex;gap:6px;margin-bottom:20px}.onb-dots__dot{width:8px;height:8px;border-radius:4px;background:var(--color-border)}.onb-dots__dot--on{width:20px;background:var(--color-primary)}.onb-title{font-size:28px;font-weight:600;margin-bottom:8px}.onb-sub{margin-bottom:24px}.onb-form{gap:16px}.onb-bmi{flex-direction:row;align-items:center;justify-content:space-between;display:flex;padding:16px 20px}.onb-bmi strong{font-size:24px}.onb-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;min-height:80vh}.onb-success__emoji{font-size:40px}.onb-success h1{font-size:26px}.onb-success .btn{align-self:stretch}.stat-tile{background:var(--color-surface-alt);border:none;border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;gap:14px;text-align:left;cursor:default;font:inherit;color:inherit;min-width:0}button.stat-tile{cursor:pointer;transition:transform .15s}button.stat-tile:active{transform:scale(.97)}.stat-tile__label{display:flex;justify-content:space-between;align-items:flex-start;font-size:16px;line-height:1.35;gap:8px}.stat-tile__icon{width:36px;height:36px;border-radius:50%;background:var(--color-surface);display:grid;place-items:center;flex:0 0 auto}.stat-tile__value{font-size:32px;font-weight:700;letter-spacing:-.5px}.avatar{border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary);font-weight:600;flex:0 0 auto}.avatar--sm{width:32px;height:32px;font-size:13px}.avatar--md{width:44px;height:44px;font-size:16px}.avatar--lg{width:64px;height:64px;font-size:22px}.avatar img{width:100%;height:100%;object-fit:cover}.avatar__initials{line-height:1}.home__unread-dot{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--color-red)}.home-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;border:none;color:#fff;font:inherit;cursor:pointer}.home-progress__title{font-size:22px;font-weight:600;margin-bottom:4px}.home-progress__cta{display:inline-flex;align-items:center;gap:4px;margin-top:12px;font-size:13px;color:#cfc3ff}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-meals{width:100%;border:none;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;color:var(--color-text)}.home-meals__kcal{font-weight:700}.home-meals__bars{display:flex;flex-direction:column;gap:6px}.home-meals__bars i{display:block;height:7px;border-radius:4px;min-width:6px}.home-hero{display:flex;align-items:center;gap:14px;width:100%;border:none;border-radius:var(--radius-lg);padding:18px;font:inherit;color:var(--color-text);cursor:pointer;text-align:left;transition:transform .15s}.home-hero:active{transform:scale(.98)}.home-hero__dumb{width:44px;height:44px;border-radius:50%;background:#ffffffa6;display:grid;place-items:center;flex:0 0 auto}.home-hero__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.home-hero__body strong{font-size:16px}.home-hero__meta{font-size:13px;color:var(--color-text-2)}.home-hero__go{color:var(--color-text-2)}.home-feed{color:inherit;text-decoration:none}.discover-tip{margin-bottom:14px}.discover-banner h2{font-size:20px;margin-bottom:6px}.discover-banner p{font-size:13px;color:var(--color-text-2);margin-bottom:12px}.discover-coach{width:110px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font:inherit;color:inherit}.discover-coach__avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:600}.discover-coach__avatar--lav{background:var(--color-primary-soft);color:var(--color-primary-deep)}.discover-coach__avatar--blue{background:var(--color-blue-soft);color:#1f5f8b}.discover-coach__avatar--pink{background:var(--color-pink);color:#8c2c47}.discover-coach__avatar--mint{background:var(--color-mint);color:#5a6b12}.discover-workout{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:13px 14px;cursor:pointer;font:inherit;color:inherit}.discover-workout__icon{width:36px;height:36px;border-radius:12px;background:var(--color-primary-wash);color:var(--color-primary);display:grid;place-items:center;flex:0 0 auto}.search-bar{display:flex;align-items:center;gap:8px;background:var(--color-surface-alt);border-radius:var(--radius-full);padding:0 16px}.search-bar__icon{color:var(--color-text-3);flex:0 0 auto}.search-bar__input{flex:1;border:none;outline:none;background:none;padding:12px 0;font-size:15px;min-width:0}.search-bar__input::-webkit-search-cancel-button{display:none}.search-bar__clear{border:none;background:var(--color-border);color:var(--color-text-2);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.tabs-comp{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.tabs-comp::-webkit-scrollbar{display:none}.tabs-comp__item{flex:0 0 auto;white-space:nowrap;cursor:pointer;border:none;background:none;font-weight:500;transition:all .15s}.tabs-comp--md .tabs-comp__item{font-size:15px;padding:10px 22px}.tabs-comp--sm .tabs-comp__item{font-size:13px;padding:6px 14px}.tabs-comp--pill{background:var(--color-surface-alt);border-radius:var(--radius-full);padding:4px;gap:4px}.tabs-comp--pill .tabs-comp__item{border-radius:var(--radius-full);color:var(--color-text-3)}.tabs-comp--pill .tabs-comp__item--active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card)}.tabs-comp--pill .tabs-comp__item--focus{outline:2px solid var(--color-primary);outline-offset:1px}.tabs-comp--underline{gap:20px;border-bottom:1px solid var(--color-border)}.tabs-comp--underline .tabs-comp__item{color:var(--color-text-2);padding:10px 2px;border-bottom:2px solid transparent}.tabs-comp--underline .tabs-comp__item--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.workouts-cats{margin:16px 0}.workouts-list{gap:12px}.workout-card{display:flex;gap:14px;align-items:center;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);padding:14px;cursor:pointer;font:inherit;text-align:left;color:inherit;width:100%;transition:transform .15s}.workout-card:active{transform:scale(.98)}.workout-card__thumb{width:62px;height:62px;border-radius:var(--radius-md);display:grid;place-items:center;color:var(--color-text);flex:0 0 auto}.workout-card__thumb--lav{background:var(--color-primary-soft)}.workout-card__thumb--mint{background:var(--color-mint)}.workout-card__thumb--peach{background:var(--color-peach)}.workout-card__thumb--blue{background:var(--color-blue-soft)}.workout-card__thumb--pink{background:var(--color-pink)}.workout-card__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.workout-card__body strong{font-size:16px}.workout-card__meta{font-size:13px;color:var(--color-text-2)}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 8px}.modal__title{font-size:18px;font-weight:600}.modal__body{padding:8px 20px 20px;overflow-y:auto}.modal__footer{padding:12px 20px 20px;border-top:1px solid var(--color-border)}.modal--sm{max-width:min(300px,calc(var(--shell-max) - 48px))}.modal--md{max-width:min(340px,calc(var(--shell-max) - 48px))}.modal--lg{max-width:min(375px,calc(var(--shell-max) - 32px))}.modal-backdrop{animation:fade-in .2s ease}.overlay--center{animation:modal-in .25s cubic-bezier(.2,.9,.3,1.2)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fade-in{0%{opacity:0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-alt) 25%,var(--color-border) 50%,var(--color-surface-alt) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--radius-md)}.skeleton--text{height:14px}.skeleton--card{height:120px;border-radius:var(--radius-lg)}.skeleton--row{height:64px;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wd-head h1{font-size:26px;font-weight:600;margin-bottom:6px}.wd-chips{display:flex;gap:10px;margin-top:14px}.wd-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;border-radius:var(--radius-full)}.wd-desc{margin:16px 0}.wd-ex-num{width:30px;height:30px;border-radius:50%;background:var(--color-primary-wash);color:var(--color-primary);display:grid;place-items:center;font-size:13px;font-weight:600;flex:0 0 auto}.wd-start{position:sticky;bottom:90px;margin-top:24px}.wd-running{display:flex;flex-direction:column;gap:18px}.wd-run-top{display:flex;align-items:center;justify-content:space-between;padding-top:20px}.wd-run-timer{font-size:40px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:1px}.wd-progress{height:8px;background:var(--color-surface-alt);border-radius:6px;overflow:hidden}.wd-progress__fill{height:100%;background:var(--color-primary);border-radius:6px;transition:width .3s}.wd-current h2{font-size:24px;margin-bottom:4px}.wd-tip{margin-top:12px;font-size:14px;color:var(--color-text-2)}.wd-run-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:12px}.wc-page{display:flex;flex-direction:column;gap:20px}.wc-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding-top:24px}.wc-hero__icon{width:76px;height:76px;border-radius:50%;background:var(--color-primary-wash);color:var(--color-primary);display:grid;place-items:center}.wc-hero h1{font-size:28px}.wc-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wc-stat{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.wc-stat strong{font-size:22px}.wc-ring-card{display:flex;align-items:center;gap:18px}.wc-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.wc-popup{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:8px 0 4px}.wc-popup__emoji{font-size:42px}.wc-popup .btn{margin-top:10px}.track-page{display:flex;flex-direction:column;gap:20px;padding-top:24px}.track-top{display:flex;align-items:center;gap:14px;background:var(--color-surface);border:1px solid var(--color-border)}.track-map{flex:0 0 auto}.track-route{flex:1;display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500}.track-route__link{width:2px;height:12px;border-left:2px dashed var(--color-text-3);margin-left:4px}.track-dot,.track-flag{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--color-text);margin-right:6px}.track-pause{width:56px;height:56px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.track-hero{text-align:center;padding:12px 0}.track-hero__km strong{font-size:64px;font-weight:700;letter-spacing:-2px}.track-hero__km span{font-size:20px;color:var(--color-text-2);margin-left:8px}.track-hero__sub{display:flex;justify-content:center;gap:18px;margin-top:12px;color:var(--color-text-2);font-size:15px}.track-cue{font-size:15px;display:flex;align-items:center;gap:10px;color:#dcd6f7}.track-cue span{font-size:22px}.track-actions{margin-top:auto;padding-bottom:16px}.drawer-backdrop{animation:fade-in-d .2s ease}@keyframes fade-in-d{0%{opacity:0}}.drawer-layer--bottom{animation:drawer-up .28s cubic-bezier(.2,.8,.3,1)}.drawer-layer--left{animation:drawer-left .28s ease}.drawer-layer--right{animation:drawer-right .28s ease}@keyframes drawer-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes drawer-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-right{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer__grip{width:40px;height:4px;border-radius:4px;background:var(--color-border);margin:10px auto 0;flex:0 0 auto}.drawer__head{padding:14px 20px 6px}.drawer__head--side{padding-top:24px}.drawer__title{font-size:18px;font-weight:600}.drawer__body{padding:8px 20px 20px;overflow-y:auto}.drawer__footer{padding:12px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border)}.food-date{text-align:center;margin-top:-6px}.food-banner{display:flex;align-items:center;justify-content:space-between;gap:12px}.food-banner h2{font-size:22px;margin-bottom:4px}.food-banner p{font-size:13px;color:var(--color-text-2);margin-bottom:12px}.food-banner__emoji{font-size:44px}.food-macros{margin-top:4px}.food-macros__bars{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:12px}.food-macros__item{display:flex;flex-direction:column;gap:5px}.food-macros__track{height:8px;border-radius:6px;background:var(--color-surface);overflow:hidden}.food-macros__track i{display:block;height:100%;border-radius:6px;transition:width .4s}.meal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.meal-card__head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left}.meal-card__head strong{font-size:17px;display:block}.meal-card__time{display:block;margin-top:2px}.meal-card__right{display:flex;align-items:center;gap:10px}.meal-add{width:44px;height:44px;border-radius:50%;border:none;background:var(--color-primary-soft);color:var(--color-primary-deep);display:grid;place-items:center;cursor:pointer;transition:transform .15s}.meal-add:active{transform:scale(.92)}.meal-card__body{padding:4px 18px 16px;border-top:1px solid var(--color-border)}.meal-card__empty{padding:12px 0}.meal-item{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px dashed var(--color-border)}.meal-item:last-of-type{border-bottom:none}.meal-item__del{border:none;background:none;color:var(--color-text-3);cursor:pointer;padding:6px;border-radius:8px}.meal-item__del:hover{color:var(--color-red);background:var(--color-surface-alt)}.meal-card__tools{display:flex;gap:8px;margin-top:10px}.meal-tool{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:none;background:var(--color-surface-alt);border-radius:var(--radius-full);padding:9px 6px;font-size:12.5px;color:var(--color-text-2);cursor:pointer;white-space:nowrap}.meal-tool:hover{color:var(--color-primary)}.scan-frame{position:relative;height:340px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#ece9f5,#dcd6ec);overflow:hidden;margin:18px 0}.scan-corners:before,.scan-corners:after{content:"";position:absolute;width:44px;height:44px;border:3px solid #fff}.scan-corners:before{top:22px;left:22px;border-right:none;border-bottom:none;border-radius:12px 0 0}.scan-corners:after{bottom:22px;right:22px;border-left:none;border-top:none;border-radius:0 0 12px}.scan-frame__inner{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.scan-placeholder{text-align:center;color:var(--color-text-2)}.scan-placeholder span{font-size:54px;display:block;margin-bottom:8px}.scan-sweep{display:block;width:160px;height:3px;border-radius:3px;background:var(--color-primary);margin:0 auto 14px;animation:sweep 1.2s ease-in-out infinite alternate}@keyframes sweep{0%{transform:translate(-50px)}to{transform:translate(50px)}}.scan-hint{text-align:center;color:var(--color-text-2);margin:6px 0 16px}.scan-actions{display:flex;justify-content:center;padding-bottom:10px}.scan-shutter{width:68px;height:68px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px #6200ef59;transition:transform .15s}.scan-shutter:active{transform:scale(.94)}.barcode-box{display:flex;flex-direction:column;gap:12px;margin:18px 0;align-items:center}.barcode-demo{display:flex;align-items:flex-end;gap:3px;height:56px}.barcode-demo i{display:block;height:100%;background:var(--color-text);border-radius:1px}.scan-macros{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--color-text-2)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 24px}.empty-state__icon{width:64px;height:64px;border-radius:50%;background:var(--color-primary-wash);color:var(--color-primary);display:grid;place-items:center;margin-bottom:16px}.empty-state__title{font-size:17px;font-weight:600;margin-bottom:6px}.empty-state__desc{font-size:14px;color:var(--color-text-2);margin-bottom:18px}.empty-state__action{min-width:160px}.food-search-hints{margin-top:20px}.food-search-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.food-search-chip{border:none;background:var(--color-surface-alt);border-radius:var(--radius-full);padding:9px 16px;font-size:14px;cursor:pointer;color:var(--color-text-2)}.food-search-chip:hover{color:var(--color-primary)}.food-search-list{margin-top:18px;gap:10px}.food-row{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px 14px;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:transform .15s}.food-row:active{transform:scale(.98)}.food-row__emoji{width:40px;height:40px;border-radius:12px;background:var(--color-primary-wash);color:var(--color-primary);display:grid;place-items:center;font-weight:600;flex:0 0 auto}.food-row__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.food-row__kcal{font-weight:600;font-size:14px;flex:0 0 auto}.macro-bars{display:flex;flex-direction:column;gap:14px}.macro-bars__head{display:flex;justify-content:space-between;font-size:15px;margin-bottom:6px}.macro-bars__head span:last-child{font-weight:500}.macro-bars__track{height:8px;border-radius:6px;background:var(--color-surface-alt);overflow:hidden}.macro-bars__fill{height:100%;border-radius:6px;transition:width .4s ease}.select-wrap{position:relative}.select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);padding:13px 40px 13px 18px;outline:none;cursor:pointer;transition:border-color .15s}.select:focus{border-color:var(--color-primary)}.select:disabled{background:var(--color-surface-alt);color:var(--color-text-3);cursor:not-allowed}.select__chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-3)}.food-detail{display:flex;flex-direction:column}.food-detail__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.food-detail__head h1{font-size:26px;font-weight:600}.food-detail__macros{margin-top:14px}.food-detail__kcal{border-top:1px dashed var(--color-border);margin-top:14px;padding-top:12px}.food-detail__kcal strong{font-size:20px}.food-dv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.food-dv{padding:14px 10px;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}.food-dv__label{font-size:12px;color:var(--color-text-2)}.food-dv strong{font-size:19px}.food-detail__cta{position:sticky;bottom:90px;margin-top:24px}.food-log-form{gap:16px;margin-top:8px}.food-log-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.food-log-links{display:flex;gap:10px}.chart{width:100%}.chart__labels{display:flex;justify-content:space-between;padding:6px 4px 0}.chart__label{font-size:11px;color:#ffffffa6;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart__label--on{color:var(--chart-label);font-weight:600}.week-rings{display:flex;justify-content:space-between}.week-rings__day{border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:0}.week-rings__label{font-size:13px;color:var(--color-text-2)}.switch{width:48px;height:28px;border-radius:var(--radius-full);border:none;background:var(--color-border);position:relative;cursor:pointer;transition:background .2s;flex:0 0 auto;padding:0}.switch--on{background:var(--color-primary)}.switch--disabled{opacity:.45;cursor:not-allowed}.switch__thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.switch--on .switch__thumb{transform:translate(20px)}.insight-chart{padding:20px}.insight-chart h2{font-size:20px}.insight-info{border:none;background:none;color:#ffffffb3;cursor:pointer;padding:4px}.insight-tabs{margin:12px 0 4px}.insight-tabs .tabs-comp__item--active{background:#ffffff24;color:#fff;box-shadow:none}.insight-card{width:100%;border:none;font:inherit;color:inherit;cursor:pointer;margin-bottom:12px;text-align:left}.insight-card__body{margin-top:14px;display:flex;flex-direction:column;gap:12px;align-items:center}.insight-card__icon{width:40px;height:40px;border-radius:50%;background:var(--color-surface);display:grid;place-items:center;color:var(--color-primary);flex:0 0 auto}.insight-achieve{width:100%;background:var(--color-surface);border-radius:var(--radius-md);padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.insight-achieve strong{font-size:18px}.insight-achieve__track{width:100%;height:8px;background:var(--color-surface);border-radius:6px;overflow:hidden}.insight-achieve__track i{display:block;height:100%;background:var(--color-primary-soft);border-radius:6px}.insight-sleep{display:flex;align-items:baseline;gap:10px}.insight-sleep__score{font-size:40px;font-weight:700}.insight-period-track{width:100%;height:10px;border-radius:6px;background:var(--color-surface);position:relative}.insight-period-track i{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:var(--color-pink-deep);border:3px solid #fff}.insight-disclaimer{margin-top:16px;font-size:12px;color:var(--color-text-3);line-height:1.6}.goals-tip{line-height:1.6;margin-bottom:14px}.goals-now{margin-bottom:18px}.goals-now .row>div:last-child{text-align:right}.goals-form{gap:16px}.badge-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.badge-dot--primary{background:var(--color-primary)}.badge-dot--red{background:var(--color-red)}.badge-dot--mint{background:var(--color-mint-deep)}.badge-dot--dark{background:var(--color-card-dark)}.badge-count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);font-size:11px;line-height:18px;text-align:center;font-weight:600;color:#fff;display:inline-block}.badge-count--primary{background:var(--color-primary)}.badge-count--red{background:var(--color-red)}.badge-count--mint{background:var(--color-mint-deep)}.badge-count--dark{background:var(--color-card-dark)}.badge-tag{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:13px;font-weight:500}.badge-tag--primary{background:var(--color-primary-soft);color:var(--color-primary-deep)}.badge-tag--red{background:var(--badge-red-soft);color:var(--color-red)}.badge-tag--mint{background:var(--color-mint);color:var(--tag-mint-text)}.badge-tag--dark{background:var(--color-card-dark);color:#fff}.coaches-tip{margin-bottom:14px}.coaches-list{gap:14px}.coach-card{padding:16px;display:flex;flex-direction:column;gap:10px}.coach-card__main{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.coach-card__avatar{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:20px;font-weight:600;flex:0 0 auto}.coach-card__avatar--lav{background:var(--color-primary-soft);color:var(--color-primary-deep)}.coach-card__avatar--blue{background:var(--color-blue-soft);color:#1f5f8b}.coach-card__avatar--pink{background:var(--color-pink);color:#8c2c47}.coach-card__avatar--mint{background:var(--color-mint);color:#5a6b12}.coach-card__head{flex:1;display:flex;flex-direction:column;gap:2px}.coach-card__head strong{font-size:17px}.coach-card__bio{font-size:14px;color:var(--color-text-2);line-height:1.55}.coach-card__tags{display:flex;gap:8px;flex-wrap:wrap}.coach-fav{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);background:none;border-radius:var(--radius-full);padding:7px 16px;font-size:13px;cursor:pointer;color:var(--color-text-2)}.coach-fav--on{border-color:var(--color-pink-deep);color:var(--color-pink-deep);background:#fff0f4}.coach-hero{border-radius:var(--radius-xl);padding:26px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:16px}.coach-hero--lav{background:var(--color-primary-soft)}.coach-hero--blue{background:var(--color-blue-soft)}.coach-hero--pink{background:var(--color-pink)}.coach-hero--mint{background:var(--color-mint)}.coach-hero__avatar{width:84px;height:84px;border-radius:28px;background:#ffffffbf;display:grid;place-items:center;font-size:32px;font-weight:700}.coach-hero h1{font-size:26px}.coach-hero__tags{display:flex;gap:8px;margin-top:4px}.coach-bio h2{font-size:17px;margin-bottom:8px}.coach-bio p{font-size:14px;color:var(--color-text-2);line-height:1.6}.coach-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.coach-fact{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--color-text-2)}.coach-fact svg{color:var(--color-primary)}.coach-fact strong{font-size:15px;color:var(--color-text)}.coach-intents{margin-top:14px;display:flex;flex-direction:column;gap:8px}.coach-actions{display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-bottom:8px}.devices-tip{margin-bottom:14px}.device-card{display:flex;align-items:center;gap:14px}.device-card__icon{width:46px;height:46px;border-radius:14px;background:var(--color-primary-wash);color:var(--color-primary);display:grid;place-items:center;flex:0 0 auto}.device-card__body{flex:1;display:flex;flex-direction:column;gap:2px}.device-setup{display:flex;align-items:center;gap:14px;width:100%;border:none;font:inherit;color:inherit;cursor:pointer;margin-top:14px}.devices-sync{margin-top:14px}.devices-sync h2{font-size:17px}.premium{padding-top:0}.dark-head{padding-top:4px}.premium-current{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--color-primary-deep)}.premium-cycles{margin:18px 0}.premium-plans{gap:12px}.premium-plan{border:2px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);padding:16px 18px;cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%;transition:border-color .15s,transform .15s}.premium-plan--active{border-color:var(--color-primary)}.premium-plan:active{transform:scale(.99)}.premium-plan__price{font-size:20px;font-weight:700}.premium-plan__features{display:flex;flex-direction:column;gap:4px;color:var(--color-text-2)}.premium-plan__features .tiny{display:inline-flex;align-items:center;gap:6px;font-size:13px}.premium-plan__features svg{color:var(--color-green)}.premium-perks{margin-top:18px}.premium-perks h2{font-size:17px;margin-bottom:10px}.premium-perks__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13.5px;color:var(--color-text-2)}.premium-perks__grid span{display:inline-flex;align-items:center;gap:7px}.premium-perks__grid svg{color:var(--color-primary)}.premium-cta{position:sticky;bottom:16px;margin-top:20px;padding-bottom:8px}.premium-pay{display:flex;flex-direction:column;gap:14px}.premium-channels{display:flex;flex-direction:column;gap:8px}.premium-channel{display:flex;align-items:center;gap:10px;border:1.5px solid var(--color-border);background:none;border-radius:var(--radius-md);padding:13px 16px;cursor:pointer;font-size:15px;color:inherit}.premium-channel--on{border-color:var(--color-primary)}.premium-channel svg{margin-left:auto;color:var(--color-primary)}.premium-channel__dot{width:22px;height:22px;border-radius:6px;display:inline-block}.premium-channel__dot--wechat{background:#2aae67}.premium-channel__dot--alipay{background:#1677ff}.premium-pay-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:6px 0}.premium-pay-state__icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:var(--color-surface-alt);margin-bottom:6px}.premium-pay-state__icon--ok{background:#e2f8ea;color:var(--color-green)}.premium-pay-state__icon--bad{background:#ffe5e5;color:var(--color-red)}.notif-list{gap:10px;margin-top:16px}.notif{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:13px 14px;cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%;transition:background .15s}.notif--read{opacity:.68}.notif:hover{background:var(--color-surface-alt)}.notif__icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}.notif__icon--workout{background:var(--color-primary-wash);color:var(--color-primary)}.notif__icon--meal{background:var(--color-mint);color:#5a6b12}.notif__icon--coach{background:var(--color-pink);color:#8c2c47}.notif__icon--system{background:var(--color-surface-alt);color:var(--color-text-2)}.notif__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notif__title{font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:6px}.notif__dot{width:7px;height:7px;border-radius:50%;background:var(--color-red);display:inline-block}.notif__text{font-size:13px;color:var(--color-text-2);line-height:1.5}.notif__time{flex:0 0 auto}.notif-muted{margin-top:12px}.notif-settings{margin-top:20px}.notif-settings h2{font-size:16px;margin-bottom:4px}.notif-setting-row{padding:10px 0;border-bottom:1px dashed var(--color-border)}.notif-setting-row:last-child{border-bottom:none}.health-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.health-metric{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.health-metric:first-child{grid-column:span 2;flex-direction:row;align-items:baseline;gap:12px}.health-metric strong{font-size:26px}.health-metric__tag{background:#ffffff29;border-radius:var(--radius-full);font-size:12px;padding:3px 10px}.health-form{gap:16px}.me-profile{display:flex;align-items:center;gap:14px;width:100%;border:none;font:inherit;color:inherit;cursor:pointer;text-align:left;margin-top:6px}.me-profile__body{flex:1;display:flex;flex-direction:column;gap:2px}.me-profile__body strong{font-size:19px}.me-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.me-stat{display:flex;flex-direction:column;align-items:center;gap:4px;border:none;font:inherit;color:inherit;cursor:pointer;padding:14px 8px}.me-stat strong{font-size:22px}.me-group-title{font-size:15px;color:var(--color-text-2);margin:22px 2px 10px;font-weight:500}.me-danger{color:var(--color-red)}.me-danger .group-list__icon{background:#ffe5e5;color:var(--color-red)}.me-reset{display:block;width:100%;text-align:center;margin:22px 0 10px;font-size:14px;padding:0;background:none;border:none;color:var(--color-text-2);cursor:pointer}.profile-avatar-row{display:flex;flex-direction:column;align-items:center;gap:8px;margin:12px 0 22px}.profile-form{gap:16px}.agreements-nav{display:flex;gap:8px;margin-bottom:16px}.agreements-nav__item{flex:1;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-full);padding:10px 0;font-size:13.5px;cursor:pointer;color:var(--color-text-2)}.agreements-nav__item--on{border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.agreements-doc h2{font-size:18px;margin-bottom:12px}.agreements-doc p{font-size:14px;color:var(--color-text-2);line-height:1.75;margin-bottom:10px}.about-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 0 22px}.about-logo{width:72px;height:72px;border-radius:22px;background:var(--color-card-dark);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:700;margin-bottom:6px}.about-hero h1{font-size:24px}.about-version{background:var(--color-surface-alt);border-radius:var(--radius-full);font-size:12px;padding:4px 12px;color:var(--color-text-3);margin-top:4px}.about-block{margin-bottom:12px}.about-block h2{font-size:16px;margin-bottom:8px}.about-block p{font-size:14px;color:var(--color-text-2);line-height:1.7}.about-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.about-404-link{text-align:center;font-size:13px;color:var(--color-text-3);text-decoration:underline}.nf-page{display:flex;align-items:center;justify-content:center;min-height:90vh}.nf-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.nf-code{font-size:64px;font-weight:700;color:var(--color-primary);letter-spacing:2px}.nf-hero h1{font-size:22px}.nf-hero .btn{min-width:180px}
