@charset "UTF-8";@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");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:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoqJ2nOeZ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoqt2nOeZ.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFotN2nOeZ.woff2) format("woff2");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFosF2nOeZ.woff2) format("woff2");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoqB2nOeZ.woff2) format("woff2");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:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoqF2nOeZ.woff2) format("woff2");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:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoq92nA.woff2) format("woff2");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:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwf7I-NP.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMw77I-NP.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuM3b7I-NP.woff2) format("woff2");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuM2T7I-NP.woff2) format("woff2");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwX7I-NP.woff2) format("woff2");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:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwT7I-NP.woff2) format("woff2");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:Lora;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwr7Iw.woff2) format("woff2");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:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwf7I-NP.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMw77I-NP.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuM3b7I-NP.woff2) format("woff2");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuM2T7I-NP.woff2) format("woff2");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwX7I-NP.woff2) format("woff2");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:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwT7I-NP.woff2) format("woff2");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:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/lora/v37/0QIvMX1D_JOuMwr7Iw.woff2) format("woff2");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}.planner-page{--planner-paper: #fffdf8;--planner-bg: #f3eee4;--planner-ink: #1f2218;--planner-muted: #6f7366;--planner-line: #ddd3c2;--planner-olive: #2f6a4d;--planner-olive-soft: #e4f2e8;--planner-teal: #0f766e;--planner-amber: #b56b1d;--planner-violet: #6f4cb3;--planner-shadow: 0 16px 40px rgba(58, 61, 41, .08);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:1rem;min-height:0;max-height:100%;overflow:hidden}.planner-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.25rem 1.4rem;border:1px solid var(--planner-line);border-radius:1.5rem;background:radial-gradient(circle at top left,rgba(47,106,77,.12),transparent 36%),linear-gradient(135deg,#fffefb,#f6f0e7);box-shadow:var(--planner-shadow)}.planner-kicker{margin:0 0 .35rem;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--planner-olive);font-weight:700}.planner-header h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;color:var(--planner-ink)}.planner-subtitle{margin:.45rem 0 0;color:var(--planner-muted);max-width:38rem}.planner-toolbar{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.planner-weeknav{display:flex;align-items:center;gap:.5rem;padding:.35rem;background:#ffffffc7;border-radius:999px;border:1px solid rgba(221,211,194,.85)}.week-label{min-width:13rem;text-align:center;font-weight:700;color:var(--planner-ink)}.week-btn,.today-btn,.filter-banner button,.session-remove,.session-reset,.assignment-chip,.entity-row,.lesson-card{font:inherit}.week-btn,.today-btn{border:0;border-radius:999px;background:#fff;color:var(--planner-ink);cursor:pointer}.week-btn{width:2rem;height:2rem;font-size:1.1rem}.today-btn{padding:.45rem .9rem;font-weight:700}.planner-status{font-size:.82rem;color:var(--planner-muted)}.planner-message,.planner-loading{padding:.9rem 1rem;border-radius:1rem;border:1px solid var(--planner-line);background:var(--planner-paper)}.planner-message-error{border-color:#efb5b5;background:#fff2f2;color:#9e2d2d}.planner-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr);gap:1rem;min-height:0;flex:1;height:100%}.planner-panel,.planner-center{min-height:0}.planner-panel{display:flex;flex-direction:column;border:1px solid var(--planner-line);border-radius:1.4rem;background:var(--planner-paper);box-shadow:var(--planner-shadow);overflow:auto}.panel-head{display:flex;flex-direction:column;gap:.8rem;padding:1rem;border-bottom:1px solid rgba(221,211,194,.8)}.panel-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--planner-muted);font-weight:700}.panel-title{margin-top:.15rem;font-weight:700;color:var(--planner-ink)}.panel-search{width:100%;border:1px solid var(--planner-line);border-radius:999px;background:#fff;padding:.7rem .95rem;color:var(--planner-ink)}.filter-banner{display:flex;align-items:center;gap:.75rem;justify-content:space-between;margin:0 1rem;padding:.7rem .9rem;border-radius:1rem;background:var(--planner-olive-soft);color:var(--planner-olive)}.filter-banner button{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:700}.entity-list,.planner-center,.planner-panel-lessons{min-height:0}.entity-list,.planner-panel-lessons{overflow:auto;padding:.85rem}.lesson-filters{display:grid;gap:.8rem;padding:0 .85rem .85rem}.filter-group{display:grid;gap:.45rem}.filter-group-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--planner-muted)}.filter-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{--filter-accent: var(--planner-olive);display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;border:1px solid rgba(221,211,194,.95);background:#fff;color:var(--planner-muted);cursor:pointer}.filter-chip-active{border-color:color-mix(in srgb,var(--filter-accent) 32%,white);background:color-mix(in srgb,var(--filter-accent) 12%,white);color:var(--filter-accent)}.filter-chip-level{align-items:flex-start;flex-direction:column;gap:.1rem;border-radius:1rem}.filter-chip-all{font-weight:800;letter-spacing:.06em}.filter-chip-level small{font-size:.72rem;color:inherit;opacity:.8}.filter-note{font-size:.8rem;color:var(--planner-muted);padding:.65rem .8rem;border-radius:.9rem;background:#2f6a4d14}.entity-row,.lesson-card{width:100%;border:0;background:transparent;cursor:pointer;text-align:left}.entity-row{display:flex;align-items:center;gap:.65rem;padding:.6rem .7rem;border-radius:.95rem;color:var(--planner-ink)}.entity-row:hover,.entity-row-selected{background:#f2ece2}.entity-toggle{width:.75rem;color:var(--planner-muted);transition:transform .2s ease}.entity-toggle-open{transform:rotate(90deg)}.entity-toggle-hidden{visibility:hidden}.entity-badge{width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.45rem;color:#fff;font-size:.75rem;font-weight:800}.badge-level{background:var(--planner-olive)}.badge-class{background:var(--planner-teal)}.badge-group{background:var(--planner-amber)}.badge-individual{background:var(--planner-violet)}.entity-name{flex:1;min-width:0}.entity-count{color:var(--planner-muted);font-size:.78rem}.planner-center{border:1px solid var(--planner-line);border-radius:1.5rem;background:linear-gradient(180deg,#ffffffbd,#ffffff8a),repeating-linear-gradient(180deg,#e0d6c32e 0 24px,#f3eee41a 24px 48px);box-shadow:var(--planner-shadow);overflow:auto;padding:1rem}.days-grid{display:grid;gap:.85rem}.day-card{border:1px solid rgba(221,211,194,.95);border-radius:1.25rem;background:#fffdf8eb;transition:border-color .2s ease,box-shadow .2s ease}.day-card-today{border-color:#2f6a4dbf}.day-card-drop{border-color:#2f6a4de6;box-shadow:0 0 0 4px #2f6a4d24}.day-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 1rem;border-bottom:1px solid rgba(221,211,194,.8)}.day-label{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--planner-muted)}.day-date{display:flex;align-items:baseline;gap:.45rem}.day-number{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;color:var(--planner-ink)}.day-month,.day-count{color:var(--planner-muted)}.session-list,.empty-day{padding:.95rem 1rem 1rem}.session-list{display:grid;gap:.75rem}.empty-day{color:var(--planner-muted);font-style:italic}.session-card{border:1px solid rgba(221,211,194,.95);border-radius:1rem;padding:.85rem;background:#fff;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;cursor:grab}.session-card:active{cursor:grabbing}.session-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px #373a2914}.session-card-drop{border-color:#2f6a4de6;box-shadow:0 0 0 4px #2f6a4d1f}.session-card-filtered{opacity:.28}.session-top{display:flex;align-items:flex-start;gap:.75rem}.session-dot{width:.75rem;height:.75rem;border-radius:999px;margin-top:.25rem}.session-copy{flex:1}.session-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex-shrink:0}.session-actions-top{display:flex;align-items:center;gap:.4rem}.session-report{font-size:.74rem;font-weight:700;border:1px solid rgba(47,106,79,.28);border-radius:8px;background:#2f6a4f14;color:#2d6a4f;padding:3px 8px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .12s,border-color .12s}.session-report:hover:not(:disabled){background:#2f6a4f24;border-color:#2f6a4f73}.session-report:disabled{opacity:.55;cursor:not-allowed}.session-completion-stepper{display:flex;align-items:center;gap:.2rem}.session-completion-stepper button{width:20px;height:20px;border-radius:6px;border:1px solid rgba(221,211,194,.9);background:#faf8f5;cursor:pointer;font-size:.9rem;font-weight:700;color:var(--planner-muted);display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .12s,color .12s}.session-completion-stepper button:hover:not(:disabled){background:#2f6a4d1a;color:#2d6a4f}.session-completion-stepper button:disabled{opacity:.3;cursor:not-allowed}.session-completion-stepper span{font-size:.74rem;font-weight:700;color:var(--planner-muted);min-width:24px;text-align:center}.session-persistent-label{display:flex;align-items:center;gap:.25rem;font-size:.74rem;font-weight:600;color:var(--planner-muted);cursor:pointer;margin-left:.2rem;-webkit-user-select:none;user-select:none}.session-persistent-label input[type=checkbox]{accent-color:#2D6A4F;cursor:pointer;width:13px;height:13px}.session-persistent-label:has(input:checked){color:#2d6a4f}.session-subject{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--planner-muted);font-weight:700}.session-title{margin-top:.15rem;font-weight:700;color:var(--planner-ink)}.session-unit{margin-top:.15rem;color:var(--planner-muted);font-size:.9rem}.session-remove{width:1.8rem;height:1.8rem;border:0;border-radius:999px;background:#f5eee7;color:var(--planner-muted);cursor:pointer}.session-reset{height:1.8rem;padding:0 .7rem;border-radius:999px;border:1px solid rgba(221,211,194,.95);background:#fff;color:var(--planner-muted);cursor:pointer;font-weight:700;font-size:.78rem}.session-reset:hover{border-color:#b56b1d99;color:var(--planner-ink)}.session-progress-line{font-size:.76rem;font-weight:700;color:var(--ink-light);padding-left:1.2rem}.assignment-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.dialog-backdrop{position:fixed;inset:0;z-index:60;background:#0f172a61;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}.dialog-card{width:min(560px,100%);max-height:min(88vh,980px);background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.planner-report-dialog{width:min(680px,100%)}.dialog-head{padding:18px 20px 14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dialog-title{font-size:16px;font-weight:700;color:var(--ink)}.dialog-sub{margin-top:4px;font-size:12px;color:var(--ink-light)}.dialog-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto}.dialog-actions{padding:0 20px 20px;display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.dialog-error{padding:10px 12px;border-radius:10px;background:var(--red-light);color:var(--red);font-size:12px;font-weight:600}.planner-report-loading{font-size:13px;color:var(--ink-light)}.planner-report-summary{padding:14px 16px;border:1px solid rgba(47,106,79,.18);border-radius:8px;background:#2f6a4f0f}.planner-report-summary p{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--ink)}.planner-report-completion{font-size:14px;font-weight:800;color:#2d6a4f}.planner-report-section{display:grid;gap:8px;padding-top:2px}.planner-report-section h3{margin:0;font-size:14px;color:var(--ink)}.planner-report-section p{margin:0;font-size:12px;line-height:1.45;color:var(--ink-light)}.planner-report-section ul{margin:0;padding-left:18px;display:grid;gap:6px}.planner-report-section li,.confirm-copy{font-size:13px;line-height:1.45;color:var(--ink)}.confirm-hint{font-size:12px;color:var(--ink-light)}.assignment-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid transparent;border-radius:999px;padding:.42rem .7rem;cursor:pointer}.assignment-chip small{color:inherit;opacity:.8}.assignment-remove{opacity:.55}.assignment-level{background:#2f6a4d1f;color:var(--planner-olive);border-color:#2f6a4d38}.assignment-class{background:#0f766e1f;color:var(--planner-teal);border-color:#0f766e38}.assignment-group{background:#b56b1d1f;color:var(--planner-amber);border-color:#b56b1d38}.assignment-individual{background:#6f4cb31f;color:var(--planner-violet);border-color:#6f4cb338}.assignment-drop-hint{color:var(--planner-muted);font-size:.88rem}.session-settings-bar{margin-top:.6rem;border-top:1px solid rgba(221,211,194,.7);padding-top:.5rem}.session-settings-toggle{display:flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--planner-muted);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;transition:color .15s}.session-settings-toggle svg{width:14px;height:14px}.session-settings-toggle:hover,.session-settings-toggle.active{color:var(--planner-accent, #2D6A4F)}.session-settings-panel{margin-top:.6rem;display:flex;flex-direction:column;gap:.75rem;cursor:default}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.settings-row.settings-row-stack{flex-direction:column;align-items:flex-start}.settings-label{font-size:.82rem;font-weight:600;color:var(--planner-ink);line-height:1.3}.settings-label small{display:block;font-weight:400;font-size:.76rem;color:var(--planner-muted);margin-top:.15rem}.settings-stepper{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.settings-stepper button{width:26px;height:26px;border-radius:8px;border:1px solid rgba(221,211,194,.9);background:#faf8f5;cursor:pointer;font-size:1rem;font-weight:600;color:var(--planner-ink);display:flex;align-items:center;justify-content:center;transition:background .12s;line-height:1}.settings-stepper button:hover:not(:disabled){background:#2f6a4d14}.settings-stepper button:disabled{opacity:.35;cursor:not-allowed}.settings-stepper span{font-size:.82rem;font-weight:600;color:var(--planner-ink);min-width:52px;text-align:center}.settings-mode-group{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid rgba(221,211,194,.9);width:100%}.mode-btn{flex:1;padding:5px 0;font-size:.78rem;font-weight:600;font-family:inherit;background:#faf8f5;color:var(--planner-muted);border:none;cursor:pointer;transition:background .12s,color .12s}.mode-btn+.mode-btn{border-left:1px solid rgba(221,211,194,.9)}.mode-btn.active{background:#2d6a4f;color:#fff}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.settings-mode-detail{display:flex;flex-direction:column;gap:.5rem}.settings-mode-detail small{font-size:.76rem;color:var(--planner-muted);line-height:1.4}.instant-email-row{display:flex;align-items:center;gap:.6rem}.instant-email-btn{font-size:.78rem;font-weight:600;padding:5px 12px;border-radius:8px;background:transparent;color:#2d6a4f;border:1.5px solid #2D6A4F;cursor:pointer;font-family:inherit;transition:background .12s}.instant-email-btn:hover:not(:disabled){background:#2f6a4d12}.instant-email-btn:disabled{opacity:.5;cursor:not-allowed}.instant-email-result{font-size:.76rem;color:#2d6a4f;font-weight:600}.guest-link-box{display:flex;align-items:center;gap:.4rem;width:100%}.guest-link-box.inactive .guest-link-url{opacity:.5}.guest-link-url{flex:1;font-size:.76rem;color:var(--planner-ink);background:#faf8f5;border:1px solid rgba(221,211,194,.9);border-radius:8px;padding:5px 8px;min-width:0;cursor:text;font-family:monospace}.guest-link-copy{flex-shrink:0;font-size:.78rem;font-weight:600;padding:5px 10px;border-radius:8px;background:#2d6a4f;color:#fff;border:none;cursor:pointer;font-family:inherit;transition:background .15s}.guest-link-copy:hover{background:#245a42}.guest-link-stats{font-size:.76rem;color:var(--planner-muted);display:flex;align-items:center;gap:.6rem;width:100%}.guest-link-deactivate{font-size:.75rem;color:#c0392b;background:none;border:none;cursor:pointer;padding:0;font-family:inherit;text-decoration:underline}.guest-link-inactive-label{font-size:.75rem;color:var(--planner-muted);font-style:italic}.guest-link-generate{font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:8px;background:transparent;color:#2d6a4f;border:1.5px solid #2D6A4F;cursor:pointer;font-family:inherit;transition:background .15s}.guest-link-generate:hover:not(:disabled){background:#2f6a4d0f}.guest-link-generate:disabled{opacity:.5;cursor:not-allowed}.lesson-section{display:grid;gap:.55rem}.lesson-section+.lesson-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(221,211,194,.75)}.lesson-section-head{display:flex;gap:.7rem;align-items:flex-start}.lesson-section-toggle{width:100%;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.lesson-section-copy{flex:1}.lesson-section-icon{font-size:1.15rem}.lesson-section-subject{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--planner-muted)}.lesson-section-title{color:var(--planner-ink);font-weight:700}.lesson-section-arrow{color:var(--planner-muted);transition:transform .18s ease}.lesson-section-arrow-open{transform:rotate(180deg)}.lesson-section-body{display:grid;gap:.55rem}.lesson-card{border:1px solid rgba(221,211,194,.95);border-radius:1rem;padding:.8rem .85rem;background:#fff;transition:transform .18s ease,box-shadow .18s ease}.lesson-card:hover{transform:translate(2px);box-shadow:0 10px 24px #373a2914}.lesson-name{font-weight:700;color:var(--planner-ink)}.lesson-meta{display:flex;gap:.7rem;margin-top:.35rem;color:var(--planner-muted);font-size:.84rem}.empty-state{padding:1rem 0;color:var(--planner-muted);text-align:center}@media (max-width: 1180px){.planner-layout{grid-template-columns:1fr}.planner-header{flex-direction:column}.planner-toolbar{align-items:stretch;width:100%}.planner-weeknav{justify-content:center}.week-label{min-width:0;flex:1}}:root{--bg: #F7F3EE;--bg-alt: #EDE8E0;--bg-alt2: #E6E0D6;--white: #FFFFFF;--ink: #1A2417;--ink-light: #7C8B78;--ink-dim: #B0BBA8;--green: #2D6A4F;--green-mid: #52946E;--green-light: #D8F3DC;--green-pale: #EBF8ED;--border: #E2EDE5;--border-mid: #C8D8C8;--amber: #D97706;--amber-light: #FEF3C7;--red: #DC2626;--red-light: #FEE2E2;--teal: #0E7490;--teal-light: #CFFAFE;--brown: #92400E;--brown-light: #FEF3C7;--violet: #6D28D9;--violet-light: #EDE9FE;--shadow-sm: 0 2px 12px rgba(45,106,79,.07);--shadow-md: 0 4px 24px rgba(45,106,79,.12);--shadow-lg: 0 8px 32px rgba(45,106,79,.16);--radius: 14px;--radius-sm: 10px;--radius-xs: 6px;--transition: .18s ease;--sidebar-w: 220px;--topbar-h: 52px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--ink);font-size:13px;line-height:1.5;overflow:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}img{display:block}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-thumb{background:#2d6a4f33;border-radius:2px}.note-lines:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(transparent,transparent 53px,rgba(0,0,0,.022) 53px,rgba(0,0,0,.022) 54px);background-position:0 80px}.app-shell{display:flex;height:100vh;overflow:hidden;position:relative}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative;z-index:1}.scroll-area{flex:1;overflow-y:auto;overflow-x:hidden}.page-body{padding:32px 36px;max-width:1100px}.sidebar{width:var(--sidebar-w);background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;flex-shrink:0;box-shadow:2px 0 16px #2d6a4f0d;z-index:10;position:relative;transition:width var(--transition)}.sidebar-logo{padding:26px 20px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0;position:relative;z-index:1}.sidebar-logo-mark{width:36px;height:36px;border-radius:10px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;box-shadow:0 4px 12px #2d6a4f4d}.sidebar-logo-name{font-family:Lora,serif;font-size:17px;font-weight:600;color:var(--ink);line-height:1.1}.sidebar-logo-tag{font-size:10px;font-weight:700;color:var(--ink-light);letter-spacing:.1em;text-transform:uppercase}.sidebar-toggle{margin-left:auto;width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;transition:all var(--transition);color:var(--ink-light)}.sidebar-toggle:hover{border-color:var(--border-mid);color:var(--ink)}.sidebar-toggle img{transition:transform var(--transition)}.sidebar:not(.collapsed) .sidebar-toggle img{transform:rotate(180deg)}.teacher-chip{margin:14px 14px 4px;display:flex;align-items:center;gap:8px;background:var(--green-pale);border-radius:10px;padding:8px 10px;border:1px solid var(--green-light);position:relative;z-index:1}.teacher-avatar{width:30px;height:30px;border-radius:50%;background:var(--green-light);border:2px solid var(--border-mid);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.teacher-name{font-size:12px;font-weight:700;color:var(--ink)}.teacher-school{font-size:10px;color:var(--ink-light)}.sidebar-nav{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;position:relative;z-index:1}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--ink-light);transition:all var(--transition);border:1px solid transparent;text-decoration:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--green-pale);color:var(--ink)}.nav-item.active{background:var(--green-pale);color:var(--green);border-color:var(--green-light);font-weight:700}.nav-icon{font-size:16px;flex-shrink:0}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);margin-left:auto;flex-shrink:0}.nav-divider{height:1px;background:var(--border);margin:6px 0}.socrates-status{margin:0 12px 14px;padding:12px 14px;background:var(--bg-alt);border-radius:10px;border:1px solid var(--border);position:relative;z-index:1;flex-shrink:0}.socrates-live{display:flex;align-items:center;gap:6px;margin-bottom:4px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green)}.live-label{font-size:10px;font-weight:700;color:var(--green);letter-spacing:.08em;text-transform:uppercase}.socrates-info{font-size:11px;color:var(--ink-light);line-height:1.4}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-logo{padding:22px 14px 18px}.sidebar.collapsed .sidebar-logo-name,.sidebar.collapsed .sidebar-logo-tag{display:none}.sidebar.collapsed .teacher-chip{justify-content:center;padding:8px}.sidebar.collapsed .teacher-name,.sidebar.collapsed .teacher-school{display:none}.sidebar.collapsed .sidebar-nav{padding:8px}.sidebar.collapsed .nav-item{justify-content:center;padding:9px 8px}.sidebar.collapsed .nav-item span,.sidebar.collapsed .socrates-status{display:none}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 32px;gap:16px;background:#f7f3eeeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-shrink:0;position:sticky;top:0;z-index:5}.breadcrumb{display:flex;align-items:center;gap:6px;flex:1;font-size:12px}.bc-sep{color:var(--ink-dim)}.bc-root{color:var(--ink-light);font-weight:500}.bc-page{color:var(--ink);font-weight:700}.topbar-search{position:relative}.topbar-search .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-dim);font-size:13px;pointer-events:none}.topbar-search input{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:6px 12px 6px 28px;width:200px;font-size:12px;color:var(--ink);outline:none;transition:border-color var(--transition)}.topbar-search input:focus{border-color:var(--green)}.topbar-search input::placeholder{color:var(--ink-dim)}.topbar-btn{width:34px;height:34px;border-radius:8px;background:var(--white);border:1px solid var(--border);font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);color:var(--ink-light)}.topbar-btn:hover{border-color:var(--border-mid)}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.card-header-title{font-size:14px;font-weight:700;color:var(--ink)}.card-header-sub{font-size:12px;color:var(--ink-light);margin-top:1px}.card-body{padding:20px}.stat-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow-sm);text-align:center}.stat-val{font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1}.stat-label{font-size:12px;font-weight:700;color:var(--ink);margin-top:6px}.stat-sub{font-size:11px;color:var(--ink-light);margin-top:3px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap}.badge-green{background:var(--green-pale);color:var(--green)}.badge-amber{background:var(--amber-light);color:var(--amber)}.badge-red{background:var(--red-light);color:var(--red)}.badge-muted{background:var(--bg-alt);color:var(--ink-light)}.badge-teal{background:var(--teal-light);color:var(--teal)}.badge-violet{background:var(--violet-light);color:var(--violet)}.score-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap}.score-high{background:var(--green-pale);color:var(--green)}.score-mid{background:var(--amber-light);color:var(--amber)}.score-low{background:var(--red-light);color:var(--red)}.label-xs{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-sm);padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:all var(--transition);font-family:DM Sans,sans-serif}.btn-primary{background:var(--green);color:#fff;box-shadow:0 4px 12px #2d6a4f40}.btn-primary:hover{background:#235840}.btn-ghost{background:none;color:var(--ink-light);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--border-mid);color:var(--ink)}.btn-dashed{background:none;border:1.5px dashed var(--border-mid);color:var(--ink-light);border-radius:var(--radius-sm);width:100%;padding:10px;text-align:center;font-size:12px;font-weight:700;cursor:pointer;transition:all var(--transition)}.btn-dashed:hover{border-color:var(--green);color:var(--green)}.btn-sm{padding:5px 12px;font-size:11px}.btn-icon{background:none;border:1px solid var(--border);border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-light);font-size:14px;transition:all var(--transition)}.btn-icon:hover{border-color:var(--border-mid);color:var(--ink)}.progress-bar{height:4px;border-radius:2px;background:var(--border);overflow:hidden}.progress-bar-md{height:6px}.progress-fill{height:100%;border-radius:2px;transition:width .8s ease}.form-group{display:flex;flex-direction:column;gap:0px;margin-bottom:10px}.form-label{font-size:12px;font-weight:700;color:var(--ink-light);letter-spacing:.03em}.form-input{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--ink);outline:none;transition:border-color var(--transition);caret-color:var(--green)}.form-input:focus{border-color:var(--green);background:var(--white)}.form-input::placeholder{color:var(--ink-dim)}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:10px 20px;text-align:left;font-size:10px;font-weight:700;color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th:hover{color:var(--ink-light)}.data-table td{padding:13px 20px;border-bottom:1px solid var(--border)}.data-table tbody tr{transition:background var(--transition);cursor:pointer}.data-table tbody tr:hover{background:var(--green-pale)}.data-table tbody tr:last-child td{border-bottom:none}.drawer{width:320px;flex-shrink:0;border-left:1px solid var(--border);background:var(--white);display:flex;flex-direction:column;height:100%;overflow:hidden;animation:slideIn .22s ease both}.drawer-head{padding:20px 20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-head-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.drawer-body{flex:1;overflow-y:auto;padding:16px 20px}.feed-row{display:flex;align-items:flex-start;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);transition:background var(--transition)}.feed-row:hover{background:var(--green-pale)}.feed-row:last-child{border-bottom:none}.feed-dot{width:3px;height:3px;border-radius:50%;margin-top:7px;flex-shrink:0}.feed-text{font-size:12px;color:var(--ink)}.feed-actor{font-weight:700}.feed-action{color:var(--ink-light)}.feed-meta{font-size:11px;color:var(--ink-dim);margin-top:2px}.live-badge{font-size:10px;font-weight:700;color:var(--green);background:var(--green-pale);padding:2px 9px;border-radius:20px}.kw-chip{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;border:1px solid;transition:all var(--transition)}.kw-remove{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:0;opacity:.5;transition:opacity var(--transition)}.kw-remove:hover{opacity:1}.concept-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-alt);border-radius:10px;border:1px solid var(--border)}.concept-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.lesson-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;width:100%;text-align:left;border:1px solid transparent;cursor:pointer;transition:all .15s;background:none}.lesson-list-item:hover{background:var(--green-pale)}.lesson-list-item.active{background:var(--green-pale);border-color:var(--green-light)}.lesson-subject-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.split-layout{display:flex;height:100%;overflow:hidden}.split-left{flex-shrink:0;border-right:1px solid var(--border);background:var(--white);overflow-y:auto}.split-right{flex:1;overflow-y:auto}.bar-chart{display:flex;align-items:flex-end;gap:10px;height:120px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.bar-fill{width:100%;border-radius:4px 4px 0 0;min-height:4px;transition:height .8s ease}.bar-label{font-size:9px;font-weight:700;color:var(--ink-dim)}.score-ring-wrap{position:relative;display:inline-block}.score-ring-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-ring-val{font-size:24px;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1}.score-ring-lbl{font-size:9px;font-weight:700;color:var(--ink-dim);letter-spacing:.1em}.upload-zone{border:2px dashed var(--border-mid);border-radius:var(--radius);padding:40px 32px;background:var(--white);text-align:center;transition:all var(--transition);cursor:pointer}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--green);background:var(--green-pale)}.upload-icon{font-size:40px;margin-bottom:12px}.upload-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}.upload-sub{font-size:13px;color:var(--ink-light);margin-bottom:16px}.file-row{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--border);transition:background var(--transition)}.file-row:last-child{border-bottom:none}.file-row:hover{background:var(--green-pale)}.file-thumb{width:40px;height:48px;border-radius:8px;flex-shrink:0;background:var(--bg-alt);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.file-thumb-icon{font-size:16px}.file-thumb-ext{font-size:7px;font-weight:800;color:var(--ink-dim);letter-spacing:.05em}.file-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:3px}.file-meta{display:flex;gap:8px;align-items:center}.processing-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--amber);background:var(--amber-light);padding:3px 10px;border-radius:20px}.ready-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--green);background:var(--green-pale);padding:3px 10px;border-radius:20px}.popup-overlay{position:fixed;inset:0;z-index:200;background:#1a241759;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:24px}.popup-overlay.open{display:flex}.popup{width:100%;max-width:380px;background:var(--white);border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden;animation:scaleIn .22s cubic-bezier(.34,1.4,.64,1) both}.popup-body{padding:22px 22px 0}.popup-actions{padding:18px 22px 22px;display:flex;gap:10px;justify-content:flex-end}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-1{flex:1}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-20{gap:20px}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.w-full{width:100%}.text-ink{color:var(--ink)}.text-light{color:var(--ink-light)}.text-dim{color:var(--ink-dim)}.text-green{color:var(--green)}.font-700{font-weight:700}.font-serif{font-family:Lora,serif}.font-italic{font-style:italic}.text-11{font-size:11px}.text-12{font-size:12px}.text-13{font-size:13px}.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.anim-fade-up{animation:fadeUp .35s ease both}.anim-fade-up-1{animation:fadeUp .35s ease .05s both}.anim-fade-up-2{animation:fadeUp .35s ease .1s both}.anim-fade-up-3{animation:fadeUp .35s ease .15s both}.spin{animation:spin 1s linear infinite}app-root{display:block;min-height:100%}body.auth-screen{overflow:auto}
