@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}:root{color-scheme:dark;--color-primary: #7c5cff;--brand: #2f55ff;--brand-bright: #5b7bff;--brand-deep: #1e3fd0;--brand-soft: #e9eeff;--brand-cyan: #4cc3ff;--color-on-primary: #ffffff;--color-bg: #1b2a4a;--color-bg-deep: #15223d;--color-bg-elevated: #223256;--color-card: #223256;--color-card-strong: #2a3c66;--color-line: #33477a;--color-line-strong: #43598f;--color-text: #f2f6ff;--color-text-secondary: #b9c6e6;--color-text-muted: #8b9bc6;--color-success: #4ade80;--color-warning: #fbbf24;--color-danger: #f4626e;--color-info: #4cc3ff;--bubble-user: linear-gradient(135deg, #3d6bff 0%, #2a4de0 100%);--bubble-ai-bg: #16233d;--bubble-ai-text: #eef3ff;--bubble-ai-border: #2b3f66;--header-bg: rgba(27, 42, 74, .92);--composer-bg: rgba(27, 42, 74, .95);--menu-bg: linear-gradient(180deg, #2f55ff 0%, #1c37b8 100%);--menu-text: #ffffff;--menu-muted: rgba(255, 255, 255, .72);--menu-hover: rgba(255, 255, 255, .14);--gradient-primary: linear-gradient(135deg, #2f55ff 0%, #3d6bff 100%);--gradient-card-blue: linear-gradient(160deg, #3b63f2 0%, #2242b8 100%);--gradient-card-indigo: linear-gradient(160deg, #2f55ff 0%, #1e3fd0 100%);--gradient-card-cyan: linear-gradient(160deg, #5ac8ff 0%, #2e8cff 100%);--gradient-orb: radial-gradient(circle at 34% 30%, #9fd4ff 0%, #6f8bff 22%, #b26bff 44%, #ff8fb7 58%, #1b2a4a 78%), radial-gradient(circle at 68% 66%, #66f0d0 0%, transparent 42%);--mascot-shell: #2f55ff;--mascot-shell-deep: #1c37b8;--mascot-visor: #172a66;--mascot-accent: #6fe3c1;--mascot-light: #bfe0ff;--font-sans: "Inter", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-display: "Poppins", "Inter", "PingFang SC", sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 21px;--font-size-2xl: 26px;--font-size-3xl: 32px;--line-height: 1.55;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 26px;--radius-xl: 32px;--radius-full: 999px;--shadow-card: 0 10px 30px rgba(8, 18, 45, .45);--shadow-primary: 0 10px 26px rgba(47, 85, 255, .4);--shell-max: 430px;--nav-height: 62px}.shell{--color-primary: var(--brand);--color-primary-bright: var(--brand-bright);--color-primary-deep: var(--brand-deep);--color-primary-soft: var(--brand-soft)}:root[data-theme=light]{color-scheme:light;--color-bg: #eef1ff;--color-bg-deep: #e4e9ff;--color-bg-elevated: #ffffff;--color-card: #ffffff;--color-card-strong: #f1f4ff;--color-line: #d3dbf7;--color-line-strong: #b8c6f0;--color-text: #14204a;--color-text-secondary: #465683;--color-text-muted: #7786ac;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #0284c7;--bubble-user: linear-gradient(135deg, #2f55ff 0%, #2143cf 100%);--bubble-ai-bg: #ffffff;--bubble-ai-text: #14204a;--bubble-ai-border: #c9d5fb;--header-bg: rgba(238, 241, 255, .92);--composer-bg: rgba(238, 241, 255, .96);--menu-bg: #ffffff;--menu-text: #14204a;--menu-muted: #5b6b94;--menu-hover: rgba(47, 85, 255, .1);--gradient-orb: radial-gradient(circle at 34% 30%, #d7ecff 0%, #97aaff 22%, #c9a6ff 44%, #ffc2d6 58%, #eef1ff 78%), radial-gradient(circle at 68% 66%, #a6f5df 0%, transparent 42%);--mascot-surface: #ffffff;--shadow-card: 0 10px 26px rgba(40, 70, 160, .12);--shadow-primary: 0 10px 26px rgba(47, 85, 255, .28)}.surface-auth{--color-bg: #eef1ff;--color-bg-deep: #e7ecff;--color-bg-elevated: #ffffff;--color-card: #ffffff;--color-card-strong: #f3f6ff;--color-line: #c9d4f5;--color-line-strong: #aebff5;--color-text: #14204a;--color-text-secondary: #465683;--color-text-muted: #7786ac;--color-primary-bright: #2f55ff;--shadow-card: 0 12px 28px rgba(47, 85, 255, .12);--shadow-primary: 0 10px 24px rgba(47, 85, 255, .32)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height);background:var(--color-bg-deep);color:var(--color-text);-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}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:100vw}.shell img,.shell svg{max-width:min(100%,var(--shell-max))}.shell{position:relative;max-width:var(--shell-max);height:100dvh;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);overflow:hidden;transition:background .25s ease}.texture-rings{position:absolute;inset:0 0 auto auto;width:74%;height:300px;pointer-events:none;background-image:repeating-radial-gradient(circle at 100% 0%,transparent 0 30px,rgba(88,120,255,.22) 30px 31px);-webkit-mask-image:linear-gradient(210deg,#000 10%,transparent 62%);mask-image:linear-gradient(210deg,#000 10%,transparent 62%);opacity:.85}.texture-rings--corner{width:52%;height:220px;opacity:.55}:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}::selection{background:var(--color-primary-deep);color:var(--color-on-primary)}.surface-auth{background:var(--color-bg);color:var(--color-text);min-height:100dvh}.surface-auth:before{content:"";position:absolute;width:200px;height:420px;right:-120px;top:38%;border-radius:50%;background:#2f55ff1a;pointer-events:none}.surface-auth:after{content:"";position:absolute;width:170px;height:360px;left:-110px;top:52%;border-radius:50%;background:#2f55ff14;pointer-events:none}:root{--color-page-bg: #e9e4df}html,body,#root{height:auto;min-height:100%}#root{align-items:flex-start}.shell,.app-shell{min-height:100vh;min-height:100dvh}body{background:var(--color-page-bg, #e9e4df)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease,border-color .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--sm{font-size:var(--font-size-sm);padding:6px 14px;min-height:32px}.btn--md{font-size:var(--font-size-md);padding:10px 18px;min-height:42px}.btn--lg{font-size:var(--font-size-lg);padding:13px 22px;min-height:50px;width:100%}.btn--primary{background:var(--gradient-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary)}.btn--primary:hover:not(:disabled){filter:brightness(1.12)}.btn--primary:active:not(:disabled){background:var(--color-primary-deep)}.btn--secondary{background:var(--color-card);color:var(--color-text);border-color:var(--color-line-strong)}.btn--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-bright)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){color:var(--color-primary-bright);background:#7c5cff1a}.btn--danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:#f4626e1f}.btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);background:transparent;transition:background .15s ease,color .15s ease}.icon-btn--sm{width:32px;height:32px}.icon-btn--md{width:40px;height:40px}.icon-btn--filled{background:var(--color-card-strong);border:1px solid var(--color-line);color:var(--color-text)}.icon-btn--filled:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-bright)}.icon-btn--plain:hover:not(:disabled){background:#7c5cff1f;color:var(--color-primary-bright)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.field__error{font-size:var(--font-size-xs);color:var(--color-danger)}.input-shell{display:flex;align-items:center;gap:var(--space-2);background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:0 var(--space-3);min-height:46px;transition:border-color .15s ease,box-shadow .15s ease}.input-shell:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #7c5cff2e}.input-shell--error{border-color:var(--color-danger)}.input-shell--error:focus-within{box-shadow:0 0 0 3px #f4626e26}.input-shell--sm{min-height:38px}.input-shell input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--color-text);font-size:var(--font-size-md)}.input-shell input::placeholder{color:var(--color-text-muted)}.input-shell input:disabled{opacity:.5}.input-shell--suffix input{text-align:right}.input-suffix-btn{border:none;background:transparent;color:var(--color-primary-bright);font-size:var(--font-size-sm);cursor:pointer;padding:4px;white-space:nowrap}.input-suffix-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.textarea{width:100%;background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3);color:var(--color-text);font-size:var(--font-size-md);font-family:inherit;line-height:var(--line-height);resize:vertical;min-height:96px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #7c5cff2e}.textarea--error{border-color:var(--color-danger)}.textarea::placeholder{color:var(--color-text-muted)}.select-wrap{position:relative;display:flex;align-items:center}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-md);min-height:46px;padding:0 36px 0 var(--space-3);color:var(--color-text);font-size:var(--font-size-md);outline:none;cursor:pointer;transition:border-color .15s ease}.select:focus{border-color:var(--color-primary)}.select:disabled{opacity:.5;cursor:not-allowed}.select-wrap svg{position:absolute;right:12px;pointer-events:none;color:var(--color-text-muted)}.select--sm{min-height:38px}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.checkbox input{position:absolute;opacity:0;pointer-events:none}.checkbox__box{width:18px;height:18px;flex:none;border-radius:5px;border:1.5px solid var(--color-line-strong);display:inline-flex;align-items:center;justify-content:center;background:var(--color-card);transition:background .15s ease,border-color .15s ease}.checkbox input:checked+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox input:indeterminate+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox input:disabled+.checkbox__box{opacity:.4}.checkbox--error .checkbox__box{border-color:var(--color-danger)}.switch{position:relative;width:44px;height:26px;flex:none;border-radius:var(--radius-full);border:none;cursor:pointer;background:var(--color-card-strong);border:1px solid var(--color-line-strong);transition:background .2s ease}.switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--color-text-secondary);transition:transform .2s ease,background .2s ease}.switch--on{background:var(--color-primary);border-color:var(--color-primary)}.switch--on:after{transform:translate(18px);background:var(--color-on-primary)}.switch:disabled{opacity:.4;cursor:not-allowed}.card{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4)}.card--flat{box-shadow:none}.card--raised{box-shadow:var(--shadow-card)}.card--interactive{cursor:pointer;transition:border-color .15s ease,transform .15s ease}.card--interactive:hover{border-color:var(--color-primary);transform:translateY(-2px)}.list-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;text-align:left;cursor:pointer;color:var(--color-text);transition:background .15s ease}.list-item:hover{background:#7c5cff12}.list-item--selected{background:#7c5cff29}.list-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-item__title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);flex:none}.list-item--static{cursor:default}.list-item--static:hover{background:transparent}.list-divider{height:1px;background:var(--color-line);margin:0 var(--space-4);opacity:.6}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;color:var(--color-on-primary);flex:none;overflow:hidden;-webkit-user-select:none;user-select:none}.avatar--sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar--md{width:42px;height:42px;font-size:var(--font-size-md)}.avatar--lg{width:64px;height:64px;font-size:var(--font-size-xl)}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.badge--count{min-width:18px;height:18px;font-size:11px;padding:0 5px}.badge--dot{width:8px;height:8px;min-width:0;padding:0}.badge--soft{background:var(--color-primary-soft);color:var(--color-primary-deep);font-size:var(--font-size-xs);line-height:1.4;padding:2px var(--space-2)}.badge--outline{background:var(--color-card);border:1px solid var(--color-line-strong);color:var(--color-text-secondary);font-weight:500;font-size:var(--font-size-xs);line-height:1.4;padding:2px var(--space-2)}.tabs{display:flex;gap:var(--space-1);flex:none;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs--underline{border-bottom:1px solid var(--color-line)}.tabs--pill{background:var(--color-card);border-radius:var(--radius-full);padding:3px}.tab{border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:500;transition:color .15s ease,background .15s ease}.tab--sm{font-size:var(--font-size-sm);padding:6px 12px}.tab--md{font-size:var(--font-size-md);padding:9px 16px}.tabs--underline .tab{border-bottom:2px solid transparent;margin-bottom:-1px}.tabs--underline .tab--active{color:var(--color-primary-bright);border-bottom-color:var(--color-primary)}.tabs--pill .tab{border-radius:var(--radius-full)}.tabs--pill .tab--active{background:var(--color-primary);color:var(--color-on-primary)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:60;animation:modal-fade .18s ease}@keyframes modal-fade{0%{opacity:0}}.modal{width:min(calc(100vw - 48px),var(--modal-width, 400px));max-height:min(80vh,640px);display:flex;flex-direction:column;background:var(--color-bg-elevated);border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:modal-pop .2s ease}@keyframes modal-pop{0%{opacity:0;transform:scale(.96) translateY(8px)}}.modal--closing{animation:modal-out .15s ease forwards}@keyframes modal-out{to{opacity:0;transform:scale(.96)}}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5) 0}.modal__title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600}.modal__body{padding:var(--space-4) var(--space-5);overflow-y:auto}.modal__footer{display:flex;gap:var(--space-3);padding:0 var(--space-5) var(--space-5)}.modal__footer>*{flex:1}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:55;animation:modal-fade .18s ease}.drawer-layer{position:fixed;z-index:56;background:var(--color-bg-elevated);display:flex;flex-direction:column}.drawer-layer--bottom{left:0;right:0;bottom:0;max-width:var(--shell-max);margin:0 auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--color-line-strong);border-bottom:none;max-height:88vh;animation:drawer-up .25s cubic-bezier(.2,.8,.3,1)}@keyframes drawer-up{0%{transform:translateY(100%)}}.drawer-layer--closing.drawer-layer--bottom{animation:drawer-down .2s ease forwards}@keyframes drawer-down{to{transform:translateY(100%)}}.drawer-layer--left,.drawer-layer--right{top:0;bottom:0;width:min(84vw,340px);border-color:var(--color-line-strong)}.drawer-layer--left{left:0;max-width:min(84vw,340px);margin:0 auto 0 max(0px,calc(50vw - var(--shell-max) / 2));animation:drawer-in-left .25s ease}.drawer-layer--right{right:0;animation:drawer-in-right .25s ease}@keyframes drawer-in-left{0%{transform:translate(-100%)}}@keyframes drawer-in-right{0%{transform:translate(100%)}}.drawer-layer--closing.drawer-layer--left{animation:drawer-out-left .2s ease forwards}.drawer-layer--closing.drawer-layer--right{animation:drawer-out-right .2s ease forwards}@keyframes drawer-out-left{to{transform:translate(-100%)}}@keyframes drawer-out-right{to{transform:translate(100%)}}.drawer__grip{width:40px;height:4px;border-radius:2px;background:var(--color-line-strong);margin:10px auto 0;flex:none}.drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);flex:none}.drawer__title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600}.drawer__body{padding:0 var(--space-5) var(--space-5);overflow-y:auto;flex:1}.drawer__footer{padding:var(--space-3) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-line);flex:none}.toast-layer{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-height) + 18px);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);z-index:80;pointer-events:none;width:max-content;max-width:calc(100vw - 40px)}.toast{display:flex;align-items:center;gap:var(--space-2);background:var(--color-card-strong);border:1px solid var(--color-line-strong);color:var(--color-text);font-size:var(--font-size-sm);padding:10px 16px;border-radius:var(--radius-full);box-shadow:var(--shadow-card);animation:toast-in .25s cubic-bezier(.2,.8,.3,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast--success svg{color:var(--color-success)}.toast--error svg{color:var(--color-danger)}.toast--warning svg{color:var(--color-warning)}.toast--info svg{color:var(--color-info)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-8) var(--space-5)}.empty__icon{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:#7c5cff1f;color:var(--color-primary-bright)}.empty__title{font-weight:600;font-size:var(--font-size-lg)}.empty__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:260px}.empty__action{margin-top:var(--space-2)}.skeleton{background:linear-gradient(90deg,var(--color-card) 25%,var(--color-card-strong) 50%,var(--color-card) 75%);background-size:200% 100%;animation:skeleton-wave 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--text{height:14px}.skeleton--title{height:22px;width:60%}.skeleton--card{height:88px;border-radius:var(--radius-lg)}.skeleton--avatar{width:42px;height:42px;border-radius:50%;flex:none}.skeleton--bubble{height:56px;border-radius:var(--radius-lg)}.skeleton--list-item{height:64px;border-radius:var(--radius-md)}.page-header{display:flex;align-items:center;gap:var(--space-2);padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) var(--space-4) var(--space-3);position:sticky;top:0;z-index:20;background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-header__side{width:84px;display:flex;align-items:center;gap:var(--space-1);flex:none}.page-header__side--right{justify-content:flex-end}.page-header__title{flex:1;text-align:center;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__menu{width:34px;height:34px;border-radius:var(--radius-full);border:1.5px solid var(--color-line-strong);background:var(--color-card);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.page-header__menu:hover{border-color:var(--color-primary);color:var(--color-primary-bright)}.page-header__back{display:inline-flex;align-items:center;gap:2px;background:none;border:none;color:var(--color-primary-bright);cursor:pointer;font-size:var(--font-size-md);padding:4px 6px}.bottom-nav{position:sticky;bottom:0;margin-top:auto;display:flex;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-line);padding:6px 0 env(safe-area-inset-bottom,6px);z-index:30}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;padding:4px 0;position:relative;text-decoration:none;transition:color .15s ease}.bottom-nav__item--active{color:var(--color-primary-bright)}.bottom-nav__dot{position:absolute;top:2px;right:calc(50% - 18px)}.search-bar{position:relative;display:flex;align-items:center}.search-bar svg{position:absolute;left:12px;color:var(--color-text-muted);pointer-events:none}.search-bar input{width:100%;background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-full);min-height:42px;padding:0 38px;color:var(--color-text);font-size:var(--font-size-sm);outline:none;transition:border-color .15s ease}.search-bar input:focus{border-color:var(--color-primary)}.search-bar input::placeholder{color:var(--color-text-muted)}.search-bar__clear{position:absolute;right:8px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:flex;padding:4px}.group{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}.group__label{font-size:var(--font-size-xs);letter-spacing:.08em;color:var(--color-text-muted);padding:0 var(--space-2);margin:var(--space-5) 0 var(--space-2);font-weight:600}.group__row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:14px var(--space-4);background:transparent;border:none;border-bottom:1px solid rgba(38,50,82,.55);color:var(--color-text);font-size:var(--font-size-md);cursor:pointer;text-align:left;transition:background .15s ease}.group__row:last-child{border-bottom:none}.group__row:hover{background:#7c5cff0f}.group__row-icon{color:var(--color-primary-bright);flex:none;display:flex}.group__row-main{flex:1;min-width:0}.group__row-value{color:var(--color-text-muted);font-size:var(--font-size-sm)}.group__row-chevron{color:var(--color-text-muted);flex:none}.mascot{overflow:visible}.mascot__shell{fill:var(--mascot-shell)}.mascot__shell-deep{fill:var(--mascot-shell-deep)}.mascot__visor{fill:var(--mascot-visor)}.mascot__eye{fill:var(--mascot-light)}.mascot__glint{fill:var(--color-on-primary)}.mascot__accent{fill:var(--mascot-accent)}.mascot__arm{fill:var(--mascot-visor)}.mascot__foot{fill:var(--mascot-shell-deep)}.mascot__chest{fill:var(--mascot-visor)}.mascot__antenna{stroke:var(--mascot-accent);stroke-width:3;stroke-linecap:round}.mascot__smile{fill:none;stroke:var(--mascot-light);stroke-width:2.4;stroke-linecap:round}.bot-avatar{width:38px;height:38px;border-radius:50%;background:var(--brand-soft);border:1.5px solid var(--brand);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}.bot-avatar .mascot{width:30px;height:30px}.page{flex:1;display:flex;flex-direction:column;height:100%;min-height:0;position:relative;overflow:hidden}.page__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-5) var(--space-8)}.page-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.3px}.muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.link{color:var(--color-primary-bright);font-size:var(--font-size-sm);text-decoration:none;background:none;border:none;cursor:pointer;padding:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.section-head h2{font-size:var(--font-size-lg);font-weight:600}.drawer-layer--left{background:var(--menu-bg)}.drawer-layer--left .drawer__title,.drawer-layer--left .drawer__header .icon-btn{color:var(--menu-text)}.drawer-layer--left .drawer__footer{border-top-color:var(--menu-hover)}.menu{display:flex;flex-direction:column;gap:var(--space-4);color:var(--menu-text);min-height:100%}.menu__brand{display:flex;align-items:center;gap:var(--space-2)}.menu__logo{width:42px;height:42px;border-radius:50%;background:var(--color-on-primary);display:flex;align-items:center;justify-content:center;flex:none}.menu__brand-name{display:block;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600}.menu__privacy{display:block;font-size:var(--font-size-xs);color:var(--menu-muted);text-decoration:none}.menu__user{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--menu-text);padding:var(--space-2) 0 var(--space-3)}.menu__user .avatar{border:2px solid var(--color-on-primary);box-shadow:0 8px 20px #0000002e}.menu__user-name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;margin-top:4px}.menu__user-role{font-size:var(--font-size-sm);color:var(--menu-muted)}.menu__user-phone{font-size:var(--font-size-xs);color:var(--menu-muted)}.menu__nav{display:flex;flex-direction:column;gap:4px}.menu__link{display:flex;align-items:center;gap:var(--space-3);padding:12px 14px;border-radius:var(--radius-md);color:var(--menu-text);text-decoration:none;background:none;border:none;font-size:var(--font-size-md);cursor:pointer;text-align:left;transition:background .15s ease;position:relative}.menu__link:hover,.menu__link--active{background:var(--menu-hover)}.menu__link--active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:2px;background:var(--color-on-primary)}.menu__theme{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 14px;font-size:var(--font-size-md);color:var(--menu-text);margin-top:auto}.menu__logout{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:10px 12px;border-radius:var(--radius-md);border:none;background:var(--menu-hover);color:var(--menu-text);cursor:pointer;font-size:var(--font-size-md)}.menu__logout-icon{width:34px;height:34px;border-radius:10px;background:var(--color-on-primary);color:var(--brand);display:flex;align-items:center;justify-content:center}.menu__version{font-size:11px;color:var(--menu-muted);text-align:center}.pay-list{display:flex;flex-direction:column}.pay-list__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 0;border-bottom:1px solid var(--color-line)}.pay-list__row:last-child{border-bottom:none}.pay-list__main{display:flex;flex-direction:column;gap:2px;min-width:0}.pay-list__name{font-weight:500}.pay-list__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.pay-list__amount{text-align:right;font-weight:600}.pay-list__amount--failed{color:var(--color-text-muted)}.pay-list__status{display:block;font-size:11px;font-weight:400;color:var(--color-success)}.pay-list__amount--failed .pay-list__status{color:var(--color-danger)}.pay-list__retry{display:inline-flex;align-items:center;gap:2px}.page--auth{padding:calc(18px + env(safe-area-inset-top,0px)) var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom,0px));background:var(--color-bg);overflow-y:auto}.auth{flex:1;display:flex;flex-direction:column;gap:var(--space-5);position:relative;z-index:1}.auth__top{display:flex;align-items:center;min-height:40px}.auth__back{width:38px;height:38px;border-radius:50%;border:2px solid var(--color-primary);background:var(--color-card);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.auth__mascot{width:104px;height:104px;margin:var(--space-2) auto 0;border-radius:50%;background:var(--color-card);border:2px solid var(--color-primary);display:flex;align-items:center;justify-content:center;overflow:hidden}.auth__title{text-align:center;font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary)}.auth__subtitle{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:4px}.auth__form{display:flex;flex-direction:column;gap:var(--space-4)}.surface-auth .input-shell,.surface-auth .textarea{border-width:2px;border-color:var(--color-line-strong);background:var(--color-card)}.surface-auth .input-shell:focus-within{border-color:var(--color-primary)}.auth__agreement{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.8}.auth__link{color:var(--color-primary);background:none;border:none;cursor:pointer;padding:0;font-size:inherit;text-decoration:none}.auth__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs)}.auth__divider:before,.auth__divider:after{content:"";flex:1;height:1px;background:var(--color-line)}.auth__wechat{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:50px;border-radius:var(--radius-md);border:2px solid var(--color-line-strong);background:var(--color-card);color:var(--color-text);cursor:pointer;font-weight:500;transition:border-color .15s ease}.auth__wechat:hover{border-color:#2aae67}.auth__wechat svg{color:#2aae67}.auth__hint{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.7}.auth__row{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm)}.auth__steps{display:flex;justify-content:center;gap:6px;margin-top:-4px}.auth__step{width:26px;height:4px;border-radius:2px;background:var(--color-line)}.auth__step--done{background:var(--color-primary)}.welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-3);position:relative;z-index:1;padding:var(--space-6) 0}.welcome__mascot{width:216px;height:216px;border-radius:50%;background:var(--color-card);border:1px solid var(--color-line);box-shadow:0 24px 60px #2f55ff29;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5)}.welcome__title{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:700;color:var(--color-primary);line-height:1.25}.welcome__stroke{width:190px;margin:8px auto 0;color:var(--color-primary)}.welcome__sub{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-top:var(--space-3)}.welcome__actions{width:100%;display:flex;flex-direction:column;gap:var(--space-3);margin-top:auto;padding-top:var(--space-8)}.welcome__footer{display:flex;justify-content:center;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);padding-top:var(--space-4)}.onb{flex:1;display:flex;flex-direction:column;gap:var(--space-4);position:relative;z-index:1}.onb__skip{align-self:flex-end;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:8px 4px}.onb__slide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-4)}.onb__art{width:190px;height:190px;border-radius:50%;background:var(--color-card);border:2px solid var(--color-primary);display:flex;align-items:center;justify-content:center}.onb__title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:700}.onb__desc{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:1.7;max-width:300px}.onb__dots{display:flex;justify-content:center;gap:8px}.onb__dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--color-line-strong);cursor:pointer;transition:width .2s ease,background .2s ease}.onb__dot--active{width:24px;border-radius:5px;background:var(--color-primary)}.onb__actions{display:flex;flex-direction:column;gap:var(--space-3)}.home{padding:0 var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom,0px));overflow:hidden}.home__header{display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) 0 var(--space-2);position:relative;z-index:2}.home__menu{width:42px;height:42px;border-radius:50%;border:none;background:var(--gradient-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-primary);flex:none}.home__greet{flex:1;text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.home__avatar{text-decoration:none;flex:none}.home__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-5);position:relative;z-index:2;padding-top:var(--space-3)}.home__title{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:700;line-height:1.24;letter-spacing:-.6px;max-width:300px}.home__cards{display:grid;grid-template-columns:1.04fr 1fr;gap:var(--space-3)}.home__cards-right{display:flex;flex-direction:column;gap:var(--space-3)}.home-card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-lg);padding:var(--space-4);min-height:132px;color:var(--color-on-primary);text-decoration:none;overflow:hidden;transition:transform .15s ease,filter .15s ease}.home-card:hover{transform:translateY(-2px);filter:brightness(1.06)}.home-card--tall{min-height:276px;grid-row:span 2}.home-card--indigo{background:var(--gradient-card-blue)}.home-card--chat{background:var(--gradient-card-indigo)}.home-card--cyan{background:var(--gradient-card-cyan)}.home-card__icon{width:40px;height:40px;border-radius:50%;background:var(--color-on-primary);color:#1b2a4a;display:flex;align-items:center;justify-content:center;flex:none}.home-card__arrow{position:absolute;top:var(--space-4);right:var(--space-4);opacity:.9}.home-card__label{margin-top:auto;padding-top:var(--space-4);font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;line-height:1.35}.home-card--tall .home-card__label{font-size:var(--font-size-xl)}.home-section{display:flex;flex-direction:column;gap:var(--space-3)}.home__history-empty{display:flex;align-items:center;gap:var(--space-3);justify-content:center;border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.home__history-empty:hover{background:#2f55ff14}.home__recent{display:flex;flex-direction:column;gap:var(--space-2)}.home__recent-item{display:flex;align-items:center;gap:var(--space-3);padding:12px var(--space-4);border-radius:var(--radius-md);background:var(--color-card);border:1px solid var(--color-line);color:var(--color-text);text-decoration:none}.home__recent-item:hover{border-color:var(--color-primary)}.home__recent-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home__recent-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);flex:none}.home__rate{margin-top:auto;text-decoration:none}.chat{flex:1;display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden;padding:0 var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));position:relative}.chat__header{display:flex;align-items:center;gap:var(--space-2);padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) 0 var(--space-3)}.chat__menu-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--gradient-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-primary);flex:none}.chat__title{flex:1;min-width:0;text-align:center}.chat__title-name{font-family:var(--font-display);font-weight:600;font-size:var(--font-size-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__title-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;gap:4px}.chat__frame{flex:1;min-height:0;border:2px solid var(--color-primary);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;background:color-mix(in srgb,var(--color-bg-deep) 46%,transparent);position:relative}.chat__frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:repeating-radial-gradient(circle at 90% 0%,transparent 0 42px,rgba(88,120,255,.1) 42px 43px);-webkit-mask-image:linear-gradient(220deg,#000 0%,transparent 40%);mask-image:linear-gradient(220deg,#000 0%,transparent 40%)}.chat__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);scroll-behavior:smooth;position:relative}.chat__day{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted)}.chat__hero{text-align:center;padding:var(--space-5) 0 var(--space-2);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.chat__hero-badge{width:76px;height:76px;border-radius:50%;background:var(--color-card);border:2px solid var(--color-primary);display:flex;align-items:center;justify-content:center;overflow:hidden}.chat__hero-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700}.chat__hero-sub{color:var(--color-text-muted);font-size:var(--font-size-sm);max-width:300px;line-height:1.7}.msg{display:flex;gap:var(--space-2);max-width:88%;align-items:flex-start}.msg--user{align-self:flex-end;flex-direction:row-reverse}.msg__bubble{padding:11px 15px;border-radius:var(--radius-lg);font-size:var(--font-size-md);line-height:var(--line-height);white-space:pre-wrap;word-break:break-word}.msg--assistant .msg__bubble{background:var(--bubble-ai-bg);border:1px solid var(--bubble-ai-border);color:var(--bubble-ai-text);border-top-left-radius:6px}.msg--user .msg__bubble{background:var(--bubble-user);border-top-right-radius:6px;color:var(--color-on-primary)}.msg__image{border-radius:var(--radius-md);max-height:200px;width:100%;object-fit:cover;margin-bottom:var(--space-2)}.msg__tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-primary-bright);margin-bottom:4px}.msg__time{font-size:10px;color:var(--color-text-muted);align-self:flex-end;flex:none;margin-bottom:2px}.msg__wrap{display:flex;flex-direction:column;min-width:0}.msg__actions{display:flex;gap:var(--space-1);margin-top:4px;padding-left:2px}.msg-action{border:none;background:transparent;color:var(--color-text-muted);padding:4px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease}.msg-action:hover{color:var(--color-primary-bright);background:#2f55ff1a}.msg-action--on{color:var(--color-primary-bright)}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--color-primary-bright);animation:typing-blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes typing-blink{0%,60%,to{opacity:.25}30%{opacity:1}}.chat__quick{display:flex;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-3) 0 var(--space-1);justify-content:center}.chat__chip{border:1px solid var(--color-line-strong);background:var(--color-card);color:var(--color-text-secondary);font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.chat__chip:hover{border-color:var(--color-primary);color:var(--color-primary-bright)}.chat__composer{display:flex;gap:var(--space-2);padding:var(--space-3) 0 0;align-items:center}.chat__composer .input-shell{flex:1;background:var(--color-card)}.chat__send{width:46px;height:46px;flex:none;border:none;border-radius:50%;background:var(--gradient-primary);color:var(--color-on-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-primary);transition:filter .15s ease,opacity .15s ease}.chat__send:disabled{opacity:.45;cursor:not-allowed}.chat__send:hover:not(:disabled){filter:brightness(1.12)}.chat__mic{width:42px;height:42px;flex:none;border-radius:50%;border:1.5px solid var(--color-line-strong);background:var(--color-card);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.chat__mic:hover{color:var(--color-primary-bright);border-color:var(--color-primary)}.voice{flex:1;display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden;padding:0 var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom,0px));position:relative}.voice__body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);text-align:center;padding:var(--space-4) 0}.voice__orb{width:208px;height:208px;border-radius:46% 54% 52% 48%/50% 46% 54% 50%;background:var(--gradient-orb);filter:saturate(1.05);box-shadow:0 0 70px #5a82ff59,inset 0 0 40px #ffffff40;animation:orb-float 6s ease-in-out infinite;flex:none}.voice__orb--recording{animation:orb-pulse 1.8s ease-in-out infinite;box-shadow:0 0 90px #7896ff80,inset 0 0 50px #ffffff59}@keyframes orb-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(3deg)}}@keyframes orb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.voice__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.voice__transcript{font-size:var(--font-size-lg);line-height:1.65;max-width:330px;min-height:54px;color:var(--color-text)}.voice__timer{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-text);letter-spacing:1px}.voice__reply{max-width:340px;text-align:left;background:var(--bubble-ai-bg);border:1px solid var(--bubble-ai-border);border-radius:var(--radius-lg);padding:var(--space-4);font-size:var(--font-size-sm);line-height:1.7;color:var(--bubble-ai-text);white-space:pre-wrap}.voice__controls{display:flex;align-items:center;justify-content:center;gap:34px;padding:var(--space-3) 0 var(--space-2)}.voice__mic{width:74px;height:74px;border-radius:50%;border:none;background:var(--gradient-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 12px #2f55ff29,0 0 0 26px #2f55ff14;transition:background .2s ease,transform .15s ease}.voice__mic:hover{transform:scale(1.03)}.voice__mic--recording{background:var(--color-danger);box-shadow:0 0 0 12px #f4626e2e,0 0 0 26px #f4626e14}.voice__side{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--color-line-strong);background:var(--color-card);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer}.voice__side:disabled{opacity:.35;cursor:not-allowed}.voice__side:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-bright)}.wave{display:flex;align-items:center;justify-content:center;gap:4px;height:34px}.wave i{width:3px;height:8px;border-radius:2px;background:var(--color-primary-bright);animation:wave-bounce 1s ease-in-out infinite}.wave i:nth-child(2n){animation-delay:.15s;height:16px}.wave i:nth-child(3n){animation-delay:.3s;height:22px}.wave i:nth-child(4n){animation-delay:.45s;height:12px}@keyframes wave-bounce{0%,to{transform:scaleY(.55);opacity:.6}50%{transform:scaleY(1.25);opacity:1}}.voice__links{display:flex;gap:var(--space-4);justify-content:center}.vision__card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border:2px solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-card)}.vision__preview{position:relative;border-radius:var(--radius-md);background:var(--color-card-strong);border:1px dashed var(--color-line-strong);min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}.vision__preview img{width:100%;max-height:260px;object-fit:cover}.vision__empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--space-6);text-align:center}.vision__actions{display:flex;gap:var(--space-2)}.vision__actions .btn{flex:1}.vision__result{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--bubble-ai-bg);border:1px solid var(--bubble-ai-border)}.vision__result-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary-bright)}.vision__reply{white-space:pre-wrap;font-size:var(--font-size-md);line-height:1.7}.history__list{display:flex;flex-direction:column;gap:var(--space-3)}.history-item{display:flex;align-items:center;gap:var(--space-2);padding:12px var(--space-3);border-radius:var(--radius-md);background:var(--color-card);border:1px solid var(--color-line);color:var(--color-text);text-decoration:none}.history-item:hover{border-color:var(--color-primary)}.history-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.history-item__title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item__desc{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item__meta{font-size:11px;color:var(--color-text-muted);flex:none}.history-item__actions{display:flex;align-items:center;gap:2px}.pricing__current{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(120deg,#2f55ff38,#4cc3ff1f);border:1px solid var(--color-primary-deep)}.pricing__current-main{flex:1}.pricing__current-name{font-family:var(--font-display);font-weight:700}.plans{display:flex;flex-direction:column;gap:var(--space-4)}.plan-option{position:relative;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:var(--space-4);border-radius:var(--radius-lg);border:2px solid var(--color-line);background:var(--color-card);color:var(--color-text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.plan-option:hover{border-color:var(--color-primary)}.plan-option--active{border-color:var(--color-primary);background:#2f55ff1a}.plan-option--current{border-color:var(--color-success)}.plan-option__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.plan-option__price{font-family:var(--font-display);font-weight:700;font-size:var(--font-size-xl)}.plan-option__period{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400}.plan-option__feature{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.plan-option__tag{position:absolute;top:-10px;right:14px;font-size:10px;background:var(--color-primary);color:var(--color-on-primary);padding:2px 8px;border-radius:var(--radius-full)}.pay-methods{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.pay-method{display:flex;align-items:center;gap:var(--space-3);padding:12px var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--color-line);background:var(--color-card);color:var(--color-text);cursor:pointer;width:100%;text-align:left;transition:border-color .15s ease}.pay-method--active{border-color:var(--color-primary);background:#2f55ff14}.pay-method__icon{flex:none;display:flex}.pay-method__main{flex:1;display:flex;flex-direction:column}.pay-method__name{font-weight:500}.pay-method__note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.pay-amount{text-align:center;padding:var(--space-2) 0 var(--space-4)}.pay-amount__num{font-family:var(--font-display);font-size:34px;font-weight:700}.pay-amount__period{color:var(--color-text-muted);font-size:var(--font-size-sm)}.pay-qr{width:168px;height:168px;margin:0 auto;border-radius:var(--radius-md);background:repeating-conic-gradient(var(--color-bg-elevated) 0% 25%,#e8ecf5 0% 50%) 50% / 22px 22px;border:6px solid #e8ecf5}.pay-qr-note{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-3);line-height:1.7}.pay-done{text-align:center;padding:var(--space-5) 0 var(--space-2);display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.pay-done__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700}.pay-fail{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#f4626e1a;color:var(--color-danger);font-size:var(--font-size-sm)}.settings__user{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-card);border:1px solid var(--color-line)}.settings__user-info{flex:1;min-width:0}.settings__user-name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;display:flex;align-items:center;gap:8px}.settings__user-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings__user-bio{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.theme-options{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}.theme-option{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:var(--radius-md);border:1.5px solid var(--color-line);background:var(--color-card-strong);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.theme-option--active{border-color:var(--color-primary);color:var(--color-primary-bright);background:#2f55ff1a}.faq{display:flex;flex-direction:column;gap:var(--space-2)}.faq__item{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-card);overflow:hidden}.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:14px var(--space-4);background:none;border:none;color:var(--color-text);text-align:left;font-size:var(--font-size-md);cursor:pointer;font-weight:500}.faq__q-icon{flex:none;color:var(--color-text-muted);transition:transform .2s ease}.faq__q-icon--open{transform:rotate(180deg)}.faq__a{padding:0 var(--space-4) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.75}.faq__cat{font-size:11px;color:var(--color-primary-bright);display:block;margin-bottom:2px}.prose{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.8}.prose h3{color:var(--color-text);font-size:var(--font-size-md);margin:var(--space-4) 0 var(--space-2);font-family:var(--font-display)}.prose p{margin-bottom:var(--space-2)}.prose ul{padding-left:18px;margin:0 0 var(--space-2)}.rate__stars{display:flex;justify-content:center;gap:var(--space-2);padding:var(--space-3) 0}.rate__star{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-line-strong);transition:transform .12s ease,color .12s ease}.rate__star:hover{transform:scale(1.08)}.rate__star--on{color:var(--color-warning)}.rate__label{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rate__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rate__tag{border:1px solid var(--color-line-strong);background:var(--color-card);color:var(--color-text-secondary);border-radius:var(--radius-full);padding:6px 12px;font-size:var(--font-size-xs);cursor:pointer}.rate__tag--on{border-color:var(--color-primary);color:var(--color-primary-bright);background:#2f55ff1f}.rate__done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8) 0}.form-stack{display:flex;flex-direction:column;gap:var(--space-4)}.confirm-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.7}.code-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-card);border-radius:var(--radius-md);padding:10px 12px;line-height:1.6}.about-meta{display:flex;flex-direction:column;gap:0}.hue-picker{display:flex;gap:var(--space-2);flex-wrap:wrap}.hue-dot{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer}.hue-dot--active{border-color:var(--color-text);transform:scale(1.1)}.chat__composer .field{flex:1;min-width:0}.chat__composer .input-shell{width:100%}.paycards{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);scroll-snap-type:x mandatory}.paycard{flex:none;width:260px;height:150px;border-radius:var(--radius-md);padding:var(--space-4);color:#fff;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:start;position:relative;text-align:left;border:none;cursor:pointer}.paycard--visa{background:linear-gradient(135deg,#1b1464,#2f55ff 55%,#35c3c9)}.paycard--unionpay{background:linear-gradient(135deg,#b02a37,#d9564f 60%,#f0a05a)}.paycard--add{background:var(--color-card);border:1.5px dashed var(--color-line-strong);color:var(--color-text-secondary);align-items:center;justify-content:center;display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer}.paycard__label{font-size:var(--font-size-xs);opacity:.85}.paycard__brand{font-family:var(--font-display);font-weight:700;font-style:italic;font-size:var(--font-size-lg)}.paycard__num{font-family:var(--font-display);font-size:var(--font-size-md);letter-spacing:2px}.paycard__foot{display:flex;justify-content:space-between;font-size:var(--font-size-xs);opacity:.9}.paycard__default{position:absolute;top:10px;right:10px;font-size:10px;background:#ffffff38;padding:2px 8px;border-radius:var(--radius-full)}.otp{display:flex;gap:var(--space-3);justify-content:center}.otp__box{width:58px;height:70px;text-align:center;font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:600;border:2px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);outline:none;transition:border-color .15s ease}.otp__box:focus{border-color:var(--color-primary)}.otp__box--error{border-color:var(--color-danger)}.notfound{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-3);padding:var(--space-6);position:relative;z-index:1}.notfound__art{width:220px;height:220px;border-radius:50%;border:1px solid var(--color-line-strong);display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:var(--space-4)}.notfound__code{font-family:var(--font-display);font-size:56px;font-weight:700;color:var(--color-primary-bright);letter-spacing:2px;transform:rotate(-6deg);text-shadow:0 6px 24px rgba(47,85,255,.35)}.notfound__title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:700}.notfound__links{display:flex;gap:var(--space-4);margin-top:var(--space-2)}.pop-menu{position:absolute;top:52px;right:12px;z-index:40;min-width:180px;background:var(--color-bg-elevated);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-card)}.pop-menu__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:12px 16px;background:none;border:none;border-bottom:1px solid var(--color-line);color:var(--color-text);font-size:var(--font-size-md);cursor:pointer;text-align:left}.pop-menu__item:last-child{border-bottom:none}.pop-menu__item:hover{background:#2f55ff1a;color:var(--color-primary-bright)}
