@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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(./inter-cyrillic-ext-700-normal-LO58E6JB.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:700;src:url(./inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(./inter-cyrillic-700-normal-DrXBdSj3.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:700;src:url(./inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(./inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(./inter-greek-700-normal-BUv2fZ6O.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:700;src:url(./inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(./inter-vietnamese-700-normal-BZaoP0fm.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:700;src:url(./inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(./inter-latin-ext-700-normal-TidjK2hL.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:700;src:url(./inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(./inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(./poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(./poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(./poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--shell-max: 402px;--font-sans: "Inter", "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;--font-display: "Poppins", "Inter", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;--text-xs: 12px;--text-sm: 13px;--text-md: 15px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--text-4xl: 32px;--leading-tight: 1.22;--leading-snug: 1.38;--leading-normal: 1.6;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-xs: 5px;--radius-sm: 9px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 18px;--radius-3xl: 24px;--radius-pill: 999px;--color-bg: #f6fbfa;--color-bg-accent: #e4f3f1;--color-surface: #ffffff;--color-surface-soft: #f0faf8;--color-surface-muted: #edf5f3;--color-surface-deep: #0c2f2c;--color-on-deep: #f2fbf9;--color-on-deep-muted: #a9c6c2;--color-ink: #0f3b38;--color-ink-2: #557370;--color-ink-3: #6e8985;--color-line: #ddebe8;--color-line-strong: #c9dcd9;--color-primary: #14a89a;--color-primary-strong: #0b7970;--color-primary-hover: #3fc4b6;--color-primary-pressed: #0b7970;--color-primary-soft: #c9f3f0;--color-on-primary: #0a2e2a;--color-on-primary-pressed: #ffffff;--color-teal: #14a89a;--color-deep-accent: #c9f3f0;--color-teal-soft: #d6f7e8;--color-aqua: #c9f3f0;--color-peach: #ffe9cc;--color-pink: #f9d3e6;--color-gold: #e6b800;--color-gold-soft: #fff2c2;--color-lilac: #e8e4ff;--color-deep: #0f3b38;--color-danger: #d64545;--color-danger-soft: #fdeaea;--color-success: #128a6f;--color-success-soft: #d9f6ec;--color-warning: #b7791f;--color-warning-soft: #fff4dd;--color-scrim: rgba(6, 32, 29, .46);--color-on-accent: #ffffff;--color-on-gold: #3c3000;--color-glass: rgba(246, 251, 250, .84);--color-hero-glow: rgba(20, 168, 154, .26);--cover-mint-1: #d6f7e8;--cover-mint-2: #a9e9d2;--cover-mint-ink: #0f3b38;--cover-peach-1: #ffe9cc;--cover-peach-2: #ffd1a3;--cover-peach-ink: #6b3f12;--cover-lilac-1: #e9e5ff;--cover-lilac-2: #cbc4ff;--cover-lilac-ink: #2e2980;--cover-pink-1: #f9d3e6;--cover-pink-2: #f2b2d3;--cover-pink-ink: #6e2450;--cover-aqua-1: #c9f3f0;--cover-aqua-2: #9fe6e0;--cover-aqua-ink: #0c4a47;--cover-gold-1: #fff2c2;--cover-gold-2: #ffe08a;--cover-gold-ink: #6b5200;--shadow-raised: 0 1px 2px rgba(15, 59, 56, .05), 0 10px 28px rgba(15, 59, 56, .07);--shadow-float: 0 18px 48px rgba(15, 59, 56, .2);--shadow-soft: 0 2px 10px rgba(15, 59, 56, .05);--shadow-primary: 0 10px 24px rgba(20, 168, 154, .26);color-scheme:light}[data-theme=dark]{--color-bg: #0a1614;--color-bg-accent: #0f211f;--color-surface: #0f211f;--color-surface-soft: #122a27;--color-surface-muted: #17302d;--color-surface-deep: #12312e;--color-on-deep: #eaf7f5;--color-on-deep-muted: #a9c6c2;--color-ink: #e6f5f3;--color-ink-2: #b3cbc8;--color-ink-3: #84a19e;--color-line: #1e3b38;--color-line-strong: #2c4f4b;--color-primary: #3fc4b6;--color-primary-strong: #6fd8cc;--color-primary-hover: #5fd3c7;--color-primary-pressed: #14a89a;--color-primary-soft: #123b37;--color-on-primary: #06201d;--color-on-primary-pressed: #06201d;--color-teal: #3fc4b6;--color-deep-accent: #8af7e9;--color-teal-soft: #173a35;--color-aqua: #1e4a48;--color-peach: #4a3524;--color-pink: #472437;--color-gold: #f0c53c;--color-gold-soft: #443506;--color-lilac: #2e2a52;--color-deep: #0f3b38;--color-danger: #ff7a7a;--color-danger-soft: #3a1e22;--color-success: #4ad2ab;--color-success-soft: #133a31;--color-warning: #efb45c;--color-warning-soft: #3d2e14;--color-scrim: rgba(0, 0, 0, .66);--color-glass: rgba(15, 33, 31, .86);--color-hero-glow: rgba(63, 196, 182, .24);--cover-mint-1: #1c4a3d;--cover-mint-2: #123029;--cover-mint-ink: #c7f5e3;--cover-peach-1: #4a3524;--cover-peach-2: #332317;--cover-peach-ink: #ffe0b8;--cover-lilac-1: #332d5f;--cover-lilac-2: #241f45;--cover-lilac-ink: #ddd8ff;--cover-pink-1: #4a2840;--cover-pink-2: #331b2c;--cover-pink-ink: #ffd1e7;--cover-aqua-1: #1a4744;--cover-aqua-2: #11312f;--cover-aqua-ink: #c4f4f0;--cover-gold-1: #4a3b12;--cover-gold-2: #32270a;--cover-gold-ink: #ffe9a8;--shadow-raised: 0 0 0 1px rgba(255, 255, 255, .05), 0 14px 32px rgba(0, 0, 0, .3);--shadow-float: 0 24px 60px rgba(0, 0, 0, .55);--shadow-soft: 0 0 0 1px rgba(255, 255, 255, .04);--shadow-primary: 0 10px 24px rgba(63, 196, 182, .2);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-snug);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p{margin:0;font-weight:inherit}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block;max-inline-size:100%}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary);color:var(--color-on-primary)}.app-bg{min-height:100dvh;display:flex;justify-content:center;background:radial-gradient(900px 520px at 12% -8%,var(--color-bg-accent),transparent 62%),radial-gradient(700px 480px at 96% 8%,var(--color-surface-soft),transparent 60%),var(--color-bg)}.shell{position:relative;width:100%;max-width:var(--shell-max);min-height:100dvh;background:var(--color-bg);display:flex;flex-direction:column}@media(min-width:560px){.shell{border-left:1px solid var(--color-line);border-right:1px solid var(--color-line);box-shadow:var(--shadow-soft)}}.page{flex:1;display:flex;flex-direction:column;min-height:100dvh}.page--nav{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.page__body{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-5) var(--space-5) var(--space-10)}.page__body--tight{gap:var(--space-4);padding-top:var(--space-3)}.stack{display:flex;flex-direction:column}.stack--2{gap:var(--space-2)}.stack--3{gap:var(--space-3)}.stack--4{gap:var(--space-4)}.stack--5{gap:var(--space-5)}.stack--6{gap:var(--space-6)}.row{display:flex;align-items:center}.row--between{justify-content:space-between}.row--gap{gap:var(--space-3)}.grow{flex:1;min-width:0}.section{display:flex;flex-direction:column;gap:var(--space-3)}.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.section__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.section__hint{font-size:var(--text-xs);color:var(--color-ink-3)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-3)}.muted{color:var(--color-ink-2)}.subtle{color:var(--color-ink-3)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.strong{font-weight:600}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.link{color:var(--color-primary);font-weight:600;display:inline-flex;align-items:center;gap:4px}.link:hover{color:var(--color-primary-strong)}.pill-note{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;background:var(--color-surface-muted);color:var(--color-ink-2)}.divider{height:1px;background:var(--color-line);border:0;margin:0}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-lg);font-weight:600;white-space:nowrap;transition:transform .14s ease,background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;text-align:center}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.46;cursor:not-allowed}.btn--sm{height:38px;padding:0 14px;font-size:var(--text-sm);border-radius:var(--radius-md)}.btn--md{height:46px;padding:0 20px;font-size:var(--text-base)}.btn--lg{height:54px;padding:0 24px;font-size:var(--text-base);border-radius:var(--radius-2xl)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--primary:active:not(:disabled){background:var(--color-primary-pressed);color:var(--color-on-primary-pressed)}.btn--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line-strong)}.btn--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn--ghost{background:transparent;color:var(--color-ink-2)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-ink)}.btn--full{width:100%}.btn__icon{display:inline-flex;flex:none}.btn__icon--right{margin-left:1px}.btn__label{display:inline-flex;align-items:center;gap:4px}.btn__spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .7s linear infinite;flex:none}@keyframes btn-spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease;flex:none}.icon-btn--sm{width:34px;height:34px}.icon-btn--md{width:42px;height:42px}.icon-btn--plain{background:transparent;color:var(--color-ink-2)}.icon-btn--plain:hover{background:var(--color-surface-muted);color:var(--color-ink)}.icon-btn--filled{background:var(--color-surface);border-color:var(--color-line);color:var(--color-ink);box-shadow:var(--shadow-soft)}.icon-btn--filled:hover{border-color:var(--color-line-strong)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field__label{font-size:var(--text-xs);font-weight:600;color:var(--color-ink-2);letter-spacing:.01em}.field__error{font-size:var(--text-xs);color:var(--color-danger);font-weight:500}.field__hint{font-size:var(--text-xs);color:var(--color-ink-3)}.input-wrap{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 14px;background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);transition:border-color .16s ease,box-shadow .16s ease}.input-wrap--sm{min-height:40px;border-radius:var(--radius-md);padding:0 12px}.input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.input-wrap.is-error{border-color:var(--color-danger)}.input-wrap.is-error:focus-within{box-shadow:0 0 0 3px var(--color-danger-soft)}.input-wrap__affix{display:inline-flex;align-items:center;color:var(--color-ink-3);flex:none;font-size:var(--text-sm)}.input-wrap__affix--right{margin-left:auto}.input{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;font-size:var(--text-md);color:var(--color-ink);padding:12px 0}.input::placeholder{color:var(--color-ink-3)}.input:disabled{cursor:not-allowed;color:var(--color-ink-3)}.textarea{width:100%;resize:vertical;min-height:96px;padding:12px 14px;border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-md);line-height:var(--leading-normal);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.textarea.is-error{border-color:var(--color-danger)}.select-wrap{position:relative;display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);min-height:48px}.select-wrap--sm{min-height:40px;border-radius:var(--radius-md)}.select-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.select-wrap.is-error{border-color:var(--color-danger)}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:100%;min-height:inherit;padding:0 34px 0 13px;border:0;outline:none;background:transparent;color:var(--color-ink);font-size:var(--text-sm);cursor:pointer}.select.is-placeholder{color:var(--color-ink-3)}.select:disabled{cursor:not-allowed;color:var(--color-ink-3)}.select-wrap__chevron{position:absolute;right:11px;pointer-events:none;color:var(--color-ink-3)}.checkbox{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;text-align:left;color:var(--color-ink)}.checkbox__box{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--color-line-strong);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--color-on-primary);transition:background-color .16s ease,border-color .16s ease;flex:none}.checkbox.is-checked .checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox.is-disabled{opacity:.5;cursor:not-allowed}.checkbox__label{font-size:var(--text-sm);line-height:1.4}.switch{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--color-ink)}.switch__track{position:relative;width:46px;height:28px;border-radius:var(--radius-pill);background:var(--color-surface-muted);border:1px solid var(--color-line-strong);transition:background-color .2s ease,border-color .2s ease;flex:none}.switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--color-surface);box-shadow:0 1px 3px #00000038;transition:transform .2s cubic-bezier(.2,.8,.3,1)}.switch.is-on .switch__track{background:var(--color-teal);border-color:var(--color-teal)}.switch.is-on .switch__thumb{transform:translate(18px)}.switch.is-disabled{opacity:.5;cursor:not-allowed}.switch__label{font-size:var(--text-sm)}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.card--flat{box-shadow:none}.card--raised{box-shadow:var(--shadow-raised);border-color:transparent}.card.is-padded{padding:var(--space-4)}.card.is-interactive{cursor:pointer}.card.is-interactive:hover{border-color:var(--color-line-strong);transform:translateY(-1px);box-shadow:var(--shadow-raised)}.list-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--color-line);background:transparent;text-align:left;color:var(--color-ink)}.list-item:last-child{border-bottom:0}.list-item.is-selected{background:var(--color-primary-soft)}.list-item__leading,.list-item__trailing{display:inline-flex;align-items:center;flex:none}.list-item__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.list-item__title{font-size:var(--text-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item__subtitle{font-size:var(--text-xs);color:var(--color-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item__meta{font-size:var(--text-xs);color:var(--color-ink-3);flex:none}.list-item__chevron{color:var(--color-ink-3);flex:none}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--color-primary-soft);flex:none}.avatar--sm{width:32px;height:32px;font-size:13px}.avatar--md{width:42px;height:42px;font-size:16px}.avatar--lg{width:64px;height:64px;font-size:24px}.avatar__img{width:100%;height:100%;object-fit:cover}.avatar__fallback{font-weight:700;color:var(--color-primary);font-family:var(--font-display)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);font-size:10.5px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;background:var(--color-primary);color:var(--color-on-primary)}.badge--dot{min-width:8px;width:8px;height:8px;padding:0}.badge--danger{background:var(--color-danger);color:var(--color-on-accent)}.badge--soft{background:var(--color-surface-muted);color:var(--color-ink-2)}.badge--success{background:var(--color-success);color:var(--color-on-accent)}.badge--warning{background:var(--color-gold);color:var(--color-on-gold)}.tabs{display:flex;align-items:center;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs--underline{gap:0;border-bottom:1px solid var(--color-line)}.tabs__tab{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--color-ink-3);font-weight:600;position:relative;transition:color .16s ease}.tabs--underline .tabs__tab{padding:10px 2px;margin-right:22px;font-size:var(--text-md)}.tabs--underline .tabs__tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:transparent}.tabs--underline .tabs__tab.is-active{color:var(--color-ink)}.tabs--underline .tabs__tab.is-active:after{background:var(--color-primary)}.tabs--pill{background:var(--color-surface-muted);padding:4px;border-radius:var(--radius-pill)}.tabs--pill .tabs__tab{flex:1;justify-content:center;padding:8px 14px;border-radius:var(--radius-pill);font-size:var(--text-sm)}.tabs--pill .tabs__tab.is-active{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-soft)}.tabs--sm .tabs__tab{font-size:var(--text-xs)}.tabs__badge{min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:10px;display:inline-flex;align-items:center;justify-content:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:overlay-in .2s ease both}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140}.modal{position:fixed;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:420px;max-height:88dvh;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-3xl);box-shadow:var(--shadow-float);overflow:hidden;outline:none;animation:modal-pop .24s cubic-bezier(.22,.9,.26,1) both}.modal--sm{max-width:340px}.modal--lg{max-width:460px}@keyframes modal-pop{0%{opacity:0;transform:translate(-50%,-47%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal__glow{position:absolute;top:-70px;right:-50px;width:180px;height:180px;border-radius:50%;background:var(--color-primary-soft);opacity:.55;pointer-events:none}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:20px 20px 0;position:relative}.modal__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em}.modal__desc{margin-top:4px;font-size:var(--text-xs);color:var(--color-ink-3);line-height:var(--leading-normal)}.modal__body{padding:16px 20px;overflow-y:auto;overscroll-behavior:contain}.modal__footer{display:flex;gap:var(--space-2);padding:4px 20px 20px}.modal__footer>.btn{flex:1}.drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130}.drawer{position:fixed;z-index:2;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-line);box-shadow:var(--shadow-float);outline:none;overflow:hidden}.drawer--bottom{left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:440px;max-height:86dvh;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:drawer-up .28s cubic-bezier(.22,.82,.24,1) both}@keyframes drawer-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer--left,.drawer--right{top:0;bottom:0;width:min(86vw,360px);border-radius:0}.drawer--left{left:0;animation:drawer-left .26s cubic-bezier(.22,.82,.24,1) both}.drawer--right{right:0;animation:drawer-right .26s cubic-bezier(.22,.82,.24,1) both}@keyframes drawer-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-right{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer__grabber{width:38px;height:4px;border-radius:2px;background:var(--color-line-strong);margin:8px auto 0;flex:none}.drawer--left .drawer__grabber,.drawer--right .drawer__grabber{display:none}.drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:14px 20px 6px;flex:none}.drawer__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.drawer__desc{margin-top:3px;font-size:var(--text-xs);color:var(--color-ink-3)}.drawer__body{padding:8px 20px 16px;overflow-y:auto;overscroll-behavior:contain}.drawer__footer{display:flex;gap:var(--space-2);padding:10px 20px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);flex:none}.drawer__footer>.btn{flex:1}.toast-viewport{position:fixed;left:50%;bottom:calc(94px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-line);box-shadow:var(--shadow-float);pointer-events:auto;animation:toast-raise .26s cubic-bezier(.22,.82,.24,1) both}@keyframes toast-raise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast__message{flex:1;font-size:var(--text-sm);font-weight:500}.toast--info>svg{color:var(--color-primary)}.toast--success>svg{color:var(--color-success)}.toast--warning>svg{color:var(--color-warning)}.toast--error>svg{color:var(--color-danger)}.toast__close{border:0;background:transparent;color:var(--color-ink-3);font-size:18px;line-height:1;padding:2px 4px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-10) var(--space-5)}.empty-state__art{width:76px;height:76px;border-radius:26px;display:grid;place-items:center;background:var(--color-surface-soft);border:1px solid var(--color-line);color:var(--color-teal);margin-bottom:var(--space-2);position:relative}.empty-state__art:after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:var(--color-primary-soft);right:-6px;bottom:-6px}.empty-state__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.empty-state__desc{font-size:var(--text-sm);color:var(--color-ink-3);max-width:280px;line-height:var(--leading-normal)}.empty-state__action{margin-top:var(--space-3)}.skeleton{background:linear-gradient(100deg,var(--color-surface-muted) 20%,var(--color-surface) 42%,var(--color-surface-muted) 64%);background-size:220% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:140% 0}to{background-position:-40% 0}}.skeleton--line{height:12px;border-radius:6px}.skeleton--block{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-xl)}.skeleton--thumb{width:56px;height:56px;border-radius:var(--radius-lg);flex:none}.skeleton-stack{display:flex;flex-direction:column;gap:10px}.skeleton-card{display:flex;flex-direction:column;gap:10px;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl)}.skeleton-list{display:flex;flex-direction:column;gap:14px}.skeleton-row{display:flex;gap:var(--space-3);align-items:center;padding:10px 0}.skeleton-row__text{display:flex;flex-direction:column;gap:8px;flex:1}.page-header{display:flex;align-items:center;gap:var(--space-3);padding:14px 20px;background:var(--color-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:40}.page-header.is-sticky{position:sticky;top:0}.page-header.is-bordered{border-bottom:1px solid var(--color-line)}.page-header__titles{display:flex;flex-direction:column;gap:1px;min-width:0}.page-header__eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-3)}.page-header__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header__subtitle{font-size:var(--text-xs);color:var(--color-ink-3)}.page-header__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:440px;z-index:60;background:var(--color-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--color-line);padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.bottom-nav__inner{display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:3px 0;color:var(--color-ink-3);font-size:10.5px;font-weight:600;transition:color .16s ease}.bottom-nav__item.is-active{color:var(--color-primary)}.bottom-nav__label{font-size:10.5px;font-weight:600;letter-spacing:.01em}.bottom-nav__icon{position:relative;width:46px;height:30px;border-radius:var(--radius-pill);display:grid;place-items:center;transition:background-color .18s ease}.bottom-nav__item.is-active .bottom-nav__icon{background:var(--color-primary-soft)}.bottom-nav__badge{position:absolute;top:-3px;right:2px;box-shadow:0 0 0 2px var(--color-surface)}.cover{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;padding:10px;color:var(--cover-ink);background:linear-gradient(135deg,var(--cover-1),var(--cover-2))}.cover--mint{--cover-1: var(--cover-mint-1);--cover-2: var(--cover-mint-2);--cover-ink: var(--cover-mint-ink)}.cover--peach{--cover-1: var(--cover-peach-1);--cover-2: var(--cover-peach-2);--cover-ink: var(--cover-peach-ink)}.cover--lilac{--cover-1: var(--cover-lilac-1);--cover-2: var(--cover-lilac-2);--cover-ink: var(--cover-lilac-ink)}.cover--pink{--cover-1: var(--cover-pink-1);--cover-2: var(--cover-pink-2);--cover-ink: var(--cover-pink-ink)}.cover--aqua{--cover-1: var(--cover-aqua-1);--cover-2: var(--cover-aqua-2);--cover-ink: var(--cover-aqua-ink)}.cover--gold{--cover-1: var(--cover-gold-1);--cover-2: var(--cover-gold-2);--cover-ink: var(--cover-gold-ink)}.cover--xs,.cover--sm{align-items:center;justify-content:center;padding:0}.cover--xs{width:44px;height:44px;border-radius:var(--radius-md);flex:none}.cover--sm{width:60px;height:60px;border-radius:var(--radius-lg);flex:none}.cover--md,.cover--lg{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-xl)}.cover--lg{border-radius:var(--radius-2xl);padding:14px;align-items:center;justify-content:center}.cover__orb{position:absolute;border-radius:50%;background:#ffffff6b;pointer-events:none}.cover__orb--a{width:54%;aspect-ratio:1;right:-14%;top:-26%}.cover__orb--b{width:34%;aspect-ratio:1;left:-10%;bottom:-22%;background:#ffffff3d}.cover__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);background-size:22px 22px;opacity:.5;-webkit-mask-image:radial-gradient(circle at 78% 18%,black,transparent 70%);mask-image:radial-gradient(circle at 78% 18%,black,transparent 70%);pointer-events:none}.cover__glyph{position:relative;width:46px;height:46px;border-radius:var(--radius-lg);display:grid;place-items:center;background:#ffffff8f;border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--cover-ink)}.cover--xs .cover__glyph{width:32px;height:32px;border-radius:var(--radius-sm);background:#ffffff57;border:0}.cover--sm .cover__glyph{width:38px;height:38px;border-radius:var(--radius-md);background:#ffffff5c;border:0}.cover--lg .cover__glyph{width:94px;height:94px;border-radius:30px;background:#ffffff85;box-shadow:0 14px 34px #141e281a}.cover--lg .cover__glyph svg{width:42px;height:42px}.cover--lg .cover__orb--a{width:44%;right:-8%;top:-18%}.cover--lg .cover__orb--b{width:38%;left:-12%;bottom:-30%}.cover--lg .cover__grid{opacity:.7}.cover__tag{position:absolute;top:14px;left:14px;padding:4px 10px;border-radius:var(--radius-pill);background:#0f161c75;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:11px;font-weight:700;color:var(--color-on-accent)}[data-theme=dark] .cover__glyph{background:#ffffff24;border-color:#ffffff24}[data-theme=dark] .cover__orb{background:#ffffff1f}[data-theme=dark] .cover__orb--b{background:#ffffff12}[data-theme=dark] .cover__grid{opacity:.3}.progress{width:100%;border-radius:var(--radius-pill);background:var(--color-surface-muted);overflow:hidden}.progress--sm{height:5px}.progress--md{height:8px}.progress__fill{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .4s cubic-bezier(.22,.82,.24,1)}.progress--teal .progress__fill{background:var(--color-teal)}.progress--gold .progress__fill{background:var(--color-gold)}.progress--danger .progress__fill{background:var(--color-danger)}.progress--onDark{background:#ffffff38}.progress--onDark .progress__fill{background:var(--color-deep-accent)}.stat-tile{display:flex;flex-direction:column;gap:3px;padding:13px 14px;border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-line);min-width:0}.stat-tile--mint{background:var(--color-teal-soft);border-color:transparent}.stat-tile--peach{background:var(--color-peach);border-color:transparent}.stat-tile--lilac{background:var(--color-lilac);border-color:transparent}.stat-tile__top{display:flex;align-items:center;justify-content:space-between;gap:6px}.stat-tile__label{font-size:11px;font-weight:600;color:var(--color-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-tile__icon{color:var(--color-ink-2);flex:none}.stat-tile__value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-tile__hint{font-size:10.5px;color:var(--color-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-bar{display:flex;align-items:center;gap:var(--space-2);height:48px;padding:0 8px 0 14px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.search-bar:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.search-bar__icon{color:var(--color-ink-3);flex:none}.search-bar__input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:var(--text-md);padding:10px 0}.search-bar__input::placeholder{color:var(--color-ink-3)}.search-bar__clear{width:26px;height:26px}.search-bar__filter{border:0;background:var(--color-surface-muted);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:600;padding:7px 12px;border-radius:var(--radius-pill);flex:none}.search-bar__submit{border:0;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-xs);font-weight:600;padding:8px 14px;border-radius:var(--radius-pill);flex:none}.sheet-group{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);overflow:hidden}.sheet-group__label{padding:0 4px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-3);margin-bottom:8px;display:block}.sheet-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--color-line);background:transparent;text-align:left;color:var(--color-ink);transition:background-color .14s ease}.sheet-row:last-child{border-bottom:0}.sheet-row:hover{background:var(--color-surface-muted)}.sheet-row:disabled{opacity:.5}.sheet-row__icon{width:30px;height:30px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--color-surface-muted);color:var(--color-ink-2);flex:none}.sheet-row__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.sheet-row__title{font-size:var(--text-md);font-weight:600}.sheet-row__subtitle{font-size:var(--text-xs);color:var(--color-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-row__value{font-size:var(--text-sm);color:var(--color-ink-3);display:inline-flex;align-items:center;gap:6px;flex:none}.sheet-row__chevron{color:var(--color-ink-3);flex:none}.sheet-row.is-danger .sheet-row__title,.sheet-row.is-danger .sheet-row__icon{color:var(--color-danger)}.region-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.region-picker .field__label{font-size:11px}.region-picker .select{padding-left:10px;padding-right:26px;font-size:var(--text-xs)}.region-picker .select-wrap__chevron{right:7px;width:14px;height:14px}.chip-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;flex:none;white-space:nowrap;height:32px;padding:0 13px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:600;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.chip.is-active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}.chip--soft{background:var(--color-surface-muted);border-color:transparent}.meta-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-ink-3);flex-wrap:wrap}.meta-dot:before{content:"·";margin-right:6px;color:var(--color-ink-3)}.tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-pill);font-size:10.5px;font-weight:600;background:var(--color-surface-muted);color:var(--color-ink-2)}.tag--teal{background:var(--color-teal-soft);color:var(--color-teal)}.tag--soft{background:var(--color-surface-muted);color:var(--color-ink-2)}.tag--primary{background:var(--color-primary-soft);color:var(--color-primary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.input--area{width:100%;min-height:96px;resize:vertical;padding:12px 14px;border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);line-height:var(--leading-normal)}.input--area:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.btn.is-loading{cursor:progress;opacity:.78}.btn.is-loading .btn__label{opacity:.72}.auth{flex:1;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:var(--color-bg)}.auth__hero{position:relative;overflow:hidden;padding:26px 22px 70px;background:linear-gradient(145deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep);border-radius:0 0 var(--radius-3xl) var(--radius-3xl)}.auth__hero--compact{padding-bottom:58px}.auth__orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}.auth__orb--a{width:240px;height:240px;right:-90px;top:-80px;background:radial-gradient(circle at 35% 35%,var(--color-hero-glow),transparent 68%)}.auth__orb--b{width:180px;height:180px;left:-60px;bottom:-90px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.1),transparent 70%)}.auth__brand{position:relative;display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.01em}.auth__logo{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--color-deep-accent);color:var(--color-deep)}.auth__headline{position:relative;margin-top:24px;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.02em}.auth__hero--compact .auth__headline{font-size:var(--text-2xl)}.auth__sub{position:relative;margin-top:9px;font-size:var(--text-sm);color:var(--color-on-deep-muted)}.auth__pills{position:relative;display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.auth__pill{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:var(--radius-pill);background:#ffffff1f;font-size:10.5px;font-weight:600;color:var(--color-on-deep)}.auth__card{position:relative;margin:-44px 16px 0;padding:20px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-3xl);box-shadow:var(--shadow-raised)}.auth__card-head{margin-bottom:18px}.auth__card-head h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.015em}.auth__card-head p{margin-top:4px;font-size:var(--text-xs);color:var(--color-ink-3)}.auth__divider{display:flex;align-items:center;gap:10px;margin:18px 0}.auth__divider:before,.auth__divider:after{content:"";height:1px;flex:1;background:var(--color-line)}.auth__divider span{font-size:10.5px;color:var(--color-ink-3)}.auth__switch{margin-top:16px;text-align:center;font-size:var(--text-sm);color:var(--color-ink-3)}.auth__switch .link{margin-left:5px}.auth__demo{margin-top:10px;padding:8px 10px;text-align:center;font-size:11px;color:var(--color-ink-3);background:var(--color-surface-muted);border-radius:var(--radius-md)}.auth__foot{margin:16px 20px 0;text-align:center;font-size:10.5px;color:var(--color-ink-3)}.code-btn{border:0;background:transparent;color:var(--color-primary);font-size:11.5px;font-weight:600;white-space:nowrap;padding:4px}.code-btn:disabled{color:var(--color-ink-3);cursor:not-allowed}.agree-block{display:flex;flex-direction:column;gap:4px}.agree-row{display:flex;align-items:flex-start;gap:8px}.agree-row .checkbox{margin-top:1px}.agree-text{font-size:11.5px;color:var(--color-ink-3);line-height:1.7}.inline-link{border:0;background:none;padding:0;color:var(--color-primary);font-weight:600;font-size:inherit;display:inline}.wechat-note{display:flex;align-items:center;gap:12px;color:var(--color-ink-2)}.wechat-note svg{color:var(--color-teal);flex:none}.wechat-note p{font-size:var(--text-sm);line-height:var(--leading-normal)}.legal{display:flex;flex-direction:column;gap:16px}.legal__head{font-size:var(--text-sm);font-weight:700;margin-bottom:4px}.legal__block{display:flex;flex-direction:column}.legal__body{font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.75}.home-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:16px 20px 10px}.home-top__left{display:flex;align-items:center;gap:10px;min-width:0}.home-avatar{display:inline-flex;border-radius:50%;box-shadow:0 0 0 2px var(--color-surface),0 0 0 3px var(--color-line)}.home-top__greet{display:flex;flex-direction:column;min-width:0}.home-top__hello{font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-top__date{font-size:10.5px;color:var(--color-ink-3)}.home-top__actions{display:flex;align-items:center;gap:8px;flex:none}.streak-chip{display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 12px;border-radius:var(--radius-pill);background:var(--color-peach);color:var(--color-ink);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.streak-chip svg{color:var(--color-warning)}.bell-btn,.theme-btn{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink)}.theme-btn{transition:transform .18s ease}.theme-btn:active{transform:scale(.92)}.bell-btn__badge{position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 2px var(--color-bg)}.hero-today{position:relative;overflow:hidden;padding:20px;border-radius:var(--radius-3xl);background:linear-gradient(145deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep);box-shadow:var(--shadow-raised);display:flex;flex-direction:column;gap:16px}.hero-today__glow{position:absolute;width:220px;height:220px;right:-70px;top:-80px;border-radius:50%;background:radial-gradient(circle,var(--color-hero-glow),transparent 68%);pointer-events:none}.hero-today__top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hero-today__eyebrow{display:block;font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--color-on-deep-muted);text-transform:uppercase}.hero-today__title{margin-top:7px;font-family:var(--font-display);font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.18}.hero-today__sub{margin-top:5px;font-size:11.5px;color:var(--color-on-deep-muted)}.hero-ring{position:relative;width:72px;height:72px;flex:none}.hero-ring svg{width:72px;height:72px}.hero-ring__bg{fill:none;stroke:#ffffff2e;stroke-width:7}.hero-ring__fg{fill:none;stroke:var(--color-deep-accent);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.hero-ring__value{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:15px;font-weight:600}.hero-today__tasks{position:relative;display:flex;flex-wrap:wrap;gap:6px}.hero-dot{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:var(--radius-pill);background:#ffffff1a;font-size:10.5px;color:var(--color-on-deep-muted)}.hero-dot__mark{width:5px;height:5px;border-radius:50%;background:var(--color-deep-accent);flex:none}.hero-dot.is-done{color:#ffffff8c;text-decoration:line-through}.hero-dot.is-done .hero-dot__mark{background:var(--color-teal)}.hero-today__actions{position:relative;display:flex;align-items:center;gap:14px}.hero-today__link{display:inline-flex;align-items:center;gap:2px;font-size:11.5px;color:var(--color-on-deep-muted);font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-unit{margin-left:2px;font-size:10.5px;font-weight:500;color:var(--color-ink-3);letter-spacing:0}.section__more{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;padding:0;font-size:11.5px;font-weight:600;color:var(--color-primary);white-space:nowrap}.task-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);padding:3px 16px}.task-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--color-line)}.task-row:last-child{border-bottom:0}.task-row__main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;text-align:left;background:transparent;border:0;color:inherit;padding:0}.task-row__title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-row.is-done .task-row__title{color:var(--color-ink-3);text-decoration:line-through}.task-row__meta{font-size:11px;color:var(--color-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-row__dot{margin:0 5px}.task-row__time{font-size:10.5px;color:var(--color-ink-3);flex:none}.card--empty{padding:0}.card--empty .empty-state{padding:26px 16px}.inline-empty{display:flex;align-items:center;gap:12px}.inline-empty>svg{color:var(--color-teal);flex:none}.hscroll{display:flex;gap:12px;overflow-x:auto;margin:0 -20px;padding:2px 20px 6px;scroll-snap-type:x mandatory}.continue-card{flex:0 0 226px;scroll-snap-align:start;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);padding:9px;display:flex;flex-direction:column;gap:8px}.continue-card .cover{border-radius:var(--radius-lg)}.continue-card__body{display:flex;flex-direction:column;gap:2px;padding:0 3px 3px}.continue-card__title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-card__next{font-size:10.5px;color:var(--color-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-card__progress{display:flex;align-items:center;gap:7px;margin-top:5px}.continue-card__progress .progress{flex:1}.continue-card__percent{font-size:10px;font-weight:600;color:var(--color-teal)}.course-list{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);padding:0 14px}.course-item{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--color-line)}.course-item:last-child{border-bottom:0}.course-item__link{display:flex;align-items:center;gap:11px;flex:1;min-width:0}.course-item__main{display:flex;flex-direction:column;gap:2px;min-width:0}.course-item__title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-item__sub{font-size:11px;color:var(--color-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-item__meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-ink-3)}.course-item__meta svg{color:var(--color-gold)}.course-item__dot{opacity:.55}.course-item__side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.course-item__price{font-family:var(--font-display);font-size:12.5px;font-weight:600;white-space:nowrap}.course-item__price.is-free{color:var(--color-teal)}.fav-btn{color:var(--color-ink-3)}.fav-btn.is-on{color:var(--color-primary)}.ai-card{display:flex;align-items:flex-start;gap:12px}.ai-card__icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-lilac);color:var(--color-primary);display:grid;place-items:center;flex:none}.ai-card__label{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)}.ai-card__text{font-size:12px;line-height:1.7;color:var(--color-ink-2)}.link-button{border:0;background:none;padding:0;cursor:pointer;align-self:flex-start}.report-card{display:flex;flex-direction:column;gap:var(--space-4)}.report-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.report-hero__value{display:block;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;letter-spacing:-.02em;line-height:1.1}.report-hero__unit{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-3);margin-left:4px}.report-hero__label{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--color-ink-3)}.report-trend{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;background:var(--color-surface-muted);color:var(--color-ink-2);flex:none}.report-trend.is-up{background:var(--color-success-soft);color:var(--color-success)}.report-trend.is-down{background:var(--color-danger-soft);color:var(--color-danger)}.report-compare{display:flex;flex-direction:column;gap:var(--space-2)}.report-compare__row{display:flex;align-items:center;gap:var(--space-3)}.report-compare__label{width:32px;flex:none;font-size:var(--text-xs);color:var(--color-ink-3)}.report-compare__track{flex:1;height:10px;border-radius:var(--radius-pill);background:var(--color-surface-muted);overflow:hidden}.report-compare__fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--color-primary);transition:width .4s ease}.report-compare__fill--prev{background:var(--color-line-strong)}.report-compare__value{width:40px;flex:none;text-align:right;font-size:var(--text-sm);font-weight:600}.report-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.report-fact{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-soft)}.report-fact__value{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.report-fact__label{font-size:11px;color:var(--color-ink-3);line-height:1.4}.report-summary{padding-top:var(--space-3);border-top:1px dashed var(--color-line);font-size:var(--text-sm);line-height:1.7;color:var(--color-ink-2)}.chip-row--scroll{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:0 20px}.featured-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:18px;border-radius:var(--radius-3xl);background:linear-gradient(135deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep);min-height:156px}.featured-card__glow{position:absolute;right:-40px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,var(--color-hero-glow),transparent 70%)}.featured-card__text{position:relative;display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.featured-card__eyebrow{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;letter-spacing:.12em;color:var(--color-deep-accent);text-transform:uppercase}.featured-card__title{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.25;letter-spacing:-.015em}.featured-card__sub{font-size:11px;color:var(--color-on-deep-muted);line-height:1.5}.featured-card__meta{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--color-on-deep-muted);margin-top:3px}.featured-card__meta svg{color:var(--color-gold)}.featured-card__cta{margin-top:9px;align-self:flex-start;padding:6px 12px;border-radius:var(--radius-pill);background:var(--color-deep-accent);color:var(--color-deep);font-size:11px;font-weight:700}.featured-card__art{width:88px;height:88px;flex:none;border-radius:26px;background:#ffffff21;display:grid;place-items:center}.sort-trigger{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-line);font-size:11px;font-weight:600;color:var(--color-ink-2);flex:none}.filter-body{display:flex;flex-direction:column;gap:20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-group{display:flex;flex-direction:column;gap:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-label{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--color-ink-3)}.filter-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--color-surface-muted);border-radius:var(--radius-lg);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-tip{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--color-ink-2);background:var(--color-teal-soft);padding:10px 12px;border-radius:var(--radius-md);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-tip svg{color:var(--color-teal);flex:none}.search-cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.search-cat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);text-align:left;transition:border-color .16s ease}.search-cat:hover{border-color:var(--color-primary)}.search-cat__name{font-size:14px;font-weight:600}.search-cat__count{font-size:10.5px;color:var(--color-ink-3)}.keyword-hot{color:var(--color-primary)}.keyword-index{font-size:10px;color:var(--color-ink-3);margin-right:2px}.search-suggest{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:11.5px;color:var(--color-ink-2)}.detail-page{padding-bottom:102px}.detail-body{gap:20px;padding-top:12px}.detail-head{display:flex;flex-direction:column;gap:8px}.detail-head__meta{display:flex;flex-wrap:wrap;gap:6px}.detail-title{font-family:var(--font-display);font-size:25px;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin-top:2px}.detail-sub{font-size:13px;color:var(--color-ink-2)}.detail-stats{margin-top:4px}.detail-stats .row{gap:4px}.detail-stats svg{color:var(--color-ink-3)}.detail-stats .row svg{color:var(--color-gold)}.detail-progress{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);margin-top:6px}.detail-desc{display:flex;flex-direction:column;gap:10px}.detail-block-title{font-size:15px;font-weight:600;font-family:var(--font-display);letter-spacing:-.01em}.detail-paragraph{font-size:13px;line-height:1.75;color:var(--color-ink-2)}.detail-tags{display:flex;flex-wrap:wrap;gap:6px}.outcome-list{display:flex;flex-direction:column;gap:11px;padding:16px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl)}.outcome-item{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--color-ink-2);line-height:1.5}.outcome-item__check{width:20px;height:20px;border-radius:50%;background:var(--color-teal-soft);color:var(--color-teal);display:grid;place-items:center;flex:none;margin-top:1px}.instructor-card{display:flex;align-items:center;gap:12px}.instructor-card .row{margin-bottom:2px}.lesson-list{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);padding:2px 14px}.lesson-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--color-line);background:transparent;color:inherit;text-align:left}.lesson-row:last-child{border-bottom:0}.lesson-index{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-line-strong);display:grid;place-items:center;font-size:11.5px;font-weight:600;color:var(--color-ink-2);flex:none}.lesson-index.is-done{background:var(--color-teal);border-color:var(--color-teal);color:var(--color-on-accent)}.lesson-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.lesson-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-sub{font-size:10.5px;color:var(--color-ink-3)}.lesson-end{color:var(--color-ink-3);display:inline-flex;flex:none}.detail-bar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:440px;z-index:70;display:flex;align-items:center;gap:12px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--color-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--color-line)}.detail-bar__price{display:flex;flex-direction:column;gap:1px;min-width:72px}.detail-bar__label{font-size:9.5px;color:var(--color-ink-3)}.detail-bar__value{font-family:var(--font-display);font-size:16px;font-weight:600;white-space:nowrap}.detail-bar__actions{display:flex;gap:7px;flex:1;justify-content:flex-end}.detail-bar__actions .btn{flex:1}.detail-bar__actions .btn--secondary{flex:0 0 auto;padding:0 14px}.lock-note{display:flex;gap:12px;align-items:center}.lock-note__icon{width:44px;height:44px;border-radius:14px;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;flex:none}.learn-page{padding-bottom:108px}.learn-body{gap:20px;padding-top:12px}.player{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-3xl);overflow:hidden}.player--mint{--player-accent: var(--cover-mint-2)}.player--peach{--player-accent: var(--cover-peach-2)}.player--lilac{--player-accent: var(--cover-lilac-2)}.player--pink{--player-accent: var(--cover-pink-2)}.player--aqua{--player-accent: var(--cover-aqua-2)}.player--gold{--player-accent: var(--cover-gold-2)}.player__screen{position:relative;aspect-ratio:16 / 9;display:flex;flex-direction:column;justify-content:space-between;padding:12px;background:radial-gradient(circle at 76% 22%,var(--player-accent),transparent 46%),linear-gradient(140deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep);overflow:hidden}.player__screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.3));pointer-events:none}.player__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(circle at 30% 30%,black,transparent 75%);mask-image:radial-gradient(circle at 30% 30%,black,transparent 75%)}.player__center{position:relative;flex:1;display:grid;place-items:center;z-index:1}.player__play{width:62px!important;height:62px!important;background:#ffffffe0!important;color:var(--color-deep)!important;border:0!important;box-shadow:0 10px 30px #00000047}.player__caption{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px}.player__caption .tag{background:#ffffff24;color:var(--color-on-deep);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.player__time{font-size:11px;font-weight:600;color:var(--color-on-deep)}.player__controls{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.player__progress{display:flex;flex-direction:column;gap:2px}.player__screen.is-playing .player__play{animation:player-pulse 1.8s ease-in-out infinite}@keyframes player-pulse{0%,to{box-shadow:0 10px 30px #00000047}50%{box-shadow:0 10px 36px #ffffff59}}.player__range{width:100%;accent-color:var(--color-teal);height:16px}.player__buttons{display:flex;align-items:center;gap:4px}.player__speeds{margin-left:auto;display:flex;gap:3px;padding:2px;border-radius:var(--radius-sm);background:var(--color-surface-muted)}.speed-btn{border:0;background:transparent;color:var(--color-ink-3);font-size:10px;font-weight:600;padding:4px 7px;border-radius:6px}.speed-btn.is-active{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-soft)}.chapters{border-top:1px solid var(--color-line)}.chapters__head{display:flex;align-items:center;gap:6px;padding:10px 14px 6px;font-size:10.5px;font-weight:600;color:var(--color-ink-3)}.chapter{display:flex;align-items:center;gap:9px;width:100%;padding:9px 14px;border:0;border-top:1px solid var(--color-line);background:transparent;text-align:left;color:var(--color-ink-2)}.chapter.is-active{background:var(--color-teal-soft);color:var(--color-ink)}.chapter__index{font-family:var(--font-display);font-size:10px;font-weight:600;color:var(--color-ink-3)}.chapter__text{flex:1;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter__time{font-size:10px;color:var(--color-ink-3)}.reading{display:flex;flex-direction:column;gap:12px;padding:20px!important}.reading__head{display:flex;align-items:center;justify-content:space-between}.reading__title{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.25}.reading__summary{font-size:12.5px;color:var(--color-ink-3);padding-bottom:10px;border-bottom:1px solid var(--color-line)}.reading__body{display:flex;flex-direction:column;gap:14px}.reading__paragraph{font-size:14px;line-height:1.9;color:var(--color-ink-2)}.reading__note{display:flex;align-items:flex-start;gap:8px;padding:11px 12px;border-radius:var(--radius-md);background:var(--color-teal-soft);color:var(--color-ink-2);font-size:11.5px;line-height:1.65}.reading__note svg{color:var(--color-teal);flex:none;margin-top:2px}.reading__progress{display:flex;flex-direction:column;gap:6px}.done-banner{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--color-teal-soft);border:1px solid transparent}.done-banner__icon{width:30px;height:30px;border-radius:50%;background:var(--color-teal);color:var(--color-on-accent);display:grid;place-items:center;flex:none}.lesson-summary{display:flex;flex-direction:column;gap:10px}.lesson-meta{display:flex;flex-wrap:wrap;gap:6px}.note-actions{display:flex;justify-content:flex-end;margin-top:10px}.note-list{margin-top:10px;border-top:1px solid var(--color-line)}.note-item{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--color-line)}.note-item:last-child{border-bottom:0}.note-item__main{flex:1;min-width:0}.note-item__text{font-size:12.5px;line-height:1.7;color:var(--color-ink-2)}.note-item__time{display:block;margin-top:4px;font-size:10px;color:var(--color-ink-3)}.note-empty{margin-top:10px;font-size:11.5px;color:var(--color-ink-3);text-align:center;padding:8px 0 2px}.quiz-cta{display:flex;align-items:center;gap:12px}.quiz-cta__icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;flex:none}.learn-bar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:440px;z-index:70;display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--color-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--color-line)}.learn-bar__nav{display:flex;align-items:center;gap:3px;flex:none}.learn-bar__count{font-size:10.5px;color:var(--color-ink-3);min-width:34px;text-align:center}.learn-bar__actions{display:flex;gap:7px;flex:1}.learn-bar__actions .btn{flex:1}.plan-hero{position:relative;overflow:hidden;padding:20px;border-radius:var(--radius-3xl);background:linear-gradient(145deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep);display:flex;flex-direction:column;gap:10px}.plan-hero__glow{position:absolute;width:220px;height:220px;right:-80px;top:-70px;border-radius:50%;background:radial-gradient(circle,var(--color-hero-glow),transparent 68%)}.plan-hero__top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-hero__eyebrow{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-deep-accent)}.plan-hero__count{font-size:10.5px;color:var(--color-on-deep-muted)}.plan-hero__count strong{font-size:15px;color:var(--color-on-deep);margin:0 1px}.plan-hero__title{position:relative;font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.02em}.plan-hero__sub{position:relative;font-size:11px;color:var(--color-on-deep-muted)}.plan-hero__progress{position:relative;display:flex;flex-direction:column;gap:6px;margin-top:6px;color:var(--color-on-deep-muted)}.plan-hero__stats{position:relative;display:flex;align-items:center;gap:9px;font-size:10.5px;color:var(--color-on-deep-muted)}.plan-hero__stats strong{color:var(--color-on-deep);font-size:12px}.plan-hero__sep{width:1px;height:11px;background:#ffffff38}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.day-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 0 7px;border-radius:var(--radius-lg);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink-2)}.day-cell.is-active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}.day-cell__week{font-size:9.5px;opacity:.7}.day-cell__num{font-size:15px;font-weight:600}.day-cell__dot{width:4px;height:4px;border-radius:50%;background:transparent;margin-top:2px}.day-cell__dot.is-planned{background:var(--color-line-strong)}.day-cell__dot.is-done{background:var(--color-teal)}.day-cell.is-active .day-cell__dot.is-planned{background:var(--color-on-deep-muted)}.task-row__main--button{cursor:pointer}.streak-card{display:flex;flex-direction:column;gap:14px}.streak-card__head{display:flex;align-items:center;gap:11px}.streak-flame{width:46px;height:46px;border-radius:var(--radius-lg);background:var(--color-peach);color:var(--color-warning);display:grid;place-items:center;flex:none}.streak-number{display:flex;align-items:baseline;gap:3px}.streak-number span:first-child{font-size:26px;font-weight:600;line-height:1}.streak-unit{font-size:11px;color:var(--color-ink-3)}.week-checkins{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week-checkin{display:flex;flex-direction:column;align-items:center;gap:4px}.week-checkin__week{font-size:9px;color:var(--color-ink-3)}.week-checkin__dot{width:27px;height:27px;border-radius:50%;border:1px solid var(--color-line-strong);display:grid;place-items:center;color:transparent}.week-checkin.is-done .week-checkin__dot{background:var(--color-peach);border-color:transparent;color:var(--color-warning)}.milestones{display:flex;flex-wrap:wrap;gap:6px}.milestone{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:var(--radius-pill);border:1px dashed var(--color-line-strong);font-size:10px;font-weight:600;color:var(--color-ink-3)}.milestone.is-earned{background:var(--color-peach);border-color:transparent;color:var(--color-warning)}.next-milestone{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--color-line);color:var(--color-ink-3)}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;height:138px;padding-top:6px}.bar-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;height:100%}.bar-col__value{font-size:9px;color:var(--color-ink-3);height:11px}.bar-col__track{flex:1;width:100%;max-width:34px;display:flex;align-items:flex-end;background:var(--color-surface-muted);border-radius:7px;overflow:hidden}.bar-col__fill{width:100%;background:linear-gradient(180deg,var(--color-teal),var(--color-primary));border-radius:7px 7px 0 0;transition:height .45s ease}.bar-col.is-today .bar-col__fill{background:linear-gradient(180deg,var(--color-primary),var(--color-primary-strong))}.bar-col__label{font-size:9.5px;color:var(--color-ink-3)}.bar-col.is-today .bar-col__label{color:var(--color-primary);font-weight:700}.chart-legend{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--color-line);font-size:10.5px;color:var(--color-ink-3)}.chart-legend>span{display:inline-flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--color-teal)}.legend-dot--teal{background:var(--color-teal)}.order-list{display:flex;flex-direction:column;gap:10px}.order-card{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);transition:border-color .16s ease}.order-card:hover{border-color:var(--color-line-strong)}.order-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.order-no{font-size:9.5px;color:var(--color-ink-3)}.order-card__main{display:flex;align-items:center;gap:11px}.order-card__title{font-size:14px;font-weight:600;margin-bottom:2px}.order-card__amount{font-size:16px;font-weight:600}.order-card__foot{display:flex;align-items:center;justify-content:space-between;padding-top:9px;border-top:1px solid var(--color-line)}.order-card__link{display:inline-flex;align-items:center;gap:1px;font-size:11px;font-weight:600;color:var(--color-primary)}.record-summary{display:flex;align-items:center;justify-content:space-around;padding:16px!important}.record-summary__item{display:flex;flex-direction:column;align-items:center;gap:2px}.record-summary__value{font-family:var(--font-display);font-size:21px;font-weight:600}.record-list{display:flex;flex-direction:column;gap:8px}.record-card{display:flex;align-items:center;gap:11px;padding:13px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl)}.record-card__icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-ink-2);display:grid;place-items:center;flex:none}.record-card__title{font-size:13px;font-weight:600;margin-bottom:2px}.record-card__score{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}.record-score{font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--color-warning);background:var(--color-warning-soft);padding:3px 7px;border-radius:var(--radius-pill)}.record-score.is-good{color:var(--color-success);background:var(--color-success-soft)}.order-status-card{display:flex;align-items:center;gap:14px}.order-status{width:52px;height:52px;border-radius:var(--radius-lg);display:grid;place-items:center;flex:none}.order-status.is-paid{background:var(--color-success-soft);color:var(--color-success)}.order-status.is-pending{background:var(--color-warning-soft);color:var(--color-warning)}.order-status.is-cancelled{background:var(--color-surface-muted);color:var(--color-ink-3)}.order-status-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.order-course{display:flex;align-items:center;gap:12px}.money-list{display:flex;flex-direction:column;margin-top:8px}.money-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:12.5px;color:var(--color-ink-2)}.money-row--total{margin-top:4px;padding-top:11px;border-top:1px solid var(--color-line);font-size:14px;font-weight:600;color:var(--color-ink)}.money-card{display:flex;flex-direction:column}.refund-note{display:flex;gap:9px;padding:11px 12px;margin-top:10px;border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-ink-2)}.refund-note svg{color:var(--color-warning);flex:none;margin-top:1px}.timeline{display:flex;flex-direction:column;margin-top:10px}.timeline__item{position:relative;display:flex;gap:12px;padding-bottom:16px}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";position:absolute;left:4px;top:13px;bottom:0;width:1px;background:var(--color-line)}.timeline__item:last-child:before{display:none}.timeline__dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--color-line-strong);background:var(--color-surface);margin-top:4px;flex:none;z-index:1}.timeline__item.is-done .timeline__dot{border-color:var(--color-teal);background:var(--color-teal)}.timeline__label{font-size:12.5px;font-weight:600}.timeline__time{font-size:10.5px;color:var(--color-ink-3);margin-top:2px}.order-actions{display:flex;gap:8px}.order-actions .btn{flex:1}.refund-rule{display:flex;flex-direction:column;gap:8px}.rule-list{list-style:disc;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--color-ink-2)}.checkout-page{padding-bottom:98px}.checkout-course{display:flex;align-items:center;gap:12px}.checkout-price{font-size:18px;font-weight:600;flex:none}.buyer-card{display:flex;flex-direction:column;gap:2px}.buyer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}.pay-methods{display:flex;flex-direction:column;gap:9px}.pay-method{display:flex;align-items:center;gap:11px;width:100%;padding:13px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);text-align:left;transition:border-color .16s ease,background-color .16s ease}.pay-method.is-active{border-color:var(--color-primary);background:var(--color-primary-soft)}.pay-method__icon{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center;flex:none}.pay-method__icon.is-wechat{background:var(--color-teal-soft);color:var(--color-teal)}.pay-method__icon.is-alipay{background:var(--color-primary-soft);color:var(--color-primary)}.pay-method__main{display:flex;flex-direction:column;gap:1px;flex:1}.pay-method__name{font-size:13.5px;font-weight:600}.pay-method__sub{font-size:10.5px;color:var(--color-ink-3)}.radio-dot{width:19px;height:19px;border-radius:50%;border:1.5px solid var(--color-line-strong);flex:none;position:relative}.pay-method.is-active .radio-dot{border-color:var(--color-primary)}.pay-method.is-active .radio-dot:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--color-primary)}.checkout-note{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:11px;line-height:1.6;color:var(--color-ink-3)}.checkout-note svg{color:var(--color-teal);flex:none;margin-top:1px}.checkout-bar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:440px;z-index:70;display:flex;align-items:center;gap:14px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--color-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--color-line)}.checkout-bar__total{display:flex;flex-direction:column;gap:1px;flex:none}.checkout-bar__amount{font-family:var(--font-display);font-size:20px;font-weight:600}.checkout-bar .btn{flex:1}.pay-sheet{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:4px 0 6px}.pay-amount{font-size:30px;font-weight:600;letter-spacing:-.02em}.qr-box{position:relative;width:184px;height:184px;padding:14px;background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-xl);margin:4px auto}.qr-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);gap:2px}.qr-cell{border-radius:1.5px;background:transparent}.qr-cell.is-dark{background:var(--color-ink)}.qr-corner{position:absolute;width:30px;height:30px;border:3px solid var(--color-ink);border-radius:5px}.qr-corner--tl{top:12px;left:12px;border-right:0;border-bottom:0}.qr-corner--tr{top:12px;right:12px;border-left:0;border-bottom:0}.qr-corner--bl{bottom:12px;left:12px;border-right:0;border-top:0}.pay-tip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.pay-tip svg{color:var(--color-primary)}.pay-sheet__meta{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:11px;color:var(--color-ink-2)}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;background:none;padding:0;color:var(--color-primary);font-size:12px;font-weight:600;margin:0 auto}.result-body{gap:18px}.pay-result{position:relative;overflow:hidden;padding:26px 20px 22px;border-radius:var(--radius-3xl);background:var(--color-surface);border:1px solid var(--color-line);display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.pay-result__halo{position:absolute;width:220px;height:220px;top:-130px;left:50%;transform:translate(-50%);border-radius:50%}.pay-result.is-success .pay-result__halo{background:radial-gradient(circle,var(--color-teal-soft),transparent 68%)}.pay-result.is-failed .pay-result__halo{background:radial-gradient(circle,var(--color-danger-soft),transparent 68%)}.pay-result__icon{position:relative;width:68px;height:68px;border-radius:24px;display:grid;place-items:center;margin-bottom:6px}.pay-result.is-success .pay-result__icon{background:var(--color-teal);color:var(--color-on-accent)}.pay-result.is-failed .pay-result__icon{background:var(--color-danger-soft);color:var(--color-danger)}.pay-result__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em}.pay-result__sub{font-size:11.5px;color:var(--color-ink-3);max-width:280px;line-height:1.65}.pay-result__amount{margin-top:4px;font-size:30px;font-weight:600;letter-spacing:-.02em}.result-summary{display:flex;flex-direction:column;gap:10px}.result-order-head{display:flex;align-items:center;gap:11px;padding-bottom:10px;border-bottom:1px solid var(--color-line)}.result-note{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-teal-soft);font-size:11px;line-height:1.6;color:var(--color-ink-2)}.result-note svg{color:var(--color-teal);flex:none;margin-top:1px}.result-note.is-warning{background:var(--color-warning-soft)}.result-note.is-warning svg{color:var(--color-warning)}.result-actions{display:flex;flex-direction:column;gap:8px}.result-links{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11.5px}.result-links__dot{width:3px;height:3px;border-radius:50%;background:var(--color-line-strong)}.result-foot{text-align:center;line-height:1.6}.result-support{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11.5px;color:var(--color-ink-3)}.favorites-tip{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:11px;color:var(--color-ink-2)}.favorites-tip svg{color:var(--color-primary);flex:none}.mini-action{border:0;background:var(--color-surface-muted);color:var(--color-ink-3);font-size:10px;font-weight:600;padding:4px 8px;border-radius:var(--radius-pill)}.notice-list{display:flex;flex-direction:column;gap:9px}.notice{display:flex;gap:11px;width:100%;padding:13px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);text-align:left;color:inherit}.notice.is-unread{background:var(--color-primary-soft);border-color:transparent}.notice__icon{width:38px;height:38px;border-radius:var(--radius-md);display:grid;place-items:center;flex:none}.notice__icon.is-plan{background:var(--color-primary-soft);color:var(--color-primary)}.notice.is-unread .notice__icon.is-plan{background:var(--color-surface)}.notice__icon.is-course{background:var(--color-teal-soft);color:var(--color-teal)}.notice__icon.is-order{background:var(--color-peach);color:var(--color-warning)}.notice__icon.is-streak{background:var(--color-gold-soft);color:var(--color-warning)}.notice__icon.is-system{background:var(--color-surface-muted);color:var(--color-ink-3)}.notice__main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.notice__head{display:flex;align-items:center;gap:6px}.notice__title{font-size:13px;font-weight:600}.notice__body{font-size:11.5px;line-height:1.6;color:var(--color-ink-2)}.notice__foot{display:flex;align-items:center;gap:7px;font-size:9.5px;color:var(--color-ink-3);margin-top:2px}.notice__link{margin-left:auto;display:inline-flex;align-items:center;gap:1px;color:var(--color-primary);font-weight:600}.notice-settings{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-ink-3);justify-content:center;padding:4px 0 0}.profile-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;padding:18px;border-radius:var(--radius-3xl);background:linear-gradient(145deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep)}.profile-hero__glow{position:absolute;width:190px;height:190px;right:-60px;top:-80px;border-radius:50%;background:radial-gradient(circle,var(--color-hero-glow),transparent 70%)}.profile-hero .avatar{background:#ffffff29;color:var(--color-on-deep);box-shadow:0 0 0 2px #ffffff2e;flex:none}.profile-name{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:-.01em}.profile-meta{font-size:10.5px;color:var(--color-on-deep-muted);margin-top:2px}.profile-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.profile-tags .tag{background:#ffffff21;color:var(--color-on-deep)}.profile-tags .tag--teal{color:var(--color-deep-accent)}.profile-hero__settings{position:relative;align-self:flex-start;width:34px;height:34px;border-radius:50%;background:#ffffff21;color:var(--color-on-deep);display:grid;place-items:center;flex:none}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-card{display:flex;align-items:center;gap:9px;padding:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);transition:border-color .16s ease}.quick-card:hover{border-color:var(--color-line-strong)}.quick-card__icon{width:34px;height:34px;border-radius:var(--radius-md);display:grid;place-items:center;flex:none}.quick-card__icon.is-pink{background:var(--color-pink);color:var(--color-ink)}.quick-card__icon.is-peach{background:var(--color-peach);color:var(--color-ink)}.quick-card__icon.is-mint{background:var(--color-teal-soft);color:var(--color-teal)}.quick-card__icon.is-lilac{background:var(--color-lilac);color:var(--color-primary)}.quick-card__label{font-size:12px;font-weight:600;flex:1}.quick-card__meta{font-size:12px;color:var(--color-ink-3)}.profile-form{display:flex;flex-direction:column;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-form__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.profile-form__actions .btn{flex:1}.profile-note{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--color-ink-3);justify-content:center;flex-wrap:wrap;text-align:center}.profile-note .link{gap:1px}.signout-note{display:flex;align-items:center;gap:12px}.settings-body{gap:20px;padding-top:14px}.settings-profile{display:flex;align-items:center;gap:11px;width:100%;padding:13px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);text-align:left;color:inherit}.settings-profile__name{display:block;font-size:14.5px;font-weight:600}.settings-profile__meta{display:block;font-size:10.5px;color:var(--color-ink-3);margin-top:1px}.settings-profile__badge{display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border-radius:var(--radius-pill);background:var(--color-surface-muted);font-size:9.5px;color:var(--color-ink-2);flex:none}.settings-group{display:flex;flex-direction:column;gap:7px}.setting-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--color-line)}.setting-row:last-child{border-bottom:0}.setting-row--nested{padding-top:0;border-bottom:0}.setting-row--nested .chip-row{flex-wrap:wrap}.modal-hint{margin-top:12px;line-height:1.65}.data-list li{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px solid var(--color-line)}.data-list li:last-child{border-bottom:0}.data-list strong{font-size:12.5px}.data-list span{font-size:11.5px;color:var(--color-ink-3);line-height:1.55}.modal-actions{margin-top:16px}.about-app{text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}.about-app__logo{width:58px;height:58px;border-radius:19px;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;margin-bottom:4px}.about-app h3{font-family:var(--font-display);font-size:19px;font-weight:600}.about-app p{line-height:1.65;max-width:300px}.about-actions{display:flex;gap:7px;margin-top:12px}.danger-note{padding:12px;border-radius:var(--radius-md);background:var(--color-danger-soft);margin-bottom:14px;font-size:12px;line-height:1.6}.danger-note ul{list-style:disc;padding-left:18px;margin-top:5px;color:var(--color-ink-2)}.reset-note{display:flex;gap:8px;padding:12px;border-radius:var(--radius-md);background:var(--color-warning-soft);font-size:11.5px;line-height:1.65;color:var(--color-ink-2)}.reset-note svg{color:var(--color-warning);flex:none;margin-top:1px}.settings-version{text-align:center;font-size:10px;color:var(--color-ink-3);line-height:1.8;padding:6px 0 20px}.support-hero{position:relative;overflow:hidden;padding:20px;border-radius:var(--radius-3xl);background:linear-gradient(145deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep)}.support-hero__glow{position:absolute;width:200px;height:200px;right:-70px;top:-80px;border-radius:50%;background:radial-gradient(circle,var(--color-hero-glow),transparent 70%)}.support-hero__icon{position:relative;width:46px;height:46px;border-radius:var(--radius-lg);background:#ffffff24;color:var(--color-deep-accent);display:grid;place-items:center;margin-bottom:12px}.support-hero__title{position:relative;font-family:var(--font-display);font-size:23px;font-weight:600;letter-spacing:-.02em}.support-hero__sub{position:relative;font-size:11px;color:var(--color-on-deep-muted);margin-top:4px}.support-hero__actions{position:relative;display:flex;gap:8px;margin-top:15px}.support-hero__actions .btn{flex:1}.support-hero .btn--secondary{background:#ffffff21;border-color:#ffffff38;color:var(--color-on-deep)}.faq-list{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);overflow:hidden}.faq{border-bottom:1px solid var(--color-line)}.faq:last-child{border-bottom:0}.faq__question{display:flex;align-items:center;gap:8px;width:100%;padding:13px 14px;border:0;background:transparent;text-align:left;color:inherit}.faq__q{font-size:12.5px;font-weight:600;line-height:1.45}.faq__chevron{color:var(--color-ink-3);flex:none;transition:transform .2s ease}.faq.is-open .faq__chevron{transform:rotate(180deg)}.faq__answer{padding:0 14px 14px;font-size:12px;line-height:1.75;color:var(--color-ink-2)}.feedback-done{display:flex;align-items:center;gap:10px}.feedback-done>svg{color:var(--color-teal);flex:none}.support-footer-card{display:flex;align-items:center;gap:11px}.support-footer-card>svg{color:var(--color-primary);flex:none}.chat{display:flex;flex-direction:column;gap:14px}.chat__messages{display:flex;flex-direction:column;gap:10px;max-height:38vh;overflow-y:auto}.chat-msg{display:flex;align-items:flex-end;gap:7px}.chat-msg.is-user{justify-content:flex-end}.chat-msg__avatar{width:26px;height:26px;border-radius:50%;background:var(--color-teal-soft);color:var(--color-teal);display:grid;place-items:center;flex:none}.chat-msg__bubble{max-width:78%;padding:9px 11px;border-radius:14px 14px 14px 4px;background:var(--color-surface-muted);font-size:12px;line-height:1.6;color:var(--color-ink-2)}.chat-msg.is-user .chat-msg__bubble{background:var(--color-primary);color:var(--color-on-primary);border-radius:14px 14px 4px}.chat__quick{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--color-line)}.chat-composer{display:flex;align-items:center;gap:8px;flex:1}.chat-composer__input{flex:1;min-width:0;border:0;outline:none;background:var(--color-surface-muted);border-radius:var(--radius-md);padding:10px 12px;font-size:12.5px}.phone-card{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--radius-lg);background:var(--color-primary-soft);margin-bottom:16px}.phone-card__icon{width:46px;height:46px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:grid;place-items:center;flex:none}.phone-card__number{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:.01em}.create-page{padding-bottom:94px}.create-section{display:flex;flex-direction:column;gap:15px}.create-section__head{display:flex;align-items:flex-start;gap:10px}.create-step{width:26px;height:26px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-family:var(--font-display);font-size:12px;font-weight:600;display:grid;place-items:center;flex:none}.pace-preview{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:11px;color:var(--color-ink-2)}.pace-preview svg{color:var(--color-teal);flex:none}.pick-list{display:flex;flex-direction:column;gap:8px}.pick-row{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);text-align:left}.pick-row .checkbox__label{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.pick-row.is-checked{border-color:var(--color-primary);background:var(--color-primary-soft)}.pick-row__main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.pick-row__title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-row__meta{font-size:10px;color:var(--color-ink-3)}.pick-row__state{font-size:9.5px;color:var(--color-ink-3);flex:none}.pick-row.is-checked .pick-row__state{color:var(--color-primary);font-weight:600}.create-more{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--color-primary);padding:2px 0}.create-summary{display:flex;align-items:center;gap:12px}.create-summary__icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-teal-soft);color:var(--color-teal);display:grid;place-items:center;flex:none}.form-bar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:440px;z-index:70;display:flex;align-items:center;gap:8px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--color-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--color-line)}.form-bar__info{display:flex;flex-direction:column;gap:1px;margin-right:auto;line-height:1.25}.mistake-stat{display:flex;flex-direction:column;gap:2px;padding:12px!important}.mistake-stat__value{font-family:var(--font-display);font-size:21px;font-weight:600}.mistake-list{display:flex;flex-direction:column;gap:9px}.mistake-card{display:flex;flex-direction:column;gap:7px;width:100%;padding:13px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);text-align:left;color:inherit;transition:border-color .16s ease}.mistake-card:hover{border-color:var(--color-primary)}.mistake-card__head{display:flex;align-items:center;gap:7px}.mistake-card__time{margin-left:auto;font-size:9.5px;color:var(--color-ink-3)}.mistake-card__stem{font-size:13px;line-height:1.55;color:var(--color-ink)}.mistake-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:7px;border-top:1px solid var(--color-line);font-size:10.5px}.mistake-card__wrong{color:var(--color-ink-3)}.mistake-card__more{display:inline-flex;align-items:center;gap:1px;color:var(--color-primary);font-weight:600}.mistake-detail{display:flex;flex-direction:column;gap:12px}.mistake-detail__stem{font-size:14.5px;font-weight:600;line-height:1.55}.mistake-options{display:flex;flex-direction:column;gap:7px}.mistake-option{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--color-line);border-radius:var(--radius-md);font-size:12.5px;line-height:1.45}.mistake-option.is-correct{border-color:var(--color-success);background:var(--color-success-soft)}.mistake-option.is-wrong{border-color:var(--color-danger);background:var(--color-danger-soft)}.mistake-option.is-correct>svg{color:var(--color-success);flex:none}.mistake-option__key{width:22px;height:22px;border-radius:50%;border:1px solid var(--color-line-strong);display:grid;place-items:center;font-size:10.5px;font-weight:600;flex:none}.explain-box{display:flex;gap:9px;padding:11px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted)}.explain-box>svg{color:var(--color-gold);flex:none;margin-top:1px}.explain-box p{line-height:1.65}.quiz-page{padding-bottom:96px}.quiz-body{gap:14px;padding-top:12px}.quiz-counter{font-size:13px;font-weight:600;color:var(--color-ink-3)}.quiz-progress{display:flex;flex-direction:column;gap:6px}.quiz-progress__meta{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;color:var(--color-ink-3)}.quiz-dots{display:flex;align-items:center;gap:5px;padding-top:2px}.quiz-dot{width:16px;height:4px;border-radius:2px;background:var(--color-line);transition:width .2s ease,background-color .2s ease}.quiz-dot.is-answered{background:var(--color-primary)}.quiz-dot.is-current{width:26px;background:var(--color-primary-strong)}.quiz-dot.is-right{background:var(--color-success)}.quiz-dot.is-wrong{background:var(--color-danger)}.quiz-hint{display:flex;align-items:flex-start;gap:10px;background:var(--color-surface-soft);border-color:transparent}.quiz-hint__icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-gold-soft);color:var(--color-warning);display:grid;place-items:center;flex:none}.quiz-hint p{line-height:1.6}.question-card{display:flex;flex-direction:column;gap:8px;padding:16px!important}.question-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.question-label{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)}.question-course{font-size:10px;color:var(--color-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.question-stem{font-size:16px;font-weight:600;line-height:1.55;letter-spacing:-.005em}.option-list{display:flex;flex-direction:column;gap:8px}.option{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);text-align:left;color:inherit;transition:border-color .14s ease,background-color .14s ease}.option:hover:not(:disabled){border-color:var(--color-line-strong)}.option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.option.is-correct{border-color:var(--color-success);background:var(--color-success-soft)}.option.is-wrong{border-color:var(--color-danger);background:var(--color-danger-soft)}.option__key{width:26px;height:26px;border-radius:50%;border:1px solid var(--color-line-strong);display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--color-ink-2);flex:none;background:var(--color-surface)}.option.is-selected .option__key{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.option.is-correct .option__key{border-color:var(--color-success);background:var(--color-success);color:var(--color-on-accent)}.option.is-wrong .option__key{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-on-accent)}.option__text{flex:1;font-size:13px;line-height:1.45}.option__mark{flex:none;color:var(--color-ink-3)}.option.is-correct .option__mark{color:var(--color-success)}.option.is-wrong .option__mark{color:var(--color-danger)}.feedback{display:flex;flex-direction:column;gap:7px}.feedback__head{display:flex;align-items:center;gap:7px;font-size:13px}.feedback.is-correct{background:var(--color-success-soft);border-color:transparent}.feedback.is-correct .feedback__head{color:var(--color-success)}.feedback.is-wrong{background:var(--color-danger-soft);border-color:transparent}.feedback.is-wrong .feedback__head{color:var(--color-danger)}.feedback__text{font-size:12px;line-height:1.7;color:var(--color-ink-2)}.feedback__ai{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--color-ink-3);padding-top:6px;border-top:1px solid rgba(120,120,140,.15)}.quiz-tip{text-align:center;font-size:10.5px;color:var(--color-ink-3)}.quiz-bar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:440px;z-index:70;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--color-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--color-line)}.result-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:22px!important}.result-score{display:flex;align-items:baseline;gap:2px;padding:10px 20px;border-radius:var(--radius-xl);background:var(--color-warning-soft);color:var(--color-warning)}.result-score.is-good{background:var(--color-teal-soft);color:var(--color-teal)}.result-score__big{font-size:42px;font-weight:600;line-height:1}.result-score__unit{font-size:12px;font-weight:600}.result-title{margin-top:8px;font-family:var(--font-display);font-size:20px;font-weight:600}.result-sub{font-size:11.5px;color:var(--color-ink-3)}.result-stats{display:flex;gap:8px;margin-top:8px}.result-stat{display:inline-flex;align-items:baseline;gap:3px;padding:5px 10px;border-radius:var(--radius-pill);background:var(--color-surface-muted);font-size:10px;color:var(--color-ink-3)}.result-stat strong{font-size:12px;color:var(--color-ink)}.wrong-summary,.wrong-list{display:flex;flex-direction:column;gap:8px}.wrong-item{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;line-height:1.55;color:var(--color-ink-2)}.wrong-item__icon{width:20px;height:20px;border-radius:50%;background:var(--color-danger-soft);color:var(--color-danger);display:grid;place-items:center;flex:none;margin-top:1px}.all-right{display:flex;align-items:center;gap:11px}.all-right>svg{color:var(--color-teal);flex:none}.spin{animation:btn-spin .7s linear infinite}.solve-scan{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 20px;background:var(--color-surface);border:1.5px dashed var(--color-line-strong);border-radius:var(--radius-2xl);cursor:pointer;transition:border-color .16s ease,background .16s ease}.solve-scan:hover{border-color:var(--color-primary);background:var(--color-surface-soft)}.solve-scan__frame{width:64px;height:64px;border-radius:var(--radius-xl);display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary)}.solve-scan__label{font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.solve-scan__hint{font-size:var(--text-xs);color:var(--color-ink-3)}.solve-input-card{display:flex;flex-direction:column;gap:12px}.solve-input{width:100%;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:10px 12px;font:inherit;font-size:var(--text-sm);color:var(--color-ink);resize:vertical}.solve-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.solve-subjects{display:flex;gap:8px;flex-wrap:wrap}.solve-history-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.solve-history-row__expr{font-weight:600;color:var(--color-ink)}.solve-history-row__meta{font-size:var(--text-xs);color:var(--color-ink-3);flex:none}.solve-working{display:flex;flex-direction:column;gap:14px;align-items:stretch}.solve-working__expr{align-self:center;padding:14px 22px;background:var(--color-bg-accent);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-lg);font-size:var(--text-2xl);font-weight:600}.solve-working__label{display:flex;align-items:center;gap:7px;justify-content:center;color:var(--color-ink-2);font-size:var(--text-sm)}.solve-working__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.solve-working__list li{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:var(--text-sm);color:var(--color-ink-2)}.solve-problem-card{display:flex;flex-direction:column;gap:8px;padding:16px}.solve-problem-card__prompt{font-size:var(--text-xs);color:var(--color-ink-3)}.solve-problem-card__expr{font-size:var(--text-xl);font-weight:600;color:var(--color-ink)}.solve-meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--color-ink-3)}.solve-step{position:relative;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);padding:22px 14px 14px}.solve-step__tab{position:absolute;top:-10px;left:12px;display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:11px;font-weight:700}.solve-step__body strong{display:block;margin-bottom:4px;font-size:var(--text-sm)}.solve-step__body p{margin:0;font-size:var(--text-sm);color:var(--color-ink-2);line-height:var(--leading-snug)}.solve-answer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:var(--radius-lg);background:var(--color-primary-soft)}.solve-answer__label{font-size:var(--text-xs);color:var(--color-ink-2)}.solve-answer__value{font-size:var(--text-lg);font-weight:700;color:var(--color-primary-strong)}.solve-similar{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:9px}.solve-similar__item{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm)}.solve-similar__eyebrow{font-size:10px;letter-spacing:.08em;color:var(--color-ink-3)}.notes-new{display:flex;flex-direction:column;gap:6px;background:var(--color-gold-soft);border:none}[data-theme=dark] .notes-new{background:var(--color-gold-soft)}.notes-new__title{margin:0;font-size:var(--text-lg)}.notes-new__desc{margin:0 0 6px;font-size:var(--text-sm);color:var(--color-ink-2)}.notes-new__actions{display:flex;gap:9px;flex-wrap:wrap}.notes-tabs{margin:4px 0 12px}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.note-card{display:flex;flex-direction:column;gap:7px;padding:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.note-card__top{display:flex;align-items:center;justify-content:space-between}.note-card__delete{border:0;background:none;color:var(--color-ink-3);cursor:pointer;padding:2px;display:inline-flex;border-radius:var(--radius-xs)}.note-card__delete:hover{color:var(--color-danger)}.note-card__title{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug)}.note-card__summary{margin:0;font-size:var(--text-xs);color:var(--color-ink-2);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-card__terms{display:flex;gap:5px;flex-wrap:wrap}.note-card__meta{font-size:11px;color:var(--color-ink-3);margin-top:auto}.notes-foot{margin:16px 0 0;font-size:var(--text-xs);color:var(--color-ink-3);text-align:center}.deck-card{display:flex;flex-direction:column;gap:10px}.deck-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.deck-card__title{margin:0 0 2px;font-size:var(--text-md)}.deck-card__meta{margin:0;font-size:var(--text-xs);color:var(--color-ink-3)}.deck-card__hint{margin:0;font-size:var(--text-xs);color:var(--color-ink-2)}.flashcard{width:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;margin-top:14px;background:var(--color-surface);border:1.5px solid var(--color-ink);border-radius:var(--radius-2xl);cursor:pointer;text-align:center;transition:transform .12s ease}.flashcard:active{transform:scale(.99)}.flashcard__badge{position:absolute;top:14px;left:14px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-pink);color:var(--color-ink);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.flashcard__text{font-size:var(--text-xl);font-weight:600;line-height:var(--leading-snug);max-width:30ch}.flashcard__text--back{font-weight:500;color:var(--color-ink-2)}.flashcard__hint{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--color-ink-3);position:absolute;bottom:14px}.flashcard{position:relative}.deck-speak{margin:12px auto 0;display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--color-ink-3);font-size:var(--text-xs);cursor:pointer}.deck-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.deck-actions__btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 10px;border-radius:var(--radius-lg);border:1.5px solid var(--color-ink);background:var(--color-surface);font-size:var(--text-sm);font-weight:600;cursor:pointer}.deck-actions__btn--yes{background:var(--color-primary-soft)}.deck-actions__btn--no{background:var(--color-danger-soft)}.deck-actions__btn:active{transform:scale(.98)}.deck-done{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:26px 18px}.deck-done__emoji{font-size:34px}.deck-done__title{margin:0;font-size:var(--text-2xl)}.deck-done__hint{margin:0;font-size:var(--text-xs);color:var(--color-ink-2)}.report-hero{padding:18px 16px;border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--color-surface-deep),var(--color-deep));color:var(--color-on-deep)}.report-hero__eyebrow{font-size:10px;letter-spacing:.12em;color:var(--color-on-deep-muted)}.report-hero__title{margin:6px 0 4px;font-size:var(--text-2xl)}.report-hero__sub{margin:0;font-size:var(--text-xs);color:var(--color-on-deep-muted)}.report-chart__best{font-size:var(--text-xs);color:var(--color-teal)}.report-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;align-items:end;height:128px;margin-top:10px}.report-bar__col{display:flex;flex-direction:column;align-items:center;gap:5px;height:100%}.report-bar__track{flex:1;width:100%;max-width:22px;display:flex;align-items:flex-end;background:var(--color-surface-muted);border-radius:7px;overflow:hidden}.report-bar__fill{width:100%;background:var(--color-teal);border-radius:7px 7px 0 0;transition:height .4s ease}.report-bar__fill--today{background:var(--color-primary)}.report-bar__label{font-size:10px;color:var(--color-ink-3)}.report-bar__value{font-size:10px;color:var(--color-ink-2);min-height:13px}.report-goal__head{display:flex;justify-content:space-between;font-size:var(--text-sm);font-weight:600;margin-bottom:8px}.report-goal__hint{margin:10px 0 0;font-size:var(--text-xs);color:var(--color-ink-2)}.report-milestones{display:flex;flex-direction:column}.report-milestone{display:flex;align-items:center;gap:10px;padding:11px 2px;font-size:var(--text-sm);color:var(--color-ink-3)}.report-milestone+.report-milestone{border-top:1px solid var(--color-line)}.report-milestone.is-earned{color:var(--color-ink)}.report-milestone.is-earned svg{color:var(--color-gold)}.report-milestone em{margin-left:auto;font-style:normal;font-size:var(--text-xs)}.report-milestone.is-earned em{color:var(--color-success)}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.tool-grid__item{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);transition:border-color .16s ease}.tool-grid__item:hover{border-color:var(--color-primary)}.tool-grid__icon{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center}.tool-grid__icon--mint{background:var(--color-teal-soft);color:var(--color-teal)}.tool-grid__icon--peach{background:var(--color-peach);color:var(--color-ink)}.tool-grid__icon--lilac{background:var(--color-lilac);color:var(--color-ink)}.tool-grid__label{font-size:var(--text-sm);font-weight:600}.tool-grid__hint{font-size:11px;color:var(--color-ink-3)}@media(max-width:360px){.notes-grid,.tool-grid{grid-template-columns:1fr}}
