@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-cyrillic-500-normal-GO7-LTbC.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-500-normal-DmDODJdV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-vietnamese-500-normal-Jyt54flB.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-500-normal-_Z41d-72.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:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-ext-500-normal-DE-Iylxw.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-500-normal-CFxFMdkY.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:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-normal-DIxvyhka.woff2) format("woff2"),url(/assets/playfair-display-latin-500-normal-BScSeVwi.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:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.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:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.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:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2) format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.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:Playfair Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/playfair-display-cyrillic-800-normal-BNMG-Q7a.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-800-normal-Drcgs-AM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/playfair-display-vietnamese-800-normal-eAF99_Jc.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-800-normal-DQKEhsq9.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:Playfair Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/playfair-display-latin-ext-800-normal-ZgHWgVpM.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-800-normal-DD7uHqs8.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:Playfair Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/playfair-display-latin-800-normal-lwhkvH_6.woff2) format("woff2"),url(/assets/playfair-display-latin-800-normal-D0Xz4t1K.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:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dancing-script-vietnamese-600-normal-B_5hiXq4.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-600-normal-DmBNuN3D.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:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dancing-script-latin-ext-600-normal-B3h_y-4p.woff2) format("woff2"),url(/assets/dancing-script-latin-ext-600-normal-C2Rto93b.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:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dancing-script-latin-600-normal-CUtcW3hj.woff2) format("woff2"),url(/assets/dancing-script-latin-600-normal-8nA_0nHX.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:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-vietnamese-700-normal-DHSNEjs8.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-700-normal-BxaLPXNn.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:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-ext-700-normal-DuhEb1O2.woff2) format("woff2"),url(/assets/dancing-script-latin-ext-700-normal-vV212RL9.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:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2) format("woff2"),url(/assets/dancing-script-latin-700-normal-LI5MgW9m.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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),url(/assets/montserrat-latin-ext-400-normal-BffdBkAA.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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.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:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-500-normal-DOzfAZ45.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:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format("woff2"),url(/assets/montserrat-vietnamese-500-normal-DpeZlV_K.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:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-ext-500-normal-BKtbrd6n.woff2) format("woff2"),url(/assets/montserrat-latin-ext-500-normal-DWPqqZgs.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:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format("woff2"),url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.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:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.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:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format("woff2"),url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.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:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2) format("woff2"),url(/assets/montserrat-latin-ext-700-normal-DdDFr05Z.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:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.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:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-800-normal-mB3PmEeV.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:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format("woff2"),url(/assets/montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-vietnamese-800-normal-BDwqwvSG.woff2) format("woff2"),url(/assets/montserrat-vietnamese-800-normal-Chy8GRiB.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:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-ext-800-normal-BBvmbyWk.woff2) format("woff2"),url(/assets/montserrat-latin-ext-800-normal-Wjq_OapB.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:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.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{--red: #bd1730;--red2: #e03a4f;--gold: #b99447;--blue: #225bc1;--cyan: #20a5c9;--purple: #8b5cf6;--ink: #182131;--muted: #687386;--bg: #f4f7fb;--card: #ffffff;--line: #e4e9f1;--green: #16845e;--shadow: 0 20px 55px rgba(25,37,60,.13);--radius: 18px;--radius-sm: 12px;--red-bg: #fff0f2;--blue-bg: #e8f0ff;--gold-bg: #fdf6e8;--green-bg: #e8f8f0;--surface: #f1f5fb;--surface-input: #fbfcfe;--surface-hover: #f7f9fc;--surface-hover2: #f7f8fb;--text-secondary: #354158;--text-gold: #8a6d2d}[data-theme=dark]{--red: #e85a6f;--red2: #ef7a8a;--gold: #d4a84b;--blue: #4a82e0;--purple: #a78bfa;--ink: #f1f5f9;--muted: #94a3b8;--bg: #0f172a;--card: #1e293b;--line: #334155;--shadow: 0 20px 55px rgba(0,0,0,.4);--red-bg: rgba(232,90,111,.12);--blue-bg: rgba(74,130,224,.12);--gold-bg: rgba(212,168,75,.12);--green-bg: rgba(22,132,94,.15);--surface: rgba(255,255,255,.08);--surface-input: rgba(255,255,255,.06);--surface-hover: rgba(255,255,255,.1);--surface-hover2: rgba(255,255,255,.08);--text-secondary: #c8d0dc;--text-gold: #d4a84b}[data-theme=dark] ::placeholder,[data-theme=dark] ::-webkit-input-placeholder,[data-theme=dark] :-moz-placeholder,[data-theme=dark] ::-moz-placeholder,[data-theme=dark] :-ms-input-placeholder{color:#94a3b8!important;opacity:1!important}[data-theme=dark] select,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] button,[data-theme=dark] option{color:#f1f5f9}[data-theme=dark] input,[data-theme=dark] textarea{background:#ffffff0f}[data-theme=dark] select option{background:#1e293b;color:#f1f5f9}[data-theme=dark] select option:checked{background:#334155}[data-theme=dark] body,[data-theme=dark] p,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,[data-theme=dark] li,[data-theme=dark] td,[data-theme=dark] th,[data-theme=dark] div,[data-theme=dark] span,[data-theme=dark] label,[data-theme=dark] strong,[data-theme=dark] b,[data-theme=dark] em,[data-theme=dark] i,[data-theme=dark] u,[data-theme=dark] small,[data-theme=dark] sub,[data-theme=dark] sup{color:#f1f5f9}[data-theme=dark] .dash-sub,[data-theme=dark] .stat-label,[data-theme=dark] .feed-time,[data-theme=dark] .course-info p,[data-theme=dark] .course-meta span,[data-theme=dark] .lesson-info p,[data-theme=dark] .vocab-pos,[data-theme=dark] .vocab-def,[data-theme=dark] .vocab-example,[data-theme=dark] .vocab-example-vi,[data-theme=dark] .phrase-vi,[data-theme=dark] .path-desc,[data-theme=dark] .wotd-level,[data-theme=dark] .wotd-example,[data-theme=dark] .tip-category,[data-theme=dark] .tip-snippet,[data-theme=dark] .section-sub-title p,[data-theme=dark] .history-item-date,[data-theme=dark] .cert-sign,[data-theme=dark] .cert-verify,[data-theme=dark] .landing-step p,[data-theme=dark] .landing-feature-card p,[data-theme=dark] .landing-hero-sub,[data-theme=dark] .article-content p,[data-theme=dark] .article-content .source-note,[data-theme=dark] .site-footer,[data-theme=dark] .site-footer p,[data-theme=dark] .site-footer a,[data-theme=dark] .auth-toggle,[data-theme=dark] .auth-form-inner>p,[data-theme=dark] .reward-card-desc,[data-theme=dark] .reward-lesson-meta,[data-theme=dark] .reward-vocab-meaning,[data-theme=dark] .reward-vocab-example,[data-theme=dark] .feed-text,[data-theme=dark] .quest-desc{color:#94a3b8}[data-theme=dark] .pill{background:#ffffff14;color:#94a3b8}[data-theme=dark] .pill.red{color:#f87171}[data-theme=dark] .pill.gold{color:#fbbf24}[data-theme=dark] .dash-sidebar-title,[data-theme=dark] .section-sub-title,[data-theme=dark] .feed-title{color:#f1f5f9}[data-theme=dark] .grid-4 .card,[data-theme=dark] .grid-3 .card,[data-theme=dark] .grid-2 .card,[data-theme=dark] .path-card,[data-theme=dark] .stat-card,[data-theme=dark] .vocab-card,[data-theme=dark] .feed-card,[data-theme=dark] .reward-card{background:var(--card);color:#f1f5f9}[data-theme=dark] .article-content,[data-theme=dark] .article-content p,[data-theme=dark] .lesson-content,[data-theme=dark] .lesson-content p,[data-theme=dark] .lesson-content h1,[data-theme=dark] .lesson-content h4{color:#f1f5f9}[data-theme=dark] .article-content .practice-box{background:#ffffff0a}[data-theme=dark] .article-content .practice-box b{color:#f1f5f9}[data-theme=dark] .article-content .article-lead{color:#f1f5f9;border-bottom-color:#334155}[data-theme=dark] .article-content h2{color:#f1f5f9}[data-theme=dark] .slot{background:var(--card);color:#f1f5f9}[data-theme=dark] .slot:hover{color:var(--red)}[data-theme=dark] .avatar-dropdown-item{color:#f1f5f9}[data-theme=dark] .vocab-word{color:var(--red)}[data-theme=dark] .course-cover,[data-theme=dark] .vimi-msg.user,[data-theme=dark] .enroll-bar,[data-theme=dark] .landing-cta,[data-theme=dark] .landing-cta h2,[data-theme=dark] .landing-cta p,[data-theme=dark] .hero-slogan,[data-theme=dark] .hero-sub,[data-theme=dark] .hero-heading{color:#fff}[data-theme=dark] .certificate-page h2,[data-theme=dark] .certificate-page h3{color:#bd1730}[data-theme=dark] .cert-name{color:#182131}[data-theme=dark] .cert-kicker{color:#8a6d2d}[data-theme=dark] .blog-cover{color:#ffffffb3}[data-theme=dark] .reward-card-price{color:var(--gold)}[data-theme=dark] .history-item-price,[data-theme=dark] .reward-xp-total{color:var(--red)}[data-theme=dark] .accent-bar{display:none}[data-theme=dark] .accent-red,[data-theme=dark] .accent-blue,[data-theme=dark] .accent-gold,[data-theme=dark] .accent-green{background:var(--card)}[data-theme=dark] .landing-nav{background:#0f172ad9}[data-theme=dark] .certificate-page{background:linear-gradient(145deg,#fdf6e8,#fff);border-color:#b99447;box-shadow:0 20px 55px #4836181f;color:#182131}[data-theme=dark] .certificate-page p,[data-theme=dark] .certificate-page div,[data-theme=dark] .certificate-page span,[data-theme=dark] .certificate-page b,[data-theme=dark] .certificate-page small{color:#182131}[data-theme=dark] .certificate-page:before{border-color:#8a6d2d}[data-theme=dark] .cert-seal{background:#fff;border-color:#8a6d2d}[data-theme=dark] .cert-meta,[data-theme=dark] .cert-sign,[data-theme=dark] .cert-verify{color:#687386}[data-theme=dark] .signature{color:#225bc1;border-bottom-color:#687386}[data-theme=dark] .qr-mock{background:#fff;border-color:#fff;box-shadow:0 0 0 1px #e4e9f1}[data-theme=dark] .qr-mock i{background:#fff}[data-theme=dark] .qr-mock i.fill{background:#182131}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}img{max-width:100%;height:auto}svg{max-width:100%}iframe{max-width:100%}html{overflow-x:hidden}.grid-4>*,.grid-3>*,.grid-2>*,.blog-grid>*,.path-grid>*,.reward-grid>*,.vocab-grid>*,.landing-features>*,.landing-steps>*{min-width:0}html{scroll-behavior:smooth}body{font-family:Montserrat,sans-serif;background:radial-gradient(circle at 92% 3%,rgba(34,91,193,.07),transparent 24%),var(--bg);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;border:none;background:none}input,select,textarea{font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 3px #225bc126!important}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--radius-sm)}.brand{display:flex;align-items:center;gap:13px}.brand-logo{width:42px;height:42px;border-radius:12px;background:var(--red);display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px;flex-shrink:0;transition:transform .2s ease}.brand-logo:hover{transform:scale(1.05)}.brand-title b{font-size:18px;letter-spacing:-.3px}.brand-title small{display:block;color:var(--muted);font-size:10px;margin-top:3px;letter-spacing:.2px;white-space:nowrap}.top-actions{display:flex;gap:10px;align-items:center}.avatar-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--card);border-radius:13px;display:grid;place-items:center;font-weight:800;color:var(--red);font-size:14px;transition:.15s}.avatar-btn:hover{border-color:var(--red);background:var(--red-bg)}.avatar-plus-badge{position:absolute;bottom:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#8b5cf6);color:#fff;display:grid;place-items:center;border:2px solid var(--card);line-height:0}.avatar-dropdown-item.gold{color:#a855f7;font-weight:700}.main{padding:28px 32px 48px;min-width:0}.main-public{padding:28px 24px 48px;min-width:0;overflow:hidden}.page-title{margin-bottom:28px}.page-title h1{font-size:26px;font-weight:800;letter-spacing:-.4px}.page-title p{color:var(--muted);font-size:13px;margin-top:6px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;min-width:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;min-width:0}.dash-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.dash-greeting{font-size:26px;font-weight:800;letter-spacing:-.4px}.dash-sub{color:var(--muted);font-size:13px;margin-top:4px}.stat-card{position:relative;overflow:hidden;padding:22px;border-radius:var(--radius);border:1px solid var(--line);display:flex;flex-direction:column;transition:all .25s;min-width:0;overflow-wrap:break-word;word-break:break-word}.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 35px #19253c14}.accent-bar{position:absolute;top:0;left:0;right:0;height:4px}.accent-red .accent-bar{background:var(--red)}.accent-blue .accent-bar{background:var(--blue)}.accent-gold .accent-bar{background:var(--gold)}.accent-green .accent-bar{background:var(--green)}.accent-red{background:linear-gradient(180deg,#fffbfc 0%,var(--card) 40%)}.accent-blue{background:linear-gradient(180deg,#fafcff 0%,var(--card) 40%)}.accent-gold{background:linear-gradient(180deg,#fffdf7 0%,var(--card) 40%)}.accent-green{background:linear-gradient(180deg,#f8fdfa 0%,var(--card) 40%)}.stat-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.stat-icon-box{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.accent-red .stat-icon-box{background:var(--red-bg);color:var(--red)}.accent-blue .stat-icon-box{background:var(--blue-bg);color:var(--blue)}.accent-gold .stat-icon-box{background:var(--gold-bg);color:var(--gold)}.accent-green .stat-icon-box{background:var(--green-bg);color:var(--green)}.stat-card .stat-value{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1}.stat-card .stat-label{font-size:12px;color:var(--muted);font-weight:500}.dash-hero{position:relative;overflow:hidden;border-radius:var(--radius);margin-bottom:40px;background:linear-gradient(150deg,#991b2f,#cf1838 52%,#e04a5f);min-height:150px}.dash-hero-blob{position:absolute;border-radius:50%;background:#ffffff12;pointer-events:none;animation:floatBlob 9s ease-in-out infinite alternate}.dash-hero-blob.blob-a{width:220px;height:220px;top:-80px;right:8%}.dash-hero-blob.blob-b{width:130px;height:130px;bottom:-45px;left:22%;animation-delay:2s}@keyframes floatBlob{0%{transform:translate(0) scale(1)}to{transform:translate(18px,-14px) scale(1.08)}}.dash-hero-content{position:relative;z-index:2;display:flex;align-items:center;gap:14px;padding:22px 24px 56px}.dash-hero-avatar{width:48px;height:48px;border-radius:50%;background:#ffffff2e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;letter-spacing:.5px;border:2px solid rgba(255,255,255,.55);flex-shrink:0}.dash-hero-text{flex:1;min-width:0}.dash-hero-text .dash-greeting{color:#fff;font-size:22px}.dash-hero-text .dash-sub{color:#ffffffbf;margin-top:3px}.dash-hero-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.dash-hero-meta .streak-badge,.dash-hero-meta .dash-xp-badge{background:#ffffff24;color:#fff;border:none;box-shadow:none}.dash-hero-meta .streak-badge svg{color:#ffd76a}.dash-level-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#b99447,#d4a84b);color:#fff;font-weight:800;font-size:12px;letter-spacing:.2px;padding:7px 13px;border-radius:999px;box-shadow:0 3px 12px -2px #d9b961a6;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease}.dash-level-badge:hover{transform:translateY(-1px);box-shadow:0 5px 16px -2px #d9b961cc}.dash-level-badge svg{color:#fff}.dash-level-ring{position:relative;width:44px;height:44px;cursor:pointer;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(217,185,97,.45));transition:filter .15s ease,transform .15s ease}.dash-level-ring:hover{transform:translateY(-1px);filter:drop-shadow(0 4px 10px rgba(217,185,97,.65))}.dash-level-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;letter-spacing:.2px}.dash-hero .hero-wave{height:40%;opacity:.9}.dash-courses-hero{box-shadow:0 1px 3px #19253c0f,0 14px 34px -12px #bd17302e;margin-bottom:24px;padding:22px}.dash-courses-hero-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.dash-courses-hero-head h3{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--ink)}.dash-courses-hero-head h3 svg{color:var(--red)}.dash-courses-hero-all{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--red);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.dash-courses-hero-list{display:flex;flex-direction:column;gap:12px}.course-hero-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:var(--surface);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.course-hero-row:hover{transform:translateY(-2px);box-shadow:0 2px 8px #19253c14,0 12px 26px -12px #19253c2e}.course-hero-cover{width:52px;height:52px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800;background-image:linear-gradient(#0000001f,#0000001f)!important}.course-hero-level{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:8px;background:#fffffff0;color:var(--ink);border:none;box-shadow:0 2px 6px #0000002e;font-size:11px;font-weight:800;letter-spacing:.3px}.course-hero-body{flex:1;min-width:0}.course-hero-title{font-size:14px;font-weight:700;margin-bottom:3px}.course-hero-meta{font-size:11px;color:var(--muted);margin-bottom:9px}.course-hero-progress{display:flex;align-items:center;gap:10px}.course-hero-bar{flex:1;height:9px;border-radius:999px;background:#19253c17;overflow:hidden;box-shadow:inset 0 1px 2px #19253c1f}.course-hero-fill{height:100%;border-radius:999px;box-shadow:0 2px 9px -2px currentColor;animation:progressGrow .85s cubic-bezier(.22,1,.36,1) both}.course-hero-fill.done{box-shadow:0 2px 9px -2px var(--green)}@keyframes progressGrow{0%{width:0}}.course-hero-pct{flex-shrink:0;min-width:36px;text-align:right;font-size:12px;font-weight:800;letter-spacing:-.3px}.course-hero-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;background:var(--red);color:#fff;border:none;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.course-hero-btn:hover{transform:translate(2px);box-shadow:0 6px 16px -6px #bd173080}.core-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 24px}.core-card{display:flex;align-items:center;gap:14px;padding:20px 18px;border-radius:var(--radius);cursor:pointer;color:#fff;box-shadow:0 2px 8px #19253c1a,0 18px 40px -12px #19253c47;transition:transform .22s ease,box-shadow .22s ease;animation:fadeUp .5s ease both}.core-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #19253c1f,0 28px 55px -14px #19253c57}.core-card:active{transform:translateY(-1px)}.core-red{background:linear-gradient(145deg,#bd1730,#ef6577)}.core-blue{background:linear-gradient(145deg,#225bc1,#69a9ef)}.core-gold{background:linear-gradient(145deg,#89682d,#d9b961)}.core-icon{width:48px;height:48px;border-radius:14px;flex-shrink:0;background:#ffffff29;color:#fff;display:flex;align-items:center;justify-content:center}.core-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.core-body b{font-size:14px;font-weight:700;color:#fff}.core-body span{font-size:12px;color:#ffffffb8;line-height:1.4}.core-arrow{flex-shrink:0;color:#ffffffd9;transition:transform .22s ease}.core-card:hover .core-arrow{transform:translate(4px)}.stat-card-new{padding:20px;border-radius:var(--radius);border:none;box-shadow:0 1px 3px #19253c0f,0 8px 24px -10px #19253c1a;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease;min-width:0;overflow-wrap:break-word;word-break:break-word;animation:fadeUp .5s ease both}.stat-card-new:hover{transform:translateY(-3px);box-shadow:0 2px 6px #19253c14,0 16px 34px -12px #19253c29}.stat-card-new .stat-value{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1}.stat-card-new .stat-label{font-size:12px;color:var(--muted);font-weight:500}.dash-quote{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px;padding:20px 24px;background:linear-gradient(180deg,#fffbfc 0%,var(--card) 60%);border-radius:var(--radius);box-shadow:0 1px 3px #19253c0d,0 10px 28px -12px #bd173024}.dash-quote-mark{font-size:44px;line-height:.9;color:var(--red);font-family:Georgia,serif;flex-shrink:0;margin-top:-4px}.dash-quote-text{font-size:14px;font-style:italic;line-height:1.65;color:var(--ink);margin-bottom:4px}.dash-quote-author{font-size:11px;color:var(--muted)}.dash-quote-btn{flex-shrink:0;border:none;background:var(--red-bg);color:var(--red);border-radius:999px;padding:8px 14px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .15s ease}.dash-quote-btn:hover{transform:translateY(-1px)}.dash-empty{padding:20px 0;text-align:center}.dash-empty-icon{width:64px;height:64px;border-radius:50%;background:var(--red-bg);color:var(--red);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.dash-empty-text{font-size:13px;color:var(--muted);margin-bottom:14px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.core-card,.stat-card-new,.dash-hero-blob,.dash-hero .wave-1,.dash-hero .wave-2{animation:none!important}.core-card,.stat-card-new{transition:none!important}}@media (max-width: 860px){.core-grid{grid-template-columns:1fr;margin-left:0;margin-right:0}.dash-hero-content{flex-wrap:wrap;padding:24px 20px 50px}.dash-hero-meta{width:100%}}.dash-body{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.feed-card{padding:24px;min-width:0;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.feed-title{font-size:16px;font-weight:700;margin-bottom:20px}.feed-item{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;position:relative}.feed-item:last-child{padding-bottom:0}.feed-item.clickable{cursor:pointer}.feed-item.clickable:hover .feed-text{color:var(--blue)}.feed-line{position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--line)}.feed-item:last-child .feed-line{display:none}.feed-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.feed-body{flex:1;min-width:0;padding-top:5px}.feed-text{font-size:13px;line-height:1.4;transition:color .15s}.feed-time{font-size:11px;color:var(--muted);margin-top:3px;display:block}.dash-sidebar{display:flex;flex-direction:column;gap:20px}.dash-sidebar-title{font-size:14px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:7px}.dash-greeting-wrap{flex:1;min-width:0}.dash-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.streak-badge{display:flex;align-items:center;gap:7px;padding:7px 16px 7px 12px;border-radius:100px;border:1px solid var(--gold);background:var(--gold-bg);font-size:13px;font-weight:700;color:var(--gold);white-space:nowrap}.streak-badge svg{color:var(--gold);flex-shrink:0}.dash-xp-badge{padding:7px 16px;border-radius:100px;border:1px solid var(--line);background:var(--card);font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:6px}.stat-pills{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.stat-pill{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);flex:1;min-width:0}.stat-pill-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-pill-info{display:flex;flex-direction:column;min-width:0}.stat-pill-value{font-size:17px;font-weight:800;line-height:1.2}.stat-pill-label{font-size:11px;color:var(--muted);font-weight:500}.dash-main-grid{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.dash-today-header{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.dash-wotd-row{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);margin-bottom:20px;cursor:pointer;transition:all .2s}.dash-wotd-row:hover{border-color:var(--gold);box-shadow:0 4px 16px #b9944714}.dash-wotd-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--gold-bg);color:var(--gold)}.dash-wotd-word{font-size:18px;font-weight:800;color:var(--gold)}.dash-wotd-detail{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-wotd-meaning{font-size:13px;color:var(--ink);margin-top:2px}.dash-wotd-example{font-size:11px;color:var(--muted);font-style:italic;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 480px){.dash-wotd-example{max-width:96px}}.dash-path-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.dash-path-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:100px;border:1px solid var(--line);background:var(--card);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.dash-path-pill:hover{transform:translateY(-1px);box-shadow:0 4px 12px #19253c0f}.activity-list{display:flex;flex-direction:column;gap:4px}.activity-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;transition:background .15s;cursor:default}.activity-item:hover{background:var(--surface-hover)}.activity-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-body{flex:1;min-width:0}.activity-title{font-size:12px;font-weight:600;color:var(--ink);line-height:1.3}.activity-detail{font-size:11px;color:var(--muted);margin-top:1px}.activity-time{font-size:11px;color:var(--muted);flex-shrink:0;white-space:nowrap}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:14px;font-weight:700;margin-bottom:8px;color:var(--ink)}.form-group input,.form-group select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;font-size:15px;background:var(--surface-input);transition:border-color .15s}.pill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--surface);color:var(--text-secondary);line-height:1.3}.pill.red{background:var(--red-bg);color:var(--red)}.pill.gold{background:var(--gold-bg);color:var(--text-gold)}.auth-page{min-height:100vh;display:grid;grid-template-columns:6fr 4fr}.auth-hero{background:linear-gradient(150deg,#991b2f,#cf1838 56%,#e45b6e);color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-hero-top{display:flex;align-items:center;gap:18px}.hero-middle{flex:1;display:flex;align-items:center;justify-content:center}.hero-slogan{text-align:center;margin-top:-64px}.hero-heading{font-size:28px;font-weight:800;line-height:1.3;letter-spacing:-.5px;margin-bottom:12px}.hero-sub{font-size:14px;line-height:1.6;color:#ffffffb3;max-width:440px;margin:0 auto}.hero-logo{width:88px;height:88px;border-radius:20px;background:#fff3;display:grid;place-items:center;font-size:46px;font-weight:900;flex-shrink:0}.hero-title{font-size:22px;font-weight:800;letter-spacing:-.3px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:64px 48px}.auth-form-inner{width:100%;max-width:500px}.auth-form-inner h2{font-size:36px;font-weight:800;margin-bottom:6px}.auth-form-inner>p{font-size:15px;color:var(--muted);margin-bottom:28px}.pw-wrap{position:relative}.pw-wrap input{padding-right:48px}.pw-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:6px;line-height:1;opacity:.4;transition:opacity .15s;color:var(--ink);display:grid;place-items:center}.pw-toggle:hover{opacity:.8}.auth-toggle{font-size:14px;color:var(--muted);text-align:center;margin-top:22px}.auth-toggle a{color:var(--red);font-weight:700;cursor:pointer}.auth-toggle a:hover{text-decoration:underline}.course-card{display:flex;gap:20px;padding:20px;transition:all .15s;cursor:pointer;align-items:flex-start;min-width:0;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.course-card:hover{border-color:var(--line);transform:translateY(-3px);box-shadow:0 16px 40px #19253c1f}.course-cover{width:110px;height:110px;border-radius:16px;flex-shrink:0;display:grid;place-items:center;color:#fff}.course-cover.red{background:linear-gradient(145deg,#bd1730,#ef6577)}.course-cover.blue{background:linear-gradient(145deg,#225bc1,#69a9ef)}.course-cover.gold{background:linear-gradient(145deg,#89682d,#d9b961)}.course-cover.green{background:linear-gradient(145deg,#13785a,#53b694)}.course-cover.purple{background:linear-gradient(145deg,#6a43aa,#a98ad9)}.course-info{flex:1;min-width:0}.course-info h3{font-size:16px;margin-bottom:6px}.course-info p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:12px}.course-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.course-meta span{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.lesson-item{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;transition:all .15s}.lesson-item:hover{background:var(--surface-hover);border-color:var(--line)}.lesson-item.completed{border-color:var(--green);background:var(--green-bg)}.lesson-number{width:36px;height:36px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--muted);flex-shrink:0}.lesson-item.completed .lesson-number{background:var(--green);color:#fff}.lesson-item.locked{opacity:.5;cursor:default}.lesson-info{flex:1;min-width:0}.lesson-info h4{font-size:14px;font-weight:600}.lesson-info p{font-size:11px;color:var(--muted);margin-top:4px}.lesson-badge{font-size:10px;padding:4px 10px;border-radius:999px;font-weight:700}.lesson-badge.free{background:var(--green-bg);color:var(--green)}.lesson-badge.pro{background:var(--surface);color:var(--muted)}.video-player{width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--radius);display:grid;place-items:center;color:#fff;margin-bottom:20px;overflow:hidden;position:relative}.video-player iframe{width:100%;height:100%;border:none}.video-player .placeholder{text-align:center;padding:48px}.video-player .placeholder p{font-size:14px;opacity:.6}.vocab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;min-width:0}.vocab-card{padding:20px;display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,box-shadow .2s ease;min-width:0;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.vocab-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #19253c14}.vocab-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vocab-word{font-size:20px;font-weight:800;color:var(--red);letter-spacing:-.3px}.vocab-pos{font-size:11px;color:var(--muted);font-weight:500}.vocab-level{font-size:10px;padding:2px 10px;border-radius:999px;background:var(--surface);font-weight:700}.vocab-meaning{font-size:14px;color:var(--ink);font-weight:600}.vocab-def{font-size:12px;color:var(--muted);line-height:1.5}.vocab-example{font-size:12px;color:var(--muted);font-style:italic;padding:10px 14px;background:var(--surface-hover);border-radius:8px;line-height:1.5}.vocab-example-vi{font-size:12px;color:var(--muted);padding:10px 14px;background:var(--red-bg);border-radius:8px;line-height:1.5}.vocab-bookmark-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:9px;display:grid;place-items:center;border-radius:6px;transition:color .15s,background .15s}.vocab-bookmark-btn:hover{color:var(--red);background:var(--red-bg)}.phrase-list{display:grid;gap:10px}.phrase-item{padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius-sm);transition:all .2s ease}.phrase-item:hover{border-color:var(--line);background:var(--surface-input);transform:translate(3px)}.phrase-en{font-size:15px;font-weight:700;margin-bottom:4px}.phrase-vi{font-size:13px;color:var(--muted);line-height:1.5}.phrase-footer{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.phrase-purpose{font-size:10px;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.3px}.quiz-option{padding:16px 20px;border:2px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;cursor:pointer;transition:all .2s ease;font-size:14px;line-height:1.5}.quiz-option:hover{border-color:var(--line);background:var(--surface-input);transform:translate(2px)}.quiz-option.selected{border-color:var(--blue);background:var(--blue-bg)}.quiz-option.correct{border-color:var(--green);background:var(--green-bg);animation:quizCorrect .4s ease}.quiz-option.incorrect{border-color:var(--red);background:var(--red-bg);animation:quizIncorrect .4s ease}.quiz-option .feedback{font-size:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);line-height:1.5}.vimi-float{position:fixed;bottom:24px;right:24px;z-index:100}.vimi-toggle{width:68px;height:68px;border-radius:50%;background:linear-gradient(145deg,#ef3652,#a80723);color:#fff;display:grid;place-items:center;box-shadow:0 8px 25px #bd173059;cursor:pointer;border:none;transition:.2s}.vimi-toggle:hover{transform:scale(1.08)}.vimi-toggle:active{transform:scale(.95)}.vimi-panel{position:fixed;bottom:100px;right:24px;width:380px;max-height:600px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;z-index:99;overflow:hidden}.vimi-header{padding:16px 18px;background:linear-gradient(145deg,#bd1730,#e03a4f);color:#fff;display:flex;align-items:center;gap:12px}.vimi-avatar{width:36px;height:36px;border-radius:50%;background:#fff3;display:grid;place-items:center}.vimi-header h3{font-size:14px}.vimi-header p{font-size:10px;opacity:.8}.vimi-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:300px}.vimi-msg{max-width:85%;padding:12px 16px;border-radius:16px;font-size:13px;line-height:1.7}.vimi-msg.bot{background:var(--surface);align-self:flex-start;border-bottom-left-radius:4px}.vimi-msg.user{background:var(--red);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.vimi-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.vimi-input input{flex:1;min-width:0;border:1px solid var(--line);border-radius:24px;padding:10px 16px;font-size:13px;background:var(--surface-input);color:var(--ink)}.vimi-input input:focus{border-color:var(--red)!important}.vimi-input button:last-child{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;transition:.15s;border:none}.vimi-input button:last-child:hover{background:#8c1124}.loading{display:grid;place-items:center;padding:60px}.spinner{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typingBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes quizCorrect{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes quizIncorrect{0%{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.hero-wave{position:absolute;bottom:0;left:0;right:0;height:33%;overflow:hidden;pointer-events:none}.hero-wave svg{width:100%;height:100%;position:absolute;bottom:0}.hero-wave .wave-1{transform-origin:center bottom;animation:waveFlow1 4.2s ease-in-out infinite alternate}.hero-wave .wave-2{transform-origin:center bottom;animation:waveFlow2 5.4s ease-in-out infinite alternate}.hero-wave .wave-3{transform-origin:center bottom;animation:waveFlow3 3.6s ease-in-out infinite alternate}@keyframes waveFlow1{0%{transform:translate(-10px) translateY(0) scaleX(1.5)}33%{transform:translate(4px) translateY(-16px) scaleX(1.28)}66%{transform:translate(-6px) translateY(-8px) scaleX(1.36)}to{transform:translate(8px) translateY(-24px) scaleX(1.2)}}@keyframes waveFlow2{0%{transform:translate(8px) translateY(3px) scaleX(1.25)}33%{transform:translate(-8px) translateY(-12px) scaleX(1.45)}66%{transform:translate(5px) translateY(-20px) scaleX(1.32)}to{transform:translate(-6px) translateY(-26px) scaleX(1.4)}}@keyframes waveFlow3{0%{transform:translate(6px) translateY(1px) scaleX(1.3)}33%{transform:translate(-7px) translateY(-10px) scaleX(1.22)}66%{transform:translate(3px) translateY(-18px) scaleX(1.38)}to{transform:translate(-5px) translateY(-8px) scaleX(1.26)}}.landing-blog-card{border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--card);border:1px solid var(--line);box-shadow:0 2px 10px #19253c0f;transition:transform .22s ease,box-shadow .22s ease}.landing-blog-card:hover{transform:translateY(-4px);box-shadow:0 6px 18px #19253c1f,0 18px 40px -14px #19253c33}.landing-blog-cover{position:relative;height:130px;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}.landing-blog-date{position:absolute;bottom:10px;right:12px;font-size:10.5px;color:#ffffffd9;background:#00000038;padding:2px 8px;border-radius:999px}.landing-blog-body{padding:18px}.landing-blog-title{font-size:14px;font-weight:700;margin-bottom:8px;line-height:1.4}.landing-blog-excerpt{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:10px}.landing-blog-more{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--red);transition:gap .15s ease}.landing-blog-card:hover .landing-blog-more{gap:8px}.help-faq details{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:10px;overflow:hidden;box-shadow:0 1px 4px #19253c0a;transition:box-shadow .15s ease}.help-faq details[open]{box-shadow:0 3px 12px #19253c14}.help-faq summary{cursor:pointer;padding:14px 16px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;transition:background .15s ease}.help-faq summary::-webkit-details-marker{display:none}.help-faq summary:after{content:"▾";font-size:12px;color:var(--muted);transition:transform .2s ease;flex-shrink:0}.help-faq details[open] summary:after{transform:rotate(180deg);color:var(--red)}.help-faq details[open] summary{background:var(--surface-hover)}.help-faq details>p,.help-faq details>div{padding:2px 16px 14px;margin:0;font-size:13px;color:var(--muted);line-height:1.7}.help-faq a{color:var(--red)}.rich-editor-area p{margin:0 0 14px}.rich-editor-area h2{font-size:20px;font-weight:800;margin:24px 0 10px;letter-spacing:-.3px}.rich-editor-area h3{font-size:17px;font-weight:700;margin:20px 0 8px}.rich-editor-area ul,.rich-editor-area ol{padding-left:22px;margin:0 0 14px}.rich-editor-area li{margin-bottom:6px}.rich-editor-area img{max-width:100%;border-radius:12px;margin:14px 0}.rich-editor-area blockquote{border-left:3px solid var(--red);margin:14px 0;padding:8px 16px;color:var(--muted);font-style:italic;background:var(--surface-hover);border-radius:0 10px 10px 0}.rich-editor-area a{color:var(--red)}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--line) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:8px;width:100%}.skeleton-text.short{width:60%}.skeleton-title{height:22px;margin-bottom:12px;width:40%}.skeleton-card{height:120px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.page-enter{animation:fadeIn .2s ease-out;min-width:0;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.empty{text-align:center;padding:48px;color:var(--muted)}.empty h3{font-size:16px;margin-bottom:8px;color:var(--ink)}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;align-items:center}.filter-bar select{padding:11px 32px 11px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12px;background:var(--card);cursor:pointer;min-width:160px;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23687386' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px}.filter-bar select:hover{border-color:var(--line)}.filter-bar input{padding:11px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;flex:1;max-width:320px;background:var(--card);transition:border-color .15s}.filter-bar input:hover{border-color:var(--line)}.progress-bar{height:8px;background:var(--surface);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--red2));border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1)}.lesson-content{max-width:900px;overflow-wrap:break-word;word-break:break-word}.lesson-content table{max-width:100%;display:block;overflow-x:auto}.lesson-nav{display:flex;justify-content:space-between;margin-top:24px;gap:12px}.lesson-nav button{max-width:48%;min-width:0}@media (max-width: 768px){.lesson-nav{flex-direction:column;align-items:stretch}.lesson-nav button{max-width:100%}}.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:16px;cursor:pointer;transition:color .15s}.back-btn:hover{color:var(--ink)}.enroll-bar{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;background:linear-gradient(145deg,#182131,#263b5d);color:#fff;border-radius:var(--radius);margin-top:20px;margin-bottom:24px;gap:20px}@media (max-width: 700px){.enroll-bar{flex-direction:column;align-items:stretch;gap:14px;padding:18px 20px}}.enroll-bar p{font-size:12px;opacity:.85;line-height:1.5}.course-detail-header{display:flex;gap:24px;align-items:flex-start}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{font-size:17px;font-weight:700}.tip-item{padding:12px 0}.tip-item+.tip-item{border-top:1px solid var(--line)}.tip-category{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.tip-title{font-size:13px;font-weight:600;margin-bottom:4px}.tip-snippet{font-size:12px;color:var(--muted);line-height:1.5}@media (max-width: 1100px){.dash-body,.dash-main-grid{grid-template-columns:1fr}.grid-4,.grid-3,.blog-grid,.path-grid,.reward-grid{grid-template-columns:repeat(2,1fr)}.vocab-grid{grid-template-columns:1fr}.landing-features{grid-template-columns:repeat(2,1fr)}.course-detail-header{flex-direction:column}}@media (max-width: 800px){.community-grid{grid-template-columns:1fr}}@media (max-width: 700px){.brand-title small{display:none}.main{padding:16px}.grid-4,.grid-3,.grid-2,.blog-grid,.path-grid,.reward-grid,.landing-features,.landing-steps,.auth-page{grid-template-columns:1fr}.auth-hero,.hero-wave{display:none}.auth-form-wrap{padding:32px 20px}.vimi-panel{width:calc(100vw - 24px);right:12px}.course-card{flex-direction:column}.course-cover{width:80px;height:80px;font-size:24px}.site-footer{grid-template-columns:1fr}.dash-top{flex-direction:column;gap:12px}}.landing{min-height:100vh;background:var(--card)}.landing-nav{position:sticky;top:0;z-index:100;background:#ffffffd9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.landing-nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}@media (max-width: 480px){.landing-nav-inner{padding:0 16px;gap:10px}}@media (max-width: 560px){.landing-nav-inner{flex-wrap:wrap;height:auto;padding:12px 16px;row-gap:10px}.landing-logo{min-width:0}.landing-nav-actions{justify-content:center;width:100%}}.app-sidebar{height:100vh;height:100dvh}.landing-logo{display:flex;align-items:center;gap:10px}.landing-logo-mark{width:36px;height:36px;border-radius:10px;background:var(--red);display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px}.landing-logo-text{font-size:18px;font-weight:800;letter-spacing:-.3px}.landing-nav-actions{display:flex;gap:10px;align-items:center}.landing-hero{position:relative;overflow:hidden;padding:80px 24px;background:linear-gradient(160deg,var(--blue-bg) 0%,var(--card) 40%,var(--red-bg) 100%)}.landing-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 30% 20%,rgba(34,91,193,.05) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(189,23,48,.04) 0%,transparent 60%)}.landing-hero-content{max-width:700px;margin:0 auto;text-align:center;position:relative}.landing-badge{display:inline-block;padding:6px 16px;border-radius:100px;font-size:12px;font-weight:600;background:var(--blue-bg);color:var(--blue);margin-bottom:24px}.landing-hero-title{font-size:44px;font-weight:800;letter-spacing:-1px;line-height:1.15;margin-bottom:20px}.landing-hero-accent{color:var(--red)}.landing-hero-sub{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:32px;max-width:560px;margin-left:auto;margin-right:auto}.landing-hero-actions{display:flex;gap:14px;justify-content:center}.landing-section{padding:80px 24px}.landing-section-compact{padding:48px 24px}.landing-section-alt{background:var(--blue-bg)}.landing-section-inner{max-width:1100px;margin:0 auto}.landing-section-title{font-size:30px;font-weight:800;text-align:center;margin-bottom:12px;letter-spacing:-.5px}.landing-section-sub{font-size:15px;color:var(--muted);text-align:center;margin-bottom:48px}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;min-width:0}.landing-feature-card{padding:28px;border-radius:var(--radius);border:1px solid var(--line);transition:all .25s}.landing-feature-card:hover{transform:translateY(-3px);box-shadow:0 12px 35px #19253c0f}.landing-feature-icon{width:48px;height:48px;border-radius:14px;background:var(--blue-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.landing-feature-card h3{font-size:16px;font-weight:700;margin-bottom:8px}.landing-feature-card p{font-size:13px;color:var(--muted);line-height:1.6}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center;min-width:0}.landing-step{padding:0 16px}.landing-step-num{width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;font-size:20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}.landing-step h3{font-size:16px;font-weight:700;margin-bottom:8px}.landing-step p{font-size:13px;color:var(--muted);line-height:1.6}.landing-cta{padding:80px 24px;text-align:center;background:linear-gradient(160deg,#182131,#263b5d);color:#fff}.landing-cta-inner{max-width:600px;margin:0 auto}.landing-cta h2{font-size:32px;font-weight:800;margin-bottom:12px;letter-spacing:-.5px}.landing-cta p{font-size:15px;opacity:.8;margin-bottom:8px}.landing-footer{padding:24px;text-align:center;font-size:12px;color:var(--muted)}.section-title{margin-bottom:16px}.section-title h3{font-size:18px;font-weight:700}.section-title p{font-size:12px;color:var(--muted);margin-top:2px}.section-sub-title{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;min-width:0}.path-card{padding:24px;cursor:pointer;transition:all .2s;min-width:0;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.path-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #19253c1a}.path-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.path-title{font-size:15px;font-weight:700;margin-bottom:4px}.path-desc{font-size:12px;color:var(--muted);line-height:1.5}.path-arrow{font-size:12px;font-weight:600;display:inline-block;margin-top:12px}.course-row{display:flex;align-items:center;gap:16px;padding:12px 0;cursor:pointer;border-bottom:1px solid var(--line)}.course-row:last-child{border-bottom:none}.course-row:hover .course-row-title{color:var(--red)}.course-row-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.course-row-level{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.course-row-title{font-size:13px;font-weight:600;transition:color .15s}.course-row-meta{font-size:11px;color:var(--muted);margin-top:2px}.wotd-word{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:2px;color:var(--red)}.wotd-level{font-size:11px;color:var(--muted);margin-bottom:12px}.wotd-meaning{font-size:14px;font-weight:600;margin-bottom:8px}.wotd-example{font-size:12px;font-style:italic;color:var(--muted);line-height:1.5;padding:10px 14px;background:var(--surface-hover);border-radius:10px;margin-bottom:4px}.tip-row{padding:10px 0}.tip-category{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.tip-title{font-size:13px;font-weight:600}.site-footer{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:24px;padding:44px 32px 36px;border-top:none;margin-top:auto;background:#182131;font-size:12px;color:#c9d1de;max-width:100%;overflow:hidden}.site-footer b{display:block;font-size:13px;margin-bottom:12px;color:#fff}.site-footer p{color:#a4b0c2;line-height:1.7;margin-bottom:8px}.site-footer a{display:block;color:#a4b0c2;cursor:pointer;margin-bottom:8px;text-decoration:none;transition:color .15s}.site-footer a:hover{color:#fff}.site-footer small{display:block;color:#6f7d95;margin-top:8px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;min-width:0}.blog-card{transition:transform .2s,box-shadow .2s}.blog-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #19253c1a}.article-content{font-size:15px;line-height:1.85;color:var(--ink);max-width:780px;margin:0 auto;padding:0 4px;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap}.article-content table{max-width:100%;display:block;overflow-x:auto;white-space:nowrap}.article-content .article-lead{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:24px;line-height:1.65;padding-bottom:16px;border-bottom:1px solid var(--line)}.article-content h2{font-size:20px;font-weight:700;margin:32px 0 12px;color:var(--ink)}.article-content p{margin-bottom:14px;color:var(--muted)}.article-content .practice-box{background:linear-gradient(135deg,var(--surface-hover),var(--surface-input));border-left:4px solid var(--red);border-radius:0 14px 14px 0;padding:20px 22px;margin:22px 0;font-size:14px;line-height:1.75;box-shadow:0 2px 8px #19253c0f}.article-content .practice-box b{display:block;margin-bottom:8px;color:var(--ink);font-size:15px}.article-content .practice-box p{margin-bottom:6px}.article-content .source-note{font-size:13px;color:var(--muted);font-style:italic;border-top:1px solid var(--line);padding-top:16px;margin-top:32px}.slot{padding:8px 4px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-size:12px;font-weight:600;cursor:pointer;text-align:center;transition:all .15s}.slot:hover{border-color:var(--red);color:var(--red)}.slot.selected{border-color:var(--red);background:var(--red-bg);color:var(--red)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;border:none;line-height:1.3;white-space:nowrap;background:var(--red);color:#fff}.btn-sm{padding:8px 14px;font-size:12px}.btn-outline{background:none;color:var(--ink);border:1px solid var(--line)}.btn-outline:hover{border-color:var(--red);color:var(--red)}.card{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);overflow:hidden;overflow-wrap:break-word;word-break:break-word}@media (max-width: 768px){.landing-hero-title{font-size:30px}.landing-features{grid-template-columns:1fr}.landing-steps{grid-template-columns:1fr;gap:24px}.landing-hero-actions{flex-direction:column;align-items:center}.blog-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}[data-theme=dark] .path-card{border-top-color:transparent!important}.certificate-shell{max-width:980px;margin:0 auto}.certificate-page{position:relative;background:linear-gradient(145deg,var(--gold-bg),var(--card));border:1px solid var(--gold);border-radius:26px;padding:54px 54px 44px;text-align:center;overflow:hidden;box-shadow:0 20px 55px #4836181f}.certificate-page:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:3px double var(--text-gold);border-radius:18px;pointer-events:none}.cert-logo{width:170px;max-height:76px;object-fit:contain;margin-bottom:10px}.cert-kicker{font-size:12px;color:var(--text-gold);font-weight:800;letter-spacing:2.6px}.certificate-page h2{font-family:Playfair Display,Georgia,serif;color:var(--red);font-size:40px;letter-spacing:1px;margin:18px 0}.certificate-page h3{font-size:23px;color:var(--red);max-width:720px;margin:18px auto;line-height:1.35}.cert-name{font-family:Playfair Display,Georgia,serif;font-size:38px;font-weight:800;color:var(--ink);margin:18px 0}.cert-meta{font-size:14px}.cert-bottom{display:grid;grid-template-columns:1fr 150px 1fr;align-items:end;gap:24px;margin-top:34px}.cert-sign,.cert-verify{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.signature{font-family:Dancing Script,cursive;font-size:24px;color:var(--blue);border-bottom:1px solid var(--muted);padding:0 18px 5px}.cert-seal{width:122px;height:122px;border:4px solid var(--text-gold);border-radius:50%;display:grid;place-items:center;margin:auto;background:var(--card)}.cert-seal img{width:82px;height:52px;object-fit:contain}.qr-mock{width:78px;height:78px;display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--card);border:5px solid var(--card);box-shadow:0 0 0 1px var(--line)}.qr-mock i{background:var(--card)}.qr-mock i.fill{background:var(--ink)}.certificate-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0 6px}.cert-corner{position:absolute;width:100px;height:100px;border-color:var(--text-gold)}.cert-corner-a{top:25px;left:25px;border-top:3px solid;border-left:3px solid}.cert-corner-b{right:25px;bottom:25px;border-right:3px solid;border-bottom:3px solid}@media (max-width: 700px){.certificate-page{padding:38px 24px 34px;border-radius:20px}.certificate-page:before{top:10px;right:10px;bottom:10px;left:10px}.cert-logo{width:145px}.cert-kicker{font-size:9px;letter-spacing:1.5px}.certificate-page h2{font-size:29px;line-height:1.12}.cert-name{font-size:29px}.certificate-page h3{font-size:19px}.cert-meta{font-size:12px;line-height:1.6}.cert-bottom{grid-template-columns:1fr;gap:18px}.cert-sign{order:2}.cert-seal{order:1;width:104px;height:104px}.cert-verify{order:3}.certificate-actions{display:grid;grid-template-columns:1fr 1fr}.cert-corner{display:none}}.quest-tabs{display:flex;gap:4px;background:var(--surface);border-radius:10px;padding:3px;margin-bottom:14px}.quest-tab{flex:1;padding:7px 12px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;text-align:center;transition:all .15s;border:none;background:none;color:var(--muted)}.quest-tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 4px #0000000f}.quest-item{display:flex;align-items:center;gap:10px;padding:7px 0}.quest-item.done{opacity:.55}.quest-check-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--muted)}.quest-item.done .quest-check-icon{color:var(--green)}.quest-title{flex:1;font-size:12px;font-weight:500;line-height:1.3}.quest-title.done{text-decoration:line-through;color:var(--muted)}.quest-progress{font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap;flex-shrink:0;min-width:32px;text-align:right}.quest-xp{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--red-bg);color:var(--red);white-space:nowrap;flex-shrink:0}.quest-xp.done{background:var(--green-bg);color:var(--green)}.quest-desc{font-size:10px;color:var(--muted);padding-left:26px;margin-top:-2px;margin-bottom:6px;line-height:1.4}.quest-anim{position:absolute;z-index:10;pointer-events:none;font-size:20px;font-weight:800;color:var(--green);transform:translate(-50%,-50%);animation:xpFloat 1.5s ease-out forwards}@keyframes xpFloat{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 60px)) scale(1.2)}}.filter-row{display:flex;gap:8px;margin-bottom:16px;max-width:420px}.filter-select{font-size:12px;padding:6px 22px 6px 10px;border-radius:20px;border:1px solid var(--line);background:var(--card);color:var(--ink);outline:none;cursor:pointer;flex:1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23999' d='M0 0l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select:disabled{opacity:.45;cursor:not-allowed}.reward-xp-total{font-size:18px;font-weight:800;color:var(--red);letter-spacing:-.3px}.reward-tabs{display:flex;gap:4px;background:var(--surface);border-radius:10px;padding:3px;margin-bottom:24px}.reward-tab{flex:1;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;text-align:center;transition:all .15s;border:none;background:none;color:var(--muted)}.reward-tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 4px #0000000f}.reward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;min-width:0}.reward-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 22px;gap:8px}.reward-card-icon{width:64px;height:64px;border-radius:16px;background:var(--red-bg);color:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.reward-card-name{font-size:15px;font-weight:700}.reward-card-desc{font-size:12px;color:var(--muted);line-height:1.5;flex:1}.reward-card-price{font-size:14px;font-weight:800;color:var(--gold);padding:4px 0}.history-list{max-width:600px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:8px;transition:background .15s}.history-item:hover{background:var(--surface-hover)}.history-item-info{flex:1;min-width:0}.history-item-name{font-size:13px;font-weight:600}.history-item-date{font-size:11px;color:var(--muted);margin-top:2px}.history-item-price{font-size:14px;font-weight:800;color:var(--red);flex-shrink:0}.reward-content-list{display:flex;flex-direction:column;gap:8px}.reward-lesson-item{padding:12px 16px;background:var(--surface-hover);border-radius:10px}.reward-lesson-title{font-size:13px;font-weight:600}.reward-lesson-meta{font-size:11px;color:var(--muted);margin-top:2px}.reward-vocab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.reward-vocab-card{padding:14px;border:1px solid var(--line);border-radius:10px}.reward-vocab-word{font-size:15px;font-weight:800;color:var(--red)}.reward-vocab-meaning{font-size:12px;color:var(--muted);margin:4px 0}.reward-vocab-example{font-size:11px;font-style:italic;color:var(--muted)}.reward-prompt-item{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;background:var(--surface-hover);border-radius:10px;font-size:13px;line-height:1.5}.reward-prompt-num{font-weight:800;color:var(--red);flex-shrink:0;min-width:20px}.reward-prompt-text{flex:1;color:var(--ink)}.reward-copy-btn{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--green);transition:all .15s}.reward-copy-btn:hover{background:var(--green-bg);border-color:var(--green)}.reward-webinar-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);padding:6px 0}@media (max-width: 900px){.reward-grid{grid-template-columns:repeat(2,1fr)}.reward-vocab-grid{grid-template-columns:1fr}}@media (max-width: 500px){.reward-grid{grid-template-columns:1fr}}.avatar-wrap{position:relative}.avatar-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:220px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:200;padding:6px;animation:fadeIn .12s ease-out}.avatar-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:13px;cursor:pointer;transition:background .12s;color:var(--ink);border:none;background:none;width:100%;text-align:left}.avatar-dropdown-item:hover{background:var(--surface)}.avatar-dropdown-item.danger{color:var(--red)}.avatar-dropdown-divider{height:1px;background:var(--line);margin:6px 0}.admin-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px}.admin-panel h3{font-size:15px;font-weight:800;margin-bottom:14px}.admin-input{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-input);color:var(--ink);font-size:13px;font-family:inherit}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.admin-table{width:100%;font-size:.82rem;border-collapse:collapse;min-width:560px}.admin-table th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.admin-table td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--surface-hover)}.admin-btn{padding:7px 14px;border-radius:8px;border:none;background:var(--red);color:#fff;cursor:pointer;font-weight:700;font-size:.8rem}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-ghost{padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-weight:600;font-size:.8rem}.admin-btn-ghost:hover{border-color:var(--red);color:var(--red)}.admin-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.admin-badge.green{background:var(--green-bg);color:var(--green)}.admin-badge.gold{background:var(--gold-bg);color:var(--gold)}.admin-badge.red{background:var(--red-bg);color:var(--red)}.admin-badge.gray{background:var(--surface);color:var(--muted)}.admin-tab-acc{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:20px}.admin-tab-acc-group{display:flex;flex-direction:column;min-width:0}.admin-tab-acc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:13px;font-weight:800;cursor:pointer;transition:all .15s;white-space:nowrap}.admin-tab-acc-head:hover,.admin-tab-acc-head.open{border-color:var(--red);color:var(--red)}.admin-tab-acc-body{overflow:hidden;transition:max-height .25s ease}.admin-tab-acc-body .admin-tabs{margin-top:8px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.admin-tab{padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;text-align:center;transition:all .15s;border:1px solid var(--line);background:var(--card);color:var(--muted);white-space:nowrap}.admin-tab:hover{border-color:var(--red);color:var(--red)}.admin-tab.active{background:var(--red);border-color:var(--red);color:#fff}.admin-note{font-size:12px;color:var(--muted);line-height:1.6}.admin-section-title{font-size:16px;font-weight:800;margin:0 0 4px}.admin-label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:12px 0 4px}.cs-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.cs-layout{display:block}.cs-layout .cs-editor{display:none}.cs-layout.editing .cs-editor{display:block}.cs-layout.editing .cs-curriculum{display:none}.cs-curriculum{display:flex;flex-direction:column;gap:10px;min-width:0}.cs-mod{border:1px solid var(--line);border-radius:14px;background:var(--surface-hover);overflow:hidden;transition:box-shadow .15s ease}.cs-mod.dragging{opacity:.92;box-shadow:0 8px 30px #19253c38;z-index:60;position:relative}.cs-mod-head{display:flex;align-items:center;gap:6px;padding:9px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.cs-mod-head:hover{background:var(--surface-input, rgba(0,0,0,.03))}.cs-items{padding:2px 10px 10px;display:flex;flex-direction:column;gap:6px;background:var(--card)}.cs-item-row{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.cs-item-row:hover{border-color:var(--red);box-shadow:0 2px 8px #19253c14}.cs-item-row.active{border-color:var(--red);background:var(--red-bg)}.cs-item-row.dragging{opacity:.95;box-shadow:0 8px 24px #19253c33;z-index:70;position:relative}.cs-handle{cursor:grab;color:var(--muted);border:none;background:none;padding:4px;display:inline-flex;touch-action:none;border-radius:6px;flex-shrink:0}.cs-handle:hover{color:var(--ink);background:var(--surface-hover)}.cs-handle:active{cursor:grabbing}.cs-item-title{font-size:13px;font-weight:600;flex:1;min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:none;border:none;color:var(--ink);cursor:pointer;padding:0}.cs-item-title:hover{text-decoration:underline}.cs-icon-btn{border:none;background:none;cursor:pointer;color:var(--muted);padding:5px;border-radius:6px;display:inline-flex;flex-shrink:0;transition:background .15s ease,color .15s ease}.cs-icon-btn:hover{color:var(--ink);background:var(--surface-hover)}.cs-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--surface-hover);color:var(--muted);white-space:nowrap;flex-shrink:0}.cs-badge.free{background:var(--green-bg);color:var(--green)}.cs-add{margin-top:4px;width:100%;border:1.5px dashed var(--line);border-radius:10px;background:none;color:var(--muted);padding:9px;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.cs-add:hover:not(:disabled){border-color:var(--red);color:var(--red);background:var(--red-bg)}.cs-add:disabled{opacity:.55;cursor:wait}.cs-editor{position:sticky;top:84px;max-height:calc(100vh - 104px);overflow-y:auto;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:18px;min-width:0}.cs-editor.editing{position:static;max-height:none}.cs-focus-head{display:flex;margin-bottom:6px}.cs-inner{max-width:1200px;margin:0 auto}.cs-sec-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:24px 0 10px;padding-top:16px;border-top:1px dashed var(--line)}.cs-seg{display:flex;flex-wrap:wrap;gap:7px}.cs-seg-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.cs-seg-btn:hover{border-color:var(--red);color:var(--red)}.cs-seg-btn.on{background:var(--red-bg);border-color:var(--red);color:var(--red);font-weight:800}.cs-seg-btn.sm{padding:5px 12px;font-size:12.5px}.cs-sub-type{margin-top:10px;margin-left:15px;padding:10px 14px 12px;border-left:2.5px solid var(--red);background:var(--surface-hover);border-radius:0 12px 12px 0}.cs-sub-label{font-size:11px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.cs-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:40px;height:22px;border-radius:999px;background:var(--line);cursor:pointer;transition:background .2s ease;flex-shrink:0;margin:0}.cs-switch:checked{background:var(--green, #22c55e)}.cs-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s ease;box-shadow:0 1px 3px #0000004d}.cs-switch:checked:after{left:21px}details.cs-preview{margin-top:18px}details.cs-preview>summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);list-style:none;display:flex;align-items:center;gap:7px;-webkit-user-select:none;user-select:none}details.cs-preview>summary::-webkit-details-marker{display:none}details.cs-preview>summary:before{content:"▸";transition:transform .15s ease}details.cs-preview[open]>summary:before{transform:rotate(90deg)}details.cs-preview[open]>summary{color:var(--ink)}.cs-savebar{position:sticky;bottom:-18px;z-index:20;margin:20px -18px -18px;padding:12px 18px 14px;background:var(--card);border-top:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 -8px 20px #19253c0f;display:flex;gap:8px}.cs-savebar .admin-btn{flex:1}.cs-manage{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}.cs-practice-config{border:1px solid var(--line);border-radius:12px;background:var(--surface-hover);padding:14px;margin-top:0;display:flex;flex-direction:column;gap:10px}.cs-practice-config .cs-manage{margin-top:0;padding-top:0;border-top:none}.cs-config-head{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.cs-config-head b{color:var(--ink);text-transform:none;letter-spacing:0}.cs-empty{border:1.5px dashed var(--line);border-radius:14px;padding:36px 20px;text-align:center;color:var(--muted)}.cs-confirm{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:999;background:var(--card);border:1px solid var(--red);border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;box-shadow:0 10px 30px #0000002e;max-width:92vw}.rich-editor-area p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none;color:var(--muted);opacity:.55}.article-content table{border-collapse:collapse}.article-content th,.article-content td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.article-content th{background:var(--surface-hover);font-weight:700;color:var(--ink)}.rich-editor-area .selectedCell{background:var(--red-bg)}.re-select{border:none;background:none;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;padding:5px 4px;border-radius:6px}.re-select:hover{background:var(--surface-hover)}.re-pop{position:absolute;top:calc(100% - 4px);left:50%;transform:translate(-50%);z-index:90;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #19253c38;padding:10px 12px;display:flex;flex-direction:column;gap:8px;white-space:nowrap}.re-pop-row{display:flex;align-items:center;gap:6px}.re-pop-label{font-size:10px;font-weight:800;color:var(--muted);width:32px;text-transform:uppercase;letter-spacing:.5px}.re-swatch{width:20px;height:20px;border-radius:6px;cursor:pointer;padding:0;border:1px solid rgba(128,128,128,.35);flex-shrink:0}.re-swatch.active{outline:2px solid var(--red);outline-offset:1px}.re-custom{position:relative;width:20px;height:20px;border-radius:6px;overflow:hidden;cursor:pointer;flex-shrink:0;background:conic-gradient(#ef4444,#eab308,#22c55e,#3b82f6,#8b5cf6,#ef4444);border:1px solid var(--line);display:inline-block}.re-custom input{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;opacity:0;cursor:pointer}.re-reset{font-size:11px;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer;padding:2px 4px}.re-reset:hover{color:var(--ink)}.re-pop-title{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.re-num{width:56px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);padding:5px 7px;font-size:13px}.re-num:focus{outline:none;border-color:var(--red)}.re-tbl-tools{display:flex;flex-wrap:wrap;gap:4px;width:100%;padding-top:6px;margin-top:4px;border-top:1px dashed var(--line)}.article-content table{width:100%;border-collapse:collapse;table-layout:fixed;margin:12px 0;overflow:hidden}.article-content th,.article-content td{border:1px solid var(--line);padding:6px 8px;vertical-align:top;word-break:break-word}.article-content th{background:var(--surface-hover);font-weight:700}.tableWrapper{overflow-x:auto}.column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--red);opacity:.55;cursor:col-resize;pointer-events:all}.column-resize-handle:hover{opacity:1}.resize-cursor{cursor:col-resize}.sp-listening{font-size:14px;font-weight:800;color:var(--red);animation:sp-pulse 1.1s ease-in-out infinite}@keyframes sp-pulse{0%,to{opacity:1}50%{opacity:.4}}.toast{position:fixed;top:16px;right:16px;z-index:9999;display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--card);box-shadow:0 8px 30px #19253c1f;animation:toastIn .25s ease-out;max-width:min(400px,calc(100vw - 32px))}.toast-success{border-color:var(--green)}.toast-error{border-color:var(--red)}.toast-icon{font-size:24px;flex-shrink:0}.toast-xp{font-size:16px;font-weight:800;color:var(--ink);line-height:1}.toast-close{flex-shrink:0;border:none;background:none;cursor:pointer;font-size:14px;color:var(--muted);padding:2px;line-height:1}.toast-close:hover{color:var(--ink)}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.bottom-nav{display:none}@media (max-width: 768px){.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);z-index:300}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:600;color:var(--muted);text-decoration:none}.bottom-nav-item.active{color:var(--red)}.main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.header-title{display:none}.vimi-float{bottom:calc(72px + env(safe-area-inset-bottom));right:16px}.vimi-panel{bottom:calc(160px + env(safe-area-inset-bottom))}}@media print{@page{margin:12mm;size:A4 landscape}body *{visibility:hidden}#certificateCanvas,#certificateCanvas *{visibility:visible}#certificateCanvas{position:absolute;left:0;top:0;width:100%;border:none;box-shadow:none;border-radius:0}.certificate-page:before{border:none}.cert-corner{display:none}}
