.login-page{--login-muted: #4B5563;--login-action-hover: #2745C8;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow:hidden;background:var(--color-surface);touch-action:manipulation}.login-brand{position:relative;flex:0 0 49%;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;padding:64px 64px 40px;background:var(--login-brand-bg);color:#fff}.login-brand__decor{position:absolute;border-radius:50%;background:var(--login-decor);pointer-events:none}.login-brand__decor--tr{top:-100px;right:-200px;width:500px;height:500px;opacity:.3}.login-brand__decor--bl{bottom:-100px;left:-150px;width:400px;height:400px;opacity:.2}.login-brand__logo{position:relative;z-index:1;display:flex;align-items:center;height:60px;padding:9px 15px 9px 9px;border-radius:var(--radius-md);background:var(--color-surface)}.login-brand__logo img{width:auto;height:42px}.login-brand__copy{position:relative;z-index:1;margin-top:258px}.login-brand__copy h1{max-width:656px;font-family:var(--font-display);font-size:44px;font-weight:800;line-height:52.8px;letter-spacing:0;color:#fff}.login-brand__copy p{max-width:480px;margin-top:16px;font-family:var(--font-display);font-size:16px;font-weight:400;line-height:24px;color:var(--login-subtitle)}.login-panel{position:relative;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:0;overflow-y:auto;padding:24px 80px 40px;padding-bottom:calc(40px + var(--keyboard-inset, 0px));background:var(--color-surface);touch-action:pan-y;-webkit-overflow-scrolling:touch}.login-topbar{display:flex;justify-content:flex-end;width:100%}.login-language{position:relative;display:inline-flex;align-items:center;height:33px;padding:0 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--login-muted);font-family:var(--font-sans);font-size:14px;font-weight:500;line-height:16.94px;white-space:nowrap;transition:background-color .16s ease}.login-language-wrap{position:relative;display:inline-block}.login-language-menu{position:absolute;z-index:var(--z-popover);top:100%;right:0;min-width:200px;margin-top:8px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-panel)}.login-language-option{display:flex;align-items:center;width:100%;min-height:44px;padding:0 10px;border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:14px;font-weight:500;text-align:left;touch-action:manipulation}.login-language-option:active{background:var(--color-surface-muted)}.login-language-option:focus-visible{outline:2px solid var(--login-action);outline-offset:-2px}.login-language-option--active{color:var(--login-action);font-weight:700}.login-language-option__check{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:20px;margin-right:8px}.login-language-option__name{flex:1 1 auto;white-space:nowrap}.login-language-option__code{flex:0 0 auto;margin-left:16px;color:var(--color-text-faint);font-size:12px;font-weight:600}.login-language:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.login-language>*+*{margin-left:8px}.login-language:hover{background:var(--color-surface-muted)}.login-language:focus{outline:2px solid var(--login-action);outline-offset:2px}.login-language:focus:not(:focus-visible){outline:0}.login-language:focus-visible{outline:2px solid var(--login-action);outline-offset:2px}.login-core{display:flex;flex-direction:column;align-items:center;width:100%}.login-welcome{max-width:480px;text-align:center}.login-welcome h2{font-family:var(--font-sans);font-size:26px;font-weight:800;line-height:31.47px;color:var(--color-text)}.login-welcome p{margin-top:12px;font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:18.15px;color:var(--login-muted)}.login-card{position:relative;display:grid;grid-template-columns:1fr;width:560px;max-width:100%;min-height:455px;margin-top:32px;padding:48px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-login-card)}.login-pane{grid-row:1;grid-column:1;display:flex;flex-direction:column;align-items:center;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s}.login-pane.is-active{opacity:1;visibility:visible;transition:opacity .18s ease,visibility 0s linear 0s}.login-pane>*+*{margin-top:28px}.login-card__title{width:100%;font-family:var(--font-sans);font-size:24px;font-weight:700;line-height:29.05px;color:var(--login-title);text-align:center}.login-fields{width:100%}.login-fields>*+*{margin-top:20px}.login-field{position:relative}.login-field input{display:block;width:100%;height:52px;padding:0 16px;border:1.5px solid var(--login-input-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:19.36px;user-select:text;-webkit-user-select:text;transition:border-color .16s ease,box-shadow .16s ease}.login-field input::placeholder{color:var(--login-placeholder);opacity:1}.login-field input:focus{outline:0;border-color:var(--login-action);box-shadow:0 0 0 3px rgba(47,84,235,.14)}.login-field--password input,.login-field--identifier input{padding-right:48px}.login-field--identifier.is-masked input{-webkit-text-security:disc}.login-eye{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--login-placeholder)}.login-eye:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.login-eye svg{stroke-width:2}.login-eye:focus{outline:2px solid var(--login-action);outline-offset:2px}.login-error{color:var(--color-danger);font-size:13px;font-weight:500;line-height:18px}.login-pane>.login-remember{margin-top:15px;margin-bottom:-13px;padding:13px 0}.login-remember{display:flex;align-items:center;width:100%;cursor:pointer}.login-remember input{flex:0 0 auto;width:18px;height:18px;margin:0;padding:0;border:0;border-radius:3px;background:var(--color-surface);box-shadow:inset 0 0 0 1.5px var(--login-input-border);-webkit-appearance:none;appearance:none;cursor:pointer}.login-remember input:checked{box-shadow:none;background:var(--login-placeholder) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.2 4.8 8.6 9.6 3.4' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / 12px 12px no-repeat}.login-remember input:focus{outline:2px solid var(--login-action);outline-offset:2px}.login-remember span{margin-left:10px;color:var(--login-placeholder);font-family:var(--font-sans);font-size:14px;font-weight:500;line-height:16.94px}.login-submit-row{display:flex;justify-content:center;width:100%;padding-top:12px}.login-submit{width:180px;height:44px;border-radius:var(--radius-tile);background:var(--login-action);color:#fff;font-family:var(--font-sans);font-size:15px;font-weight:700;line-height:18.15px;text-transform:uppercase;transition:background-color .16s ease,opacity .16s ease}.login-submit:hover{background:var(--login-action-hover)}.login-submit:focus{outline:2px solid var(--login-action);outline-offset:3px}.login-submit:disabled{opacity:.6;cursor:default}.login-pane>.login-switch{margin-top:16px;margin-bottom:-12px}.login-switch{display:inline-flex;align-items:center;justify-content:center;height:44px;color:var(--login-action);font-family:var(--font-sans);font-size:13px;font-weight:600;line-height:15.73px}.login-switch>*+*{margin-left:4px}.login-switch svg{flex:0 0 auto;stroke-width:2}.login-switch:hover span{text-decoration:underline}.login-switch:focus{outline:2px solid var(--login-action);outline-offset:2px}.qr-pane{display:flex;flex-direction:column;align-items:center;width:100%}.qr-pane__code{display:flex;align-items:center;justify-content:center;width:221px;height:221px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.qr-pane__code img{width:189px;height:189px}.qr-pane__placeholder{width:189px;color:var(--login-muted);font-size:13px;line-height:18px;text-align:center}.qr-pane__hint{margin-top:16px;color:var(--login-muted);font-family:var(--font-sans);font-size:14px;font-weight:400;line-height:16.94px;text-align:center}.qr-pane__warning{margin-top:12px;color:var(--color-danger);font-size:13px;font-weight:500;line-height:18px;text-align:center}.login-footer{display:flex;justify-content:center;width:100%;visibility:hidden;font-family:var(--font-sans);font-size:14px;line-height:16.94px}.login-footer>*+*{margin-left:4px}@media (max-height: 820px){.login-brand__copy{margin-top:180px}}@media (max-width: 1440px){.login-panel{padding-left:48px;padding-right:48px}}@media (max-width: 1280px){.login-panel{padding-left:24px;padding-right:24px}}@media (max-width: 1024px){.login-brand{padding:40px}.login-brand__copy h1{font-size:34px;line-height:41px}.login-card{padding:32px 24px}}@media (max-width: 900px){.login-brand{display:none}}@media (prefers-reduced-motion: reduce){.login-pane,.login-pane.is-active,.login-field input,.login-language,.login-submit{transition:none}}.school-card{align-content:start}.school-card>*+*{margin-top:20px}.school-search{display:flex;align-items:center}.school-search svg{position:absolute;top:50%;left:16px;margin-top:-10px;color:var(--login-placeholder);pointer-events:none}.school-search input{padding-left:48px;-webkit-appearance:none;appearance:none}.school-search input::-webkit-search-decoration,.school-search input::-webkit-search-cancel-button{display:none}.school-list{max-height:300px;padding:0;list-style:none;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.school-list>li+li{margin-top:8px}.school-option{display:flex;align-items:center;width:100%;min-height:64px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.school-option:hover{border-color:var(--login-action);background:var(--color-surface-form)}.school-option:focus{outline:2px solid var(--login-action);outline-offset:2px}.school-option:focus:not(:focus-visible){outline:0}.school-option:focus-visible{outline:2px solid var(--login-action);outline-offset:2px}.school-option__text{display:flex;flex-direction:column;min-width:0;margin-left:12px}.school-option__name{overflow:hidden;color:var(--color-text);font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.school-option__code{margin-top:2px;color:var(--login-muted, #4B5563);font-family:var(--font-sans);font-size:13px;line-height:16px}.school-empty{padding:24px 0;color:var(--login-muted, #4B5563);font-size:14px;line-height:20px;text-align:center}.school-mark{flex:0 0 auto;border-radius:var(--radius-sm);object-fit:contain}.school-mark--initial{display:flex;align-items:center;justify-content:center;background:var(--login-brand-bg);color:#fff;font-family:var(--font-display);font-size:18px;font-weight:700}.login-school{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.login-school__name{margin-left:12px;color:var(--color-text);font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:20px}.login-school .login-switch{margin-left:16px}.login-brand__logo--school{max-width:100%;height:auto;min-height:60px;padding:9px 20px 9px 9px}.login-brand__logo--school img{flex:0 0 auto;max-width:96px;object-fit:contain}.login-brand__school{min-width:0;margin-left:12px;color:var(--color-text);font-family:var(--font-display);font-size:18px;font-weight:700;line-height:24px}@media (prefers-reduced-motion: reduce){.school-option{transition:none}}.school-demo{margin-top:16px;text-align:center}.school-demo__title{margin:0;color:var(--color-text);font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:20px}.school-demo__body{margin:4px 0 0;color:var(--login-muted, #4B5563);font-size:14px;line-height:20px}.school-demo__action{width:auto;min-width:180px;margin-top:16px;padding:0 24px}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2) format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-vietnamese-800-normal-D4LFh2W4.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-800-normal-CA0HL1e4.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-ext-800-normal-GEpNgheG.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-800-normal-BvOXQlBN.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-800-normal-Cwp5p0gU.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{--font-sans: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Be Vietnam Pro", "Inter", "Segoe UI", Roboto, Arial, sans-serif;--color-bg: #F1F5F9;--color-page: #F4F6FA;--color-surface: #ffffff;--color-surface-muted: #F9FAFB;--color-surface-subtle: #FAFAFA;--color-surface-sunken: #F3F4F6;--color-surface-form: #F8FAFD;--color-canvas: #F2F2F2;--color-canvas-dot: #D7DBE0;--color-artboard: #ffffff;--color-thumb-bg: #EEF1F6;--color-border: #E5E7EB;--color-border-faint: #F1F5F9;--color-border-soft: #E2E8F0;--color-border-form: #DCE5F0;--color-border-chip: #E0E7F0;--color-border-strong: #CBD5E1;--color-border-rail: #D9DBE0;--color-separator: #F1F5F9;--color-text: #111827;--color-text-strong: #101828;--color-text-ink: #1E2939;--color-text-slate: #1E293B;--color-text-secondary: #4A5565;--color-text-body: #364153;--color-text-muted: #6B7280;--color-text-muted-alt: #6A7282;--color-text-slate-muted: #64748B;--color-text-faint: #99A1AF;--color-text-disabled: #9CA3AF;--color-placeholder: #9CA3AF;--color-mark: #98a2b3;--tag-slide-fg: #0044C8;--tag-slide-bg: #E5EDFF;--tag-video-fg: #0D9488;--tag-video-bg: #D1FAE5;--tag-test-fg: #EA580C;--tag-test-bg: #FFF4E5;--tag-homework-fg: #8449F0;--tag-homework-bg: #EBE1FF;--tag-neutral-fg: #475569;--tag-neutral-bg: #F1F5F9;--tile-video-bg: #F0FDFA;--tile-slide-bg: #FFF7ED;--tile-test-bg: #EFF6FF;--tile-homework-bg: #F0EAFC;--unit-slide-fg: var(--tag-slide-fg);--unit-slide-bg: var(--tag-slide-bg);--unit-video-fg: var(--tag-video-fg);--unit-video-bg: var(--tag-video-bg);--unit-test-fg: var(--tag-test-fg);--unit-test-bg: var(--tag-test-bg);--chip-bg: #F3F4F6;--color-primary: #0044C8;--color-primary-deep: #1E40AF;--color-primary-action: #2563EB;--color-primary-strong: #1D4ED8;--color-primary-soft: #EFF6FF;--color-primary-tint: #F0F6FF;--color-primary-100: #E5EDFF;--color-primary-200: #DBEAFE;--color-primary-border: #BFDBFE;--color-link: #60A5FA;--color-success: #16A34A;--color-present: #0BAA65;--color-success-bg: #D9F8E6;--color-teal: #10BEA7;--color-teal-deep: #20AA98;--color-teal-bg: #D9F8F6;--color-warning: #F5C400;--color-warning-border: #E9AF27;--color-warning-bg: #FEF3C7;--color-orange: #FF7F07;--color-orange-alt: #F97316;--color-orange-bg: #FFF7ED;--color-danger: #DB2424;--color-danger-alt: #EF4444;--color-danger-bg: #FEE2E2;--color-live: #EF4444;--color-donut-track: #D1D5DB;--color-toolbar-active-bg: #F3F4F6;--color-yt-button: #DC2626;--color-yt-play: #E7000B;--color-yt-glyph: #FB2C36;--color-ai-header: #1E40AF;--color-ai-glow: #6366F1;--color-ai-card-bg: #FAFAFF;--color-ai-card-border: #EDE9FE;--color-icon-strong: #374151;--color-icon-accent: #3B82F6;--color-icon-faint: #99A1AF;--color-icon-disabled: #9CA3AF;--login-brand-bg: #004CE3;--login-decor: #1A62FF;--login-action: #2F54EB;--login-title: #1D39C4;--login-subtitle: #C6DBFF;--login-input-border: #D9D9D9;--login-placeholder: #8C8C8C;--shadow-card: 0 1px 4px rgba(0, 0, 0, .06);--shadow-thumb: 0 1px 2px rgba(0, 0, 0, .15);--shadow-rail: 0 5px 13px rgba(0, 0, 0, .05);--shadow-panel: 0 12px 32px rgba(0, 0, 0, .05);--shadow-toolbar: 0 8px 24px rgba(0, 0, 0, .08);--shadow-login-card: 0 8px 24px rgba(0, 0, 0, .05);--shadow-home-card: 0 10px 30px rgba(0, 0, 0, .04);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .18);--shadow-modal-lg: 0 24px 64px rgba(0, 0, 0, .2);--shadow-fab: 0 0 6px rgba(99, 102, 241, .05), 0 4.6px 22.5px rgba(99, 102, 241, .49);--shadow-float: 0 12px 32px rgba(16, 24, 40, .18);--color-scrim: rgba(15, 23, 42, .45);--scrim-blur: 8px;--radius-xs: 4px;--radius-tile: 6px;--radius-sm: 8px;--radius-tool: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-pill-sm: 20px;--radius-doc: 22px;--radius-pill: 999px;--topbar-height: 55px;--rail-width: 85px;--rail-item-height: 69px;--rail-float-top: 63px;--rail-float-left: 8px;--rail-panel-width: 300px;--rail-panel-gap: 12px;--rail-item-size: 64px;--panel-width: 272px;--panel-card-width: 240px;--panel-gap: 16px;--panel-padding: 16px;--panel-toggle-width: 40px;--widget-width: 118px;--widget-height: 171px;--toolbar-height: 60px;--toolbar-width: 714px;--filmstrip-bar: #F3F3F3;--filmstrip-bar-clear: rgba(243, 243, 243, 0);--filmstrip-thumb-width: 164px;--filmstrip-thumb-height: 104px;--filmstrip-gap: 8px;--touch-target: 56px;--button-height: 40px;--button-padding-x: 20px;--button-font-size: 14px;--button-radius: var(--radius-md);--button-height-sm: 36px;--button-padding-x-sm: 14px;--button-font-size-sm: 13px;--fab-size: 56px;--keyboard-inset: 0px;--device-bottom-inset: 0px;--toolbar-bottom: calc(40px + var(--device-bottom-inset));--filmstrip-bottom: calc(var(--toolbar-bottom) + var(--toolbar-height) + 12px);--filmstrip-bar-height: calc(var(--filmstrip-thumb-height) + 4px);--board-clearance: 28px;--board-inset-left: var(--rail-width);--board-inset-right: calc(var(--panel-gap) + var(--panel-width) + var(--panel-gap));--board-inset-bottom: calc(var(--toolbar-bottom) + var(--toolbar-height) + var(--board-clearance));--media-gap: 12px;--media-inset-top: var(--media-gap);--media-inset-left: calc(var(--rail-float-left) + var(--rail-width) + var(--media-gap));--media-inset-right: calc(8px + var(--widget-width) + var(--media-gap));--z-canvas: 0;--z-media: 5;--z-chrome: 10;--z-toolbar: 20;--z-popover: 30;--z-scrim: 35;--z-pane: 36;--z-modal: 40}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;width:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-sans);font-size:16px;line-height:1.4;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none}h1,h2,h3,h4,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;margin:0;padding:0;border:0;background:none;cursor:pointer;-webkit-appearance:none;appearance:none;align-items:stretch}svg{display:block}img{max-width:100%;display:block}.modal-layer{position:fixed;z-index:var(--z-modal);top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--touch-target) 24px calc(var(--touch-target) + var(--device-bottom-inset, 0px));background:var(--color-scrim);touch-action:manipulation}.modal{width:560px;max-width:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-separator);box-shadow:var(--shadow-float)}.modal__header{flex:0 0 auto;display:flex;align-items:flex-start;min-height:72px;padding:20px 20px 14px 24px;border-bottom:1px solid var(--color-border)}.modal__heading{min-width:0}.modal__title{font-size:20px;line-height:1.3}.modal__description{margin-top:4px;color:var(--color-text-muted);font-size:14px}.modal__close{flex:0 0 auto;width:var(--touch-target);height:var(--touch-target);margin:-12px -8px -8px auto;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:28px}.modal__close:active{background:var(--color-surface-muted)}.modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.modal__actions{flex:0 0 auto;min-height:72px;display:flex;align-items:center;justify-content:flex-end;padding:10px 24px;border-top:1px solid var(--color-border);background:var(--color-surface)}.modal__actions>*+*{margin-left:12px}.modal-action{min-height:var(--touch-target);padding:0 14px;font-weight:600}.modal-action--quiet{margin-right:auto;color:var(--color-text-muted)}.toast{position:fixed;z-index:calc(var(--z-modal) + 1);top:calc(var(--topbar-height) + 12px);right:24px;max-width:520px;min-height:56px;display:flex;align-items:center;padding:8px 8px 8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-float);touch-action:manipulation}.toast__icon{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;margin-right:10px;border-radius:50%;background:var(--color-success);color:#fff;font-weight:800}.toast--error .toast__icon{background:var(--color-danger)}.toast--warning .toast__icon{background:var(--color-warning, #f59e0b)}.toast__message{min-width:0;font-size:14px}.toast__retry{min-height:44px;margin-left:18px;padding:0 12px;color:var(--color-primary);font-weight:700}.toast__close{width:44px;height:44px;margin-left:4px;color:var(--color-text-muted);font-size:24px}.empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--color-text-muted)}.empty-state--compact{min-height:130px;padding:20px}.empty-state__mark{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--chip-bg);color:var(--color-text-faint);font-size:24px;line-height:1}.empty-state__title{margin-top:14px;font-weight:700;color:var(--color-text)}.empty-state__description{max-width:440px;margin-top:6px;font-size:14px}.empty-state__action{margin-top:16px}.spinner{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted)}.spinner__ring{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}.spinner--small .spinner__ring{width:24px;height:24px}.spinner--large .spinner__ring{width:48px;height:48px}.spinner__label{margin-top:10px;font-size:14px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.auth-gate-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:30px;background:var(--color-bg);text-align:center}.auth-gate-state h1{font-size:26px}.auth-gate-state p{margin:10px 0 20px;color:var(--color-text-muted)}.offline-banner{position:fixed;z-index:2000;top:0;left:50%;width:auto;max-width:calc(100% - 32px);padding:10px 18px;border-radius:0 0 12px 12px;background:#9b2c2c;color:#fff;font-size:14px;font-weight:700;text-align:center;transform:translate(-50%);box-shadow:0 4px 16px rgba(0,0,0,.18)}.section-label{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.h-scroll{position:relative}.h-scroll__track{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x}.h-scroll__track::-webkit-scrollbar{width:0;height:0;display:none}.h-scroll__track>*{flex:0 0 auto;white-space:nowrap}.h-scroll__fade{position:absolute;z-index:1;top:0;right:0;bottom:0;width:32px;background:linear-gradient(to right,rgba(255,255,255,0),var(--color-surface));pointer-events:none}.empty-state__description{font-size:13px}.primary-button,.secondary-button,.danger-button{min-height:var(--button-height);padding:0 var(--button-padding-x);border-radius:var(--button-radius);font-size:var(--button-font-size);font-weight:700;touch-action:manipulation}.primary-button{background:var(--color-primary);color:#fff}.primary-button:disabled{opacity:.5;cursor:default}.secondary-button{border:1px solid var(--color-border-strong);background:#fff}.danger-button{background:#fee4e2;color:#b42318}.button--sm{position:relative;min-height:var(--button-height-sm);padding:0 var(--button-padding-x-sm);font-size:var(--button-font-size-sm)}.button--sm:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}
