@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: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}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:auto;min-height:100%}body{margin:0;background:var(--color-page-outer);font-family:var(--font-sans);color:var(--color-ink);-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;max-width:none}img,svg{max-width:min(100%,var(--shell-max))}#root{display:flex;justify-content:center;align-items:flex-start}.app-shell{width:100%;max-width:var(--shell-max);margin:0 auto;min-height:100vh;min-height:100dvh;position:relative;background:var(--color-page-bg);display:flex;flex-direction:column}.app-main{flex:1;padding-bottom:calc(var(--nav-height) + 16px)}.app-main--plain{padding-bottom:24px}.page-pad{padding:0 16px}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:var(--shell-max);height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-line);display:flex;align-items:center;justify-content:space-around;z-index:var(--z-nav)}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;background:none;border:none;color:var(--color-ink-faint);font-size:var(--text-xs);cursor:pointer;position:relative}.bottom-nav__item.is-active{color:var(--color-ink);font-weight:600}.bottom-nav__fab{width:52px;height:52px;border-radius:50%;background:var(--color-mindful);color:#fff;display:flex;align-items:center;justify-content:center;border:4px solid var(--color-page-bg);box-shadow:var(--shadow-float);transform:translateY(-14px);cursor:pointer}.hscroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{flex:0 0 auto;white-space:nowrap}.field{margin-bottom:14px}.field__label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:6px;color:var(--color-ink-soft)}.field__error{color:var(--color-danger);font-size:var(--text-sm);margin-top:4px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}.section-title h3{font-size:var(--text-lg)}.section-title__link{background:none;border:none;color:var(--color-primary-strong);font-size:var(--text-sm);cursor:pointer;padding:0}.disclaimer{margin:16px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-ink-soft);font-size:var(--text-xs);line-height:1.6}.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;animation:drawer-up .24s ease-out}@keyframes drawer-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes modal-pop{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.overlay--center{top:50%;left:50%;width:calc(100% - 48px);max-height:80vh;border-radius:16px;transform:translate(-50%,-50%);animation:modal-pop .18s ease-out}.overlay--sm{max-width:calc(var(--shell-max, 375px) - 80px)}.overlay--lg{width:calc(100% - 24px)}.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,.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips,.tabs--pill{display:flex;gap:8px;flex-wrap:wrap}.tabs::-webkit-scrollbar,.segmented::-webkit-scrollbar,.chips::-webkit-scrollbar,.filters::-webkit-scrollbar{display:none}.tabs>*,.segmented>*,.filters>*{flex:0 0 auto;white-space:nowrap}:root{--shell-max: 375px;--color-primary: #FFAB70;--color-primary-strong: #F08A3C;--color-primary-soft: #FFE8D4;--color-ink: #4B3325;--color-ink-soft: #7A6353;--color-ink-faint: #A8968A;--color-page-bg: #F7F4F2;--color-surface: #FFFFFF;--color-surface-warm: #F1EBE6;--color-page-outer: #E9E1DA;--color-line: #E8DFD8;--color-success: #7FA05A;--color-success-soft: #E9F0DC;--color-warning: #E8A13C;--color-warning-soft: #FBEFD9;--color-danger: #D96C5F;--color-danger-soft: #F9E3DF;--color-mindful: #9BB168;--color-mindful-deep: #7E9350;--color-mindful-soft: #EDF2E0;--mood-depressed: #C2B1FF;--mood-sad: #FE814B;--mood-neutral: #BDA193;--mood-happy: #FFCE5C;--mood-overjoyed: #9BB168;--chart-1: #FFAB70;--chart-2: #9BB168;--chart-3: #C2B1FF;--chart-4: #FFCE5C;--chart-5: #FE814B;--font-sans: "Inter", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-display: "Poppins", "Inter", "PingFang SC", sans-serif;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 999px;--shadow-card: 0 2px 10px rgba(75, 51, 37, .06);--shadow-float: 0 8px 24px rgba(75, 51, 37, .16);--nav-height: 62px;--z-nav: 40;--z-overlay: 60;--z-toast: 80}html[data-theme=dark]{--color-page-bg: #2A1C14;--color-page-outer: #1D130C;--color-surface: #3A281C;--color-surface-warm: #45301F;--color-line: #4E3A2A;--color-ink: #F5EDE6;--color-ink-soft: #C9B4A3;--color-ink-faint: #97826F;--color-primary: #FFAB70;--color-primary-strong: #FFBE8F;--color-primary-soft: #4A3626;--shadow-card: 0 2px 10px rgba(0, 0, 0, .3);--shadow-float: 0 8px 24px rgba(0, 0, 0, .5);--color-success-soft: #33401F;--color-warning-soft: #46351A;--color-danger-soft: #4A2A25;--color-mindful-soft: #333E20}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:filter .15s,transform .05s,background .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--sm{padding:7px 14px;font-size:var(--text-sm)}.btn--md{padding:10px 18px;font-size:var(--text-md)}.btn--lg{padding:14px 22px;font-size:var(--text-lg)}.btn--block{display:flex;width:100%}.btn--primary{background:var(--color-primary);color:var(--color-ink)}.btn--primary:hover:not(:disabled){filter:brightness(.96)}.btn--secondary{background:var(--color-ink);color:var(--color-page-bg)}.btn--secondary:hover:not(:disabled){filter:brightness(1.12)}.btn--ghost{background:transparent;color:var(--color-ink-soft)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-warm)}.btn--danger{background:var(--color-danger);color:#fff}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;background:transparent;color:var(--color-ink)}.icon-btn--sm{width:30px;height:30px}.icon-btn--md{width:38px;height:38px}.icon-btn--filled{background:var(--color-surface-warm)}.input-wrap{display:flex;align-items:center;gap:8px;background:var(--color-surface);border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:0 12px;transition:border-color .15s}.input-wrap:focus-within{border-color:var(--color-primary)}.input-wrap--error{border-color:var(--color-danger)}.input-wrap__prefix,.input-wrap__suffix{color:var(--color-ink-faint);display:flex}.input{flex:1;border:none;outline:none;background:transparent;padding:11px 0;font-size:var(--text-md);min-width:0}.input::placeholder{color:var(--color-ink-faint)}.input:disabled{opacity:.5}.textarea{width:100%;border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:10px 12px;font-size:var(--text-md);outline:none;resize:vertical;min-height:88px;transition:border-color .15s}.textarea:focus{border-color:var(--color-primary)}.textarea--error{border-color:var(--color-danger)}.select{width:100%;border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:11px 12px;font-size:var(--text-md);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select:focus{border-color:var(--color-primary)}.select--error{border-color:var(--color-danger)}.checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm)}.checkbox input{position:absolute;opacity:0;pointer-events:none}.checkbox__box{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--color-line);background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex-shrink:0;transition:background .15s}.checkbox input:checked+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.checkbox input:indeterminate+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.checkbox.is-disabled{opacity:.5;cursor:not-allowed}.switch{width:44px;height:26px;border-radius:var(--radius-full);border:none;background:var(--color-line);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.switch.is-on{background:var(--color-mindful)}.switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.switch.is-on .switch__thumb{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:16px}.card--raised{box-shadow:var(--shadow-card)}.card--interactive{cursor:pointer;transition:transform .12s,box-shadow .12s}.card--interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}.list-item{display:flex;align-items:center;gap:12px;padding:12px 4px}.list-item--clickable{cursor:pointer;border-radius:var(--radius-md)}.list-item--clickable:hover{background:var(--color-surface-warm)}.list-item.is-selected{background:var(--color-primary-soft);border-radius:var(--radius-md)}.list-item__left{flex-shrink:0}.list-item__body{flex:1;min-width:0}.list-item__title{font-size:var(--text-md);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__subtitle{font-size:var(--text-sm);color:var(--color-ink-soft);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.list-item__meta{font-size:var(--text-xs);color:var(--color-ink-faint)}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-ink);font-weight:700;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--sm{width:30px;height:30px;font-size:var(--text-xs)}.avatar--md{width:42px;height:42px;font-size:var(--text-md)}.avatar--lg{width:60px;height:60px;font-size:var(--text-xl)}.badge-count{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;border-radius:var(--radius-full);background:var(--color-danger);color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-weight:600}.badge-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--color-danger)}.tab{background:none;border:none;padding:8px 2px;font-size:var(--text-md);color:var(--color-ink-soft);cursor:pointer;position:relative}.tabs--underline .tab.is-active{color:var(--color-ink);font-weight:600}.tabs--underline .tab.is-active:after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:3px;border-radius:2px;background:var(--color-primary)}.tabs--pill{gap:8px}.tabs--pill .tab{padding:7px 14px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-line);font-size:var(--text-sm)}.tabs--pill .tab.is-active{background:var(--color-ink);color:var(--color-page-bg);border-color:var(--color-ink)}.page-header{display:flex;align-items:center;gap:8px;padding:12px 12px 8px;position:sticky;top:0;z-index:10;background:var(--color-page-bg)}.page-header--transparent{background:transparent;position:static}.page-header__left{flex-shrink:0;display:flex}.page-header__title{flex:1;font-size:var(--text-xl);font-weight:700;font-family:var(--font-display);text-align:center}.page-header__left:empty+.page-header__title{text-align:left;padding-left:4px}.page-header__actions{flex-shrink:0;display:flex;gap:4px;min-width:38px;justify-content:flex-end}.overlay__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px}.overlay__title{font-size:var(--text-lg);font-weight:700}.overlay__close{background:none;border:none;cursor:pointer;color:var(--color-ink-faint);padding:4px}.overlay__body{padding:12px 16px 20px;overflow-y:auto}.overlay--bottom .overlay__body{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.overlay__foot{padding:0 16px 20px}.empty{text-align:center;padding:40px 24px}.empty__art{display:flex;justify-content:center;margin-bottom:12px}.empty__emoji{font-size:44px}.empty__blob{width:120px;height:120px;border-radius:50% 50% 45% 55%/55% 45%;background:var(--color-primary-soft);display:flex;align-items:center;justify-content:center}.empty__blob .empty__emoji{font-size:52px}.empty__title{font-size:var(--text-lg);font-weight:700}.empty__desc{font-size:var(--text-sm);color:var(--color-ink-soft);margin-top:6px;line-height:1.6}.empty__action{margin-top:16px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-warm) 25%,var(--color-line) 50%,var(--color-surface-warm) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton--text{height:14px;margin-bottom:8px}.skeleton--card{height:160px;border-radius:var(--radius-lg)}.skeleton--list{display:flex;gap:12px;align-items:center;margin-bottom:14px}.skeleton--avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0}.skeleton-list-body{flex:1}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}.toast{display:flex;align-items:center;gap:8px;background:var(--color-ink);color:var(--color-page-bg);padding:10px 16px;border-radius:var(--radius-full);font-size:var(--text-sm);box-shadow:var(--shadow-float);max-width:var(--shell-max);pointer-events:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast{animation:toast-in .2s ease-out}.toast--success svg{color:var(--color-mindful)}.toast--error svg{color:var(--color-danger)}.toast--warning svg{color:var(--color-warning)}.barchart{display:flex;align-items:flex-end;gap:5px}.barchart__col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;min-width:0}.barchart__bar{width:100%;max-width:14px;border-radius:6px;min-height:6px;transition:height .4s ease}.barchart__label{font-size:9px;color:var(--color-ink-faint);margin-top:4px;white-space:nowrap}.areachart__labels{display:flex;justify-content:space-between;font-size:10px;color:var(--color-ink-faint);margin-top:4px}.mini-ring__label{font-family:var(--font-display)}.fab{position:fixed;bottom:calc(var(--nav-height) + 20px);left:50%;transform:translate(calc(min(var(--shell-max),100vw)/2 - 100% - 20px));width:52px;height:52px;border-radius:50%;background:var(--color-ink);color:var(--color-page-bg);border:none;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-float);cursor:pointer;z-index:30}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-hero{background:var(--color-mindful);border-radius:0 0 40% 40%/0 0 60px 60px;padding:56px 0 36px;display:flex;justify-content:center}.auth-body{padding:20px 24px 32px}.auth-title{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:6px}.auth-sub{color:var(--color-ink-soft);font-size:var(--text-sm);margin-bottom:20px}.code-row{display:flex;gap:10px;align-items:flex-end}.code-row__input{flex:1}.code-btn{border:none;background:var(--color-primary-soft);color:var(--color-ink);border-radius:var(--radius-md);padding:12px;font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;margin-bottom:14px}.code-btn:disabled{opacity:.5;cursor:not-allowed}.agree-row{margin:4px 0 16px}.auth-alt{margin-top:14px;display:flex;justify-content:center}.auth-switch{text-align:center;margin-top:18px;font-size:var(--text-sm);color:var(--color-ink-soft)}.auth-switch__btn{border:none;background:none;color:var(--color-primary-strong);font-weight:600;cursor:pointer;margin-left:4px}.demo-hint{margin-top:28px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-surface-warm);font-size:var(--text-xs);color:var(--color-ink-soft);line-height:1.8}.welcome-page{min-height:100vh;display:flex;flex-direction:column}.welcome-top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.welcome-skip{border:none;background:none;color:var(--color-ink-soft);font-size:var(--text-sm);cursor:pointer}.welcome-stage{margin:12px 20px 0;border-radius:var(--radius-xl);height:320px;display:flex;align-items:center;justify-content:center;animation:fade-in .3s ease}.welcome-emoji{font-size:96px}@keyframes fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.welcome-body{flex:1;padding:28px 24px 32px;display:flex;flex-direction:column}.welcome-body h2{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:8px}.welcome-body p{color:var(--color-ink-soft);font-size:var(--text-md);line-height:1.7}.welcome-dots{display:flex;gap:6px;justify-content:center;margin:24px 0}.welcome-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--color-line);cursor:pointer;padding:0}.welcome-dot.is-active{width:20px;border-radius:4px;background:var(--color-primary)}.welcome-actions{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:12px}.welcome-nav{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--color-line);background:var(--color-surface);font-size:18px;cursor:pointer}.onb-title{font-family:var(--font-display);font-size:var(--text-2xl);margin:12px 0 4px}.onb-sub{color:var(--color-ink-soft);font-size:var(--text-sm);margin-bottom:20px}.onb-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1.5px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-full);padding:8px 14px;font-size:var(--text-sm);cursor:pointer;color:var(--color-ink);transition:all .15s}.chip--active{background:var(--color-primary);border-color:var(--color-primary);font-weight:600}.home-top{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:8px}.home-top__user{display:flex;align-items:center;gap:10px;cursor:pointer}.home-top__hi{font-weight:700;font-size:var(--text-lg);font-family:var(--font-display)}.home-top__sub{font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:2px}.home-bell{position:relative;border:none;background:var(--color-surface);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-ink);box-shadow:var(--shadow-card)}.score-card{display:flex;gap:14px;align-items:center;padding:18px}.score-card__ring{flex-shrink:0}.score-card__num{font-family:var(--font-display);font-size:44px;font-weight:700;line-height:1}.score-card__level{font-size:var(--text-sm);font-weight:600;margin-top:2px}.score-card__meta h3{font-size:var(--text-md);margin-bottom:8px}.score-dims{display:flex;flex-direction:column;gap:4px}.score-dim{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-ink-soft)}.score-dim b{margin-left:auto;color:var(--color-ink);font-variant-numeric:tabular-nums}.score-card__more{display:block;margin-top:8px;font-size:var(--text-xs);color:var(--color-primary-strong)}.ai-tip__head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ai-tip p{font-size:var(--text-sm);line-height:1.7;color:var(--color-ink-soft)}.ai-tip__actions{display:flex;gap:8px;margin-top:12px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;font-size:var(--text-xs);font-weight:500;text-align:center}.vital-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vital{padding:12px}.vital__head{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--color-ink-soft)}.vital__num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;margin:4px 0;font-variant-numeric:tabular-nums}.vital__num small{font-size:10px;color:var(--color-ink-faint);font-weight:400}.today-card{padding:4px 16px}.today-item{width:100%;display:flex;align-items:center;gap:10px;padding:13px 0;background:none;border:none;border-bottom:1px solid var(--color-line);font-size:var(--text-md);cursor:pointer;text-align:left}.today-item:last-child{border-bottom:none}.today-item b{margin-left:auto;font-variant-numeric:tabular-nums}.next-appt{display:flex;align-items:center;gap:12px;cursor:pointer}.next-appt__body{flex:1}.next-appt__body b{display:block;font-size:var(--text-md)}.next-appt__body span{font-size:var(--text-xs);color:var(--color-ink-soft)}.res-card{display:flex;align-items:center;gap:12px;cursor:pointer}.res-card__emoji{width:52px;height:52px;border-radius:var(--radius-md);background:var(--color-mindful-soft);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.res-card__body{flex:1}.res-card__body b{display:block;font-size:var(--text-md)}.res-card__body span{font-size:var(--text-xs);color:var(--color-ink-soft)}.home-disclaimer{padding:16px 24px 0;font-size:10px;color:var(--color-ink-faint);line-height:1.6;text-align:center}.score-hero{text-align:center;padding:24px 16px;display:flex;flex-direction:column;align-items:center}.score-hero__num{font-family:var(--font-display);font-size:52px;font-weight:700;line-height:1}.score-hero__label{font-size:var(--text-md);font-weight:700;margin-top:4px}.score-hero__delta{margin-top:10px;font-size:var(--text-sm);color:var(--color-ink-soft)}.score-hero__tip{margin-top:8px;font-size:var(--text-xs);color:var(--color-ink-faint);line-height:1.7}.score-history{margin-top:10px}.dim-list{display:flex;flex-direction:column;gap:8px}.dim-row{display:flex;align-items:center;gap:14px;padding:10px 14px}.dim-row__body{display:flex;flex-direction:column}.dim-row__body b{font-size:var(--text-md)}.dim-row__body span{font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:2px}.vital-block{margin-bottom:10px}.vital-block__head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.vital-block__head b{font-size:var(--text-sm)}.vital-block__now{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--text-sm)}.vital-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vital-ring{display:flex;align-items:center;gap:12px}.vital-ring span{font-size:10px;color:var(--color-ink-faint)}.score-ai-tip{margin-top:14px}.score-ai-tip b{font-size:var(--text-md)}.score-ai-tip p{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.7;margin-top:6px}.link-btn{background:none;border:none;color:var(--color-primary-strong);font-weight:600;cursor:pointer;padding:0;margin-top:8px;font-size:var(--text-sm)}.mood-page{min-height:70vh}.mood-step{animation:mood-fade .25s ease}@keyframes mood-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.mood-step--pick{display:flex;flex-direction:column;gap:10px;padding:8px 20px 24px}.mood-big{display:flex;align-items:center;gap:16px;border:none;border-radius:var(--radius-xl);padding:14px 20px;font-size:var(--text-lg);font-weight:700;color:var(--color-ink);cursor:pointer;transition:transform .12s;flex-direction:row;justify-content:flex-start}.mood-big:active{transform:scale(.98)}.mood-current{display:flex;align-items:center;gap:10px;margin-bottom:16px}.mood-q{font-size:var(--text-lg);font-weight:600;margin-bottom:14px}.mood-step__actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end}.intensity{display:flex;gap:10px;justify-content:center;margin:12px 0 6px}.intensity__dot{width:46px;height:46px;border-radius:50%;border:2px solid var(--color-line);background:var(--color-surface);font-weight:700;cursor:pointer;color:var(--color-ink-faint)}.intensity__dot.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.intensity__label{text-align:center;color:var(--color-ink-soft);font-size:var(--text-sm);margin-bottom:16px}.crisis-card{background:var(--color-danger-soft);margin-top:12px}.crisis-card b{color:var(--color-danger);font-size:var(--text-sm)}.crisis-card p{font-size:var(--text-sm);margin-top:6px;line-height:1.7}.mh-filter{margin-top:10px}.mh-day{margin-bottom:16px}.mh-day__label{font-size:var(--text-xs);color:var(--color-ink-faint);margin-bottom:4px;padding-left:4px}.mood-card{margin-bottom:14px}.mood-card__head{display:flex;align-items:center;gap:10px}.mood-card__title{flex:1}.mood-card__title b{display:block;font-size:var(--text-md)}.mood-card__title span{font-size:var(--text-xs);color:var(--color-ink-soft)}.mood-card__ops{display:flex;gap:2px}.mood-card__reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.mood-reason{border-radius:var(--radius-full);padding:4px 10px;font-size:var(--text-xs);font-weight:600;color:var(--color-ink);opacity:.85}.mood-card__note{margin-top:10px;font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.7;background:var(--color-surface-warm);border-radius:var(--radius-md);padding:10px 12px}.mood-advice{margin-top:12px;border-top:1px dashed var(--color-line);padding-top:10px}.mood-advice__head{display:flex;align-items:center;gap:6px;font-size:var(--text-xs)}.mood-advice p{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.7;margin-top:6px}.mood-advice__resolve{margin-top:8px;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-ink);border-radius:var(--radius-full);padding:7px 14px;font-size:var(--text-sm);font-weight:600;cursor:pointer}.mood-advice__done{margin-top:8px;display:inline-flex;align-items:center;gap:6px;color:var(--color-success);font-size:var(--text-sm);font-weight:600}.share-body{text-align:center}.share-text{font-size:var(--text-md);margin:12px 0;line-height:1.7}.share-channels{display:flex;gap:10px;justify-content:center}.share-channel{border:none;background:var(--color-mindful);color:#fff;border-radius:var(--radius-full);padding:10px 18px;font-weight:600;cursor:pointer}.share-note{font-size:10px;color:var(--color-ink-faint);margin-top:12px}.assess-progress{display:flex;align-items:center;gap:10px;margin:8px 0 20px}.assess-progress__bar{flex:1;height:8px;border-radius:4px;background:var(--color-surface-warm);overflow:hidden}.assess-progress__fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s}.assess-progress span{font-size:var(--text-xs);color:var(--color-ink-faint);font-variant-numeric:tabular-nums}.assess-q{font-size:var(--text-xl);font-weight:700;font-family:var(--font-display);margin-bottom:6px}.assess-hint{font-size:var(--text-sm);color:var(--color-ink-soft);margin-bottom:16px}.assess-options{display:flex;flex-direction:column;gap:10px;margin-top:14px}.assess-opt{text-align:left;border:1.5px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-lg);padding:15px 16px;font-size:var(--text-md);cursor:pointer;transition:all .15s;color:var(--color-ink)}.assess-opt.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);font-weight:600}.assess-scale{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.assess-scale__n{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--color-line);background:var(--color-surface);font-weight:600;cursor:pointer;color:var(--color-ink)}.assess-scale__n.is-active{background:var(--color-primary);border-color:var(--color-primary)}.assess-nav{display:flex;justify-content:space-between;margin-top:28px}.scan-card{text-align:center;padding:24px 16px}.scan-visual{position:relative;height:130px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.scan-ring{width:110px;height:110px;border-radius:50%;border:3px dashed var(--color-primary);animation:scan-rotate 6s linear infinite}.scan-visual.is-scanning .scan-ring{border-color:var(--color-mindful);animation-duration:1.2s}@keyframes scan-rotate{to{transform:rotate(360deg)}}.scan-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--color-primary)}.scan-visual.is-scanning .scan-dot{animation:scan-pulse .8s ease infinite}@keyframes scan-pulse{50%{transform:scale(1.7);opacity:.5}}.scan-status{font-size:var(--text-sm);color:var(--color-ink-soft);margin-bottom:14px}.scan-note{font-size:10px;color:var(--color-ink-faint);margin-top:10px;line-height:1.6}.result-hero{text-align:center;padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:8px}.result-hero__num{font-family:var(--font-display);font-size:46px;font-weight:700;line-height:1}.result-hero__label{font-size:var(--text-xs);color:var(--color-ink-faint)}.result-hero h2{font-family:var(--font-display);font-size:var(--text-2xl)}.result-advice{margin-top:12px}.result-advice b{font-size:var(--text-md)}.result-advice p{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.8;margin-top:8px}.result-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.sym-search{display:flex;align-items:center;gap:8px;background:var(--color-surface);border:1.5px solid var(--color-line);border-radius:var(--radius-full);padding:4px 14px}.sym-search:focus-within{border-color:var(--color-primary)}.sym-search__input{flex:1;border:none;outline:none;background:transparent;padding:10px 0;font-size:var(--text-md);min-width:0}.sym-search__clear{border:none;background:none;cursor:pointer;color:var(--color-ink-faint);display:flex}.sym-tags{margin-top:12px}.sym-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.sym-item{display:flex;align-items:center;justify-content:space-between;gap:6px;border:1.5px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;color:var(--color-ink);font-size:var(--text-sm)}.sym-item.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);font-weight:600}.sym-item__tag{font-size:10px;color:var(--color-ink-faint)}.sym-selected{margin-top:16px}.sym-selected>b{display:block;margin-bottom:8px;font-size:var(--text-sm)}.sym-selected .btn{margin-top:12px}.sym-result{margin-top:16px}.sym-result__badge{display:inline-block;border-radius:var(--radius-full);padding:6px 14px;font-weight:700;font-size:var(--text-sm)}.sym-result__advice{margin:12px 0 8px;font-size:var(--text-sm);line-height:1.8;color:var(--color-ink-soft)}.sym-result__date{font-size:10px;color:var(--color-ink-faint);margin-bottom:12px}.therapy-page{display:flex;flex-direction:column;min-height:calc(100vh - var(--nav-height))}.therapy-header{display:flex;align-items:center;gap:4px;padding:10px 10px 8px;border-bottom:1px solid var(--color-line);background:var(--color-page-bg);position:sticky;top:0;z-index:10}.therapy-header__title{flex:1;margin-left:4px}.therapy-header__title b{display:block;font-size:var(--text-md)}.therapy-header__title span{font-size:10px;color:var(--color-ink-faint)}.therapy-msgs{flex:1;padding:14px 14px 8px;overflow-y:auto}.therapy-greet{text-align:center;padding:30px 10px}.therapy-greet p{margin:12px 0 16px;color:var(--color-ink-soft);font-size:var(--text-md)}.therapy-quick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.msg{margin-bottom:12px;display:flex;flex-direction:column}.msg--user{align-items:flex-end}.msg--ai{align-items:flex-start}.msg__bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:var(--text-md);line-height:1.65;white-space:pre-wrap;word-break:break-word}.msg--user .msg__bubble{background:var(--color-primary);color:var(--color-ink);border-bottom-right-radius:6px}.msg--ai .msg__bubble{background:var(--color-surface);border:1px solid var(--color-line);border-bottom-left-radius:6px}.msg__kind{display:block;font-size:10px;opacity:.7;margin-bottom:4px}.msg__time{font-size:9px;color:var(--color-ink-faint);margin-top:4px;padding:0 6px}.msg__bubble--typing{display:flex;gap:4px;padding:14px 16px}.msg__bubble--typing span{width:6px;height:6px;border-radius:50%;background:var(--color-ink-faint);animation:typing 1s infinite}.msg__bubble--typing span:nth-child(2){animation-delay:.15s}.msg__bubble--typing span:nth-child(3){animation-delay:.3s}@keyframes typing{30%{transform:translateY(-4px);opacity:.6}}.mood-msg{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;margin:8px auto 14px;max-width:240px}.mood-msg b{font-size:var(--text-md)}.mood-msg p{font-size:var(--text-xs);color:var(--color-ink-soft)}.quota-bar{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 14px 8px;border:none;background:var(--color-primary-soft);color:var(--color-ink);border-radius:var(--radius-full);padding:8px 12px;font-size:var(--text-xs);font-weight:600;cursor:pointer}.therapy-input{display:flex;align-items:center;gap:4px;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-line)}.therapy-input__field{flex:1;border:1.5px solid var(--color-line);border-radius:var(--radius-full);background:var(--color-page-bg);padding:10px 16px;font-size:var(--text-md);outline:none;min-width:0}.therapy-input__field:focus{border-color:var(--color-primary)}.send-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--color-primary);color:var(--color-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.send-btn:disabled{opacity:.4;cursor:not-allowed}.cfg-group{margin-bottom:16px}.cfg-group>b{display:block;font-size:var(--text-sm);margin-bottom:8px}.pro-card{background:var(--color-primary-soft);margin-bottom:16px}.pro-card b{font-size:var(--text-md)}.pro-card p{font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:4px}.cfg-danger{width:100%;display:flex;align-items:center;gap:8px;border:1.5px solid var(--color-danger);color:var(--color-danger);background:none;border-radius:var(--radius-md);padding:11px 14px;font-size:var(--text-sm);cursor:pointer;justify-content:center}.cfg-note{font-size:10px;color:var(--color-ink-faint);margin-top:12px;line-height:1.7}.th-sub{font-size:var(--text-sm);color:var(--color-ink-soft);margin-bottom:10px}.th-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.th-card{display:flex;gap:12px;align-items:flex-start}.th-card__body{flex:1;min-width:0}.th-card__row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.th-card__row b{font-size:var(--text-lg)}.th-card__rating{font-size:10px;color:var(--color-ink-soft);display:inline-flex;align-items:center;gap:3px}.th-card__title{display:block;font-size:10px;color:var(--color-ink-soft);margin:3px 0 8px}.th-card__tags{display:flex;flex-wrap:wrap;gap:5px}.th-card__right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.th-card__price{font-weight:700;font-family:var(--font-display)}.th-card__unit{font-size:10px;color:var(--color-ink-faint)}.td-hero{display:flex;gap:14px;align-items:flex-start}.td-hero__body{flex:1}.td-hero__body b{display:block;font-size:var(--text-xl);font-family:var(--font-display)}.td-hero__body>span{display:block;font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:2px}.td-hero__rating{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:11px;color:var(--color-ink-soft)}.td-hero__price{text-align:right;flex-shrink:0}.td-hero__price b{font-family:var(--font-display);font-size:var(--text-lg);display:block}.td-hero__price span{font-size:10px;color:var(--color-ink-faint)}.td-tabs{display:flex;gap:20px;margin:16px 4px 10px}.td-tabs button{border:none;background:none;font-size:var(--text-md);color:var(--color-ink-faint);cursor:pointer;padding:6px 0;border-bottom:2.5px solid transparent;font-weight:600}.td-tabs button.is-active{color:var(--color-ink);border-color:var(--color-primary)}.td-block p{font-size:var(--text-sm);line-height:1.8;color:var(--color-ink-soft)}.td-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.td-tags .chip{cursor:default}.td-reviews{display:flex;flex-direction:column;gap:8px}.td-review__head{display:flex;align-items:center;gap:8px}.td-review__head b{font-size:var(--text-sm)}.td-review__stars{display:inline-flex;gap:1px}.td-review__date{margin-left:auto;font-size:10px;color:var(--color-ink-faint)}.td-review p{font-size:var(--text-sm);color:var(--color-ink-soft);margin-top:6px;line-height:1.7}.td-footer{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--shell-max);background:var(--color-surface);border-top:1px solid var(--color-line);display:flex;align-items:center;justify-content:space-between;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));z-index:20}.td-footer__price b{font-family:var(--font-display);font-size:var(--text-xl)}.td-footer__price span{font-size:10px;color:var(--color-ink-faint);margin-left:2px}.td-book-link{text-decoration:none}.bk-who{font-size:var(--text-sm);color:var(--color-ink-soft);margin:4px 0 14px}.bk-dates{gap:10px}.bk-date{display:flex;flex-direction:column;align-items:center;gap:2px;border:1.5px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-md);padding:10px 14px;cursor:pointer;color:var(--color-ink)}.bk-date b{font-size:var(--text-lg);font-family:var(--font-display)}.bk-date span{font-size:10px;color:var(--color-ink-soft)}.bk-date.is-active{background:var(--color-ink);color:var(--color-page-bg);border-color:var(--color-ink)}.bk-date.is-active span{color:var(--color-primary)}.bk-date-label{font-size:var(--text-xs);color:var(--color-ink-faint);margin-top:8px}.bk-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bk-slot{position:relative;border:1.5px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-md);padding:12px 4px;font-size:var(--text-sm);cursor:pointer;color:var(--color-ink)}.bk-slot.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);font-weight:700}.bk-slot.is-taken{opacity:.45;cursor:not-allowed;text-decoration:line-through}.bk-slot small{display:block;font-size:9px;color:var(--color-danger);text-decoration:none;margin-top:2px}.bk-note{margin-top:18px}.bk-note p{font-size:var(--text-xs);color:var(--color-ink-soft);line-height:1.8}.ck-order__row{display:flex;justify-content:space-between;padding:7px 0;font-size:var(--text-sm)}.ck-order__row span{color:var(--color-ink-soft)}.ck-order__row b{font-weight:600;text-align:right}.ck-order__row--off b{color:var(--color-danger)}.ck-order__divider{height:1px;background:var(--color-line);margin:8px 0}.ck-order__row--total b{font-size:var(--text-lg);font-family:var(--font-display)}.ck-methods{padding:4px 14px}.ck-method{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;border-bottom:1px solid var(--color-line);padding:13px 0;font-size:var(--text-md);cursor:pointer}.ck-method:last-child{border-bottom:none}.ck-method__logo{width:30px;height:30px;border-radius:8px;color:#fff;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.ck-method span:nth-child(2){flex:1;text-align:left}.ck-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--color-line);display:inline-block}.ck-radio.is-on{border:5px solid var(--color-primary)}.ck-agree{margin:16px 0}.ck-note{font-size:10px;color:var(--color-ink-faint);margin-top:12px;line-height:1.7;text-align:center}.ck-state{display:flex;flex-direction:column;align-items:center;padding:60px 24px;text-align:center;gap:10px}.ck-state b{font-size:var(--text-xl);font-family:var(--font-display)}.ck-state p{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.8}.ck-state__icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700}.ck-qrcode{width:180px;height:180px;border:2px dashed var(--color-line);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-ink-faint);background:var(--color-surface)}.ap-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.ap-card__head{display:flex;align-items:center;justify-content:space-between}.ap-card__head b{font-size:var(--text-lg)}.ap-status{font-size:10px;font-weight:700;border-radius:var(--radius-full);padding:4px 10px;background:var(--color-surface-warm);color:var(--color-ink-soft)}.ap-status[data-status=booked]{background:var(--color-primary-soft);color:var(--color-primary-strong)}.ap-status[data-status=in_session]{background:var(--color-mindful-soft);color:var(--color-mindful-deep)}.ap-status[data-status=cancelled]{background:var(--color-danger-soft);color:var(--color-danger)}.ap-card__time{font-size:var(--text-sm);margin-top:6px}.ap-card__pay{font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:2px}.ap-card__rating{display:flex;align-items:center;gap:3px;margin-top:8px;font-size:var(--text-xs);color:var(--color-ink-soft)}.ap-card__ops{display:flex;gap:8px;margin-top:12px;justify-content:flex-end;align-items:center}.ap-refund{font-size:10px;color:var(--color-ink-faint)}.rate-stars{display:flex;justify-content:center;gap:8px;margin-bottom:14px}.rate-stars button{background:none;border:none;cursor:pointer;padding:2px}.j-stats{display:flex;justify-content:space-around;padding:16px 8px;text-align:center}.j-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.j-stat b{font-family:var(--font-display);font-size:var(--text-2xl)}.j-stat span{font-size:10px;color:var(--color-ink-faint)}.j-editor__title{width:100%;border:none;outline:none;background:transparent;font-size:var(--text-xl);font-family:var(--font-display);font-weight:700;padding:0 0 8px}.j-editor__title::placeholder{color:var(--color-ink-faint);font-weight:600}.j-editor .field{margin:0 0 12px}.j-foot{font-size:10px;color:var(--color-ink-faint);text-align:center;margin:8px 0 12px}.j-day{width:38px;height:38px;border-radius:50%;background:var(--color-surface-warm);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-display)}.mi-hero{display:flex;align-items:center;gap:16px}.mi-hero__body b{font-size:var(--text-lg);font-family:var(--font-display);display:block}.mi-hero__body span{display:block;font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:2px}.mi-hero__sub{color:var(--color-ink-faint)!important;margin-top:4px!important;line-height:1.6}.mi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mi-card{display:flex;flex-direction:column;gap:3px;text-align:left}.mi-card__icon{font-size:26px}.mi-card b{font-size:var(--text-md)}.mi-card span{font-size:10px;color:var(--color-ink-faint)}.mi-links{padding:4px 14px}.mi-link{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;border-bottom:1px solid var(--color-line);padding:13px 0;cursor:pointer;text-align:left;color:var(--color-ink)}.mi-link:last-child{border-bottom:none}.mi-link>div{flex:1}.mi-link b{display:block;font-size:var(--text-md)}.mi-link span{font-size:10px;color:var(--color-ink-soft)}.breath{text-align:center}.breath__circle{width:140px;height:140px;border-radius:50%;margin:10px auto 18px;background:var(--color-mindful-soft);border:3px solid var(--color-mindful);transition:transform .6s}.breath__circle.phase-0{animation:breath-grow 4s ease forwards}.breath__circle.phase-1{animation:breath-hold 7s ease forwards}.breath__circle.phase-2{animation:breath-shrink 8s ease forwards}@keyframes breath-grow{to{transform:scale(1.25)}}@keyframes breath-hold{}@keyframes breath-shrink{0%{transform:scale(1.25)}to{transform:scale(1)}}.breath__phase{font-size:var(--text-xl);font-family:var(--font-display);display:block}.breath__hint{font-size:var(--text-sm);color:var(--color-ink-soft);margin:4px 0 18px}.breath .btn{margin-bottom:10px}.rs-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.rs-card{display:flex;gap:12px;align-items:center;cursor:pointer}.rs-card__cover{width:58px;height:58px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.rs-card__body{flex:1;min-width:0}.rs-card__body b{display:block;font-size:var(--text-md)}.rs-card__desc{display:block;font-size:11px;color:var(--color-ink-soft);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-card__meta{display:block;font-size:10px;color:var(--color-ink-faint);margin-top:4px}.rd-hero{border-radius:var(--radius-xl);padding:28px 20px;color:var(--color-ink);position:relative;overflow:hidden}.rd-hero__emoji{font-size:44px;display:block;margin-bottom:8px}.rd-hero b{font-size:var(--text-xl);font-family:var(--font-display);display:block}.rd-hero span{font-size:var(--text-xs);opacity:.8;display:block;margin-top:4px}.rd-meta{display:flex;align-items:center;justify-content:space-between;margin:12px 2px}.rd-rating{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:var(--text-sm)}.rd-fav{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-full);padding:7px 14px;font-size:var(--text-sm);cursor:pointer;color:var(--color-ink)}.rd-fav.is-on{border-color:var(--color-danger);color:var(--color-danger)}.rd-player{text-align:center;padding:24px 16px}.rd-player__ring{width:120px;height:120px;border-radius:50%;border:4px solid var(--color-mindful);margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.rd-play{width:72px;height:72px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.rd-progress{display:flex;align-items:center;gap:10px;margin-bottom:14px}.rd-progress__bar{flex:1;height:6px;border-radius:3px;background:var(--color-surface-warm);overflow:hidden}.rd-progress__fill{height:100%;transition:width .3s}.rd-progress span{font-size:10px;color:var(--color-ink-faint)}.rd-body{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.8}.rd-article p{font-size:var(--text-md);line-height:1.9;margin-bottom:12px}.rd-article p:last-child{margin-bottom:0}.rd-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.ach-hero{text-align:center;padding:20px}.ach-hero b{font-family:var(--font-display);font-size:40px;display:block;line-height:1}.ach-hero span{font-size:var(--text-xs);color:var(--color-ink-faint)}.ach-hero__bar{height:8px;border-radius:4px;background:var(--color-surface-warm);margin:12px auto;max-width:220px;overflow:hidden}.ach-hero__bar div{height:100%;background:var(--color-primary);border-radius:4px;transition:width .4s}.ach-hero p{font-size:var(--text-xs);color:var(--color-ink-soft);line-height:1.7}.ach-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.ach-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px 10px}.ach-card--locked{opacity:.45;filter:grayscale(.6)}.ach-card__emoji{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:4px}.ach-card b{font-size:var(--text-sm)}.ach-card span{font-size:10px;color:var(--color-ink-soft);line-height:1.5}.ach-card small{font-size:9px;color:var(--color-primary-strong)}.nt-group{font-size:10px;color:var(--color-ink-faint);margin:4px 2px 8px}.nt-card{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;position:relative}.nt-card.is-read{opacity:.65}.nt-card__icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-ink);flex-shrink:0}.nt-card__body{flex:1;cursor:pointer}.nt-card__body b{display:block;font-size:var(--text-sm)}.nt-card__body span{display:block;font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:2px;line-height:1.6}.nt-card__body small{font-size:9px;color:var(--color-ink-faint);margin-top:4px;display:block}.nt-card .badge-dot{position:absolute;top:14px;right:40px}.nt-settings-link{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--color-ink-soft);font-size:var(--text-sm);margin-top:6px}.me-card{display:flex;align-items:center;gap:14px}.me-card__body{flex:1}.me-card__body b{display:block;font-size:var(--text-xl);font-family:var(--font-display)}.me-card__body span{font-size:var(--text-xs);color:var(--color-ink-soft)}.me-card__edit{display:inline-flex;align-items:center;gap:4px;margin-top:8px;border:1px solid var(--color-line);background:var(--color-surface-warm);border-radius:var(--radius-full);padding:4px 10px;font-size:10px;cursor:pointer;color:var(--color-ink)}.me-bell{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-line);background:var(--color-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-ink)}.me-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.me-stat{background:var(--color-surface);border-radius:var(--radius-md);padding:12px 4px;text-align:center}.me-stat b{font-family:var(--font-display);font-size:var(--text-lg);display:block}.me-stat span{font-size:9px;color:var(--color-ink-faint)}.me-group{padding:2px 14px}.me-row{width:100%;display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--color-line);background:none;border-left:none;border-right:none;border-top:none;font-size:var(--text-md);cursor:pointer;text-align:left;color:var(--color-ink)}.me-row:last-child{border-bottom:none}.me-row__text{flex:1;display:flex;flex-direction:column}.me-row__text span{font-size:var(--text-md)}.me-row__text small{font-size:10px;color:var(--color-ink-faint);margin-top:1px}.me-row>span{flex:1}.me-row__val{font-style:normal;font-size:var(--text-xs);color:var(--color-ink-faint);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-row--danger{color:var(--color-danger)}.me-theme{display:flex;gap:6px}.me-theme .chip{padding:5px 10px;font-size:10px}.me-modal-tip{font-size:var(--text-xs);color:var(--color-ink-soft);margin-bottom:10px;line-height:1.7}.me-captcha{font-family:var(--font-display);font-weight:700;letter-spacing:3px;background:var(--color-surface-warm);padding:2px 8px;border-radius:6px;font-style:italic;color:var(--color-primary-strong)}.me-addr-preview{font-size:var(--text-sm);background:var(--color-mindful-soft);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:12px}.me-agreement p{font-size:var(--text-sm);line-height:1.9;margin-bottom:10px;color:var(--color-ink-soft)}.me-pro{background:var(--color-primary-soft);margin-bottom:12px}.me-pro--free{background:var(--color-surface-warm)}.me-pro b{font-size:var(--text-lg)}.me-pro p{font-size:var(--text-xs);color:var(--color-ink-soft);margin-top:4px}.me-pro-list{display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm);color:var(--color-ink-soft);margin-bottom:16px}.me-version{text-align:center;font-size:10px;color:var(--color-ink-faint);margin-top:20px;line-height:1.7}.st-today{text-align:center;padding:20px 16px}.st-today>b{font-size:var(--text-lg);font-family:var(--font-display)}.st-level{font-family:var(--font-display);font-size:52px;font-weight:700;margin:6px 0;color:var(--color-primary-strong)}.st-scale{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:12px 0}.st-scale__n{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--color-line);background:var(--color-surface);font-weight:600;font-size:var(--text-sm);cursor:pointer;color:var(--color-ink)}.st-label{font-size:var(--text-xs);color:var(--color-ink-soft);margin-bottom:14px;display:block}.st-q{font-size:var(--text-sm);font-weight:600;margin:6px 0 10px;text-align:left}.st-today .chips{justify-content:flex-start}.st-tip{margin-top:16px}.st-tip b{font-size:var(--text-md)}.st-tip p{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.8;margin:8px 0 12px}.sl-hero{text-align:center;padding:22px 16px}.sl-hero>b{font-family:var(--font-display);font-size:var(--text-3xl);display:block}.sl-hero>span{font-size:var(--text-xs);color:var(--color-ink-faint);display:block;margin:4px 0 10px}.sl-quality{display:inline-flex;align-items:center;gap:8px;background:var(--color-surface-warm);border-radius:var(--radius-full);padding:6px 14px;font-size:var(--text-xs);color:var(--color-ink-soft);margin-right:10px}.sl-quality b{font-family:var(--font-display);color:var(--color-ink)}.sl-hero .btn{margin-top:12px;display:inline-flex}.sl-insight p{font-size:var(--text-sm);line-height:1.8;color:var(--color-ink-soft)}.sl-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:12px 14px}.sl-row b{font-size:var(--text-md);display:block}.sl-row span{font-size:10px;color:var(--color-ink-soft)}.sl-row__right{text-align:right}.sl-row__right b{font-family:var(--font-display)}
