@charset "UTF-8";:root{--bg-page:#1a1a1f;--bg-surface:#232328;--bg-surface-hover:#2c2c33;--bg-elevated:#33333a;--bg-input:#1a1a1f;--border-subtle:hsla(0,0%,100%,.06);--border-medium:hsla(0,0%,100%,.1);--text-primary:#e4e4e8;--text-secondary:#9d9da5;--text-tertiary:#6b6b75;--text-inverse:#1a1a1f;--accent:#4d8df5;--accent-hover:#6ba3ff;--accent-green:#6ee7b7;--accent-red:#fca5a5;--accent-blue:#93c5fd;--accent-amber:#fcd34d;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px rgba(0,0,0,.15);--shadow-md:0 4px 12px rgba(0,0,0,.2);--shadow-lg:0 8px 24px rgba(0,0,0,.25);--shadow-xl:0 16px 48px rgba(0,0,0,.3);--transition:150ms ease;--font:"SÃƒÂ¶hne",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.no-scroll{overflow:hidden!important}body.dark-mode{background:var(--bg-page);color:var(--text-primary)}.app-frame{display:flex;flex-direction:column;min-height:100vh;padding-top:60px}.app-frame,.content-area{background:transparent;width:100%}.content-area{flex:1;padding:12px 0 48px}.top-bar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(35,35,40,.85);border-bottom:1px solid var(--border-subtle);display:flex;height:60px;justify-content:space-between;left:0;padding:0 24px;position:fixed;right:0;top:0;width:100%;z-index:9999}.logo-img{border-radius:var(--radius-sm);height:36px;object-fit:cover;width:36px}.main-nav{align-items:center;display:flex;gap:2px;left:50%;position:absolute;transform:translateX(-50%)}.nav-link{border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;letter-spacing:.01em;padding:7px 16px;text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-link:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.nav-link.active{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}.nav-breadcrumb{align-items:center;display:inline-flex;gap:3px}.nav-sep{color:var(--text-tertiary);flex-shrink:0}.nav-course-link{background:rgba(77,141,245,.08)!important;color:var(--accent)!important;font-weight:600!important;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-course-link:hover{background:rgba(77,141,245,.15)!important}@media (max-width:768px){body.has-breadcrumb .nav-info,body.has-breadcrumb .nav-library{display:none}.nav-course-link{font-size:12px!important;max-width:120px;padding:5px 10px!important}}.admin-link{border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:500;padding:6px 12px;text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition)}.admin-link:hover{background:var(--bg-surface-hover);border-color:hsla(0,0%,100%,.15);color:var(--text-primary)}.top-right{align-items:center;display:flex;gap:8px}.login-btn{background:var(--text-primary);border:none;border-radius:var(--radius-sm);color:var(--text-inverse);cursor:pointer;font-size:13px;font-weight:600;padding:7px 18px;transition:opacity var(--transition)}.login-btn:hover{opacity:.88}.user-menu{align-items:center;cursor:pointer;display:inline-flex;gap:6px;position:relative;user-select:none}.user-name{color:var(--text-secondary);font-size:13px;font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar{border:none;border-radius:var(--radius-sm);height:30px;object-fit:cover;width:30px}.user-dropdown{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-lg);min-width:220px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:9999}.user-dropdown-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;margin-bottom:4px;padding:10px 12px 8px}.user-dropdown-header img{border-radius:50%;flex-shrink:0;height:36px;object-fit:cover;width:36px}.user-dropdown-header-info{flex:1;min-width:0}.user-dropdown-header-name{color:var(--text-primary);font-size:13px;font-weight:600}.user-dropdown-header-email,.user-dropdown-header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-header-email{color:var(--text-tertiary);font-size:11px}.user-dropdown-sep{background:var(--border-subtle);height:1px;margin:4px 8px}.user-logout-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--accent-red,#e24b4a);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px;transition:background var(--transition);width:100%}.user-logout-btn:hover{background:var(--bg-surface-hover)}.theme-toggle{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:4px;position:relative;transition:background var(--transition);width:32px}.theme-toggle:hover{background:var(--bg-surface-hover)}.theme-icon{color:var(--text-secondary);height:20px;width:20px}.theme-icon-light{display:block}.theme-icon-dark,body:not(.dark-mode) .theme-icon-light{display:none}body:not(.dark-mode) .theme-icon-dark{display:block}.home-page{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1100px;padding:20px 16px 56px}.hero-banner{background:var(--bg-surface);border:none;border-radius:var(--radius-xl);overflow:hidden;padding:44px 32px;position:relative;width:100%}.banner-light-line,.banner-lights,.hero-banner-icon,.hero-glow,.hero-glow-2,.hero-stripe{display:none}.hero-banner-inner{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:100%;text-align:center}.hero-banner-text{align-items:center}.hero-banner-badge{align-items:center;background:rgba(77,141,245,.1);border:1px solid rgba(77,141,245,.15);border-radius:20px;color:#6ba3ff;display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.06em;padding:5px 14px;text-transform:uppercase}.hero-banner-title{color:#f0f0f3;font-size:30px;font-weight:900;line-height:1.3}.hero-highlight{color:#4d8df5;-webkit-text-fill-color:#4d8df5}.hero-banner-subtitle{color:#7a7a85;font-size:15px;font-weight:400;max-width:480px}.hero-tags{display:none}.hero-banner-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:4px}.hero-cta-btn{align-items:center;background:#4d8df5;border-radius:10px;box-shadow:0 2px 12px rgba(77,141,245,.3);color:#fff;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:6px;padding:11px 26px;text-decoration:none;transition:all .2s ease}.hero-cta-btn:hover{opacity:.9;transform:translateY(-1px)}.hero-contact-text{color:#55555e;font-size:13px;font-weight:500}.text-marquee{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;width:100%}.marquee-track{display:flex;gap:48px;padding:10px 0;width:max-content;will-change:transform}.marquee-item{color:var(--accent);flex-shrink:0;font-size:14px;font-style:italic;font-weight:700;text-transform:uppercase;white-space:nowrap}@keyframes marqueeLoop{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.home-layout{align-items:flex-start;display:flex;gap:20px}.home-sidebar{display:flex;flex-direction:column;flex-shrink:0;gap:20px;max-height:calc(100vh - 100px);overflow-y:auto;position:sticky;top:80px;width:260px}.home-sidebar::-webkit-scrollbar{background:transparent;width:0}.home-sidebar-box{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:20px}.home-sidebar-title{border-bottom:1px solid var(--border-subtle);color:var(--accent);font-size:15px;font-weight:700;margin-bottom:16px;padding-bottom:10px;text-transform:capitalize}.home-category-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.home-category-item{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:10px 14px;transition:all .2s}.home-category-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.home-category-item.active{background:rgba(77,141,245,.1);color:var(--text-primary);font-weight:600}.home-category-item .cat-dot{background:transparent;border-radius:50%;height:6px;transition:background .2s;width:6px}.home-category-item.active .cat-dot,.home-category-item:hover .cat-dot{background:var(--accent)}.home-featured-list{display:flex;flex-direction:column;gap:16px}.featured-card-mini{align-items:center;color:inherit;display:flex;gap:12px;text-decoration:none;transition:transform .2s}.featured-card-mini:hover{transform:translateY(-2px)}.featured-card-mini img{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);height:65px;object-fit:cover;width:65px}.featured-card-info{display:flex;flex:1;flex-direction:column;gap:6px}.featured-card-title{color:var(--text-primary);display:-webkit-box;font-size:12px;font-weight:700;-webkit-line-clamp:2;line-clamp:2;line-height:1.4;-webkit-box-orient:vertical;overflow:hidden;text-transform:uppercase}.featured-card-price{color:var(--accent);font-size:13px;font-weight:700}.home-sort-filter{align-items:center;display:flex;gap:8px}.home-sort-filter .sort-label{color:var(--text-tertiary);font-size:13px}.home-sort-select{appearance:none;background:var(--bg-surface);background-image:url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>');background-position:right 10px center;background-repeat:no-repeat;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;outline:none;padding:8px 32px 8px 12px;transition:all .2s}.home-sort-select:hover{border-color:var(--accent)}.mobile-filter-toggle{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;display:none;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:20px;padding:14px 20px;width:100%}@media (max-width:1200px){.home-course-grid{grid-template-columns:repeat(2,minmax(0,260px))}}@media (max-width:850px){.home-layout{flex-direction:column;padding:0 4px}.home-sidebar{display:flex;gap:16px;max-height:none;overflow-y:visible;padding-bottom:8px;position:relative;top:0;width:100%}.home-sidebar-box{border-radius:var(--radius-lg);padding:16px}.home-category-item{background:var(--bg-surface);border:1px solid var(--border-subtle);margin-bottom:1px;padding:12px 16px}.home-sidebar.show-mobile,.mobile-filter-toggle{display:flex}.mobile-filter-toggle .chevron{transition:transform .2s}.mobile-filter-toggle.active .chevron{transform:rotate(180deg)}.home-course-grid{gap:16px;grid-template-columns:repeat(1,minmax(0,320px))}}@media (max-width:480px){.home-course-grid{grid-template-columns:1fr}}.home-shell{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:24px}.home-shell-title{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:16px}.home-shell-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.home-shell-header .home-shell-title{margin-bottom:0}.home-course-filter{display:flex;gap:6px}.home-filter-chip{align-items:center;background:transparent;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;gap:6px;padding:7px 13px;transition:all .15s}.home-filter-chip:hover{border-color:var(--border-medium)}.home-filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.home-filter-count{background:hsla(0,0%,100%,.08);border-radius:999px;font-size:10px;font-weight:500;padding:1px 7px}.home-filter-chip.active .home-filter-count{background:hsla(0,0%,100%,.25)}.home-filter-chip:not(.active) .home-filter-count-mine{background:rgba(110,231,183,.15);color:var(--accent-green)}body:not(.dark-mode) .home-filter-count{background:rgba(0,0,0,.06);color:var(--text-secondary)}body:not(.dark-mode) .home-filter-chip.active .home-filter-count{background:hsla(0,0%,100%,.3);color:#fff}body:not(.dark-mode) .home-filter-chip:not(.active) .home-filter-count-mine{background:rgba(15,110,86,.12);color:#0f6e56}.course-progress-row{box-sizing:border-box;display:flex;flex-direction:column;gap:4px;margin:4px 0 6px;padding:0 4px;width:100%}.course-progress-header{align-items:center;display:flex;justify-content:space-between}.course-progress-label{color:var(--text-tertiary);font-size:11px}.course-progress-percent{color:var(--accent-green);font-size:11px;font-weight:600}.course-progress-track{background:hsla(0,0%,100%,.06);border-radius:999px;height:5px;overflow:hidden}.course-progress-fill{background:var(--accent-green);height:100%;transition:width .3s}body:not(.dark-mode) .course-progress-track{background:rgba(0,0,0,.06)}.course-trial-row{align-items:center;box-sizing:border-box;color:#f5b96e;display:flex;font-size:12px;font-weight:600;gap:5px;justify-content:center;margin:4px 0 6px;padding:0 4px;width:100%}.course-trial-text{font-size:12px}.course-card.card-enrolled{border-color:rgba(110,231,183,.3)}.course-card.card-trial{border-color:hsla(33,87%,70%,.3)}.home-course-row{align-items:center;display:flex;flex-direction:column;gap:16px;margin:0 auto 20px}.home-course-grid{align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,260px));justify-content:center;width:100%}.home-course-grid .course-card{max-width:none!important;width:100%!important}.home-course-pagination{gap:6px;margin-top:4px}.home-course-pag-arrow,.home-course-pagination{align-items:center;display:flex;justify-content:center}.home-course-pag-arrow{background:transparent;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-tertiary);cursor:pointer;font-family:inherit;font-size:14px;height:28px;transition:background var(--transition);width:28px}.home-course-pag-arrow:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.home-course-pag-arrow:disabled{cursor:default;opacity:.3}.home-course-pag-dot{background:var(--border-medium);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .25s ease;width:8px}.home-course-pag-dot.active{background:var(--accent);border-radius:4px;width:20px}@media (max-width:900px){.home-course-grid{grid-template-columns:repeat(2,minmax(0,240px));justify-content:center}}@media (max-width:600px){.home-course-grid{grid-template-columns:repeat(1,minmax(0,240px));justify-content:center}}.course-card-link{color:inherit;display:block;text-decoration:none}.course-card{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:0;min-height:360px;overflow:hidden;padding:12px;transition:background var(--transition),border-color var(--transition),box-shadow .25s ease,transform .25s ease;width:240px}.course-card .course-cta-btn{margin-top:auto}.course-card .course-meta-row,.course-card .course-progress-row,.course-card .course-trial-row{box-sizing:border-box;min-height:28px}.course-card:hover{background:var(--bg-surface-hover);border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.home-course-row .course-card{max-width:100%;width:100%}.course-logo{aspect-ratio:1/1;background:var(--bg-page);border:none;border-radius:var(--radius-md);overflow:hidden;width:100%}.course-logo img{display:block;height:100%;object-fit:cover;width:100%}.course-card-body{padding:12px 8px 8px}.course-title{color:var(--text-primary);font-weight:600;letter-spacing:.02em;line-height:1.3;text-align:center;text-transform:uppercase}.course-title,.home-course-row .course-title{font-size:14px;margin:0;padding:10px 6px 4px}.course-rating{align-items:center;color:var(--text-tertiary);display:flex;font-size:11px;gap:4px;margin:0;padding:0}.course-rating .stars{color:var(--accent-amber);font-size:11px}.course-rating .rating-score{color:var(--text-secondary);font-weight:600}.course-rating .rating-count{color:var(--text-tertiary)}.course-price,.home-course-row .course-rating{margin:0;padding:0}.course-price{color:var(--accent);font-size:13px;font-weight:700;text-align:center}.home-course-row .course-price{margin:0;padding:0}.course-meta-row{align-items:center;display:flex;gap:8px;justify-content:center;margin:2px 0 0;padding:0 6px}.course-meta-dot{background:var(--border-medium);border-radius:50%;flex-shrink:0;height:3px;width:3px}.course-cta-btn{background:rgba(77,141,245,.08);border:none;border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;margin:8px 0 2px;padding:7px 0;transition:background var(--transition);width:calc(100% - 20px)}.course-cta-btn:hover{background:rgba(77,141,245,.16)}.home-reason-title{color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:10px}.home-reasons-row{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-reason-card{align-items:flex-start;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:13px;gap:10px;line-height:1.5;padding:14px 16px;transition:background var(--transition),border-color var(--transition)}.home-reason-card:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.home-reason-icon{align-items:center;background:var(--bg-page);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:20px;height:36px;justify-content:center;margin-top:0;width:36px}.hero-badge{align-items:center;background:var(--bg-elevated);border-radius:var(--radius-xs);color:var(--text-secondary);display:inline-flex;font-size:11px;gap:6px;letter-spacing:.08em;padding:4px 10px;text-transform:uppercase}.hero-title{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.2}.hero-subtitle{color:var(--text-secondary);font-size:14px;max-width:520px}.hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.hero-tag{background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-xs);font-size:12px;padding:3px 10px}.hero-note,.hero-tag{color:var(--text-secondary)}.hero-note{font-size:13px;margin-top:6px}.hero-side{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.hero-metric{align-items:center;background:var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-primary);display:flex;justify-content:space-between;min-width:160px;padding:10px 12px}.hero-metric-number{font-size:18px;font-weight:700}.hero-metric-label{color:var(--text-tertiary);font-size:12px}.home-section-title{font-size:18px;font-weight:700;margin-bottom:10px}.home-features-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.feature-icon{align-items:center;background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--accent-amber);display:flex;font-size:18px;height:32px;justify-content:center;margin-bottom:6px;width:32px}.feature-item p{color:var(--text-secondary);font-size:13px}.home-goals-card p{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.home-goals-list{color:var(--text-primary);font-size:14px;list-style:none;padding-left:0}.home-goals-list li+li{margin-top:4px}.home-course-card{flex-direction:column;gap:10px}.home-course-card,.main-content{display:flex;justify-content:center}.main-content{flex-wrap:wrap;gap:24px;margin:0 auto;max-width:1100px;padding:32px 16px 48px}.tiktok-float{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);bottom:20px;cursor:pointer;display:flex;height:52px;justify-content:center;position:fixed;right:20px;transition:background var(--transition);width:52px;z-index:9999}.tiktok-float:hover{background:var(--bg-surface-hover)}.tiktok-float:active{opacity:.8}.tiktok-float img{border-radius:var(--radius-md);display:block;height:150%;object-fit:cover;width:150%}.subjects-page{align-items:flex-start;display:grid;gap:24px;grid-template-columns:minmax(0,2fr) minmax(0,1fr);margin:0 auto;max-width:1100px;padding:24px 16px 56px;position:relative}.subjects-title{font-size:24px;font-weight:700;grid-column:1/-1;margin-bottom:12px}.subjects-main{display:flex;flex-direction:column;gap:16px;grid-column:1/-1;min-width:0}.subjects-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;margin-top:4px}.toolbar-btn{align-items:center;background:hsla(0,0%,100%,.04);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:7px;padding:8px 16px;transition:background var(--transition),color var(--transition)}.toolbar-btn.active,.toolbar-btn:hover{background:hsla(0,0%,100%,.07);color:var(--text-primary)}body:not(.dark-mode) .toolbar-btn{background:rgba(0,0,0,.03)}body:not(.dark-mode) .toolbar-btn.active,body:not(.dark-mode) .toolbar-btn:hover{background:rgba(0,0,0,.06)}.toolbar-sep{background:var(--border-subtle);flex-shrink:0;height:20px;width:1px}.toolbar-btn-icon{align-items:center;border-radius:4px;display:flex;flex-shrink:0;height:16px;justify-content:center;object-fit:contain;width:16px}img.toolbar-btn-icon{display:block}.toolbar-btn-arrow{font-size:10px;margin-left:2px;transition:transform .2s ease}.toolbar-btn.active .toolbar-btn-arrow{transform:rotate(180deg)}.subject-card-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.subject-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:130px;padding:24px 22px 20px;text-align:left;transition:background var(--transition),border-color var(--transition),box-shadow .25s ease,transform .25s ease;-webkit-tap-highlight-color:transparent}.subject-card:hover{background:var(--bg-surface-hover);border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.subject-card-name{color:var(--text-primary);font-size:18px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.subject-card-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.subject-new-badge{align-items:center;background:rgba(226,75,74,.15);border-radius:999px;color:#ff7a79;display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:0;padding:3px 8px;text-transform:none}.subject-new-dot{background:#e24b4a;border-radius:50%;flex-shrink:0;height:5px;width:5px}body:not(.dark-mode) .subject-new-badge{background:rgba(226,75,74,.1);color:#c23535}.subject-card-meta{color:var(--text-tertiary);font-size:13px}.subject-card-action{align-items:center;align-self:flex-start;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:500;margin-top:8px;padding:6px 14px;transition:background var(--transition),color var(--transition)}.subject-card:hover .subject-card-action{background:var(--text-primary);border-color:transparent;color:var(--text-inverse)}.subject-card:hover .subject-card-name{color:var(--text-primary)}.subjects-page.no-admin{display:block;max-width:1100px}.subjects-page.no-admin .subjects-title{text-align:center}.subjects-page.no-admin .subject-card-grid{max-width:100%}.subjects-page.no-admin .subjects-main{margin:0 auto;max-width:960px}.referral-tip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--accent);border-radius:var(--radius-md);display:flex;gap:12px;margin-top:16px;padding:12px 36px 12px 16px;position:relative}.referral-tip-icon{align-items:center;background:rgba(77,141,245,.1);border-radius:8px;display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.referral-tip-icon svg{stroke:var(--accent)}.referral-tip-text{flex:1;min-width:0}.referral-tip-title{color:var(--text-primary);display:block;font-size:13px;font-weight:600}.referral-tip-desc{color:var(--text-tertiary);display:block;font-size:12px;margin-top:2px}.referral-tip-btn{background:var(--accent);border-radius:var(--radius-sm);color:#fff;flex-shrink:0;font-size:12px;font-weight:600;padding:6px 14px;text-decoration:none;transition:opacity .15s;white-space:nowrap}.referral-tip-btn:hover{opacity:.85}.referral-tip-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:13px;line-height:1;padding:4px;position:absolute;right:10px;top:8px}.referral-tip-close:hover{color:var(--text-primary)}body:not(.dark-mode) .referral-tip{background:#f8f9fb;border-color:rgba(0,0,0,.06);border-left-color:var(--accent)}body:not(.dark-mode) .referral-tip-icon{background:rgba(59,125,232,.06)}@media (max-width:480px){.referral-tip{flex-wrap:wrap;gap:8px;padding-right:32px}.referral-tip-btn{text-align:center;width:100%}}.course-admin-panel,.subject-admin-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-sizing:border-box;display:flex;flex-direction:column;gap:8px;max-width:100%;padding:20px}.materials-admin-panel{background:transparent;border:none;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:0}.course-admin-panel h2,.subject-admin-panel h2{font-size:16px;margin-bottom:4px}.admin-card label,.course-admin-panel label,.info-news-admin label,.materials-admin-panel label,.subject-admin-panel label{color:var(--text-secondary);font-size:13px;font-weight:500}.admin-card input,.admin-card select,.course-admin-panel input,.course-admin-panel textarea,.info-news-admin input,.info-note-admin textarea,.materials-admin-panel input,.materials-admin-panel textarea,.subject-admin-panel input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px 10px;transition:border-color var(--transition)}.admin-card input:focus,.admin-card select:focus,.course-admin-panel input:focus,.course-admin-panel textarea:focus,.info-news-admin input:focus,.info-note-admin textarea:focus,.materials-admin-panel input:focus,.materials-admin-panel textarea:focus,.subject-admin-panel input:focus{border-color:var(--accent);outline:none}.admin-card button,.course-admin-panel button,.info-news-admin button,.info-note-admin button,.materials-admin-panel button:not(.materials-panel-toggle),.subject-admin-panel button:not(.sa-tab):not(.sa-collapse-btn):not(.admin-btn-primary):not(.admin-btn-secondary):not(.edit-subject):not(.delete-subject):not(.folder-admin-btn){background:var(--text-primary);border:none;border-radius:var(--radius-sm);color:var(--text-inverse);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;margin-top:4px;padding:8px 14px;transition:opacity var(--transition)}.admin-card button:hover,.course-admin-panel button:hover,.materials-admin-panel button:not(.materials-panel-toggle):hover,.subject-admin-panel button:not(.sa-tab):not(.sa-collapse-btn):not(.edit-subject):not(.delete-subject):not(.folder-admin-btn):hover{opacity:.85}.admin-card .secondary-btn,.course-admin-panel .secondary-btn,.materials-admin-panel .secondary-btn{background:var(--bg-elevated);color:var(--text-secondary)}.subject-label{color:var(--text-secondary);font-size:16px;font-weight:600;letter-spacing:.06em;margin-bottom:16px;text-transform:uppercase}.admin-result,.info-small-result,.lesson-result{color:var(--accent-green);font-size:12px}.admin-hint{color:var(--text-tertiary);font-size:13px;margin-bottom:4px}.subject-admin-list{display:flex;flex-direction:column;gap:6px;margin:6px 0}.subject-chip{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);display:flex;font-size:13px;gap:10px;padding:10px 12px}body:not(.dark-mode) .subject-chip{background:rgba(0,0,0,.02)}.subject-chip .subject-chip-name{flex:1;font-weight:500}.subject-chip button{align-items:center;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all var(--transition)}.subject-chip button svg{stroke:var(--text-tertiary)}.subject-chip button:hover{background:var(--bg-surface-hover)}.subject-chip button:hover svg{stroke:var(--text-primary)}.subject-chip .delete-subject svg{opacity:.6;stroke:var(--accent-red)}.subject-chip .delete-subject:hover{background:hsla(0,94%,82%,.1)}.subject-chip .delete-subject:hover svg{opacity:1}.admin-divider{border:none;border-top:1px solid var(--border-subtle);margin:10px 0}textarea#lessonDesc{resize:vertical}.course-subject-materials{margin-bottom:10px;margin-top:6px}.materials-panel-toggle{align-items:center;background:rgba(77,141,245,.06);border:1px solid rgba(77,141,245,.1);border-radius:6px;color:var(--accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:11px;font-weight:500;gap:5px;padding:6px 14px;transition:background var(--transition)}.materials-panel-toggle:hover{background:rgba(77,141,245,.12)}.materials-panel-toggle svg{flex-shrink:0}body:not(.dark-mode) .materials-panel-toggle{background:rgba(59,125,232,.05);border-color:rgba(59,125,232,.12)}body:not(.dark-mode) .materials-panel-toggle:hover{background:rgba(59,125,232,.1)}.toggle-arrow{color:var(--accent);font-size:10px;opacity:.5;transition:transform .2s ease}.materials-panel-toggle.open .toggle-arrow{transform:rotate(180deg)}.materials-admin-body{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:600px;opacity:1;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}.materials-admin-body.collapsed{margin-top:0;max-height:0;opacity:0}.materials-admin-body label{color:var(--text-tertiary);font-size:12px;font-weight:500;margin-top:4px}.materials-admin-body input,.materials-admin-body textarea{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px 12px;width:100%}.materials-admin-body input:focus,.materials-admin-body textarea:focus{border-color:var(--accent);outline:none}.materials-admin-body .mat-form-actions{display:flex;gap:8px;margin-top:6px}.materials-admin-body .mat-form-actions button{border:none;border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;margin:0;padding:8px 16px}.materials-admin-body .mat-form-actions button:first-child{background:var(--accent);color:#fff}.materials-admin-body .mat-form-actions button:first-child:hover{opacity:.85}.materials-admin-body .mat-form-actions .secondary-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.materials-admin-body .mat-form-actions .secondary-btn:hover{background:var(--bg-surface-hover)}.folder-materials-admin .fm-actions{display:flex;gap:8px;margin-top:6px}.folder-materials-admin .fm-actions button{border:none;border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;margin:0;padding:8px 16px}.folder-materials-admin .fm-actions .fm-save-btn{background:var(--accent);color:#fff}.folder-materials-admin .fm-actions .fm-save-btn:hover{opacity:.85}.folder-materials-admin .fm-actions .fm-cancel-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.folder-materials-admin .fm-actions .fm-cancel-btn:hover{background:var(--bg-surface-hover)}.course-page{align-items:flex-start;display:grid;gap:20px;grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);margin:0 auto;max-width:1400px;padding:24px 12px 48px;position:relative}.course-page.course-page--single{display:block;margin:0 auto;max-width:1200px}.course-page .course-title{font-size:clamp(18px,3vw,36px);line-height:1.3;margin-bottom:20px}.course-content{background:transparent;border:none;flex:1;margin:0;padding:0}.course-outline-shell{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);margin-top:6px;padding:20px 22px 24px}.course-admin-panel{align-self:flex-start;max-width:420px}.subject-tabs{background:var(--bg-page);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px;padding:4px}.subject-tab{background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:7px 16px;transition:background var(--transition),color var(--transition)}.subject-tab:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.subject-tab.active{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}.chapters-container{display:flex;flex-direction:column;gap:2px}.chapter{background:transparent;margin-bottom:0}.chapter-header{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:10px;padding:11px 16px;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);width:100%}.chapter-header:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.chapter.open .chapter-header{background:rgba(77,141,245,.06);border-color:var(--accent)}.chapter-num{align-items:center;background:rgba(77,141,245,.12);border-radius:6px;color:var(--accent);display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:26px;justify-content:center;width:26px}.chapter.open .chapter-num{background:var(--accent);color:#fff}.chapter-title{flex:1;font-size:14px;font-weight:600}.chapter-count{color:var(--text-tertiary);flex-shrink:0;font-size:11px}.chapter-arrow,.chapter-toggle{color:var(--text-tertiary);font-size:12px;transition:transform .2s ease}.chapter.open .chapter-arrow,.chapter.open .chapter-toggle{transform:rotate(180deg)}.chapter.ch-red .chapter-num{background:rgba(226,75,74,.12);color:#e24b4a}.chapter.ch-red.open .chapter-num{background:#e24b4a;color:#fff}.chapter.ch-red.open .chapter-header{background:rgba(226,75,74,.06);border-color:#e24b4a}.chapter.ch-amber .chapter-num{background:rgba(239,159,39,.12);color:#ef9f27}.chapter.ch-amber.open .chapter-num{background:#ef9f27;color:#fff}.chapter.ch-amber.open .chapter-header{background:rgba(239,159,39,.06);border-color:#ef9f27}.chapter.ch-purple .chapter-num{background:rgba(127,119,221,.12);color:#7f77dd}.chapter.ch-purple.open .chapter-num{background:#7f77dd;color:#fff}.chapter.ch-purple.open .chapter-header{background:rgba(127,119,221,.06);border-color:#7f77dd}.chapter.ch-green .chapter-num{background:rgba(29,158,117,.12);color:#1d9e75}.chapter.ch-green.open .chapter-num{background:#1d9e75;color:#fff}.chapter.ch-green.open .chapter-header{background:rgba(29,158,117,.06);border-color:#1d9e75}.ch-color-wrap{position:relative}.ch-color-panel{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;gap:6px;padding:8px 10px;position:absolute;right:0;top:calc(100% + 6px);z-index:50}.ch-color-dot{border:2px solid transparent;border-radius:50%;cursor:pointer;flex-shrink:0;height:20px;transition:border-color .15s,transform .15s;width:20px}.ch-color-dot:hover{transform:scale(1.15)}.ch-color-dot.active{border-color:var(--text-primary)}.ch-color-dot[data-color=blue]{background:#4d8df5}.ch-color-dot[data-color=red]{background:#e24b4a}.ch-color-dot[data-color=amber]{background:#ef9f27}.ch-color-dot[data-color=purple]{background:#7f77dd}.ch-color-dot[data-color=green]{background:#1d9e75}body:not(.dark-mode) .ch-color-panel{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1)}.chapter-body{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box;margin-top:1px;max-height:0;opacity:0;overflow:hidden;padding:0 16px;transition:max-height .25s ease,opacity .2s ease,padding .2s ease;width:100%}.chapter.open .chapter-body{max-height:9999px;opacity:1;padding-bottom:12px;padding-top:12px}.lesson-row{align-items:stretch;display:flex;gap:6px;margin-bottom:2px}.lesson-main{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex:1;flex-wrap:wrap;font-family:inherit;font-size:13px;gap:10px;padding:8px 14px;text-align:left;transition:background var(--transition),color var(--transition)}.lesson-main:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.lesson-dot{background:var(--accent);border-radius:50%;flex-shrink:0;height:8px;transition:background var(--transition);width:8px}.lesson-dot.watched{background:var(--accent-green)}.lesson-title-text{flex:1 1 60%;line-height:1.4;min-width:0}.lesson-duration{color:var(--text-tertiary);display:block;font-size:11px;margin-top:1px}.lesson-materials-badge{align-items:center;color:#7f77dd!important;display:inline-flex;font-weight:500;gap:4px;vertical-align:middle}.lesson-materials-badge svg{fill:none;stroke:#7f77dd!important}.lesson-status{border-radius:12px;flex-shrink:0;font-size:11px;font-weight:500;margin-left:6px;padding:3px 10px;white-space:nowrap}.lesson-status.done{background:rgba(110,231,183,.12);color:var(--accent-green)}.lesson-status.notyet{background:var(--bg-page);border:1px solid var(--border-subtle);color:var(--text-tertiary)}.lesson-admin-actions{display:flex;flex-shrink:0;gap:3px}.lesson-admin-actions button{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid var(--border-subtle);border-radius:5px;cursor:pointer;display:flex;height:26px;justify-content:center;padding:0;transition:all var(--transition);width:26px}.lesson-admin-actions .edit-lesson svg{stroke:var(--text-tertiary)}.lesson-admin-actions .edit-lesson:hover{background:var(--bg-surface-hover)}.lesson-admin-actions .edit-lesson:hover svg{stroke:var(--text-primary)}.lesson-admin-actions .delete-lesson svg{opacity:.6;stroke:var(--accent-red)}.lesson-admin-actions .delete-lesson:hover{background:hsla(0,94%,82%,.08)}.lesson-admin-actions .delete-lesson:hover svg{opacity:1}.admin-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:10px;margin:20px auto;max-width:480px;padding:24px}.admin-table{border-collapse:collapse;font-size:13px;margin:10px auto 32px;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:10px 12px;text-align:left}.admin-table th{color:var(--text-tertiary);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.admin-table button{border:none;border-radius:var(--radius-xs);cursor:pointer;font-size:11px;font-weight:500;margin-right:4px;padding:3px 8px}.admin-table .view-card-enroll{background:rgba(52,211,153,.12);color:#34d399}.admin-table .edit-enroll{background:rgba(147,197,253,.15);color:var(--accent-blue)}.admin-table .delete-enroll{background:hsla(0,94%,82%,.15);color:var(--accent-red)}.watch-page{margin:0 auto;max-width:1600px;padding:0 20px 48px}.watch-video-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:20px;width:100%}.video-wrapper{background:#000;border-radius:var(--radius-lg);margin-bottom:14px;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.video-wrapper iframe{border:0;height:100%;inset:0;position:absolute;width:100%}.video-wrapper .plyr{height:100%;left:0;padding-bottom:0!important;position:absolute!important;top:0;width:100%}.video-wrapper video{background:#000;border:0;border-radius:var(--radius-lg);height:100%;inset:0;object-fit:contain;position:absolute;width:100%}.video-placeholder{background:var(--bg-page);padding-bottom:56.25%;position:relative}.video-placeholder,.video-placeholder-content{align-items:center;display:flex;justify-content:center}.video-placeholder-content{flex-direction:column;gap:6px;inset:0;padding:20px;position:absolute;text-align:center}.video-ph-title{color:var(--text-secondary);font-size:18px;font-weight:600;margin:0}.video-ph-sub{color:var(--text-tertiary);font-size:14px;margin:0}body:not(.dark-mode) .video-placeholder{background:#eef0f4}.custom-player{cursor:none;user-select:none}.custom-player.cp-show-controls{cursor:default}.custom-player:fullscreen{border-radius:0;height:100vh;padding-bottom:0}.custom-player:-webkit-full-screen{border-radius:0;height:100vh;padding-bottom:0}.cp-overlay{z-index:2}.cp-big-play,.cp-overlay{inset:0;position:absolute}.cp-big-play{align-items:center;display:flex;justify-content:center;pointer-events:auto;transition:opacity .25s;z-index:3}.cp-big-play svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));opacity:.9}.cp-playing .cp-big-play{opacity:0;pointer-events:none}.cp-spinner{align-items:center;display:none;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:4}.cp-spinner:after{animation:cp-spin .8s linear infinite;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;content:"";height:40px;width:40px}@keyframes cp-spin{to{transform:rotate(1turn)}}.cp-controls{background:linear-gradient(transparent,rgba(0,0,0,.85));bottom:0;display:flex;flex-direction:column;gap:6px;left:0;opacity:0;padding:30px 12px 10px;pointer-events:none;position:absolute;right:0;transform:translateY(100%);transition:opacity .3s,transform .3s;z-index:10}.cp-show-controls .cp-controls,.custom-player:not(.cp-playing) .cp-controls{opacity:1;pointer-events:auto;transform:translateY(0)}.cp-progress-bar{background:hsla(0,0%,100%,.2);border-radius:2px;cursor:pointer;height:4px;position:relative;transition:height .15s;width:100%}.cp-progress-bar:hover{height:6px}.cp-progress-buffered{background:hsla(0,0%,100%,.3)}.cp-progress-buffered,.cp-progress-played{border-radius:2px;height:100%;left:0;pointer-events:none;position:absolute;top:0}.cp-progress-played{background:var(--accent);width:0}.cp-progress-thumb{background:var(--accent);border-radius:50%;height:14px;left:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s;width:14px}.cp-progress-bar:hover .cp-progress-thumb{transform:translate(-50%,-50%) scale(1)}.cp-progress-tooltip{background:rgba(0,0,0,.85);border-radius:3px;bottom:16px;color:#fff;display:none;font-size:12px;padding:2px 6px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.cp-buttons{gap:6px}.cp-btn,.cp-buttons{align-items:center;display:flex}.cp-btn{background:none;border:none;color:#fff;cursor:pointer;justify-content:center;opacity:.9;padding:4px;transition:opacity .2s}.cp-btn:hover{opacity:1}.cp-btn svg{fill:#fff;height:22px;width:22px}.cp-time{color:hsla(0,0%,100%,.9);font-size:13px;font-variant-numeric:tabular-nums;margin:0 4px;white-space:nowrap}.cp-spacer{flex:1}.cp-volume-wrap{align-items:center;display:flex;gap:4px}.cp-vol-slider{accent-color:#fff;cursor:pointer;height:3px;opacity:0;transition:width .2s,opacity .2s;width:0}.cp-volume-wrap:hover .cp-vol-slider{opacity:1;width:60px}.cp-speed-wrap{position:relative}.cp-speed-btn{color:#fff;font-size:13px;font-weight:600;min-width:32px}.cp-speed-menu{background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);bottom:36px;box-shadow:var(--shadow-lg);flex-direction:column;min-width:70px;padding:4px 0;position:absolute;right:0}.cp-speed-menu button{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:13px;padding:6px 14px;text-align:center;transition:background .15s;width:100%}.cp-speed-menu button:hover{background:var(--bg-surface-hover)}.cp-speed-menu button.active{color:var(--accent);font-weight:600}.custom-player:fullscreen .cp-controls{padding-bottom:16px}.custom-player:-webkit-full-screen .cp-controls{padding-bottom:16px}.custom-player:-webkit-full-screen video,.custom-player:fullscreen video{border-radius:0}.cp-fullscreen-btn{min-height:40px;min-width:40px}#lessonTitle{font-size:18px;font-weight:600;margin-bottom:6px}#lessonMeta{color:var(--text-tertiary);font-size:13px;margin-bottom:6px}#lessonDesc{color:var(--text-secondary);font-size:14px;line-height:1.6}.materials-section{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:14px}.materials-header h2{font-size:14px;font-weight:600;margin-bottom:1px}.materials-header p{color:var(--text-tertiary);font-size:12px}.materials-list{display:flex;flex-direction:column;gap:0}.material-item{align-items:center;background:rgba(77,141,245,.03);border:none;border-left:3px solid var(--accent);border-radius:0;display:flex;gap:8px;margin-bottom:0;max-width:100%;min-width:0;padding:8px 12px;transition:background var(--transition)}.material-item:hover{background:rgba(77,141,245,.06)}body:not(.dark-mode) .material-item{background:rgba(59,125,232,.03)}body:not(.dark-mode) .material-item:hover{background:rgba(59,125,232,.06)}.material-main{flex:1;min-width:0}.material-title-link{align-items:center;color:var(--text-primary);display:flex;font-size:13px;font-weight:500;gap:6px;text-decoration:none;transition:color var(--transition)}.material-title-link:hover{color:var(--accent)}.material-note{color:var(--text-tertiary);font-size:12px;margin-top:2px}.material-icon{height:18px;margin-right:6px;object-fit:contain;opacity:.6;vertical-align:middle;width:18px}.material-actions{display:flex;flex-shrink:0;gap:2px;margin-left:4px}.material-actions button{align-items:center;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;height:26px;justify-content:center;padding:0;transition:background var(--transition);width:26px}.material-actions .edit-material svg{stroke:var(--text-tertiary)}.material-actions .edit-material:hover{background:var(--bg-surface-hover)}.material-actions .edit-material:hover svg{stroke:var(--text-primary)}.material-actions .delete-material svg{opacity:.6;stroke:var(--accent-red)}.material-actions .delete-material:hover{background:hsla(0,94%,82%,.08)}.material-actions .delete-material:hover svg{opacity:1}.news-page{margin:0 auto;max-width:1100px;padding:8px 16px 40px}.news-title{font-size:20px;font-weight:700}#infoPageRoot{margin-top:0}.info-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr)}.info-col{min-height:280px}.info-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;padding:20px 18px}.info-panel-title{font-size:18px;font-weight:700;margin-bottom:8px}.info-panel-note{color:var(--text-tertiary);font-size:13px}.info-note-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--accent);font-size:16px;font-weight:500;gap:8px;min-height:80px;padding:16px 18px;text-align:center}.info-note-admin,.info-note-card{display:flex;flex-direction:column}.info-note-admin{gap:6px;margin-top:6px}.info-center-empty{color:var(--text-tertiary);font-size:14px;margin-top:32px;text-align:center}.news-links-list{gap:8px;margin-top:10px}.news-link-card,.news-links-list{display:flex;flex-direction:column}.news-link-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:background var(--transition),border-color var(--transition)}.news-link-card:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.news-link-main{align-items:stretch;color:inherit;display:flex;text-decoration:none}.news-link-thumb{background-color:var(--bg-page);background-position:50%;background-size:cover;flex-shrink:0;width:80px}.news-link-content{flex:1;padding:10px 12px}.news-link-content h3{font-size:13px;font-weight:600;margin-bottom:2px}.news-link-domain{color:var(--text-tertiary);font-size:11px}.news-link-actions{display:flex;gap:4px;padding:6px 8px}.news-link-actions button{border:none;border-radius:var(--radius-xs);cursor:pointer;font-size:11px;font-weight:500;padding:3px 8px}.news-link-actions .edit-news-link{background:rgba(147,197,253,.15);color:var(--accent-blue)}.news-link-actions .delete-news-link{background:hsla(0,94%,82%,.15);color:var(--accent-red)}.info-news-admin{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.info-empty{color:var(--text-tertiary);font-size:13px}.back-to-course{align-items:center;background:hsla(0,0%,100%,.04);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:500;gap:5px;margin-bottom:0;padding:8px 14px;text-decoration:none;transition:background var(--transition),color var(--transition)}.back-to-course:hover{background:hsla(0,0%,100%,.07);color:var(--text-primary)}body:not(.dark-mode) .back-to-course{background:rgba(0,0,0,.03)}body:not(.dark-mode) .back-to-course:hover{background:rgba(0,0,0,.06)}.course-back-btn{align-items:center;background:hsla(0,0%,100%,.04);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:5px;margin-bottom:8px;padding:8px 14px;text-decoration:none;transition:background var(--transition),color var(--transition)}.course-back-btn:hover{background:hsla(0,0%,100%,.07);color:var(--text-primary)}body:not(.dark-mode) .course-back-btn{background:rgba(0,0,0,.03)}body:not(.dark-mode) .course-back-btn:hover{background:rgba(0,0,0,.06)}.schedule-img{border-radius:4px;display:block;height:22px;object-fit:contain;width:22px}.schedule-icon{background:var(--accent);border-radius:var(--radius-xs);color:var(--text-inverse);display:inline-flex;font-size:14px;height:22px;width:22px}.schedule-icon,.schedule-modal-overlay{align-items:center;justify-content:center}.schedule-modal-overlay{background:rgba(0,0,0,.6);display:none;inset:0;position:fixed;z-index:999}.schedule-modal-overlay.open{display:flex}.schedule-modal-card{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:16px;max-height:80vh;padding:24px;position:relative;width:min(960px,94vw)}.schedule-modal-title{color:var(--text-primary);font-size:18px;font-weight:600}.schedule-modal-close{background:var(--bg-elevated);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:16px;height:32px;position:absolute;right:16px;top:16px;transition:background var(--transition);width:32px}.schedule-modal-close:hover{background:var(--bg-surface-hover)}.schedule-modal-body{align-items:center;display:flex;flex:1;justify-content:center;overflow:auto}.schedule-image{border-radius:var(--radius-lg);max-height:70vh;max-width:100%}.schedule-empty{color:var(--text-tertiary);font-size:14px}.schedule-admin-block{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:16px}.schedule-admin-actions{display:flex;gap:8px;margin-top:4px}.loading-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(26,26,31,.7);display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:9999}.loading-overlay.active{opacity:1;pointer-events:auto}.spinner{animation:spin .7s linear infinite;border:3px solid var(--border-medium);border-radius:50%;border-top-color:var(--text-primary);height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-loaded .content-area{animation:fadeUp .3s ease-out}.page-loaded .course-card{animation:fadeUp .3s ease-out both}.page-loaded .course-card:nth-child(2){animation-delay:.05s}.page-loaded .course-card:nth-child(3){animation-delay:.1s}.page-loaded .course-card:nth-child(4){animation-delay:.15s}body:not(.dark-mode){--bg-page:#f5f6f8;--bg-surface:#fff;--bg-surface-hover:#f0f1f4;--bg-elevated:#f8f9fb;--bg-input:#fff;--border-subtle:rgba(0,0,0,.08);--border-medium:rgba(0,0,0,.14);--text-primary:#1a1c23;--text-secondary:#4a4d57;--text-tertiary:#8b8d97;--text-inverse:#fff;--accent:#3b7de8;--accent-hover:#2b6ad6;--accent-red:#e45858;--accent-green:#22a06b;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 24px rgba(0,0,0,.1)}body:not(.dark-mode) .top-bar{background:hsla(0,0%,100%,.92);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.04)}body:not(.dark-mode) .course-card{background:#fff;border-color:rgba(0,0,0,.08);box-shadow:0 1px 4px rgba(0,0,0,.05)}body:not(.dark-mode) .course-card:hover{border-color:rgba(0,0,0,.12);box-shadow:0 4px 16px rgba(0,0,0,.1)}body:not(.dark-mode) .course-outline-shell,body:not(.dark-mode) .home-shell{background:#fff;border-color:rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.04)}body:not(.dark-mode) .chapter-header{background:#f8f9fb;border-color:rgba(0,0,0,.06)}body:not(.dark-mode) .chapter-header:hover{background:#f0f1f4}body:not(.dark-mode) .lesson-main{color:var(--text-primary)}body:not(.dark-mode) .lesson-main:hover{background:#f5f6f8}body:not(.dark-mode) .course-admin-panel,body:not(.dark-mode) .subject-admin-panel{background:#fff;border-color:rgba(0,0,0,.08);box-shadow:0 1px 4px rgba(0,0,0,.04)}body:not(.dark-mode) .chapter-admin-btn{background:#f5f6f8;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .chapter-admin-btn:hover{background:#eaecf0}body:not(.dark-mode) .chapter-admin-btn.btn-add-lesson{background:rgba(59,125,232,.06);border-color:rgba(59,125,232,.1)}body:not(.dark-mode) .chapter-admin-btn.btn-add-folder{background:rgba(139,92,246,.05);border-color:rgba(139,92,246,.08)}body:not(.dark-mode) .lesson-admin-actions button{background:#f5f6f8;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .lesson-admin-actions .edit-lesson:hover{background:#eaecf0}body:not(.dark-mode) .lesson-admin-actions .delete-lesson:hover{background:rgba(228,88,88,.06)}body:not(.dark-mode) .folder-admin-btn{background:#f5f6f8;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .folder-admin-btn.btn-add-lesson{background:rgba(59,125,232,.05)}body:not(.dark-mode) .material-item{background:rgba(59,125,232,.04)}body:not(.dark-mode) .material-item:hover{background:rgba(59,125,232,.07)}body:not(.dark-mode) .material-actions button{background:#f5f6f8;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .subjects-materials-body .material-item{background:rgba(59,125,232,.04)}body:not(.dark-mode) .subjects-materials-body .material-item:hover{background:rgba(59,125,232,.07)}body:not(.dark-mode) .subject-chip{background:#f5f6f8;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .subject-chip button:hover{background:#eaecf0}body:not(.dark-mode) .sa-collapse-btn{background:#f5f6f8;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .sa-collapse-btn:hover{background:#eaecf0}body:not(.dark-mode) .toolbar-btn{background:#f5f6f8;border-color:rgba(0,0,0,.06)}body:not(.dark-mode) .toolbar-btn:hover{background:#eaecf0}body:not(.dark-mode) .hero-banner{box-shadow:0 2px 12px rgba(0,0,0,.04)}body:not(.dark-mode) .hero-banner-badge{background:rgba(59,125,232,.06);border-color:rgba(59,125,232,.1);color:#2563eb}body:not(.dark-mode) .hero-banner-title{color:#111114}body:not(.dark-mode) .hero-highlight{color:#2563eb;-webkit-text-fill-color:#2563eb}body:not(.dark-mode) .hero-banner-subtitle{color:#6b6b75}body:not(.dark-mode) .hero-contact-text{color:#8b8d97}body:not(.dark-mode) .hero-cta-btn{background:#2563eb;box-shadow:0 2px 8px rgba(37,99,235,.2)}body:not(.dark-mode) .course-cta-btn{background:rgba(59,125,232,.07);color:#3b7de8}body:not(.dark-mode) .course-cta-btn:hover{background:rgba(59,125,232,.13)}body:not(.dark-mode) .hero-cta-btn{background:#3b7de8;box-shadow:0 4px 16px rgba(59,125,232,.2);color:#fff}body:not(.dark-mode) .back-to-course{background:#f0f1f4;color:var(--text-secondary)}body:not(.dark-mode) .back-to-course:hover{background:#e5e7eb}body:not(.dark-mode) .course-back-btn{background:#f0f1f4;color:var(--text-secondary)}body:not(.dark-mode) .course-back-btn:hover{background:#e5e7eb}body:not(.dark-mode) .watch-video-card{box-shadow:0 1px 4px rgba(0,0,0,.04)}body:not(.dark-mode) .watch-sidebar,body:not(.dark-mode) .watch-video-card{background:#fff;border-color:rgba(0,0,0,.06)}body:not(.dark-mode) .user-dropdown{background:#fff;border-color:rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.1)}body:not(.dark-mode) .info-panel{background:#fff;border-color:rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.04)}body:not(.dark-mode) .info-note-card{background:#fef9e7;border-color:#f5e6a3}body:not(.dark-mode) .home-reason-card{background:#fff;border-color:rgba(0,0,0,.06)}body:not(.dark-mode) .home-reason-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.06)}body:not(.dark-mode) .home-course-pag-dot{background:rgba(0,0,0,.12)}body:not(.dark-mode) .home-course-pag-arrow{border-color:rgba(0,0,0,.1);color:var(--text-tertiary)}body:not(.dark-mode) .home-course-pag-arrow:hover{background:#f0f1f4}body:not(.dark-mode) .lesson-folder-header{background:#f8f9fb}body:not(.dark-mode) .lesson-folder-header:hover{background:#f0f1f4}body:not(.dark-mode) ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15)}body:not(.dark-mode) ::-webkit-scrollbar-track{background:transparent}body:not(.dark-mode) .admin-popup-card,body:not(.dark-mode) .grant-popup,body:not(.dark-mode) .schedule-modal-card{background:#fff}@media (min-width:1100px){.home-course-row{display:flex;flex-wrap:nowrap;gap:16px;justify-content:center}.home-course-row .course-card-link{flex:0 0 auto}.home-course-row .course-card{width:240px}}@media (min-width:900px){.course-admin-panel{position:sticky;top:80px}}@media (min-width:768px) and (max-width:1099px){.home-course-row{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-course-row .course-card{margin:0 auto;max-width:320px;width:100%}}@media (max-width:1024px){.home-reasons-row{grid-template-columns:1fr}}@media (max-width:900px){.course-page{grid-template-columns:1fr;padding:20px 12px 40px}.course-admin-panel{max-width:100%}.subjects-page{gap:16px;grid-template-columns:1fr}.subject-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-layout{align-items:stretch;display:flex;flex-direction:column;gap:12px}.info-col{min-height:auto}.info-col-center{order:1}.info-col-left{order:2}.info-col-right{order:3}}@media (max-width:768px){.top-bar{gap:6px;height:auto;margin-top:env(safe-area-inset-top,0);padding:10px 12px}.app-frame{padding-top:56px}.logo-img{height:30px;width:30px}.menu-toggle{display:none!important}.main-nav{display:flex;flex-wrap:nowrap;gap:2px;margin:0 auto;position:static;transform:none}.main-nav.open{opacity:1;pointer-events:auto}.nav-link{font-size:clamp(10px,2.4vw,12px);padding:5px 10px;white-space:nowrap}.login-btn{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:0;height:32px;justify-content:center;padding:6px;width:32px}.login-btn svg{height:16px;margin:0!important;width:16px}.theme-toggle{height:30px;width:30px}.user-name{display:none}.user-avatar{height:28px;width:28px}.marquee-item{font-size:12px}.course-outline-shell{padding:14px 12px 18px}.subject-tabs{gap:2px;padding:3px}.subject-tab{font-size:12px;padding:6px 12px}.chapter-header{flex-wrap:nowrap;gap:8px;padding:14px}.chapter-num{border-radius:6px;font-size:12px;height:28px;width:28px}.chapter-body{margin-top:0;padding:6px 10px}.lesson-main{font-size:13px;padding:7px 10px;width:100%}.lesson-row{flex-wrap:wrap;gap:2px;margin-bottom:1px}.chapter-lessons{max-height:60vh;overflow-y:auto}.chapters-container{gap:0}}@media (max-width:767px){.home-course-row{display:grid;gap:8px;grid-template-columns:1fr}.home-course-row .course-card{margin:0 auto;max-width:300px;width:100%}}@media (max-width:640px){.cp-btn svg{height:20px;width:20px}.cp-time{font-size:11px}.cp-big-play svg{height:48px;width:48px}.cp-back10,.cp-fwd10,.cp-volume-wrap{display:none}}@media (max-width:600px){.home-page{padding:12px 10px 40px}.home-shell{padding:16px}.hero-banner,.home-shell{border-radius:var(--radius-lg)}.hero-banner{padding:28px 18px}.hero-banner-title{font-size:22px}.subject-card-grid{grid-template-columns:1fr}.subjects-title{font-size:20px;text-align:center}.subject-card{padding:20px 18px 16px}.course-content{width:100%}.watch-page{padding:0 8px 32px}.watch-video-card{border-radius:var(--radius-lg);padding:10px}.video-wrapper{border-radius:var(--radius-md)}.top-right{gap:4px}}@media (max-width:480px){.subject-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.subject-tab{flex:0 0 auto;white-space:nowrap}.chapter-header{font-size:13px}.lesson-main{font-size:12px}.lesson-status{font-size:10px;padding:2px 6px}}@media (max-width:380px){.main-nav{gap:1px}.nav-link{font-size:9px;padding:4px 7px}}.admin-page{margin:0 auto;max-width:100%;padding:8px 24px 40px}.admin-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:0;margin-bottom:20px;overflow-x:auto;padding:0;-webkit-overflow-scrolling:touch}.admin-tab,.admin-tabs{background:transparent;border-radius:0}.admin-tab{border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;margin-bottom:-1px;padding:10px 20px;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{background:transparent;border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.admin-tab-content{display:none}.admin-tab-content.active{display:block}.admin-stats-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.settings-admin-grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.admin-stat-card{align-items:center;background:var(--bg-surface);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:16px 20px;transition:background .15s ease}.admin-stat-card:hover{background:var(--bg-surface-hover)}.admin-stat-card-sm{padding:12px 16px}.admin-stat-info{display:flex;flex-direction:column;gap:2px}.admin-stat-label{color:var(--text-tertiary);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.admin-stat-number{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.1}.admin-stat-card-sm .admin-stat-number{font-size:22px}.admin-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.stat-icon-blue{background:rgba(24,95,165,.12)}.stat-icon-blue svg{stroke:#85b7eb}.stat-icon-teal{background:rgba(15,110,86,.12)}.stat-icon-teal svg{stroke:#5dcaa5}.stat-icon-amber{background:rgba(186,117,23,.12)}.stat-icon-amber svg{stroke:#ef9f27}.stat-icon-purple{background:rgba(83,74,183,.12)}.stat-icon-purple svg{stroke:#afa9ec}.stat-num-amber{color:#ef9f27!important}.stat-num-teal{color:#1d9e75!important}body:not(.dark-mode) .stat-icon-blue{background:rgba(24,95,165,.08)}body:not(.dark-mode) .stat-icon-blue svg{stroke:#378add}body:not(.dark-mode) .stat-icon-teal{background:rgba(15,110,86,.08)}body:not(.dark-mode) .stat-icon-teal svg{stroke:#1d9e75}body:not(.dark-mode) .stat-icon-amber{background:rgba(186,117,23,.08)}body:not(.dark-mode) .stat-icon-amber svg{stroke:#ba7517}body:not(.dark-mode) .stat-icon-purple{background:rgba(83,74,183,.08)}body:not(.dark-mode) .stat-icon-purple svg{stroke:#7f77dd}body:not(.dark-mode) .stat-num-amber{color:#ba7517!important}body:not(.dark-mode) .stat-num-teal{color:#0f6e56!important}.admin-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.admin-section-header h2{font-size:18px;font-weight:600}.admin-btn-primary{background:var(--text-primary);border:none;border-radius:var(--radius-sm);color:var(--text-inverse);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 18px;transition:opacity .15s ease}.admin-btn-primary:hover{opacity:.85}.admin-btn-secondary{background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 18px;transition:background .15s ease,color .15s ease}.admin-btn-secondary:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.admin-btn-edit{background:rgba(147,197,253,.15);border:none;border-radius:var(--radius-xs);color:var(--accent-blue);cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:background .15s ease}.admin-btn-edit:hover{background:rgba(147,197,253,.25)}.admin-btn-delete{background:hsla(0,94%,82%,.15);border:none;border-radius:var(--radius-xs);color:var(--accent-red);cursor:pointer;font-size:12px;font-weight:500;padding:4px 10px;transition:background .15s ease}.admin-btn-delete:hover{background:hsla(0,94%,82%,.25)}.admin-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.admin-form-row{align-items:end;display:grid;gap:12px;grid-template-columns:1fr 1fr auto}.admin-form-field{display:flex;flex-direction:column;gap:4px}.admin-form-field-btn{align-items:end;display:flex;gap:6px;padding-bottom:1px}.admin-course-list{display:flex;flex-direction:column;gap:8px}.admin-course-item{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:12px;padding:12px;transition:background .15s ease,border-color .15s ease}.admin-course-item:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.admin-course-item-logo{align-items:center;background:var(--bg-page);border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.admin-course-item-logo img{height:100%;object-fit:cover;width:100%}.admin-course-item-logo span{font-size:24px}.admin-course-item-info{flex:1;min-width:0}.admin-course-item-info strong{color:var(--text-primary);display:block;font-size:14px;font-weight:600}.admin-course-item-meta{color:var(--text-tertiary);display:block;font-size:12px;margin-top:2px}.admin-course-item-actions{display:flex;flex-shrink:0;gap:6px}.admin-badge{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.admin-table-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.admin-search-input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);flex:1;font-family:inherit;font-size:13px;min-width:200px;padding:8px 12px;transition:border-color .15s ease}.admin-search-input:focus{border-color:var(--accent);outline:none}.admin-search-input::placeholder{color:var(--text-tertiary)}.admin-filter-select{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px 12px}.admin-table-wrap{width:100%}#tab-dashboard .admin-card,#tab-students .admin-card{max-width:100%}@media (max-width:768px){.admin-form-row{flex-direction:column}.admin-table-wrap{overflow-x:auto}.admin-course-item{flex-wrap:wrap}.admin-course-item-actions{justify-content:flex-end;width:100%}.admin-stats-row,.settings-admin-grid{grid-template-columns:1fr}.admin-stat-number{font-size:22px}.grant-select-row{flex-direction:column}.grant-select-row .admin-form-field{max-width:100%!important}.grant-btn-row{flex-direction:column}}@media (max-width:480px){.admin-tabs{gap:0}.admin-tab{font-size:12px;padding:6px 12px}.admin-table-toolbar{align-items:stretch;flex-direction:column}.admin-filter-select,.admin-search-input{min-width:0;width:100%}}.lesson-folder{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin:4px 0;overflow:hidden}.lesson-folder-header{align-items:center;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:8px 12px;transition:background var(--transition)}.lesson-folder-header:hover{background:var(--bg-surface-hover)}.lesson-folder-icon{font-size:15px}.lesson-folder-name{flex:1}.lesson-folder-count{color:var(--text-tertiary);flex-shrink:0;font-size:11px}.lesson-folder-arrow{color:var(--text-tertiary);font-size:11px;transition:transform .2s ease}.lesson-folder-body{max-height:0;opacity:0;overflow:hidden;padding:0 12px;transition:max-height .25s ease,opacity .2s ease,padding .2s ease}.lesson-folder.open .lesson-folder-body{max-height:9999px;opacity:1;padding:6px 12px 10px}.lesson-folder.open .lesson-folder-arrow{transform:rotate(180deg)}.chapter.dragging{border:1px dashed var(--accent);border-radius:var(--radius-sm);opacity:.5}.chapter[draggable=true] .chapter-header{cursor:grab}.chapter[draggable=true] .chapter-header:active{cursor:grabbing}.progress-bar-wrap{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px;padding:14px 16px}.progress-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.progress-bar-label{color:var(--text-secondary);font-size:13px;font-weight:600}.progress-bar-percent{color:var(--accent);font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.progress-bar-track{background:var(--bg-page);border-radius:99px;height:8px;overflow:hidden;width:100%}.progress-bar-fill{background:var(--accent);border-radius:99px;height:100%;min-width:0;transition:width .5s cubic-bezier(.22,1,.36,1)}.progress-bar-detail{color:var(--text-tertiary);display:block;font-size:12px;margin-top:6px}.subject-card-progress{align-items:center;display:flex;gap:8px;margin:4px 0 2px}.progress-bar-track-sm{background:var(--bg-page);border-radius:99px;flex:1;height:4px;overflow:hidden}.progress-bar-track-sm .progress-bar-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.progress-bar-detail-sm{font-variant-numeric:tabular-nums}.chapter-progress-badge,.progress-bar-detail-sm{color:var(--text-tertiary);font-size:11px;white-space:nowrap}.chapter-progress-badge{background:var(--bg-page);border-radius:var(--radius-xs);font-variant-numeric:tabular-nums;font-weight:600;margin-left:auto;margin-right:8px;padding:2px 8px}.chapter-progress-badge.complete{background:rgba(110,231,183,.15);color:var(--accent-green)}@media (max-width:600px){.progress-bar-wrap{padding:10px 12px}.subject-card-progress{align-items:flex-start;flex-direction:column;gap:4px}.progress-bar-track-sm{width:100%}}.watch-layout{display:flex;gap:0;margin:0 auto;max-width:1400px;position:relative}.watch-main{flex:1;min-width:0}.watch-container{display:flex;justify-content:center}.watch-sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;height:calc(100vh - 60px);overflow:hidden;position:sticky;top:60px;width:320px}.watch-sidebar-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:14px 16px}.watch-sidebar-title{color:var(--text-primary);font-size:15px;font-weight:600}.watch-sidebar-close{background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-tertiary);cursor:pointer;display:none;font-size:14px;height:28px;transition:background var(--transition);width:28px}.watch-sidebar-close:hover{background:var(--bg-surface-hover)}.watch-sidebar-progress{padding:10px 0 4px}.watch-sidebar-list{flex:1;overflow-y:auto;padding:4px 0 16px}.watch-sidebar-chapter{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.05em;padding:10px 16px 4px;text-transform:uppercase}.watch-sidebar-item{align-items:center;border-left:2px solid transparent;border-radius:0 var(--radius-xs) var(--radius-xs) 0;color:var(--text-secondary);display:flex;font-size:13px;gap:10px;padding:9px 16px;text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition)}.watch-sidebar-item:hover{background:var(--bg-surface-hover);border-left-color:var(--border-medium);color:var(--text-primary)}.watch-sidebar-item.active{background:rgba(77,141,245,.08);border-left-color:var(--accent);color:var(--text-primary);font-weight:600}.watch-sidebar-item-status{align-items:center;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-tertiary);display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:24px;justify-content:center;transition:all var(--transition);width:24px}.watch-sidebar-item-status.done{background:rgba(110,231,183,.15);border-color:rgba(110,231,183,.3);color:var(--accent-green)}.watch-sidebar-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-sidebar-item-dur{color:var(--text-tertiary);flex-shrink:0;font-size:11px;white-space:nowrap}.watch-sidebar-toggle{background:rgba(77,141,245,.1);border:none;border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;display:none;font-family:inherit;font-size:12px;font-weight:500;margin-bottom:0;padding:8px 14px;transition:background var(--transition)}.watch-sidebar-toggle:hover{background:rgba(77,141,245,.16)}body:not(.dark-mode) .watch-sidebar-toggle{background:rgba(59,125,232,.07)}body:not(.dark-mode) .watch-sidebar-toggle:hover{background:rgba(59,125,232,.13)}.watch-top-bar{gap:8px;margin-bottom:10px}.watch-nav-row,.watch-top-bar{align-items:center;display:flex}.watch-nav-row{border-bottom:1px solid var(--border-subtle);gap:12px;justify-content:space-between;margin-bottom:6px;padding:12px 0}.watch-nav-btn{background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 18px;transition:all var(--transition)}.watch-nav-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.watch-nav-btn:disabled{cursor:not-allowed;opacity:.3}.watch-nav-info{color:var(--text-tertiary);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:900px){.watch-layout{flex-direction:column}.watch-sidebar{background:var(--bg-surface);bottom:0;height:100%;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.22,1,.36,1);width:300px;z-index:10000}.watch-sidebar:after{background:inherit;bottom:0;content:"";display:none;height:120px;left:0;pointer-events:none;position:fixed;right:0;z-index:-1}.watch-sidebar.open:after{display:block}.watch-sidebar.open{transform:translateX(0)}.watch-sidebar-overlay{background:rgba(0,0,0,.5);inset:0;opacity:0;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:9999}.watch-sidebar-overlay.open{opacity:1;visibility:visible}.watch-sidebar-close{align-items:center;display:flex;justify-content:center}.watch-sidebar-toggle{align-items:center;display:inline-flex;gap:4px}.watch-main{width:100%}}@media (max-width:600px){.watch-sidebar{max-width:320px;width:85vw}.back-to-course,.watch-sidebar-toggle{font-size:12px!important;height:36px;padding:8px 14px!important}.watch-nav-btn{font-size:11px;padding:5px 10px}}.admin-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.admin-pagination button{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:12px;font-weight:500;height:32px;justify-content:center;transition:background var(--transition),color var(--transition);width:32px}.admin-pagination button:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.admin-pagination button.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-inverse)}.admin-pagination button:disabled{cursor:not-allowed;opacity:.3}.admin-pagination-info{color:var(--text-tertiary);font-size:12px;font-variant-numeric:tabular-nums;margin-left:8px}@media (max-width:600px){.cp-btn{padding:8px}.cp-btn svg{height:24px;width:24px}.cp-fullscreen-btn{min-height:44px;min-width:44px}.cp-buttons{gap:2px}.admin-pagination button{font-size:11px;height:28px;width:28px}}.drive-fallback{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;margin-top:8px;padding:10px 14px}.drive-fallback p{color:var(--text-secondary);font-size:13px;margin:0}.drive-fallback-btn{align-items:center;background:var(--text-primary);border-radius:var(--radius-sm);color:var(--text-inverse);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 16px;text-decoration:none;transition:opacity var(--transition)}.drive-fallback-btn:hover{opacity:.85}.recent-lessons-wrap{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:12px;overflow:hidden}.recent-lessons-header{align-items:center;cursor:pointer;display:flex;gap:8px;padding:11px 14px;user-select:none}.recent-lessons-header:hover{background:hsla(0,0%,100%,.03)}.recent-lessons-icon{color:var(--accent-blue);flex-shrink:0}.recent-lessons-title{color:var(--text-primary);font-size:13.5px;font-weight:700}.recent-lessons-count{background:rgba(77,141,245,.12);border-radius:999px;color:var(--accent-blue);font-size:11px;font-weight:700;padding:1px 8px}.recent-lessons-arrow{color:var(--text-tertiary);font-size:12px;margin-left:auto;transition:transform .2s ease}.recent-lessons-arrow.open{transform:rotate(180deg)}.recent-lessons-body{padding:0 14px 12px}.recent-lessons-empty{color:var(--text-tertiary);font-size:13px;font-style:italic;margin:0;padding:12px 0;text-align:center}.recent-lesson-card{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);cursor:pointer;margin-bottom:6px;padding:10px 12px;position:relative;transition:border-color .15s}.recent-lesson-card:last-child{margin-bottom:0}.recent-lesson-card:hover{border-color:var(--accent-blue)}.recent-lesson-breadcrumb{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:11.5px;gap:5px;line-height:1.5;margin-bottom:5px;padding-right:26px}.recent-lesson-badge{background:rgba(77,141,245,.12);border-radius:999px;color:var(--accent-blue);flex-shrink:0;font-size:10.5px;font-weight:700;padding:1px 7px}.recent-lesson-sep{color:var(--text-tertiary);flex-shrink:0;font-size:9px}.recent-lesson-folder-icon{color:var(--text-secondary);flex-shrink:0;vertical-align:-1px}.recent-lesson-info{align-items:center;display:flex;justify-content:space-between;padding-right:26px}.recent-lesson-name{color:var(--text-primary);font-size:13.5px;font-weight:600;line-height:1.4}.recent-lesson-time{color:var(--text-tertiary);flex-shrink:0;font-size:11px;margin-left:10px;white-space:nowrap}.recent-lesson-delete{background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:none;line-height:1;padding:3px;position:absolute;right:8px;top:8px;transition:color .15s,background .15s}.recent-lesson-delete:hover{background:rgba(239,68,68,.1);color:var(--accent-red)}@media (max-width:600px){.recent-lessons-header{padding:10px 12px}.recent-lessons-body{padding:0 10px 10px}.recent-lesson-card{padding:9px 10px}.recent-lesson-name{font-size:13px}.recent-lesson-breadcrumb{font-size:11px}}.toast-container{display:flex;flex-direction:column;gap:8px;max-width:360px;pointer-events:none;position:fixed;right:16px;top:16px;width:calc(100% - 32px);z-index:99999}.toast{align-items:flex-start;animation:toastIn .3s ease-out;border-radius:var(--radius-sm);box-shadow:0 4px 20px rgba(0,0,0,.3);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;line-height:1.4;padding:12px 16px;pointer-events:auto;word-break:break-word}.toast-icon{flex-shrink:0;font-size:15px;line-height:1}.toast-msg{flex:1}.toast-success{background:#0d3520;border:1px solid #1a5c38;color:#6ee7b7}.toast-error{background:#3b1111;border:1px solid #6b2020;color:#fca5a5}.toast-warn{background:#3b2e0a;border:1px solid #6b5215;color:#fcd34d}.toast-info{background:#0d1f3b;border:1px solid #1a3a6b;color:#93c5fd}body:not(.dark-mode) .toast-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}body:not(.dark-mode) .toast-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}body:not(.dark-mode) .toast-warn{background:#fffbeb;border-color:#fde68a;color:#92400e}body:not(.dark-mode) .toast-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.toast.removing{animation:toastOut .25s ease-in forwards}@keyframes toastIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:480px){.toast-container{max-width:calc(100% - 16px);right:8px;top:8px}.toast{font-size:12px;padding:10px 12px}}.watch-sidebar-folder{margin:2px 0}.watch-sidebar-folder-header{align-items:center;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 16px;transition:background var(--transition),color var(--transition)}.watch-sidebar-folder-header:hover{background:var(--bg-surface-hover);color:var(--text-secondary)}.watch-sidebar-folder-arrow{font-size:10px;margin-left:auto;transition:transform .2s ease}.watch-sidebar-folder.open .watch-sidebar-folder-arrow{transform:rotate(180deg)}.watch-sidebar-folder-body{max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}.watch-sidebar-folder.open .watch-sidebar-folder-body{max-height:9999px;opacity:1}.watch-sidebar-folder-body .watch-sidebar-item{padding-left:32px}.admin-enroll-form{display:flex;flex-direction:column;gap:12px}.admin-enroll-inputs{display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr}.admin-enroll-actions{display:flex;gap:8px}.admin-enroll-actions .admin-btn-primary{flex:1;padding:10px 0;text-align:center}@media (max-width:768px){.admin-enroll-inputs{grid-template-columns:1fr}.admin-enroll-actions{flex-direction:row}.admin-enroll-actions .admin-btn-primary{flex:1}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{animation:shimmer 1.5s linear infinite;background:var(--bg-elevated);background-image:linear-gradient(90deg,var(--bg-elevated) 0,var(--bg-surface-hover) 40%,var(--bg-elevated) 80%);background-size:800px 100%;border-radius:var(--radius-sm)}.skeleton-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);height:100px}.skeleton-chapter{height:44px;margin-bottom:2px}.skeleton-course{border-radius:var(--radius-lg);height:260px;width:220px}.course-card-skeleton{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-sizing:border-box;display:flex;flex-direction:column;gap:10px;min-height:360px;padding:12px;width:240px}.course-card-skeleton .skel-logo{aspect-ratio:1/1;border-radius:var(--radius-md);width:100%}.course-card-skeleton .skel-title{border-radius:4px;height:14px;margin-top:6px;width:70%}.course-card-skeleton .skel-meta{border-radius:4px;height:10px;width:50%}.course-card-skeleton .skel-cta{border-radius:var(--radius-sm);height:32px;margin-top:auto;width:100%}.skeleton-row{height:48px;margin-bottom:4px}.skeleton-grid{display:grid;gap:10px}.skeleton-grid-2{grid-template-columns:1fr 1fr}.skeleton-grid-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:768px){.skeleton-grid-2,.skeleton-grid-3{grid-template-columns:1fr}.skeleton-course{height:200px;width:100%}}.subjects-materials-section{margin-bottom:4px}.subjects-materials-body{display:flex;flex-direction:column;gap:0;margin-top:0;max-height:0;overflow:hidden;padding:0;transition:max-height .3s ease,padding .3s ease}.subjects-materials-body.sm-open{padding:8px 0 4px}.subjects-materials-body .sm-item{margin-bottom:5px}.subjects-materials-body .sm-item:last-child{margin-bottom:0}.material-icon-box{align-items:center;display:flex;flex-shrink:0;justify-content:center}.material-icon-box svg{fill:none;height:14px;stroke:var(--accent);stroke-width:2;width:14px}.material-name{color:var(--text-primary);flex:1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-open-link{color:var(--accent);flex-shrink:0;font-size:11px;text-decoration:none;transition:opacity var(--transition)}.material-open-link:hover{opacity:.7}.subjects-materials-admin{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box;display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:100%;overflow:hidden;padding:12px 14px}.subjects-materials-admin label{color:var(--text-tertiary);display:block;font-size:12px;font-weight:500;margin-top:2px;white-space:normal;word-wrap:break-word}.subjects-materials-admin label:first-child{margin-top:0}.subjects-materials-admin input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;max-width:100%;min-width:0;padding:8px 12px;width:100%}.subjects-materials-admin input:focus{border-color:var(--accent);outline:none}.subjects-materials-admin .admin-btn-primary{background:var(--accent);border:none;border-radius:var(--radius-xs);color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:8px 16px}.subjects-materials-admin .admin-btn-primary:hover{opacity:.85}.admin-popup-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.6);display:flex;height:100dvh;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.admin-popup-card{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:14px;max-height:85vh;max-width:440px;overflow-y:auto;padding:24px 22px;position:relative;width:100%}.admin-popup-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:18px;padding:4px;position:absolute;right:14px;top:12px;transition:color var(--transition)}.admin-popup-card h3,.admin-popup-close:hover{color:var(--text-primary)}.admin-popup-card h3{font-size:16px;font-weight:700;margin:0 0 14px}.admin-popup-card label{color:var(--text-secondary);display:block;font-size:12px;font-weight:600;margin:10px 0 4px}.admin-popup-card input,.admin-popup-card select,.admin-popup-card textarea{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px 10px;width:100%}.admin-popup-card textarea{resize:vertical}.admin-popup-actions{display:flex;gap:8px;margin-top:14px}.admin-popup-actions button{border:none;border-radius:var(--radius-sm);cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:600;padding:9px 0;transition:opacity var(--transition)}.admin-popup-actions button:hover{opacity:.85}.popup-btn-primary{background:var(--text-primary);color:var(--text-inverse)}.popup-btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-subtle)!important;color:var(--text-secondary)}.chapter-admin-group{align-items:center;display:flex;flex-shrink:0;gap:4px;margin-left:auto}.chapter-admin-btn{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all var(--transition);width:28px}.chapter-admin-btn svg{fill:none;height:14px;stroke:var(--text-tertiary);stroke-width:2;width:14px}.chapter-admin-btn:hover{background:var(--bg-surface-hover)}.chapter-admin-btn:hover svg{stroke:var(--text-primary)}.chapter-admin-btn.btn-add-lesson{background:rgba(77,141,245,.08);border-color:rgba(77,141,245,.1)}.chapter-admin-btn.btn-add-lesson svg{stroke:var(--accent)}.chapter-admin-btn.btn-add-lesson:hover{background:rgba(77,141,245,.15)}.chapter-admin-btn.btn-add-folder{background:rgba(167,139,250,.06);border-color:rgba(167,139,250,.08)}.chapter-admin-btn.btn-add-folder svg{stroke:#a78bfa}.chapter-admin-btn.btn-add-folder:hover{background:rgba(167,139,250,.15)}.chapter-admin-btn.btn-delete-chapter{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.1)}.chapter-admin-btn.btn-delete-chapter svg{stroke:var(--accent-red)}.chapter-admin-btn.btn-delete-chapter:hover{background:rgba(239,68,68,.15)}body:not(.dark-mode) .chapter-admin-btn{background:rgba(0,0,0,.02)}body:not(.dark-mode) .chapter-admin-btn:hover{background:rgba(0,0,0,.05)}body:not(.dark-mode) .chapter-admin-btn.btn-add-lesson{background:rgba(77,141,245,.06)}body:not(.dark-mode) .chapter-admin-btn.btn-add-folder{background:rgba(167,139,250,.05)}.folder-admin-btn{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid var(--border-subtle);border-radius:5px;cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;margin-left:4px;padding:0;transition:all var(--transition);width:26px}.folder-admin-btn svg{height:14px;stroke:var(--text-tertiary);width:14px}.folder-admin-btn:hover{background:var(--bg-surface-hover)}.folder-admin-btn:hover svg{stroke:var(--text-primary)}.folder-admin-btn.btn-add-lesson{background:rgba(77,141,245,.08);border-color:rgba(77,141,245,.1)}.folder-admin-btn.btn-add-lesson svg{stroke:var(--accent)}.folder-admin-btn.btn-add-lesson:hover{background:rgba(77,141,245,.15)}.folder-delete-btn svg{opacity:.6;stroke:var(--accent-red)}.folder-delete-btn:hover{background:hsla(0,94%,82%,.08)!important}.folder-delete-btn:hover svg{opacity:1}.chapter-header{flex-wrap:nowrap}@media (max-width:600px){.chapter-admin-btn{height:26px;width:26px}.chapter-admin-btn svg{height:12px;width:12px}.folder-admin-btn{height:26px;margin-left:2px;width:26px}.folder-admin-btn svg{height:12px;width:12px}.chapter-admin-group{gap:3px}.chapter-header,.lesson-folder-header{gap:4px}}.add-chapter-btn{align-items:center;background:transparent;border:1px dashed var(--border-medium);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:4px;margin-bottom:10px;padding:7px 16px;transition:all var(--transition)}.add-chapter-btn:hover{background:rgba(77,141,245,.06);border-color:var(--accent);color:var(--accent)}@media (max-width:600px){.add-chapter-btn{font-size:12px;padding:6px 12px}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:rgba(77,141,245,.25);color:var(--text-primary)}:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,141,245,.15);outline:none}.drag-handle{cursor:grab;flex-shrink:0;font-size:14px;margin-right:2px;opacity:.3;padding:2px 4px;transition:opacity var(--transition);user-select:none}.drag-handle:hover{opacity:.7}.drag-handle:active{cursor:grabbing}.drag-item{transition:opacity .15s ease}.drag-item.dragging{opacity:.4}.chapter-body.dragging-active *{user-select:none}.admin-stat-icon svg{opacity:.5}.home-reason-icon svg{color:var(--accent);opacity:.7}.lesson-folder-icon{color:var(--text-tertiary)}.lesson-folder-icon,.material-icon{align-items:center;display:inline-flex}.material-icon svg{opacity:.5}.drag-handle svg{opacity:inherit}.admin-link svg,.login-btn svg,.nav-link svg,.user-logout-btn svg{margin-right:2px;vertical-align:-2px}.watch-nav-btn svg{vertical-align:-1px}.info-page-title{color:var(--text-primary);font-size:22px;font-weight:700;margin:4px 0 14px}.info-posts-section{margin-top:16px}.info-posts-section .info-panel-title{margin-bottom:10px}.info-post-admin{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);gap:6px;margin-bottom:14px;padding:14px 16px}.info-post-admin,.info-posts-list{display:flex;flex-direction:column}.info-posts-list{gap:10px}.info-post-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition),box-shadow .3s ease}.info-post-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.info-post-image{background:var(--bg-page);display:block;height:160px;object-fit:cover;width:100%}.info-post-body{padding:14px 16px}.info-post-title{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 4px}.info-post-desc{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0 0 8px;white-space:pre-wrap}.info-post-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}.info-post-price{color:var(--accent);font-size:15px;font-weight:700}.info-post-contact{align-items:center;background:var(--accent);border-radius:var(--radius-sm);color:#fff;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 14px;text-decoration:none;transition:opacity var(--transition)}.info-post-contact:hover{opacity:.85}.info-post-actions{display:flex;gap:4px;padding:0 16px 10px}.info-post-actions button{border:none;border-radius:var(--radius-xs);cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px}.info-post-actions .edit-post{background:rgba(147,197,253,.15);color:var(--accent-blue)}.info-post-actions .delete-post{background:hsla(0,94%,82%,.15);color:var(--accent-red)}.toggle-space-wrap{align-items:center;display:flex;gap:10px;margin-top:6px}.toggle-space-wrap label.toggle-label{color:var(--text-tertiary);cursor:pointer;font-size:12px;font-weight:400;margin:0}.toggle-space-input{display:none}.toggleSwitch{background-color:var(--border-medium);border-radius:10px;cursor:pointer;display:block;flex-shrink:0;height:20px;position:relative;transition:background-color .2s ease;width:36px}.toggleSwitch:after{background-color:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:16px}.toggle-space-input:checked+.toggleSwitch{background-color:var(--accent)}.toggle-space-input:checked+.toggleSwitch:after{transform:translateX(16px)}.notif-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px 16px}.notif-admin-form label{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:6px;margin-bottom:6px}.notif-hint{color:var(--text-tertiary);font-size:11px;line-height:1.4;margin:0 0 8px}.notif-admin-form textarea{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px 10px;resize:vertical;width:100%}.notif-btn-row{display:flex;gap:6px;margin-top:8px}.notif-bell-btn.active{background:rgba(77,141,245,.1);border-color:var(--accent);color:var(--accent)}.notif-toast{align-items:stretch;animation:notifSlideIn .4s cubic-bezier(.22,1,.36,1);background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);display:flex;max-width:calc(100vw - 32px);overflow:hidden;position:fixed;right:20px;top:76px;width:380px;z-index:99999}.notif-toast.removing{animation:notifSlideOut .3s ease forwards}.notif-toast-wave{color:var(--accent);flex-shrink:0;height:100%;left:-4px;position:absolute;top:0}.notif-toast-body{display:flex;flex:1;flex-direction:column;gap:4px;padding:16px 14px 16px 24px}.notif-toast-title{align-items:center;color:var(--accent);display:flex;font-size:13px;font-weight:700;gap:6px;margin:0}.notif-toast-text{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0;word-break:break-word}.notif-toast-close{align-items:center;align-self:flex-start;background:none;border:none;border-radius:var(--radius-xs);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-top:4px;padding:10px;transition:color .15s,background .15s}.notif-toast-close:hover{background:hsla(0,0%,100%,.06);color:var(--text-primary)}@keyframes notifSlideIn{0%{opacity:0;transform:translateY(-16px) translateX(20px)}to{opacity:1;transform:translateY(0) translateX(0)}}@keyframes notifSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px) translateX(20px)}}@media (max-width:600px){.notif-toast{left:8px;max-width:none;right:8px;top:68px;width:auto}}.user-dropdown-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px;text-decoration:none;transition:background var(--transition);width:100%}.user-dropdown-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.user-dropdown-item.admin-link,.user-dropdown-item.admin-link:hover{color:var(--accent)}.admin-avatar-wrap{animation:avatarRingSpin 4s linear infinite;background:conic-gradient(#4285f4 0deg,#4285f4 80deg,#ea4335 80deg,#ea4335 170deg,#fbbc05 170deg,#fbbc05 260deg,#34a853 260deg,#34a853 1turn);border-radius:50%;display:inline-flex;padding:2.5px;position:relative}.ctv-avatar-wrap{animation:none!important;background:#8b5cf6!important}.manager-avatar-wrap{animation:none!important;background:#ef4444!important}.editor-avatar-wrap{animation:none!important;background:#3b82f6!important}@keyframes avatarRingSpin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.admin-avatar-wrap .user-avatar{border:2px solid var(--bg-page);border-radius:50%}.user-avatar{border-radius:50%}.student-view-toggle{color:var(--accent)!important;font-weight:600!important}.student-view-banner{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(77,141,245,.12);border-top:1px solid rgba(77,141,245,.25);bottom:0;color:var(--accent);display:flex;font-size:13px;font-weight:500;gap:10px;justify-content:center;left:0;padding:8px 16px;position:fixed;right:0;z-index:99998}.student-view-banner svg{flex-shrink:0}.student-view-banner button{background:transparent;border:1px solid rgba(77,141,245,.3);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:4px 14px;transition:background var(--transition)}.student-view-banner button:hover{background:rgba(77,141,245,.15)}@media (max-width:600px){.student-view-banner{font-size:12px;gap:8px;padding:7px 12px}.student-view-banner button{font-size:11px;padding:3px 10px}}.trust-section{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-top:24px;padding:20px}.trust-desc{color:var(--text-tertiary);font-size:13px;margin:0 0 14px}.trust-admin{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding:14px}.trust-admin label{color:var(--text-secondary);font-size:12px;font-weight:500}.trust-admin input{background:var(--bg-page);border:1px solid var(--border-medium);border-radius:var(--radius-xs);color:var(--text-primary);font-family:inherit;font-size:13px;padding:7px 10px}.trust-image-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.trust-image-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden;position:relative}.trust-image-card img{cursor:pointer;display:block;transition:opacity var(--transition);width:100%}.trust-image-card img:hover{opacity:.85}.trust-image-note{border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:11px;padding:6px 8px}.trust-image-delete{align-items:center;background:rgba(0,0,0,.6);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:22px;justify-content:center;position:absolute;right:4px;top:4px;width:22px}.trust-image-delete:hover{background:rgba(220,50,50,.8)}.trust-lightbox{align-items:center;background:rgba(0,0,0,.85);bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:99999}.trust-lightbox img{border-radius:8px;max-height:90vh;max-width:92vw;object-fit:contain}@media (max-width:600px){.trust-image-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.trust-section{padding:14px}}.sc-overlay{background:rgba(0,0,0,.6);bottom:0;gap:0;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:99999}.sc-card-wrapper,.sc-overlay{align-items:center;display:flex;flex-direction:column}.sc-card-wrapper{gap:16px;transform:scale(var(--sc-scale,1));transform-origin:center center}@media (max-width:480px){.sc-card-wrapper{--sc-scale:0.85}}@media (max-width:390px){.sc-card-wrapper{--sc-scale:0.75}}@media (max-width:340px){.sc-card-wrapper{--sc-scale:0.65}}.sc-card{aspect-ratio:1.586/1;background:linear-gradient(135deg,#1e40af,#3b82f6 40%,#60a5fa);border-radius:14px;overflow:hidden;position:relative;width:420px}.sc-dots{display:flex;gap:4px;pointer-events:none;position:absolute;right:18px;top:14px}.sc-dot{border:1.5px solid hsla(0,0%,100%,.12);border-radius:50%;height:24px;width:24px}.sc-dot:last-child{background:hsla(0,0%,100%,.06);margin-left:-10px}.sc-wave1{background:hsla(0,0%,100%,.03);bottom:0;left:0;right:0}.sc-wave1,.sc-wave2{border-radius:100% 100% 0 0;height:45px;pointer-events:none;position:absolute}.sc-wave2{background:hsla(0,0%,100%,.02);bottom:-6px;left:20px;right:-20px}.sc-body{display:flex;flex-direction:column;height:100%;padding:18px 22px;position:relative}.sc-row1{gap:7px}.sc-logo-icon,.sc-row1{align-items:center;display:flex}.sc-logo-icon{background:hsla(0,0%,100%,.15);border-radius:7px;height:26px;justify-content:center;width:26px}.sc-logo-text{color:hsla(0,0%,100%,.9);font-size:16px;font-weight:900;letter-spacing:2px}.sc-type{color:hsla(0,0%,100%,.5);font-size:11px;margin-left:4px}.sc-profile{align-items:center;display:flex;flex:1;gap:14px}.sc-avatar{object-fit:cover}.sc-avatar,.sc-avatar-placeholder{background:hsla(0,0%,100%,.1);border:2.5px solid hsla(0,0%,100%,.2);border-radius:50%;flex-shrink:0;height:52px;width:52px}.sc-avatar-placeholder{align-items:center;color:#fff;display:flex;font-size:20px;font-weight:700;justify-content:center}.sc-info{flex:1;min-width:0}.sc-name{color:#fff;font-size:18px;font-weight:700;letter-spacing:.3px}.sc-email{color:hsla(0,0%,100%,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-date,.sc-email{font-size:11px;margin-top:2px}.sc-date{color:hsla(0,0%,100%,.35)}.sc-courses{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.sc-course{background:hsla(0,0%,100%,.14);border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:3px 10px}.sc-bottom{align-items:flex-end;display:flex;justify-content:space-between}.sc-promo{max-width:60%}.sc-promo-title{color:hsla(0,0%,100%,.85);font-size:11px;font-weight:700}.sc-promo-desc{color:hsla(0,0%,100%,.45);font-size:10px;line-height:1.4;margin-top:2px}.sc-brand{color:hsla(0,0%,100%,.25);font-size:10px;line-height:1.3;text-align:right}.grant-form-b{display:flex;flex-direction:column;gap:10px}.grant-email-row{margin-bottom:0}.grant-email-row .admin-form-field{width:100%}.grant-select-row{display:flex;gap:10px}.grant-select-row .admin-form-field{flex:1}.grant-btn-row{display:flex;gap:8px}.enroll-subjects-picker{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px}.enroll-subjects-list{display:flex;flex-wrap:wrap;gap:6px}.enroll-subj-chip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:4px;padding:5px 10px;transition:all .15s;user-select:none}.enroll-subj-chip:hover{border-color:var(--border-medium)}.enroll-subj-chip.selected{background:rgba(77,141,245,.1);border-color:var(--accent);color:var(--accent)}.enroll-subj-chip input{display:none}.subj-count-badge{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:3px;padding:2px 8px}.subj-count-full{background:rgba(110,231,183,.1);color:var(--accent-green);cursor:default}.subj-count-partial{background:rgba(77,141,245,.1);color:var(--accent)}.subj-count-partial:hover{background:rgba(77,141,245,.18)}.subj-list-popup{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(0,0,0,.3);left:50%;max-width:400px;min-width:280px;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10001}.subj-list-popup-overlay{background:rgba(0,0,0,.4);inset:0;position:fixed;z-index:10000}.subj-list-popup h4{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 12px}.subj-list-popup ul{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.subj-list-popup li{background:var(--bg-surface);border-radius:var(--radius-xs);color:var(--text-secondary);font-size:13px;padding:6px 10px}.subj-list-popup-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;position:absolute;right:12px;top:10px}body:not(.dark-mode) .subj-list-popup{background:#fff}body:not(.dark-mode) .enroll-subjects-picker{background:#f5f6f8}#giveAccessBtn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:600;padding:10px 0;text-align:center;transition:opacity .15s}#giveAccessBtn:hover{opacity:.85}#updateAccessBtn{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm);color:#f59e0b;cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:600;padding:10px 0;text-align:center;transition:background .15s}#updateAccessBtn:hover{background:rgba(245,158,11,.15)}.grant-popup-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:99999}.grant-popup{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:14px;max-width:calc(100% - 32px);padding:24px;text-align:center;width:400px}.grant-popup-icon{align-items:center;background:rgba(52,211,153,.1);border-radius:50%;display:flex;height:48px;justify-content:center;margin:0 auto 14px;width:48px}.grant-popup-title{color:var(--text-primary);font-size:16px;font-weight:700;margin-bottom:6px}.grant-popup-desc{color:var(--text-tertiary);font-size:13px;margin-bottom:16px}.grant-popup-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.grant-popup-copy{align-items:center;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:5px;padding:8px 14px;white-space:nowrap}.grant-popup-copy:hover{opacity:.85}.grant-popup-close-btn{background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:8px 14px;white-space:nowrap}.grant-popup-close-btn:hover{background:var(--bg-surface-hover)}.course-template-item{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:8px;padding:12px}.course-template-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.course-template-name{color:var(--text-primary);font-size:13px;font-weight:600}.course-template-body{margin-top:10px}.course-template-body textarea{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;min-height:60px;padding:8px 10px;resize:vertical;width:100%}.template-text-toggle{align-items:center;background:rgba(77,141,245,.08);border:none;border-radius:var(--radius-xs);color:var(--accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:11px;font-weight:500;gap:4px;padding:5px 12px}.template-text-toggle:hover{background:rgba(77,141,245,.14)}.sc-chip{background:linear-gradient(135deg,rgba(255,215,0,.35),rgba(255,215,0,.15));border:1px solid rgba(255,215,0,.15);border-radius:5px;display:flex;flex-direction:column;gap:2px;height:28px;justify-content:center;left:20px;padding:4px 5px;pointer-events:none;position:absolute;top:18px;width:36px}.sc-chip-line{background:rgba(255,215,0,.2);border-radius:1px;height:2px}.sc-card{box-shadow:0 2px 2px rgba(0,0,0,.4),0 7px 13px -3px rgba(0,0,0,.3),inset 0 -1px 0 rgba(0,0,0,.2)}.sc-dots .sc-dot:first-child{background:rgba(255,200,50,.35);border:none}.sc-dots .sc-dot:last-child{background:rgba(255,80,50,.3);border:none;margin-left:-12px}.sc-dot{height:28px;width:28px}.sc-logo-text{margin-left:50px}.sa-header{justify-content:space-between;margin-bottom:12px}.sa-header,.sa-header-title{align-items:center;display:flex}.sa-header-title{color:var(--text-primary);font-size:14px;font-weight:600;gap:6px}.sa-collapse-btn{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all var(--transition);width:28px}.sa-collapse-btn:hover{background:var(--bg-surface-hover)}.sa-collapse-btn svg{transition:transform .25s ease}.sa-collapse-btn.collapsed svg{transform:rotate(180deg)}body:not(.dark-mode) .sa-collapse-btn{background:rgba(0,0,0,.02)}.sa-collapsible{max-height:1000px;opacity:1;overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.sa-collapsible.collapsed{max-height:0;opacity:0;overflow:hidden}.sa-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:0;margin-bottom:14px;overflow-x:auto}.sa-tabs::-webkit-scrollbar{display:none}.sa-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-tertiary);cursor:pointer;flex:1;font-family:inherit;font-size:12px;font-weight:500;margin-bottom:-1px;padding:10px 0;text-align:center;transition:all var(--transition)}.sa-tab:hover{color:var(--text-secondary)}.sa-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.sa-tab-content{display:none}.sa-tab-content.active{display:block}.sa-tab-content label{color:var(--text-tertiary);display:block;font-size:12px;font-weight:500;margin:6px 0 3px}.sa-tab-content input,.sa-tab-content textarea{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px 12px;resize:vertical;width:100%}.sa-tab-content input:focus,.sa-tab-content textarea:focus{border-color:var(--accent);outline:none}.sa-add-row{display:flex;gap:8px;margin-top:10px}.sa-add-row input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);color:var(--text-primary);flex:1;font-family:inherit;font-size:13px;min-width:0;padding:8px 12px}.sa-add-row input:focus{border-color:var(--accent);outline:none}.sa-add-row button{background:var(--accent);border:none;border-radius:var(--radius-xs);color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:8px 16px;white-space:nowrap}.sa-add-row button:hover{opacity:.85}.sa-btn-row{display:flex;gap:8px;margin-top:10px}.sa-btn-row .admin-btn-primary{background:var(--accent);border:none;border-radius:var(--radius-xs);color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;margin:0;padding:8px 16px}.sa-btn-row .admin-btn-primary:hover{opacity:.85}.sa-btn-row .admin-btn-secondary{background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;margin:0;padding:8px 16px}.sa-btn-row .admin-btn-secondary:hover{background:var(--bg-surface-hover)}.sc-download-btn{align-items:center;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:6px;justify-content:center;margin:12px auto 0;padding:8px 18px;transition:background .2s}.sc-download-btn:hover{background:hsla(0,0%,100%,.18)}.sc-download-btn:disabled{cursor:wait;opacity:.6}.logo-wrap{align-items:center;display:flex;flex-shrink:0;gap:6px}.admin-header-tag{align-items:center;background:rgba(77,141,245,.1);border:1px solid rgba(77,141,245,.15);border-radius:4px;color:#4d8df5;display:inline-flex;font-size:9px;font-weight:700;letter-spacing:.05em;line-height:1;padding:2px 7px;vertical-align:middle}body:not(.dark-mode) .admin-header-tag{background:rgba(59,125,232,.06);border-color:rgba(59,125,232,.1);color:#2563eb}@media (max-width:480px){.admin-header-tag{font-size:8px;margin-left:4px;padding:2px 5px}}.course-card.card-enrolled{border-color:rgba(34,197,94,.3);box-shadow:0 0 0 1px rgba(34,197,94,.1)}.course-card.card-trial{border-color:rgba(245,158,11,.3);box-shadow:0 0 0 1px rgba(245,158,11,.1)}.course-cta-btn.cta-enrolled{background:rgba(34,197,94,.1);color:#22c55e}.course-cta-btn.cta-trial{background:rgba(245,158,11,.1);color:#f59e0b}body:not(.dark-mode) .course-card.card-enrolled{border-color:rgba(22,163,74,.25);box-shadow:0 0 0 1px rgba(22,163,74,.08)}body:not(.dark-mode) .course-card.card-trial{border-color:rgba(217,119,6,.25);box-shadow:0 0 0 1px rgba(217,119,6,.08)}body:not(.dark-mode) .course-cta-btn.cta-enrolled{background:rgba(22,163,74,.06);color:#16a34a}body:not(.dark-mode) .course-cta-btn.cta-trial{background:rgba(217,119,6,.06);color:#d97706}.ctv-panel{margin:0;max-width:100%;padding:0}.ctv-hdr{flex-wrap:wrap;justify-content:space-between;margin-bottom:16px}.ctv-hdr,.ctv-hdr-left{align-items:center;display:flex;gap:8px}.ctv-hdr-icon{align-items:center;background:rgba(139,92,246,.08);border-radius:8px;display:flex;height:32px;justify-content:center;width:32px}.ctv-hdr-icon svg{stroke:#a78bfa}.ctv-hdr-title{color:var(--text-primary);font-size:18px;font-weight:700}.ctv-hdr-email{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-tertiary);font-size:11px;padding:3px 10px}.ctv-stats{display:flex;gap:8px;margin-bottom:14px}.ctv-stat{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex:1;padding:12px;text-align:center}.ctv-stat-num{color:var(--text-primary);display:block;font-size:22px;font-weight:700}.ctv-stat-label{color:var(--text-tertiary);display:block;font-size:11px;margin-top:2px}.ctv-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:12px;padding:16px}.ctv-card-title{color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:12px}.ctv-form-full{margin-bottom:8px}.ctv-form-field label,.ctv-form-full label{color:var(--text-secondary);display:block;font-size:12px;margin-bottom:3px}.ctv-form-field input,.ctv-form-field select,.ctv-form-full input,.ctv-form-full select{background:var(--bg-page);border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;padding:9px 12px;width:100%}.ctv-form-field input:focus,.ctv-form-field select:focus,.ctv-form-full input:focus,.ctv-form-full select:focus{border-color:var(--accent);outline:none}.ctv-form-row{display:flex;gap:8px;margin-bottom:8px}.ctv-form-field{flex:1;min-width:0}.ctv-form-sm{max-width:130px}.ctv-price-display{background:rgba(24,95,165,.1);border:none;border-radius:var(--radius-sm);color:#85b7eb;font-size:13px;font-weight:600;padding:8px 10px;text-align:center}body:not(.dark-mode) .ctv-price-display{background:rgba(24,95,165,.08);color:#185fa5}.ctv-form-btns{display:flex;gap:6px;margin-top:10px}.ctv-btn-official{background:#0f6e56;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:600;padding:9px 14px;transition:opacity .2s}.ctv-btn-official:hover{opacity:.85}.ctv-btn-official:disabled{cursor:wait;opacity:.5}.ctv-btn-trial{background:rgba(186,117,23,.15);border:none;border-radius:var(--radius-sm);color:#ef9f27;cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:600;padding:9px 14px;transition:background .2s}.ctv-btn-trial:hover{opacity:.85}.ctv-btn-trial:disabled{cursor:wait;opacity:.5}.ctv-result{font-size:12px}.ctv-hint,.ctv-result{color:var(--text-tertiary);margin-top:6px}.ctv-hint{font-size:11px}.ctv-table-wrap{overflow-x:auto}.ctv-table{border-collapse:collapse;font-size:13px;width:100%}.ctv-table th{color:var(--text-tertiary);font-size:11px;font-weight:500;text-align:left}.ctv-table td,.ctv-table th{border-bottom:1px solid var(--border-subtle);padding:8px}.ctv-table td{color:var(--text-primary)}.ctv-badge{border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px}.ctv-badge-official{background:rgba(110,231,183,.1);color:var(--accent-green)}.ctv-badge-trial{background:rgba(252,211,77,.1);color:var(--accent-amber)}.trial-status{border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.trial-active{background:rgba(186,117,23,.12);color:#ef9f27}.trial-expired{background:hsla(0,96%,69%,.12);color:var(--accent-red)}body:not(.dark-mode) .trial-active{background:rgba(186,117,23,.08);color:#854f0b}body:not(.dark-mode) .trial-expired{background:rgba(220,38,38,.08);color:#dc2626}.ctv-add-card{max-width:100%}.ctv-add-form{display:flex;gap:8px}.ctv-add-form input{flex:1;min-width:0}.ctv-add-form button{font-size:12px;padding:7px 14px;white-space:nowrap}.ctv-list{display:flex;flex-direction:column;gap:0}.ctv-list-item{align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;gap:10px;padding:10px 0;transition:background .12s}.ctv-list-item:last-child{border-bottom:none}.ctv-list-item:hover{background:var(--bg-surface-hover);border-radius:var(--radius-sm);margin:0 -12px;padding:10px 12px}.ctv-list-avatar{align-items:center;background:rgba(139,92,246,.1);border-radius:50%;color:#a78bfa;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;width:32px}.ctv-list-info{flex:1;min-width:0}.ctv-list-email{color:var(--text-primary);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctv-list-name{color:var(--text-tertiary);font-size:11px}.ctv-list-actions{display:flex;flex-shrink:0;gap:4px}.ctv-list-btn{background:transparent;border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;font-family:inherit;font-size:11px;font-weight:500;padding:4px 10px;white-space:nowrap}.ctv-list-btn-view{color:var(--accent)}.ctv-list-btn-view:hover{background:rgba(77,141,245,.06)}.ctv-list-btn-revoke{border-color:hsla(0,96%,69%,.2);color:var(--accent-red)}.ctv-list-btn-revoke:hover{background:hsla(0,96%,69%,.06)}.ctv-detail-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.ctv-detail-header h3{font-size:14px;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctv-detail-del{background:transparent;border:1px solid hsla(0,96%,69%,.2);border-radius:4px;color:var(--accent-red);cursor:pointer;font-family:inherit;font-size:11px;padding:3px 8px}.ctv-detail-del:hover{background:hsla(0,96%,69%,.06)}.ctv-price-section{border-top:1px solid var(--border-subtle);margin-top:14px;padding-top:14px}.ctv-price-section h4{color:var(--text-primary);font-size:13px;font-weight:600;margin:0 0 6px}.ctv-price-grid{gap:10px}.ctv-price-grid,.ctv-price-row{display:flex;flex-direction:column}.ctv-price-row{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);gap:4px;padding:8px 10px}.ctv-price-course-name{color:var(--text-primary);font-size:12px;font-weight:600}.ctv-price-inputs{display:flex;flex-wrap:wrap;gap:8px}.ctv-price-field{display:flex;flex:1;flex-direction:column;gap:2px;min-width:80px}.ctv-price-field label{color:var(--text-tertiary);font-size:10px;letter-spacing:.03em;text-transform:uppercase}.ctv-price-field input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-xs);box-sizing:border-box;color:var(--text-primary);font-size:12px;padding:6px 10px;width:100%}.ctv-price-field input:focus{border-color:var(--accent);outline:none}body:not(.dark-mode) .ctv-price-row{background:#f5f6f8}@media (max-width:480px){.ctv-add-form,.ctv-price-inputs{flex-direction:column}.ctv-list-item:hover{margin:0;padding:10px 0}.ctv-detail-header{flex-wrap:wrap}.ctv-stats{gap:4px}.ctv-stat{padding:8px 6px}.ctv-stat-num{font-size:18px}.ctv-form-row{flex-direction:column}.ctv-form-sm{max-width:100%}.ctv-form-btns{flex-direction:column}}.ctv-header-tag{background:rgba(139,92,246,.1)!important;border-color:rgba(139,92,246,.15)!important;color:#a78bfa!important}body:not(.dark-mode) .ctv-header-tag{background:rgba(124,58,237,.06)!important;border-color:rgba(124,58,237,.1)!important;color:#7c3aed!important}.manager-header-tag{background:rgba(239,68,68,.1)!important;border-color:rgba(239,68,68,.15)!important;color:#f87171!important}body:not(.dark-mode) .manager-header-tag{background:rgba(220,38,38,.06)!important;border-color:rgba(220,38,38,.1)!important;color:#dc2626!important}.editor-header-tag{background:rgba(59,130,246,.1)!important;border-color:rgba(59,130,246,.15)!important;color:#60a5fa!important}body:not(.dark-mode) .editor-header-tag{background:rgba(37,99,235,.06)!important;border-color:rgba(37,99,235,.1)!important;color:#2563eb!important}.subjects-layout{align-items:start;display:grid;gap:16px;grid-template-columns:1fr 320px}.subjects-main-col{min-width:0}.toolbar-btn-zalo{background:rgba(0,104,255,.1)!important;border-color:rgba(0,104,255,.35)!important;color:#5ca3ff!important;font-weight:500;text-decoration:none}.toolbar-btn-zalo:hover{background:rgba(0,104,255,.18)!important}.community-chat{border-radius:var(--radius-lg);display:flex;flex-direction:column;height:560px;position:sticky;top:16px}.chat-header{flex-shrink:0;gap:8px;padding:12px 14px}.chat-header svg{color:var(--accent);flex-shrink:0}.chat-title{font-size:13px}.chat-close-mobile{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:none;margin-left:6px;padding:4px}.chat-messages{display:flex;flex:1;flex-direction:column;gap:12px;overflow-y:auto;padding:12px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.chat-msg{display:flex;gap:8px;position:relative}.chat-msg.optimistic-pending{opacity:.6}.chat-msg-avatar{background:var(--bg-surface-hover);border-radius:50%;flex-shrink:0;height:28px;object-fit:cover;width:28px}.chat-msg-body{flex:1;min-width:0;position:relative}.chat-msg-head{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px;padding-right:2px}.chat-msg-name{color:var(--text-primary);font-size:12.5px}.chat-msg-badges{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:2px}.chat-msg-badge{border-radius:4px;font-size:10px;font-weight:600;padding:1px 6px;white-space:nowrap}.chat-msg-badge.admin{background:rgba(226,75,74,.15);color:#ff6b6b}.chat-msg-badge.official{background:rgba(77,141,245,.15);color:#5ca3ff}.chat-msg-time{color:var(--text-tertiary);font-size:11px;margin-left:6px}.chat-msg-content{font-size:13.5px;white-space:pre-wrap;word-wrap:break-word;background:var(--bg-surface-hover);border-radius:16px;display:inline-block;margin-top:4px;max-width:90%;padding:8px 14px}.chat-msg-more{position:absolute;right:0;top:-2px;z-index:10}.chat-more-btn{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;opacity:0;padding:4px;transition:color var(--transition),opacity var(--transition)}@media (max-width:768px){.chat-more-btn{opacity:1}}.chat-msg:hover .chat-more-btn{opacity:1}.chat-more-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.chat-more-dropdown{background:#1e1e24;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.5);display:none;min-width:80px;padding:4px;position:absolute;right:0;top:24px;z-index:9999}.chat-more-dropdown.show{display:block}.chat-dropdown-del{background:transparent!important;border:none!important;border-radius:6px;color:#ff6b6b!important;cursor:pointer;display:block;font-size:13px!important;font-weight:600!important;padding:7px 12px;text-align:center;transition:background .2s;white-space:nowrap;width:100%}.chat-dropdown-del:hover{background:hsla(0,100%,71%,.1)!important}.chat-input-wrap{align-items:flex-end;display:flex;flex-shrink:0;gap:8px;padding:10px}.chat-input{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:12px;line-height:1.4;max-height:100px;outline:none;padding:8px 10px;resize:none}.chat-input:disabled{cursor:not-allowed;opacity:.5}.chat-send-btn{align-items:center;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:background var(--transition);width:34px}.chat-send-btn:hover{background:#3a7ae0}.chat-send-btn:disabled{cursor:not-allowed;opacity:.4}.chat-lock-msg{color:var(--text-tertiary);font-size:11px;margin:0;padding:8px 14px 12px}.chat-float-btn{align-items:center;background:var(--accent);border:none;border-radius:50%;bottom:18px;box-shadow:0 4px 16px rgba(77,141,245,.4);color:#fff;cursor:pointer;display:none;height:54px;justify-content:center;position:fixed;right:18px;width:54px;z-index:900}.chat-float-badge{background:#e24b4a;border-radius:10px;color:#fff;font-size:10px;font-weight:700;min-width:18px;padding:2px 6px;position:absolute;right:-4px;text-align:center;top:-4px}body:not(.dark-mode) .community-chat{background:#fff}body:not(.dark-mode) .chat-msg-badge.admin{background:rgba(226,75,74,.1);color:#c23030}body:not(.dark-mode) .chat-msg-badge.official{background:rgba(77,141,245,.1);color:#1c5fc5}@media (max-width:900px){.subjects-layout{grid-template-columns:1fr}.community-chat{border-radius:0;bottom:0;display:none;height:100dvh;left:0;position:fixed;right:0;top:0;z-index:99990}.community-chat.mobile-open{display:flex}body:has(.community-chat.mobile-open) .streak-float{display:none!important}.chat-close-mobile{align-items:center;display:flex;justify-content:center}.chat-float-btn{display:flex}}.community-chat{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08);height:600px}.chat-header{align-items:center;background:linear-gradient(135deg,rgba(77,141,245,.12),rgba(77,141,245,.04));border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;padding:16px 18px}.chat-header>svg{background:var(--accent);border-radius:10px;color:#fff!important;height:18px;padding:7px;width:18px}.chat-title{color:var(--text-primary);font-size:14px;font-weight:600}.chat-subtitle{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-tertiary);font-size:10px;margin-left:auto;padding:3px 8px}.chat-messages{gap:14px;padding:16px}.chat-msg{gap:10px}.chat-msg-avatar{border:2px solid var(--bg-elevated);box-shadow:0 2px 6px rgba(0,0,0,.15);height:34px;width:34px}.chat-msg-body{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:4px 14px 14px 14px;max-width:calc(100% - 44px);padding:9px 13px}.chat-msg-head{gap:7px;margin-bottom:4px}.chat-msg-name{font-size:12px;font-weight:600}.chat-msg-badge{border-radius:10px;font-size:9px;letter-spacing:.02em;padding:2px 7px;text-transform:uppercase}.chat-msg-badge.admin{background:linear-gradient(135deg,#ff6b6b,#e24b4a);color:#fff}.chat-msg-badge.official{background:linear-gradient(135deg,#5ca3ff,#4d8df5);color:#fff}.chat-msg-time{font-size:10px}.chat-msg-content{color:var(--text-primary);font-size:13px;line-height:1.5}.chat-msg-delete{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.15);height:24px;right:-6px;top:-6px;width:24px}.chat-input-wrap{background:var(--bg-page);border-top:1px solid var(--border-subtle);gap:10px;padding:12px 14px 14px}.chat-input{background:var(--bg-elevated);border:1.5px solid var(--border-subtle);border-radius:22px;font-size:13px;padding:10px 16px;transition:border-color .2s,box-shadow .2s}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,141,245,.12)}.chat-send-btn{background:linear-gradient(135deg,#5ca3ff,#4d8df5);border-radius:50%;box-shadow:0 2px 8px rgba(77,141,245,.35);height:40px;transition:transform .15s,box-shadow .15s;width:40px}.chat-send-btn:hover{box-shadow:0 4px 12px rgba(77,141,245,.5);transform:scale(1.06)}.chat-send-btn:active{transform:scale(.95)}.chat-messages:empty:before{color:var(--text-tertiary);content:"Chưa có tin nhắn. Hãy là người đầu tiên!";display:block;font-size:12px;font-style:italic;padding:40px 20px;text-align:center}body:not(.dark-mode) .community-chat{box-shadow:0 4px 20px rgba(0,0,0,.06)}body:not(.dark-mode) .chat-header{background:linear-gradient(135deg,rgba(77,141,245,.08),rgba(77,141,245,.02))}body:not(.dark-mode) .chat-msg-body{background:#f7f8fa}@media (max-width:900px){.community-chat{border-radius:0;box-shadow:none;height:100dvh}.chat-header{padding:max(18px,env(safe-area-inset-top)) 20px 18px}.chat-input-wrap{padding-bottom:max(14px,env(safe-area-inset-bottom))}.subject-card-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))!important}}.subjects-page,.subjects-page.no-admin{max-width:1600px!important}.subjects-page.no-admin .subjects-main{max-width:100%!important}.subjects-layout{gap:22px!important;grid-template-columns:1fr 360px!important}.community-chat{background:#2b2d31!important;border:1px solid #1e1f22!important;box-shadow:0 8px 32px rgba(0,0,0,.3)!important;height:640px!important;overflow:hidden}.chat-header{background:#2b2d31!important;border-bottom:1px solid #1e1f22!important;box-shadow:0 1px 0 rgba(0,0,0,.2);padding:14px 18px!important}.chat-header>svg{box-sizing:content-box;color:#949ba4!important}.chat-title{color:#f2f3f5!important;font-size:15px!important;font-weight:600!important}.chat-subtitle{background:#1e1f22!important;border-radius:10px!important;color:#949ba4!important;font-size:10px!important;font-weight:500;padding:3px 9px!important}.chat-messages{background:#313338;gap:0!important;padding:16px 12px!important}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-thumb{background:#1e1f22;border-radius:4px}.chat-messages::-webkit-scrollbar-track{background:#2b2d31}.chat-msg{border-radius:4px;gap:12px!important;margin:0 -10px!important;padding:4px 10px!important;transition:background .05s}.chat-msg:hover{background:rgba(4,4,5,.07)}.chat-msg+.chat-msg{margin-top:2px!important}.chat-msg-avatar{height:38px!important;margin-top:2px;width:38px!important}.chat-msg-body{border-radius:0!important;max-width:calc(100% - 50px)!important}.chat-msg-head{align-items:baseline;gap:8px!important;margin-bottom:2px!important}.chat-msg-name{color:#f2f3f5!important;font-size:15px!important;font-weight:500!important}.chat-msg-badge{align-items:center;border-radius:4px!important;display:inline-flex;font-size:10px!important;font-weight:500!important;height:16px;letter-spacing:0!important;line-height:1;padding:0 6px!important;text-transform:none!important}.chat-msg-badge.admin{background:#5865f2!important;color:#fff!important}.chat-msg-badge.official{background:#248046!important;color:#fff!important}.chat-msg-time{color:#949ba4!important;font-size:12px!important}.chat-msg-content{color:#dbdee1!important;font-size:14px!important;line-height:1.4!important}.chat-msg-delete{background:#2b2d31!important;border:1px solid #1e1f22!important;box-shadow:0 2px 10px rgba(0,0,0,.3)!important;color:#b5bac1!important;height:28px!important;right:10px!important;top:-12px!important;width:28px!important}.chat-msg-delete:hover{background:#2b2d31!important;color:#f23f42!important}.chat-input-wrap{background:#313338!important;border-top:none!important;gap:0!important;padding:0 16px 16px!important;position:relative}.chat-input{background:#383a40!important;border:none!important;color:#dbdee1!important;flex:1;font-size:14px!important;padding:11px 50px 11px 16px!important}.chat-input::placeholder{color:#949ba4}.chat-input:focus{background:#383a40!important;border:none!important}.chat-send-btn{background:#5865f2!important;border-radius:6px!important;height:32px!important;position:absolute;right:24px;top:50%;transform:translateY(-50%);width:32px!important}.chat-send-btn:hover{background:#4752c4!important;transform:translateY(-50%)!important}.chat-send-btn:active{transform:translateY(-50%) scale(.94)!important}.chat-messages:empty:before{color:#949ba4!important;font-style:normal!important}.chat-lock-msg{font-size:12px!important;margin:0!important;padding:14px!important;text-align:center}body.dark-mode .chat-lock-msg{background:#313338!important;border-top-color:#1e1f22!important}body:not(.dark-mode) .community-chat{border-color:#e3e5e8!important;box-shadow:0 4px 20px rgba(0,0,0,.08)!important}body:not(.dark-mode) .chat-header{border-bottom-color:#e3e5e8!important}body:not(.dark-mode) .chat-title{color:#060607!important}body:not(.dark-mode) .chat-subtitle{background:#f2f3f5!important;color:#4e5058!important}body:not(.dark-mode) .chat-messages{background:#fff!important}body:not(.dark-mode) .chat-msg:hover{background:#f2f3f5!important}body:not(.dark-mode) .chat-msg-name{color:#060607!important}body:not(.dark-mode) .chat-msg-content{color:#2e3338!important}body:not(.dark-mode) .chat-msg-time{color:#5c5e66!important}body:not(.dark-mode) .chat-input{background:#ebedef!important;color:#060607!important}body:not(.dark-mode) .chat-input:focus{background:#ebedef!important}body:not(.dark-mode) .chat-msg-delete{border-color:#e3e5e8!important;color:#4e5058!important}@media (max-width:1100px){.subjects-layout{grid-template-columns:1fr 320px!important}}@media (max-width:900px){.subjects-layout{grid-template-columns:1fr!important}.community-chat{border-radius:0!important;height:100dvh!important}}.subjects-page,.subjects-page.no-admin{max-width:1320px!important}.subjects-layout{gap:20px!important;grid-template-columns:1fr 340px!important}.subject-card{justify-content:space-between!important;min-height:170px!important}.subject-card .subject-card-name{margin-top:4px}.community-chat{height:580px!important}@media (max-width:1100px){.subjects-layout{grid-template-columns:1fr 310px!important}}.subjects-page,.subjects-page.no-admin{max-width:1180px!important}.subjects-layout{gap:18px!important;grid-template-columns:1fr 320px!important}.community-chat{background:#1f1f24!important;border:1px solid hsla(0,0%,100%,.08)!important;border-radius:12px!important;box-shadow:none!important;height:560px!important}.chat-header{background:#1f1f24!important;border-bottom:1px solid hsla(0,0%,100%,.08)!important;box-shadow:none;padding:12px 16px!important}.chat-header>svg{background:transparent!important;border-radius:0!important;color:var(--accent)!important;height:16px!important;padding:0!important;width:16px!important}.chat-title{color:var(--text-primary)!important;font-size:13px!important;font-weight:500!important}.chat-subtitle{background:transparent!important;border:none!important;color:var(--text-tertiary)!important;font-size:9px!important;padding:0!important}.chat-messages{background:#1a1a1f!important;gap:10px!important;padding:12px!important}.chat-messages::-webkit-scrollbar-track{background:#1a1a1f}.chat-msg{border-radius:6px!important;gap:10px!important;margin:0!important;padding:6px 8px!important}.chat-msg:hover{background:hsla(0,0%,100%,.02)}.chat-msg+.chat-msg{margin-top:0!important}.chat-msg-avatar{border:none!important;box-shadow:none!important;height:32px!important;margin-top:0;width:32px!important}.chat-msg-body{background:transparent!important;border:none!important;max-width:calc(100% - 42px)!important;padding:0!important}.chat-msg-head{align-items:center;margin-bottom:3px!important}.chat-msg-name{color:var(--text-primary)!important;font-size:12px!important;font-weight:600!important}.chat-msg-badge{border-radius:3px!important;font-size:9px!important;font-weight:600!important;height:auto;letter-spacing:.02em!important;padding:1px 6px!important;text-transform:uppercase!important}.chat-msg-badge.admin{background:rgba(226,75,74,.18)!important;border:1px solid rgba(226,75,74,.3)!important;color:#ff6b6b!important}.chat-msg-badge.official{background:rgba(77,141,245,.18)!important;border:1px solid rgba(77,141,245,.3)!important;color:#5ca3ff!important}.chat-msg-time{font-size:9px!important;font-weight:400;margin-left:auto!important}.chat-msg-content{color:var(--text-secondary)!important;font-size:12px!important;line-height:1.45!important}.chat-msg-delete{background:#232328!important;border:1px solid hsla(0,0%,100%,.1)!important;border-radius:4px!important;box-shadow:none!important;color:var(--text-tertiary)!important;height:22px!important;right:-4px!important;top:-4px!important;width:22px!important}.chat-msg-delete:hover{background:rgba(226,75,74,.1)!important;color:#ff6b6b!important}.chat-input-wrap{background:#1f1f24!important;border-top:1px solid hsla(0,0%,100%,.08)!important;gap:8px!important;padding:10px 12px!important;position:static}.chat-input{background:#232328!important;border:1px solid hsla(0,0%,100%,.08)!important;border-radius:8px!important;color:var(--text-primary)!important;font-size:12px!important;padding:8px 12px!important}.chat-input:focus{background:#232328!important;border-color:var(--accent)!important;box-shadow:none!important}.chat-send-btn{background:var(--accent)!important;border-radius:8px!important;color:#fff!important;height:34px!important;position:static!important;width:34px!important}.chat-send-btn,.chat-send-btn:hover{box-shadow:none!important;transform:none!important}.chat-send-btn:hover{background:#3a7ae0!important}.chat-send-btn:active{transform:scale(.95)!important}.chat-messages:empty:before{color:var(--text-tertiary)!important;font-size:11px!important;font-style:italic!important}.chat-lock-msg{background:var(--bg-elevated)!important;border-top:1px solid var(--border-subtle)!important;color:var(--text-tertiary)!important}body.dark-mode .chat-lock-msg{background:#1f1f24!important}body:not(.dark-mode) .community-chat{background:#fff!important;border-color:var(--border-subtle)!important}body:not(.dark-mode) .chat-header{background:#fff!important;border-bottom-color:var(--border-subtle)!important}body:not(.dark-mode) .chat-messages{background:#fafbfc!important}body:not(.dark-mode) .chat-msg:hover{background:rgba(0,0,0,.03)!important}body:not(.dark-mode) .chat-input-wrap{background:#fff!important;border-top-color:var(--border-subtle)!important}body:not(.dark-mode) .chat-input{background:#f5f6f8!important;border-color:var(--border-subtle)!important;color:var(--text-primary)!important}body:not(.dark-mode) .chat-msg-delete{background:#fff!important}.subject-card{min-height:160px!important;padding:20px 20px 18px!important}@media (max-width:1050px){.subjects-layout{gap:14px!important;grid-template-columns:1fr 290px!important}}@media (max-width:900px){.subjects-layout{gap:0!important;grid-template-columns:1fr!important}.subject-card-grid,.subjects-main-col{width:100%!important}.subject-card-grid{gap:12px!important;grid-template-columns:1fr!important;max-width:100%!important}.subject-card{box-sizing:border-box;min-width:0!important;width:100%!important}}@media (max-width:540px){.subject-card-grid{grid-template-columns:1fr!important}}@media (max-width:900px){.community-chat{border:1px solid hsla(0,0%,100%,.1)!important;border-radius:14px!important;bottom:90px!important;box-shadow:0 12px 40px rgba(0,0,0,.5)!important;display:none!important;flex-direction:column!important;height:520px!important;left:auto!important;max-height:calc(100vh - 120px)!important;max-width:380px!important;position:fixed!important;right:16px!important;top:auto!important;width:calc(100vw - 32px)!important;z-index:950!important}.chat-header,.community-chat.mobile-open{display:flex!important}.chat-header{align-items:center!important;gap:8px!important;padding:12px 14px!important}.chat-subtitle{display:none!important}.chat-close-mobile{align-items:center!important;background:transparent!important;border:none!important;border-radius:6px!important;color:var(--text-secondary)!important;cursor:pointer!important;display:flex!important;height:28px!important;justify-content:center!important;margin-left:auto!important;padding:0!important;width:28px!important}.chat-close-mobile:hover{background:hsla(0,0%,100%,.08)!important;color:var(--text-primary)!important}.chat-input-wrap{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}.chat-float-btn{z-index:940!important}@media (max-width:900px){.chat-float-btn{bottom:18px!important;right:18px!important}body:not(.dark-mode) .community-chat{border-color:rgba(0,0,0,.1)!important;box-shadow:0 12px 40px rgba(0,0,0,.2)!important}body:not(.dark-mode) .chat-close-mobile:hover{background:rgba(0,0,0,.06)!important}}.chat-msg-delete{align-items:center!important;background:rgba(226,75,74,.12)!important;border:1px solid rgba(226,75,74,.25)!important;border-radius:6px!important;box-shadow:0 2px 8px rgba(0,0,0,.25)!important;color:#ff6b6b!important;cursor:pointer!important;display:none!important;height:26px!important;justify-content:center!important;opacity:0!important;padding:0!important;position:absolute!important;right:4px!important;top:50%!important;transform:translateY(-50%) scale(.85)!important;transition:opacity .15s ease,transform .15s ease,background .15s ease,border-color .15s ease!important;width:26px!important}.chat-msg{position:relative!important}.chat-msg:hover .chat-msg-delete{display:flex!important;opacity:1!important;transform:translateY(-50%) scale(1)!important}.chat-msg-delete:hover{background:rgba(226,75,74,.22)!important;border-color:rgba(226,75,74,.5)!important;box-shadow:0 4px 14px rgba(226,75,74,.35)!important;color:#ff5252!important;transform:translateY(-50%) scale(1.08)!important}.chat-msg-delete:active{transform:translateY(-50%) scale(.92)!important}.chat-msg-delete svg{height:13px!important;stroke-width:2.2!important;width:13px!important}@media (max-width:900px){.chat-msg-delete{display:flex!important;opacity:.75!important;transform:translateY(-50%) scale(.9)!important}.chat-msg-delete:active,.chat-msg-delete:hover{opacity:1!important;transform:translateY(-50%) scale(1)!important}}body:not(.dark-mode) .chat-msg-delete{background:rgba(226,75,74,.08)!important;border-color:rgba(226,75,74,.25)!important;box-shadow:0 2px 8px rgba(0,0,0,.08)!important;color:#d63030!important}body:not(.dark-mode) .chat-msg-delete:hover{background:rgba(226,75,74,.16)!important;border-color:rgba(226,75,74,.5)!important;box-shadow:0 4px 14px rgba(226,75,74,.2)!important;color:#c21d1d!important}.chat-msg-time{color:var(--text-tertiary)!important;font-size:11px!important;font-weight:400!important;margin-left:4px!important}.chat-msg-head{flex-wrap:wrap!important}.chat-msg-badge{display:none!important}.chat-msg.is-official .chat-msg-name{color:#5ca3ff!important}.chat-msg.is-admin{background:linear-gradient(90deg,rgba(77,141,245,.14),rgba(77,141,245,.06))!important;border:1px solid rgba(77,141,245,.35)!important;border-left:3px solid #4d8df5!important;border-radius:8px!important;box-shadow:0 2px 12px rgba(77,141,245,.15)!important;margin:4px 0!important;padding:10px!important}.chat-msg.is-admin:hover{background:linear-gradient(90deg,rgba(77,141,245,.18),rgba(77,141,245,.08))!important}.chat-msg.is-admin .chat-msg-content{color:#e4e4e8!important}body:not(.dark-mode) .chat-msg.is-official .chat-msg-name{color:#1c5fc5!important}body:not(.dark-mode) .chat-msg.is-admin{background:linear-gradient(90deg,rgba(77,141,245,.1),rgba(77,141,245,.03))!important;border-color:rgba(77,141,245,.3)!important;box-shadow:0 2px 10px rgba(77,141,245,.1)!important}.chat-subtitle{display:none!important}.chat-msg.is-admin{background:transparent!important;border:none!important;border-left:3px solid #ff6b6b!important;border-radius:0!important;box-shadow:none!important;margin:2px 0!important;padding:6px 10px 6px 12px!important}.chat-msg.is-admin:hover{background:hsla(0,100%,71%,.05)!important}.chat-msg.is-admin .chat-msg-avatar{border:1px solid #1a1a1f!important;box-shadow:0 0 0 2px hsla(0,100%,71%,.4)!important}.chat-msg.is-admin .chat-msg-name{color:#ff6b6b!important;font-weight:700!important;padding-left:18px;position:relative}.chat-msg.is-admin .chat-msg-name:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff6b6b' stroke='none'><path d='M12 2 L14.5 8.5 L21 9 L16 13.5 L17.5 20 L12 16.5 L6.5 20 L8 13.5 L3 9 L9.5 8.5 Z'/></svg>");background-repeat:no-repeat;background-size:contain;content:"";height:13px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:13px}.chat-msg.is-admin .chat-msg-content{color:#f0f0f2!important;font-weight:450}body:not(.dark-mode) .chat-msg.is-admin{background:transparent!important;border-left-color:#d63030!important}body:not(.dark-mode) .chat-msg.is-admin:hover{background:rgba(214,48,48,.05)!important}body:not(.dark-mode) .chat-msg.is-admin .chat-msg-name{color:#d63030!important}body:not(.dark-mode) .chat-msg.is-admin .chat-msg-name:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d63030' stroke='none'><path d='M12 2 L14.5 8.5 L21 9 L16 13.5 L17.5 20 L12 16.5 L6.5 20 L8 13.5 L3 9 L9.5 8.5 Z'/></svg>")}body:not(.dark-mode) .chat-msg.is-admin .chat-msg-content{color:#1a1a1f!important}body:not(.dark-mode) .chat-msg.is-admin .chat-msg-avatar{border-color:#fff!important;box-shadow:0 0 0 2px rgba(214,48,48,.4)!important}.chat-msg-badge{display:inline-flex!important}.chat-msg.is-admin,.chat-msg.is-admin:hover{background:transparent!important;border:none!important;border-radius:6px!important;box-shadow:none!important;margin:0!important;padding:6px 8px!important}.chat-msg.is-admin .chat-msg-avatar{border:none!important;box-shadow:none!important}.chat-msg.is-admin .chat-msg-name{color:var(--text-primary)!important;font-weight:600!important;padding-left:0!important}.chat-msg.is-admin .chat-msg-name:before{content:none!important;display:none!important}.chat-msg.is-admin .chat-msg-content{color:var(--text-secondary)!important;font-weight:400!important}.chat-msg.is-official .chat-msg-name{color:var(--text-primary)!important;font-weight:600!important}body:not(.dark-mode) .chat-msg.is-admin .chat-msg-name,body:not(.dark-mode) .chat-msg.is-official .chat-msg-name{color:var(--text-primary)!important}.chat-msg-head{align-items:center!important;flex-wrap:nowrap!important;gap:6px!important;min-width:0;overflow:hidden;padding-right:2px!important}.chat-msg-name{flex-shrink:1!important;max-width:140px;min-width:0;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.chat-msg-badge,.chat-msg-time{flex-shrink:0!important;white-space:nowrap!important}.chat-msg-time{font-size:10px!important;margin-left:2px!important}@media (max-width:900px){#zaloCommunityBtn span{display:none!important}#zaloCommunityBtn{aspect-ratio:1;justify-content:center;min-width:36px;padding:8px 10px!important}#zaloCommunityBtn span{display:inline!important}#zaloCommunityBtn{aspect-ratio:auto!important;min-width:0!important;padding:8px 12px!important}}.zalo-btn-short{display:none}.zalo-btn-full{display:inline}@media (max-width:900px){.zalo-btn-full{display:none!important}.zalo-btn-short{display:inline!important}}#zaloCommunityBtn .zalo-btn-full{display:inline!important}#zaloCommunityBtn .zalo-btn-short{display:none!important}@media (max-width:900px){#zaloCommunityBtn .zalo-btn-full{display:none!important}#zaloCommunityBtn .zalo-btn-short{display:inline!important}}.chat-link{color:var(--accent)!important;text-decoration:underline!important;text-underline-offset:2px!important;transition:color .15s!important;word-break:break-all!important}.chat-link:hover{color:#3a7ae0!important}.chat-msg-reply-preview{align-items:center!important;background:var(--bg-surface-hover)!important;border-radius:6px!important;color:var(--text-tertiary)!important;cursor:pointer!important;display:flex!important;font-size:11px!important;gap:6px!important;margin-bottom:6px!important;max-width:90%!important;padding:4px 8px!important;transition:background .15s!important;width:fit-content!important}body:not(.dark-mode) .chat-msg-reply-preview{background:rgba(0,0,0,.03)!important}.chat-msg-reply-preview:hover{background:var(--border-subtle)!important;color:var(--text-secondary)!important}.reply-curve-icon{color:var(--text-tertiary)!important;flex-shrink:0!important;opacity:.6!important;transform:scaleX(-1)!important}.reply-user{color:var(--text-secondary)!important;font-weight:600!important}.reply-text{max-width:180px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.chat-reply-indicator{align-items:center!important;animation:chatSlideUp .2s ease-out!important;background:#1f1f24!important;border-top:1px solid hsla(0,0%,100%,.08)!important;color:var(--text-secondary)!important;display:none!important;font-size:12px!important;justify-content:space-between!important;padding:8px 14px!important;position:relative!important;z-index:50!important}.chat-reply-indicator.show{display:flex!important}body:not(.dark-mode) .chat-reply-indicator{background:#fff!important;border-top-color:var(--border-subtle)!important}@keyframes chatSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.chat-reply-indicator-content{align-items:center!important;display:flex!important;gap:6px!important;min-width:0!important}.chat-reply-indicator-content svg{color:var(--accent)!important;flex-shrink:0!important}.chat-reply-indicator-text{font-style:italic!important;margin-left:4px!important;max-width:150px!important;opacity:.8!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.chat-cancel-reply-btn{align-items:center!important;background:transparent!important;border:none!important;border-radius:4px!important;color:var(--text-tertiary)!important;cursor:pointer!important;display:flex!important;font-size:14px!important;justify-content:center!important;padding:6px 10px!important;transition:color .15s!important}.chat-cancel-reply-btn:hover{background:rgba(226,75,74,.08)!important;color:#ff6b6b!important}.chat-msg-actions{border:none!important;border-radius:0!important;display:inline-flex!important;flex-shrink:0!important;gap:2px!important;margin-left:auto!important;opacity:0!important;padding:0!important;pointer-events:none!important;position:static!important;transition:opacity .15s ease!important;vertical-align:middle!important}.chat-msg-actions,body:not(.dark-mode) .chat-msg-actions{background:transparent!important;box-shadow:none!important}body:not(.dark-mode) .chat-msg-actions{border:none!important}.chat-msg:hover .chat-msg-actions{opacity:1!important;pointer-events:auto!important}@media (max-width:900px){.chat-msg-actions{display:inline-flex!important;opacity:.6!important;pointer-events:auto!important}}.chat-action-btn{align-items:center!important;background:transparent!important;border:none!important;border-radius:4px!important;color:var(--text-tertiary)!important;cursor:pointer!important;display:flex!important;justify-content:center!important;padding:4px!important;transition:color .15s,background .15s!important}.chat-action-btn:hover{background:hsla(0,0%,100%,.05)!important;color:var(--text-primary)!important}.chat-action-btn.chat-delete-btn:hover{background:rgba(226,75,74,.1)!important;color:#ff6b6b!important}body:not(.dark-mode) .chat-action-btn:hover{background:rgba(0,0,0,.04)!important}.chat-action-btn svg{height:14px!important;stroke-width:2.2!important;width:14px!important}@keyframes highlightMsg{0%{background-color:rgba(77,141,245,.35);box-shadow:inset 0 0 0 2px var(--accent)}to{background-color:transparent;box-shadow:none}}.chat-msg.highlight-pulse{animation:highlightMsg 2.2s cubic-bezier(.2,.8,.2,1)!important}.skh-confirm-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.55);display:flex;inset:0;justify-content:center;opacity:0;padding:20px;position:fixed;transition:opacity .18s ease;z-index:9999}.skh-confirm-overlay.open{opacity:1}.skh-confirm-card{align-items:start;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:grid;gap:14px 14px;grid-template-columns:auto 1fr;max-width:380px;padding:22px 22px 18px;transform:scale(.92) translateY(10px);transition:transform .22s cubic-bezier(.2,.9,.3,1.2);width:100%}.skh-confirm-overlay.open .skh-confirm-card{transform:scale(1) translateY(0)}.skh-confirm-icon{align-items:center;background:hsla(33,87%,70%,.15);border-radius:12px;color:#f5b96e;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.skh-confirm-body{min-width:0}.skh-confirm-title{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 6px}.skh-confirm-msg{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0;word-wrap:break-word}.skh-confirm-actions{border-top:1px solid var(--border-subtle);display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end;margin-top:8px;padding-top:14px}.skh-confirm-btn{background:transparent;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:9px 18px;transition:all .15s}.skh-confirm-cancel:hover{background:var(--bg-surface-hover)}.skh-confirm-ok{background:#e24b4a;border-color:#e24b4a;color:#fff}.skh-confirm-ok:hover{background:#c73f3e;border-color:#c73f3e}.skh-confirm-ok:focus-visible{outline:2px solid rgba(226,75,74,.4);outline-offset:2px}body:not(.dark-mode) .skh-confirm-overlay{background:rgba(20,22,28,.45)}body:not(.dark-mode) .skh-confirm-card{background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.25)}@media (max-width:900px){body.has-trial-footer .chat-float-btn{bottom:88px!important}body.has-trial-footer .community-chat.mobile-open{bottom:158px!important}.chat-input{font-size:16px!important}body.has-trial-footer .chat-float-btn{bottom:72px!important}body.has-trial-footer .community-chat.mobile-open{bottom:130px!important;height:480px!important;max-height:calc(100vh - 160px)!important}.chat-send-btn{align-self:center!important;flex-shrink:0!important;height:38px!important;width:38px!important}.chat-input{min-height:38px!important}.chat-input-wrap{align-items:center!important}}body.chat-mobile-locked{overflow:hidden!important;touch-action:none!important}.chat-backdrop{backdrop-filter:blur(3px);background:rgba(0,0,0,.5);display:none;inset:0;position:fixed;z-index:945}@media (max-width:900px){.chat-backdrop.active{display:block}}.info-widgets-row{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin:0 0 24px}.widget-card{border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.25);color:#fff;display:flex;flex-direction:column;min-height:280px;overflow:hidden;padding:22px 24px;position:relative}.widget-countdown{background:linear-gradient(135deg,#1e5fc4,#0c447c)}.widget-pomodoro{align-items:center;background:linear-gradient(135deg,#e24b4a,#a32d2d)}.widget-deco{color:#fff;height:140px;opacity:.12;pointer-events:none;position:absolute;right:-15px;top:-15px;width:140px}.widget-header{align-items:center;display:flex;font-size:11px;font-weight:600;gap:8px;letter-spacing:.08em;margin-bottom:6px;opacity:.92;position:relative;text-transform:uppercase}.widget-header,.widget-pomodoro .widget-header{align-self:flex-start}.widget-label{color:#fff}.widget-edit-btn{align-items:center;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.25);border-radius:6px;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;margin-left:6px;transition:background .15s;width:24px}.widget-edit-btn:hover{background:hsla(0,0%,100%,.28)}.widget-sub{font-size:12px;margin-bottom:14px;opacity:.85}.countdown-days{align-items:baseline;display:flex;gap:8px;margin-bottom:14px;position:relative}.countdown-days-num{font-size:64px;font-weight:800;letter-spacing:-.02em;line-height:1;transition:opacity .3s ease}.countdown-days-label{font-size:14px;font-weight:500;opacity:.85}.countdown-units{display:flex;gap:8px;margin-bottom:14px}.cd-unit{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:hsla(0,0%,100%,.13);border-radius:8px;flex:1;padding:8px 10px;text-align:center}.cd-unit-num{font-size:18px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;transition:opacity .2s}.cd-unit-label{font-size:9px;letter-spacing:.05em;margin-top:3px;opacity:.75;text-transform:uppercase}.countdown-progress-wrap{margin-top:auto}.countdown-progress-meta{display:flex;font-size:10px;justify-content:space-between;margin-bottom:4px;opacity:.75}.countdown-progress-bar{background:hsla(0,0%,100%,.18);border-radius:99px;height:5px;overflow:hidden}.countdown-progress-fill{background:#fff;border-radius:99px;height:100%;transition:width .6s cubic-bezier(.2,.9,.3,1);width:0}.pomo-ring-wrap{height:150px;margin:4px 0 12px;position:relative;width:150px}.pomo-ring{display:block;height:150px;transform:rotate(-90deg);width:150px}.pomo-ring-bg{fill:none;stroke:hsla(0,0%,100%,.18);stroke-width:6}.pomo-ring-fill{fill:none;stroke:#fff;stroke-dasharray:364.42;stroke-dashoffset:0;stroke-linecap:round;stroke-width:6;transition:stroke-dashoffset .95s linear}.pomo-time-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.pomo-time{font-size:36px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;line-height:1}.pomo-time-label{font-size:9px;font-weight:600;letter-spacing:.12em;margin-top:5px;opacity:.85;text-transform:uppercase}.pomo-presets{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.pomo-preset{background:hsla(0,0%,100%,.18);border:none;border-radius:7px;color:#fff;cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;padding:6px 12px;transition:all .18s}.pomo-preset:hover{background:hsla(0,0%,100%,.28)}.pomo-preset.active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#a32d2d}.pomo-controls{gap:10px}.pomo-btn,.pomo-controls{align-items:center;display:flex}.pomo-btn{border:none;cursor:pointer;justify-content:center;transition:transform .15s,background .15s}.pomo-btn-ghost{background:transparent;border:1.5px solid hsla(0,0%,100%,.4);border-radius:50%;color:#fff;height:36px;width:36px}.pomo-btn-ghost:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.7)}.pomo-btn-main{background:#fff;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.25);color:#a32d2d;height:50px;width:50px}.pomo-btn-main:hover{transform:scale(1.06)}.pomo-btn-main:active{transform:scale(.95)}.pomo-cycles{font-size:9px;letter-spacing:.08em;margin-top:10px;opacity:.75;text-align:center;text-transform:uppercase}.exam-edit-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9998}.exam-edit-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5);max-width:380px;padding:22px;width:100%}.exam-edit-card h4{color:var(--text-primary);font-size:15px;margin:0 0 14px}.exam-edit-card label{color:var(--text-secondary);display:block;font-size:12px;margin:10px 0 4px}.exam-edit-card input{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;padding:9px 12px;width:100%}.exam-edit-card input:focus{border-color:var(--accent)}.exam-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.exam-btn-cancel,.exam-btn-save{border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:9px 18px}.exam-btn-cancel{background:transparent;color:var(--text-primary)}.exam-btn-save{background:var(--accent);border-color:var(--accent);color:#fff}.exam-edit-msg{color:var(--accent-green);font-size:11px;margin:8px 0 0}@media (max-width:768px){.info-widgets-row{gap:12px;grid-template-columns:1fr}.widget-card{min-height:auto;padding:18px 20px}.countdown-days-num{font-size:52px}.pomo-ring,.pomo-ring-wrap{height:130px;width:130px}.pomo-time{font-size:30px}}.info-widgets-row{gap:14px;margin-bottom:18px;margin-left:auto;margin-right:auto;max-width:880px}.widget-card{border-radius:14px!important;min-height:220px!important;padding:16px 18px!important}.widget-deco{height:100px!important;right:-8px!important;top:-8px!important;width:100px!important}.widget-header{font-size:10px!important;margin-bottom:4px!important}.widget-sub{font-size:11px!important}.countdown-days,.widget-sub{margin-bottom:10px!important}.countdown-days{gap:6px!important}.countdown-days-num{font-size:46px!important}.countdown-days-label{font-size:12px!important}.cd-unit{padding:6px 8px!important}.cd-unit-num{font-size:15px!important}.cd-unit-label{font-size:8px!important}.countdown-units{gap:6px!important;margin-bottom:10px!important}.pomo-ring-wrap{margin:2px 0 8px!important}.pomo-ring,.pomo-ring-wrap{height:110px!important;width:110px!important}.pomo-ring-bg,.pomo-ring-fill{stroke-width:5!important}.pomo-time{font-size:26px!important}.pomo-time-label{font-size:8px!important;margin-top:3px!important}.pomo-presets{gap:5px!important;margin-bottom:8px!important}.pomo-preset{font-size:10px!important;padding:4px 9px!important}.pomo-controls{gap:8px!important}.pomo-btn-ghost{height:30px!important;width:30px!important}.pomo-btn-ghost svg{height:12px!important;width:12px!important}.pomo-btn-main{height:40px!important;width:40px!important}.pomo-btn-main svg{height:15px!important;width:15px!important}.pomo-cycles{font-size:8px!important;margin-top:6px!important}@media (max-width:768px){.info-widgets-row{gap:10px;max-width:100%}.widget-card{min-height:auto!important;padding:14px 16px!important}.countdown-days-num{font-size:38px!important}.pomo-ring,.pomo-ring-wrap{height:100px!important;width:100px!important}.pomo-time{font-size:22px!important}}.info-widgets-row{gap:18px!important;margin-left:0!important;margin-right:0!important;max-width:none!important}.info-page-title{margin-bottom:18px!important;margin-top:28px!important}.info-widgets-row{margin-top:4px!important;margin-top:20px!important}.widget-countdown.warn{animation:countdownPulseWarn 3s ease-in-out infinite;background:linear-gradient(135deg,#f5a623,#c47008)!important}@keyframes countdownPulseWarn{0%,to{box-shadow:0 8px 28px rgba(245,166,35,.25)}50%{box-shadow:0 8px 36px rgba(245,166,35,.55)}}.widget-countdown.critical{animation:countdownPulseCritical 1.5s ease-in-out infinite;background:linear-gradient(135deg,#f44,#a32d2d)!important}@keyframes countdownPulseCritical{0%,to{box-shadow:0 8px 28px rgba(255,68,68,.4);transform:scale(1)}50%{box-shadow:0 12px 44px rgba(255,68,68,.75);transform:scale(1.005)}}.widget-countdown.critical .countdown-days-num{animation:numberPulse 1.5s ease-in-out infinite}@keyframes numberPulse{0%,to{text-shadow:0 0 0 hsla(0,0%,100%,0)}50%{text-shadow:0 0 18px hsla(0,0%,100%,.6)}}@media (min-width:1600px){.course-page,.home-page,.news-page{max-width:1480px!important;padding:28px 24px 64px!important}.subjects-page,.subjects-page.no-admin{max-width:1600px!important;padding:28px 24px 64px!important}.subjects-layout{gap:22px!important;grid-template-columns:1fr 360px!important}.home-course-grid{gap:16px!important;grid-template-columns:repeat(3,minmax(0,320px))!important}.info-widgets-row{gap:22px!important}.widget-card{min-height:240px!important;padding:20px 24px!important}.countdown-days-num{font-size:56px!important}.pomo-ring,.pomo-ring-wrap{height:130px!important;width:130px!important}.pomo-time{font-size:32px!important}.watch-page{padding:8px 28px 60px!important}.watch-layout,.watch-page{max-width:1860px!important}.watch-layout{gap:24px!important}.watch-sidebar{width:380px!important}.watch-video-card{border-radius:18px!important;padding:26px!important}.watch-sidebar-header{padding:18px 20px!important}.watch-sidebar-title{font-size:17px!important}.watch-sidebar-item-title{font-size:14px!important}.watch-video-card #lessonTitle{font-size:26px!important}.watch-video-card #lessonMeta{font-size:14px!important}}@media (min-width:2000px){.watch-layout,.watch-page{max-width:2000px!important}.watch-sidebar{width:420px!important}}@media (min-width:1600px){.watch-top-bar{margin:0 0 12px!important;max-width:none!important;padding:0!important;width:100%!important}}.event-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.event-opt{align-items:center;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:8px 14px;transition:all .15s}.event-opt:hover{background:var(--bg-surface-hover);border-color:var(--accent)}.event-opt input{cursor:pointer;margin:0}.event-opt input:checked+span{color:var(--accent);font-weight:600}.event-opt:has(input:checked){background:rgba(77,141,245,.12);border-color:var(--accent)}@media (max-width:768px){.news-link-card,.news-link-main{width:100%!important}.news-link-thumb{min-width:70px!important;width:70px!important}.news-link-thumb:empty,.news-link-thumb:not([style*="url("]),.news-link-thumb[style*="background-image: url()"]{display:none!important}.news-link-content{padding:12px 14px!important;width:100%!important}.news-link-content h3{font-size:14px!important}.news-links-list{width:100%!important}}.gm-backdrop{align-items:center;animation:gmBackdropIn .2s ease;backdrop-filter:blur(4px);background:rgba(0,0,0,.55);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}@keyframes gmBackdropIn{0%{opacity:0}to{opacity:1}}.gm-sheet{animation:gmSheetIn .22s cubic-bezier(.34,1.26,.64,1);background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:480px;overflow:hidden;width:100%}@keyframes gmSheetIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:none}}.gm-header{border-bottom:1px solid var(--border-subtle);gap:10px;padding:18px 20px 14px}.gm-header,.gm-header-icon{align-items:center;display:flex;flex-shrink:0}.gm-header-icon{background:rgba(77,141,245,.12);border-radius:var(--radius-sm);color:var(--accent);height:34px;justify-content:center;width:34px}.gm-title{color:var(--text-primary);flex:1;font-size:15px;font-weight:600;margin:0}.gm-close{align-items:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .15s,color .15s;width:30px}.gm-close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.gm-body{flex:1;gap:16px;overflow-y:auto;padding:18px 20px}.gm-body,.gm-field{display:flex;flex-direction:column}.gm-field{gap:7px}.gm-label{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:600;gap:5px;letter-spacing:.04em;text-transform:uppercase}.gm-label svg{flex-shrink:0;opacity:.7}.gm-input{background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.gm-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,141,245,.15)}.gm-input::placeholder{color:var(--text-tertiary)}.gm-course-select-wrap{position:relative}.gm-course-btn{align-items:center;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:space-between;outline:none;padding:9px 12px;text-align:left;transition:border-color .15s,box-shadow .15s;width:100%}.gm-course-btn:hover,.gm-course-btn[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,141,245,.15)}.gm-course-selected{align-items:center;display:flex;flex:1;gap:8px;min-width:0;overflow:hidden}.gm-course-logo{background:var(--bg-elevated);border-radius:4px;flex-shrink:0;height:24px;object-fit:cover;width:24px}.gm-course-name{color:var(--text-primary);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-course-placeholder{color:var(--text-tertiary);font-size:14px}.gm-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .2s}.gm-course-btn[aria-expanded=true] .gm-chevron{transform:rotate(180deg)}.gm-course-dropdown{animation:gmDropIn .15s ease;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);left:0;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:10}@keyframes gmDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.gm-course-option{align-items:center;border-radius:var(--radius-xs);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:9px;padding:8px 10px;transition:background .12s;user-select:none}.gm-course-option:hover{background:var(--bg-surface-hover)}.gm-course-option.selected{background:rgba(77,141,245,.14);color:var(--accent)}.gm-course-option img{background:var(--bg-page);border-radius:4px;flex-shrink:0;height:24px;object-fit:cover;width:24px}.gm-price-badge{align-items:center;background:rgba(110,231,183,.1);border:1px solid rgba(110,231,183,.2);border-radius:20px;color:var(--accent-green);display:inline-flex;font-size:12px;font-weight:600;gap:5px;margin-top:4px;padding:4px 10px;width:fit-content}.gm-segmented{background:var(--bg-page);border:1px solid var(--border-medium);border-radius:var(--radius-sm);display:flex;gap:0;overflow:hidden;padding:3px}.gm-seg-btn{align-items:center;background:transparent;border:none;border-radius:7px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:7px 12px;transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap}.gm-seg-btn:hover:not(.active){background:var(--bg-surface-hover);color:var(--text-primary)}.gm-seg-btn.active{background:var(--accent);box-shadow:0 1px 6px rgba(77,141,245,.35);color:#fff}#gmTypeSegmented .gm-seg-btn[data-val=trial].active{background:#92400e;box-shadow:0 1px 6px rgba(252,211,77,.25);color:var(--accent-amber)}.gm-subjects-wrap{animation:gmDropIn .15s ease;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px}.gm-subjects-hint{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:5px;margin-bottom:10px}.gm-subjects-grid{display:grid;gap:7px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:90px;overflow-y:auto;padding-right:4px}.gm-subjects-grid::-webkit-scrollbar{width:4px}.gm-subjects-grid::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.gm-subject-check{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;gap:8px;min-width:0;padding:8px 10px;transition:border-color .15s,background .15s;user-select:none}.gm-subject-check:hover{background:var(--bg-surface-hover);border-color:var(--border-medium)}.gm-subject-check input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:15px;margin:0;width:15px}.gm-subject-check:has(input:checked){background:rgba(77,141,245,.1);border-color:var(--accent)}.gm-subject-check-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-result{border-radius:var(--radius-xs);font-size:13px;font-weight:500;margin:0;padding:9px 12px}.gm-result.success{background:rgba(110,231,183,.12);border:1px solid rgba(110,231,183,.25);color:var(--accent-green)}.gm-result.error{background:hsla(0,94%,82%,.12);border:1px solid hsla(0,94%,82%,.25);color:var(--accent-red)}.gm-result.loading{background:rgba(77,141,245,.1);border:1px solid rgba(77,141,245,.2);color:var(--accent)}.gm-footer{border-top:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:14px 20px}.gm-btn-cancel{align-items:center;background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:background .15s,color .15s}.gm-btn-cancel:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.gm-btn-submit{align-items:center;background:var(--accent);border:none;border-radius:var(--radius-sm);box-shadow:0 2px 8px rgba(77,141,245,.3);color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 20px;transition:background .15s,opacity .15s,box-shadow .15s}.gm-btn-submit:hover{background:var(--accent-hover);box-shadow:0 2px 12px rgba(77,141,245,.45)}.gm-btn-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.gm-open-btn{align-items:center;background:var(--accent);border:none;border-radius:var(--radius-sm);box-shadow:0 2px 8px rgba(77,141,245,.28);color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:9px 16px;transition:background .15s,box-shadow .15s;white-space:nowrap}.gm-open-btn:hover{background:var(--accent-hover);box-shadow:0 2px 14px rgba(77,141,245,.4)}.grant-trigger-card{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.grant-trigger-info{align-items:center;display:flex;gap:14px;min-width:0}.grant-trigger-icon{align-items:center;background:rgba(77,141,245,.1);border-radius:var(--radius-sm);color:var(--accent);display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.grant-trigger-title{color:var(--text-primary);font-size:14px;font-weight:600}.grant-trigger-sub{color:var(--text-secondary);font-size:12px;margin-top:2px}body:not(.dark-mode) .gm-sheet{background:#fff;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .gm-header{border-bottom-color:rgba(0,0,0,.06)}body:not(.dark-mode) .gm-footer{border-top-color:rgba(0,0,0,.06)}body:not(.dark-mode) .gm-course-btn,body:not(.dark-mode) .gm-input{background:#f5f5f7;border-color:rgba(0,0,0,.1)}body:not(.dark-mode) .gm-segmented{background:#f0f0f4;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .gm-seg-btn:hover:not(.active){background:rgba(0,0,0,.05)}body:not(.dark-mode) .gm-subjects-wrap{background:#f7f7fa;border-color:rgba(0,0,0,.06)}body:not(.dark-mode) .gm-subject-check{background:#fff;border-color:rgba(0,0,0,.08)}body:not(.dark-mode) .gm-course-dropdown{background:#fff;border-color:rgba(0,0,0,.1)}body:not(.dark-mode) .gm-course-option:hover{background:#f5f5f7}body:not(.dark-mode) .grant-trigger-card{background:#fff}@media (max-width:600px){.gm-sheet{max-width:360px}.gm-course-btn,.gm-input{font-size:16px!important}.gm-subjects-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gm-footer{padding:12px 16px}.gm-btn-cancel,.gm-btn-submit{flex:1;justify-content:center}.gm-body{padding:14px 16px}.grant-trigger-card{align-items:flex-start;flex-direction:column}.gm-open-btn{justify-content:center;width:100%}}.ctv-recruit-banner{background:#7e7ae0;background-image:repeating-linear-gradient(135deg,transparent,transparent 22px,hsla(0,0%,100%,.13) 0,hsla(0,0%,100%,.13) 44px);border:1px solid hsla(0,0%,100%,.18);border-radius:32px;color:#fff;cursor:pointer;display:block;margin:0 0 20px;max-width:100%;overflow:hidden;padding:28px 30px;position:relative;text-decoration:none;transition:transform .4s ease,box-shadow .4s ease;width:100%}.ctv-recruit-banner:hover{box-shadow:0 18px 40px -12px rgba(60,40,150,.55);transform:scale(.98)}.ctv-recruit-banner:active{transform:scale(.94)}.ctv-blob,.ctv-grid,.ctv-recruit-icon{display:none}.ctv-recruit-deco{bottom:-30px;opacity:.16;pointer-events:none;position:absolute;right:-30px;transition:transform .5s ease,opacity .4s ease;z-index:1}.ctv-recruit-deco svg{height:200px;width:200px}.ctv-recruit-banner:hover .ctv-recruit-deco{opacity:.22;transform:scale(1.12) rotate(-6deg)}.ctv-recruit-content{position:relative;transition:transform .4s ease;z-index:2}.ctv-recruit-banner:hover .ctv-recruit-content{transform:scale(.985)}.ctv-recruit-badge{align-items:center;background:rgba(40,30,90,.55);border:1px solid hsla(0,0%,100%,.2);border-radius:999px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;gap:8px;margin-bottom:18px;padding:6px 13px}.ctv-recruit-dot{display:inline-flex;height:7px;position:relative;width:7px}.ctv-recruit-dot:after,.ctv-recruit-dot:before{border-radius:50%;content:"";position:absolute}.ctv-recruit-dot:before{animation:ctvRecruitPulse 2s ease-in-out infinite;background:#fff;inset:0;opacity:.6}.ctv-recruit-dot:after{background:#fff;inset:1px}@keyframes ctvRecruitPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(2)}}.ctv-recruit-title{color:#fff;font-size:24px;font-weight:600;letter-spacing:-.3px;line-height:1.25;margin:0 0 4px}.ctv-recruit-title span{color:#fff}.ctv-recruit-subtitle{color:hsla(0,0%,100%,.82);font-size:13px;margin:0 0 22px}.ctv-recruit-cta{align-items:center;background:rgba(110,100,200,.55);border:1px solid rgba(180,170,240,.5);border-radius:14px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:10px;padding:12px 22px;transition:background .3s ease,border-color .3s ease,gap .3s ease}.ctv-recruit-banner:hover .ctv-recruit-cta{background:rgba(135,125,225,.7);border-color:rgba(210,200,255,.75);gap:14px}.ctv-gform-icon{flex-shrink:0}@media (max-width:600px){.ctv-recruit-banner{background-image:repeating-linear-gradient(135deg,transparent,transparent 18px,hsla(0,0%,100%,.13) 0,hsla(0,0%,100%,.13) 36px);border-radius:26px;padding:22px;text-align:center}.ctv-recruit-deco svg{height:150px;width:150px}.ctv-recruit-deco{bottom:-24px;right:-24px}.ctv-recruit-title{font-size:18px}.ctv-recruit-cta{display:flex;justify-content:center;padding:11px;width:100%}}.ctv-tab-grid{grid-template-columns:1fr 1.4fr}.ctv-list-item.ctv-active{padding-left:calc(var(--ctv-list-pad, 12px) - 2px)}.ctv-tab-grid{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,340px) minmax(0,1fr);width:100%}.ctv-tab-grid>.admin-card{margin:0;max-width:none;width:auto}.ctv-list-card{min-height:420px}.ctv-detail-card{display:flex;flex-direction:column;min-height:420px}#tab-ctv>.admin-card{margin:0 0 14px;max-width:none}#tab-ctv>.ctv-tab-grid{margin:0}.ctv-detail-card .admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ctv-detail-card .admin-table{font-size:12.5px;width:100%}.ctv-detail-card .admin-table td,.ctv-detail-card .admin-table th{padding:9px 8px;white-space:nowrap}.ctv-detail-card .admin-table td:first-child{min-width:160px;white-space:normal;word-break:break-all}.ctv-detail-placeholder{align-items:center;color:var(--text-tertiary);display:flex;flex:1;flex-direction:column;justify-content:center;padding:40px 24px;text-align:center}.ctv-detail-placeholder svg{color:var(--text-tertiary);margin-bottom:14px;opacity:.5}.ctv-placeholder-title{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:6px}.ctv-placeholder-sub{color:var(--text-tertiary);font-size:12.5px;line-height:1.5;max-width:280px}.ctv-list-item.ctv-active{background:rgba(77,141,245,.1);border-left:2px solid var(--accent);border-radius:6px;margin-left:-12px;margin-right:-12px;padding-left:10px;padding-right:12px}@media (max-width:900px){.ctv-tab-grid{grid-template-columns:1fr}.ctv-detail-card,.ctv-list-card{min-height:auto}}.info-post-admin label{color:var(--text-secondary);font-size:12.5px;font-weight:500;margin-top:4px}.info-post-admin input[type=number],.info-post-admin input[type=text],.info-post-admin input[type=url],.info-post-admin textarea{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.info-post-admin input::placeholder,.info-post-admin textarea::placeholder{color:var(--text-tertiary);opacity:1}.info-post-admin input:focus,.info-post-admin textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,141,245,.15);outline:none}.info-post-admin textarea{line-height:1.5;min-height:64px;resize:vertical}.info-post-admin>div:last-of-type{display:flex;gap:8px;margin-top:10px}.info-post-admin .admin-btn-primary,.info-post-admin .admin-btn-secondary{font-size:13px;padding:8px 16px}body:not(.dark-mode) .info-post-admin input[type=number],body:not(.dark-mode) .info-post-admin input[type=text],body:not(.dark-mode) .info-post-admin input[type=url],body:not(.dark-mode) .info-post-admin textarea{background:#fff;border-color:rgba(0,0,0,.12);color:#1a1a1f}#ctvRecruitAdminPanel input[type=text],#ctvRecruitAdminPanel input[type=url],#globalAnnouncementAdminPanel textarea,#marqueeAdminPanel input[type=text],#marqueeAdminPanel input[type=url],#marqueeAdminPanel textarea{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}#globalAnnouncementAdminPanel textarea,#marqueeAdminPanel textarea{line-height:1.5;min-height:72px;resize:vertical}#ctvRecruitAdminPanel input::placeholder,#globalAnnouncementAdminPanel textarea::placeholder,#marqueeAdminPanel input::placeholder,#marqueeAdminPanel textarea::placeholder{color:var(--text-tertiary);opacity:1}#ctvRecruitAdminPanel input:focus,#globalAnnouncementAdminPanel textarea:focus,#marqueeAdminPanel input:focus,#marqueeAdminPanel textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,141,245,.15);outline:none}body:not(.dark-mode) #ctvRecruitAdminPanel input,body:not(.dark-mode) #globalAnnouncementAdminPanel textarea,body:not(.dark-mode) #marqueeAdminPanel input,body:not(.dark-mode) #marqueeAdminPanel textarea{background:#fff;border-color:rgba(0,0,0,.12);color:#1a1a1f}#ctvRecruitAdminPanel input[type=checkbox],#globalAnnouncementAdminPanel input[type=checkbox],#marqueeAdminPanel input[type=checkbox]{appearance:none;-webkit-appearance:none;background:var(--bg-page);border:1.5px solid var(--border-medium);border-radius:5px;cursor:pointer;flex-shrink:0;height:18px;margin:0;position:relative;transition:all .15s ease;width:18px}#ctvRecruitAdminPanel input[type=checkbox]:hover,#globalAnnouncementAdminPanel input[type=checkbox]:hover,#marqueeAdminPanel input[type=checkbox]:hover{border-color:var(--accent)}#ctvRecruitAdminPanel input[type=checkbox]:checked,#globalAnnouncementAdminPanel input[type=checkbox]:checked,#marqueeAdminPanel input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}#ctvRecruitAdminPanel input[type=checkbox]:checked:after,#globalAnnouncementAdminPanel input[type=checkbox]:checked:after,#marqueeAdminPanel input[type=checkbox]:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:5px;position:absolute;top:1px;transform:rotate(45deg);width:5px}#ctvRecruitAdminPanel input[type=checkbox]:focus-visible,#globalAnnouncementAdminPanel input[type=checkbox]:focus-visible,#marqueeAdminPanel input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px rgba(77,141,245,.25)}#ctvRecruitMsg,#globalAnnounceResult,#marqueeResult,#materialResult,#scheduleAdminResult,#zaloCommunityResult{display:none!important}.subjects-header-bar{gap:16px;justify-content:space-between;margin:8px 0 20px}.subjects-tabs{border-radius:10px;gap:4px;padding:4px}.subjects-tab{border-radius:7px;font-size:14px;padding:8px 16px;transition:all .15s ease}.streak-badge{align-items:center;background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:999px;box-shadow:0 4px 14px -4px rgba(255,107,53,.5);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:700;gap:8px;padding:7px 16px;transition:transform .2s ease}.streak-badge:hover{transform:scale(1.05)}.streak-icon{font-size:16px}.leaderboard-wrap{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:22px 24px}.leaderboard-header{margin-bottom:18px}.leaderboard-title{color:var(--text-primary);font-size:18px;font-weight:700;margin:0 0 4px}.leaderboard-sub{color:var(--text-tertiary);font-size:13px;margin:0}.leaderboard-list{gap:6px}.leaderboard-empty{padding:40px 0}.lb-row{border-radius:10px;padding:10px 14px;transition:border-color .15s}.lb-rank{border-radius:50%;font-size:13px;height:28px;width:28px}.lb-row:first-child .lb-rank{background:gold;color:#5c4000}.lb-row:nth-child(2) .lb-rank{background:silver;color:#3a3a3a}.lb-row:nth-child(3) .lb-rank{background:#cd7f32;color:#fff}.lb-name,.lb-streak{font-size:14px}.lb-streak{color:#ff6b35}.my-rank-wrap{margin-top:18px;padding-top:18px}.my-rank-label{font-size:12px;margin:0 0 8px}.streak-modal{align-items:center;animation:smFade .2s ease;background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes smFade{0%{opacity:0}to{opacity:1}}.streak-modal-card{animation:smPop .25s cubic-bezier(.34,1.12,.64,1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;max-width:320px;padding:36px 32px 28px;position:relative;text-align:center;width:100%}@keyframes smPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.streak-modal-close{background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;font-size:18px;padding:4px 8px;position:absolute;right:12px;top:10px}.streak-modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.streak-modal-icon{font-size:48px;margin-bottom:8px}.streak-modal-current{background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:56px;font-weight:800;line-height:1}.streak-modal-label{color:var(--text-secondary);font-size:14px;margin-top:4px}.streak-modal-best{color:var(--text-tertiary);font-size:13px;margin-top:14px}.streak-modal-tip{background:var(--bg-elevated);border-radius:10px;color:var(--text-secondary);font-size:13px;line-height:1.5;margin:16px 0 0;padding:10px 12px}@media (max-width:600px){.subjects-header-bar{gap:10px}.subjects-tab{font-size:13px;padding:7px 12px}}.course-header-row .subject-label{margin:0}.subjects-header-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}.subjects-tabs{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;display:inline-flex;gap:2px;padding:3px}.subjects-tab{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:7px 14px;transition:background .15s ease,color .15s ease;white-space:nowrap}.subjects-tab:hover{color:var(--text-primary)}.subjects-tab.active{background:var(--accent);color:#fff}.subjects-header-bar .streak-badge{margin-left:auto}@media (max-width:600px){.subjects-header-bar{gap:6px}.subjects-tab{font-size:12px;padding:6px 10px}}.streak-float{align-items:center;aspect-ratio:200/260;background:transparent;cursor:pointer;display:flex;justify-content:center;padding:0;position:fixed;right:24px;top:90px;transition:transform .2s ease;width:52px;z-index:9998}.streak-float:hover{transform:scale(1.08)}.streak-float .sf-svg{height:100%;overflow:visible;width:100%}.streak-float .sf-flame{transform-origin:100px 180px;transition:fill .4s ease}.streak-float .sf-flame-out{animation:sfBurnOut 2.5s ease-in-out infinite alternate}.streak-float .sf-flame-in{animation:sfBurnIn 2s ease-in-out infinite alternate}@keyframes sfBurnOut{0%{transform:scale(1) rotate(0)}to{transform:scale(1.02,.98) rotate(1deg)}}@keyframes sfBurnIn{0%{transform:scale(1) rotate(0)}to{transform:scale(1.04,.95) rotate(-1deg)}}.sf-num{font-family:Nunito,Segoe UI,system-ui,sans-serif;font-size:120px;font-weight:900;letter-spacing:-3px}:root{--sf-stroke:#1a1a1f}body:not(.dark-mode){--sf-stroke:#fff}.sf-num-stroke{fill:var(--sf-stroke);paint-order:stroke;stroke:var(--sf-stroke);stroke-linejoin:round;stroke-width:22}.sf-num-fill{fill:var(--text-primary)}.streak-float.tier-gray .sf-flame-out{fill:#71717a}.streak-float.tier-gray .sf-flame-in{fill:#d4d4d8}.streak-float.tier-purple .sf-flame-out{fill:#9333ea}.streak-float.tier-purple .sf-flame-in{fill:#d8b4fe}.streak-float.tier-orange .sf-flame-out{fill:#ff8c00}.streak-float.tier-orange .sf-flame-in{fill:#fc0}.streak-float.tier-blue .sf-flame-out{fill:#2563eb}.streak-float.tier-blue .sf-flame-in{fill:#93c5fd}.streak-float.tier-teal .sf-flame-out{fill:#14b8a6}.streak-float.tier-teal .sf-flame-in{fill:#5eead4}.streak-float.tier-rose .sf-flame-out{fill:#e11d48}.streak-float.tier-rose .sf-flame-in{fill:#fda4af}.streak-float.tier-crimson .sf-flame-out{fill:#ef4444}.streak-float.tier-crimson .sf-flame-in{fill:#fef08a}.streak-float.tier-mystic .sf-flame-out{animation:sfBurnOut 2.5s ease-in-out infinite alternate,sfGlowMystic 2s ease-in-out infinite alternate;fill:#06b6d4}.streak-float.tier-mystic .sf-flame-in{fill:#a7f3d0}@keyframes sfGlowMystic{0%{filter:drop-shadow(0 0 8px #06b6d4)}to{filter:drop-shadow(0 0 20px #06b6d4)}}.streak-float.tier-void .sf-flame-out{animation:sfBurnVoid 4s ease-in-out infinite alternate,sfGlowVoid 3s ease-in-out infinite alternate;fill:#4c1d95}.streak-float.tier-void .sf-flame-in{animation:sfBurnVoid 3.5s ease-in-out infinite alternate-reverse;fill:#f472b6}@keyframes sfBurnVoid{0%{transform:scale(1) rotate(0)}to{transform:scale(1.03,.97) rotate(1deg)}}@keyframes sfGlowVoid{0%{filter:drop-shadow(0 0 5px #f472b6)}to{filter:drop-shadow(0 0 20px #4c1d95)}}.streak-float.tier-pink .sf-flame-out{animation:sfBurnOut 1.5s ease-in-out infinite alternate,sfGlowPink 1.5s ease-in-out infinite alternate;fill:#ec4899}.streak-float.tier-pink .sf-flame-in{fill:#fbcfe8}@keyframes sfGlowPink{0%{filter:drop-shadow(0 0 12px #ec4899)}to{filter:drop-shadow(0 0 28px #ec4899)}}.streak-float.tier-god .sf-flame-out{animation:sfBurnOut 2.5s ease-in-out infinite alternate,sfDiamondGlow 3s ease-in-out infinite alternate;fill:url(#sfDiamondGrad)}.streak-float.tier-god .sf-flame-in{animation:sfBurnIn 2s ease-in-out infinite alternate;fill:#fff}@keyframes sfDiamondGlow{0%{filter:drop-shadow(0 0 4px rgba(199,210,254,.6))}to{filter:drop-shadow(0 0 10px rgba(251,207,232,.8))}}@media (max-width:600px){.streak-float{right:14px;top:74px;width:42px}}.rank-modal{align-items:center;animation:rmFade .2s ease;background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes rmFade{0%{opacity:0}to{opacity:1}}.rank-modal-card{animation:rmPop .22s cubic-bezier(.34,1.12,.64,1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;max-height:80vh;max-width:420px;overflow-y:auto;padding:22px 22px 20px;position:relative;width:100%}@keyframes rmPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.rank-modal-close{background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;display:flex;padding:6px;position:absolute;right:12px;top:10px}.rank-modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.rank-modal-header{margin-bottom:16px}.rank-modal-title{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 3px}.rank-modal-sub{color:var(--text-tertiary);font-size:12px;margin:0}.leaderboard-list{display:flex;flex-direction:column;gap:4px}.leaderboard-empty{color:var(--text-tertiary);font-size:13px;padding:30px 0;text-align:center}.lb-row{align-items:center;background:var(--bg-elevated);border:1px solid transparent;border-radius:8px;display:flex;gap:12px;padding:9px 12px}.lb-row:hover{border-color:var(--border-subtle)}.lb-row.is-me{background:rgba(77,141,245,.1);border-color:rgba(77,141,245,.4)}.lb-rank{align-items:center;background:var(--bg-page);border-radius:6px;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.lb-avatar,.lb-row.is-me .lb-rank{background:var(--accent);color:#fff}.lb-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:26px;justify-content:center;width:26px}.lb-name{color:var(--text-primary);flex:1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-streak{align-items:center;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:700;gap:4px}.my-rank-wrap{border-top:1px solid var(--border-subtle);margin-top:14px;padding-top:14px}.my-rank-label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.chat-msg-badge.ctv{background:rgba(168,85,247,.18);color:#c4a0ff}.chat-msg-badge.manager{background:rgba(239,68,68,.18);color:#fca5a5}.chat-msg-badge.editor{background:rgba(59,130,246,.18);color:#93c5fd}.chat-msg-streak{align-items:center;border:none;border-radius:999px;color:#fff;display:inline-flex;flex-shrink:0;font-size:10.5px;font-weight:700;gap:3px;line-height:1.4;padding:2px 8px 2px 6px}.chat-msg-streak svg{flex-shrink:0}.folder-materials-section{background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.05);border-radius:10px;margin:8px 10px 6px;overflow:hidden;transition:border-color .2s ease}.folder-materials-section:hover{border-color:hsla(0,0%,100%,.08)}.folder-materials-header{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;padding:9px 12px;transition:background .15s,color .15s;user-select:none}.folder-materials-header:hover{background:var(--hover-overlay)}.folder-materials-header svg{flex-shrink:0;opacity:.7}.folder-materials-header span:nth-child(2){flex:1}.folder-mat-count{background:rgba(77,141,245,.18);border-radius:999px;color:var(--accent);font-size:11px;font-weight:700;padding:1px 7px}.folder-mat-arrow{color:var(--text-tertiary);font-size:11px;margin-left:2px;transition:transform .2s}.folder-materials-section.open .folder-mat-arrow{transform:rotate(180deg)}.folder-mat-add-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--accent);cursor:pointer;display:flex;opacity:.8;padding:2px 4px;transition:opacity .15s}.folder-mat-add-btn:hover{background:rgba(77,141,245,.12);opacity:1}.folder-materials-body{border-top:1px solid transparent;display:flex;flex-direction:column;gap:6px;max-height:0;overflow:hidden;padding:0 10px;transition:max-height .28s ease,padding .28s ease,border-color .28s ease}.folder-materials-section.open .folder-materials-body{border-top-color:var(--border-subtle);max-height:600px;padding:8px 10px 12px}.folder-materials-list{display:flex;flex-direction:column;gap:4px}.fm-empty{color:var(--text-tertiary);font-size:12px;margin:0}.fm-item{align-items:center;background:transparent;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:12.5px;gap:10px;padding:8px 10px 8px 16px;position:relative;transition:background .15s ease}.fm-item:before{background:var(--sm-color,var(--accent));border-radius:3px;content:"";height:60%;left:0;opacity:.5;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s,height .2s;width:3px}.fm-item:hover:before{height:80%;opacity:1}.fm-item:hover{background:hsla(0,0%,100%,.04)}.fm-link{color:var(--text-primary);flex:1;font-weight:500;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color .15s;white-space:nowrap}.fm-link:hover{color:var(--sm-color,var(--accent));text-decoration:none}.fm-note{color:var(--text-tertiary);flex-shrink:0;font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-item-actions{display:flex;flex-shrink:0;gap:2px;opacity:0;transition:opacity .2s ease}.fm-item:hover .fm-item-actions{opacity:1}.fm-del-btn,.fm-edit-btn{background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;padding:4px;transition:color .15s,background .15s}.fm-edit-btn:hover{background:var(--sm-color-bg,rgba(77,141,245,.08));color:var(--sm-color,var(--accent))}.fm-del-btn:hover{background:hsla(0,91%,71%,.08);color:#f87171}.folder-materials-admin{background:var(--bg-input,var(--bg-card));border:1px solid var(--border-subtle);border-radius:7px;display:none;flex-direction:column;gap:6px;margin-top:4px;padding:10px}.folder-materials-admin input{background:var(--bg-input,var(--bg-secondary));border:1px solid var(--border-subtle);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:12.5px;outline:none;padding:7px 10px;width:100%}.folder-materials-admin input:focus{border-color:var(--accent)}.fm-actions{display:flex;gap:8px}.fm-save-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;transition:opacity .15s}.fm-save-btn:hover{opacity:.85}.fm-result{color:var(--text-tertiary);font-size:11.5px;margin:0}.sm-tag-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.sm-tag-chip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;padding:5px 12px;transition:background .15s,border-color .15s,color .15s}.sm-tag-chip.active,.sm-tag-chip:hover{border-color:var(--accent);color:var(--accent)}.sm-tag-chip.active{background:rgba(77,141,245,.12);font-weight:600}.sm-item{align-items:center;background:transparent;border:none;border-radius:0;cursor:pointer;display:flex;gap:10px;margin-bottom:0;margin-left:12px;max-width:100%;min-width:0;padding:7px 8px 7px 14px;position:relative;transition:background .15s ease}.sm-item:before{background:var(--accent);border-radius:3px;content:"";height:85%;left:-8px;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sm-item:last-child{margin-bottom:0}.sm-item:hover{background:hsla(0,0%,100%,.04);border-radius:8px}.sm-item-main{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.sm-item-title{display:block;font-size:13px;font-weight:500;overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color .15s;white-space:nowrap}.sm-item-title:hover{color:var(--accent)}.sm-item-note{color:var(--text-tertiary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-item-tag{display:none}.sm-item-arrow-box{align-items:center;background:var(--bg-elevated,#33333a);border-radius:7px;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background .2s ease;width:28px}.sm-item:hover .sm-item-arrow-box{background:rgba(77,141,245,.1)}.sm-item-arrow{color:var(--text-tertiary);flex-shrink:0;height:13px;transform:rotate(0deg);transition:transform .25s ease,color .25s ease;width:13px}.sm-item:hover .sm-item-arrow{color:var(--accent);transform:rotate(90deg)}.sm-empty{color:var(--text-tertiary);font-size:13px;margin:4px 0}:root{--sm-color:var(--accent,#4d8df5);--sm-color-bg:rgba(77,141,245,.06);--sm-color-border:var(--accent,#4d8df5);--sm-color-tag-bg:rgba(77,141,245,.1)}.ch-red{--sm-color:#e8817f;--sm-color-bg:rgba(226,75,74,.06);--sm-color-border:#e8817f;--sm-color-tag-bg:rgba(226,75,74,.1)}.ch-amber{--sm-color:#f3b84a;--sm-color-bg:rgba(239,159,39,.06);--sm-color-border:#f3b84a;--sm-color-tag-bg:rgba(239,159,39,.1)}.ch-purple{--sm-color:#a49fea;--sm-color-bg:rgba(127,119,221,.06);--sm-color-border:#a49fea;--sm-color-tag-bg:rgba(127,119,221,.1)}.ch-green{--sm-color:#3dbd93;--sm-color-bg:rgba(29,158,117,.06);--sm-color-border:#3dbd93;--sm-color-tag-bg:rgba(29,158,117,.1)}.sm-item:before{background:var(--sm-color-border,var(--accent))!important}.sm-item svg.sm-item-doc-icon{stroke:var(--sm-color,var(--accent))!important}.sm-item-title{color:var(--text-primary)}.sm-item-title:hover{color:var(--sm-color,var(--accent))!important}.sm-item-arrow{color:var(--text-tertiary)!important}.sm-item:hover .sm-item-arrow{color:var(--sm-color,var(--accent))!important}.sm-item:hover .sm-item-arrow-box{background:var(--sm-color-bg,rgba(77,141,245,.1))!important}.material-open-link{color:var(--sm-color,var(--accent))!important}.folder-materials-header svg{opacity:1;stroke:var(--sm-color,var(--accent))!important}.folder-mat-count{background:var(--sm-color-tag-bg,rgba(77,141,245,.1))!important}.folder-mat-add-btn,.folder-mat-count{color:var(--sm-color,var(--accent))!important}.folder-mat-add-btn:hover{background:var(--sm-color-bg,rgba(77,141,245,.06))!important}.fm-link:hover{color:var(--sm-color,var(--accent))!important}.fm-item svg{stroke:var(--sm-color,var(--accent))!important}.subjects-materials-body .sm-item:before{background:var(--sm-color-border)!important}body:not(.dark-mode) .sm-item:hover{background:rgba(0,0,0,.03)}body:not(.dark-mode) .sm-item-arrow-box{background:rgba(0,0,0,.04)}body:not(.dark-mode) .sm-item:hover .sm-item-arrow-box{background:rgba(59,125,232,.08)}body:not(.dark-mode) .folder-materials-section{background:rgba(0,0,0,.015);border-color:rgba(0,0,0,.06)}body:not(.dark-mode) .folder-materials-section:hover{border-color:rgba(0,0,0,.1)}body:not(.dark-mode) .fm-item:hover{background:rgba(0,0,0,.03)}body:not(.dark-mode) .fm-item:before{opacity:.4}body:not(.dark-mode) .fm-item:hover:before{opacity:.8}.library-page{margin:0 auto;max-width:1600px;min-height:calc(100vh - 60px);padding:24px;width:95%}.lib-layout{align-items:flex-start;display:flex;gap:32px}.lib-sidebar{background:transparent;border-right:1px solid var(--border-subtle);flex-shrink:0;padding-right:20px;transition:transform var(--transition);width:250px}.lib-main{flex:1;min-width:0}@media (max-width:768px){.library-page{padding:16px}.lib-layout{align-items:stretch;flex-direction:column;gap:16px}.lib-sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);box-shadow:4px 0 24px rgba(0,0,0,.2);height:100dvh;left:-280px;overflow-y:auto;padding:24px 20px;position:fixed;top:0;width:280px;z-index:1000}.lib-sidebar.open{transform:translateX(280px)}.lib-mobile-sidebar-btn{align-items:center;align-self:flex-start;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;margin-bottom:4px;padding:8px;width:fit-content}.lib-sidebar-overlay{backdrop-filter:blur(2px);background:rgba(0,0,0,.5);display:none;inset:0;opacity:0;position:fixed;transition:opacity var(--transition);z-index:999}.lib-sidebar-overlay.open{display:block;opacity:1}.lib-sidebar-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;display:block;padding:8px;position:absolute;right:16px;top:16px}.lib-toolbar{align-items:center;flex-direction:row;gap:12px}.lib-search-wrap{flex:1;max-width:none;width:auto}.lib-view-toggles{align-self:auto;flex-shrink:0}.lib-main-header{align-items:flex-end;flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:space-between}.lib-main-header-text{flex:1;width:auto}.lib-title{font-size:18px!important}.lib-count,.lib-title{text-align:left!important}.lib-stats{border-top:none;gap:16px;justify-content:flex-end;padding-top:0;width:auto}.lib-stat-item{align-items:center}.lib-add-doc-btn{justify-content:center;width:100%}.lib-docs-grid{grid-template-columns:1fr}}@media (min-width:769px){.lib-mobile-sidebar-btn{display:none}.lib-sidebar-overlay{display:none!important}.lib-sidebar-close{display:none}}@media (max-width:400px){.lib-doc-card,.library-page{padding:12px}}@media (max-width:480px){body.role-admin-or-ctv .main-nav{gap:8px!important}body.role-admin-or-ctv .nav-home,body.role-admin-or-ctv .nav-info,body.role-admin-or-ctv .nav-library{font-size:0!important;gap:0!important;justify-content:center;padding:6px 14px!important}body.role-admin-or-ctv .nav-home svg,body.role-admin-or-ctv .nav-info svg,body.role-admin-or-ctv .nav-library svg{height:18px!important;margin:0!important;width:18px!important}}.lib-sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;padding:0 4px}.lib-sidebar-title{font-size:11px;font-weight:700;gap:6px;letter-spacing:1px}.lib-admin-btn,.lib-sidebar-title{align-items:center;color:var(--text-tertiary);display:flex}.lib-admin-btn{background:transparent;border:none;border-radius:var(--radius-xs);cursor:pointer;justify-content:center;padding:4px;transition:all var(--transition)}.lib-admin-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.lib-subjects-list{display:flex;flex-direction:column;gap:2px}.lib-subject-item{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:13.5px;font-weight:500;gap:8px;justify-content:flex-start;padding:8px 12px;text-align:left;transition:all var(--transition);width:100%}.lib-subj-count{font-size:13px;font-weight:400;transition:color var(--transition)}.lib-subject-item.active{background:rgba(77,141,245,.1);border:1px solid rgba(77,141,245,.3);color:var(--accent);font-weight:600}.lib-subject-item.active .lib-subj-count{color:var(--accent);opacity:.8}body:not(.dark-mode) .lib-subject-item.active{background:rgba(77,141,245,.05);border-color:rgba(77,141,245,.2)}.lib-subject-item:hover{background:var(--bg-surface-hover)}.lib-main-header{align-items:flex-end;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:12px}.lib-title{font-size:24px;font-weight:600;margin-bottom:4px}.lib-count{color:var(--text-tertiary);font-size:13px}.lib-add-doc-btn{align-items:center;background:rgba(77,141,245,.1);border:1px solid rgba(77,141,245,.3);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all var(--transition)}.lib-add-doc-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.lib-docs-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.lib-doc-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;padding:16px 20px;position:relative;transition:all var(--transition)}body:not(.dark-mode) .lib-doc-card{background:var(--bg-surface);border:1px solid var(--border-subtle)}.lib-doc-card:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-2px)}body:not(.dark-mode) .lib-doc-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.lib-doc-icon{align-items:center;border-radius:8px;display:flex;height:32px;justify-content:center;margin-bottom:24px;width:32px}.lib-doc-main{display:flex;flex:1;flex-direction:column;gap:12px;margin-bottom:20px}.lib-doc-title{color:var(--text-primary);display:block;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none}.lib-doc-title:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.lib-doc-badge-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.lib-doc-tag{background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:11px;padding:2px 8px}.lib-doc-ext-long,.lib-doc-ext-short{color:var(--text-tertiary);font-size:11px}.lib-doc-ext-short{display:none}.lib-doc-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.05);display:flex;justify-content:space-between;padding-top:16px}body:not(.dark-mode) .lib-doc-footer{border-top:1px solid var(--border-subtle)}.lib-doc-date{color:var(--text-tertiary);font-size:12px}.lib-doc-admin-actions{display:flex;gap:4px;opacity:0;position:absolute;right:12px;top:12px;transition:opacity var(--transition);z-index:2}.lib-doc-card:hover .lib-doc-admin-actions{opacity:1}.lib-doc-admin-actions button{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;width:24px}.lib-doc-admin-actions button:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.lib-require-login{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(0,0,0,.7);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.lib-rl-card{align-items:center;animation:libRlPopIn .25s cubic-bezier(.34,1.12,.64,1);background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:16px;display:flex;flex-direction:column;gap:16px;max-width:420px;padding:32px 28px;text-align:center;width:100%}@keyframes libRlPopIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lib-rl-icon{color:var(--text-secondary)}.lib-rl-title{color:var(--text-primary);font-size:18px;font-weight:700;margin:0}.lib-rl-desc{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0}.lib-rl-contact{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;box-sizing:border-box;margin-top:4px;padding:14px;text-align:left;width:100%}.lib-rl-contact-label{color:var(--text-tertiary);font-size:12px;font-weight:600;letter-spacing:.05em;margin:0 0 8px;text-transform:uppercase}.lib-rl-contact-link{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:6px;text-decoration:none;transition:color var(--transition)}.lib-rl-contact-link:last-child{margin-bottom:0}.lib-rl-contact-link:hover{color:var(--accent)}.lib-rl-login-btn{align-items:center;background:var(--text-primary);border:none;border-radius:8px;color:var(--text-inverse);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;margin-top:4px;padding:10px 24px;transition:opacity var(--transition)}.lib-rl-login-btn:hover{opacity:.8}.lib-rl-back-btn{color:var(--text-tertiary);font-size:13px;font-weight:500;text-decoration:none;transition:color var(--transition)}.lib-rl-back-btn:hover{color:var(--text-primary)}body:not(.dark-mode) .lib-rl-login-btn{background:var(--accent);color:#fff}@media (max-width:480px){.lib-rl-card{border-radius:14px;gap:8px;padding:24px 20px}.lib-rl-title{font-size:17px}.lib-rl-desc{font-size:13px}.lib-rl-contact{padding:12px}.lib-rl-contact-link{font-size:13px}.lib-rl-login-btn{justify-content:center;padding:12px 20px;width:100%}}.admin-lib-subj-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.admin-ls-item{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;font-size:14px;justify-content:space-between;padding:8px 12px}.admin-ls-actions{display:flex;gap:6px}.admin-ls-actions button{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background var(--transition),color var(--transition)}.admin-ls-actions button:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.admin-ls-actions button.del:hover{color:var(--accent-red)}#libDocModal .admin-input,#libSubjectsModal .admin-input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;padding:8px 12px;transition:border-color var(--transition);width:100%}#libDocModal .admin-input:focus,#libSubjectsModal .admin-input:focus{border-color:var(--accent)}#libDocModal select.admin-input,#libSubjectsModal select.admin-input{appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%239d9da5" stroke-width="2.5"><polyline points="6 9 12 15 18 9"/></svg>');background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}#libDocModal .admin-btn,#libSubjectsModal .admin-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:opacity var(--transition);white-space:nowrap}#libDocModal .admin-btn:hover,#libSubjectsModal .admin-btn:hover{opacity:.85}#libDocModal .admin-btn:disabled,#libSubjectsModal .admin-btn:disabled{cursor:not-allowed;opacity:.5}#libDocModal .admin-btn-secondary,#libSubjectsModal .admin-btn-secondary{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:all var(--transition)}#libDocModal .admin-btn-secondary:hover,#libSubjectsModal .admin-btn-secondary:hover{background:var(--bg-surface-hover);color:var(--text-primary)}#libDocModal .modal-actions,#libSubjectsModal .modal-actions{display:flex;gap:8px;justify-content:flex-end}.modal{align-items:center;animation:modalFadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.6);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal .modal-content{animation:modalPopIn .25s cubic-bezier(.34,1.12,.64,1);background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.4);max-height:85vh;overflow-y:auto;padding:24px;width:100%}@keyframes modalPopIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.modal>.modal-content{position:relative}.lib-subj-dot{border-radius:50%;display:inline-block;height:10px;opacity:.8;transition:opacity var(--transition);width:10px}.lib-subject-item.active .lib-subj-dot{box-shadow:0 0 6px var(--lib-subj-active-color,var(--accent));opacity:1}.lib-subj-count{background:var(--bg-page);border-radius:999px;color:var(--text-tertiary);font-size:11px;padding:1px 6px}.lib-subject-item:hover .lib-subj-count{background:var(--bg-surface)}.lib-subject-item.active{background:hsla(0,0%,100%,.04)}body:not(.dark-mode) .lib-subject-item.active{background:rgba(0,0,0,.03)}.lib-toolbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.lib-search-wrap{flex:1;max-width:400px;position:relative}.lib-search-icon{color:var(--text-tertiary);left:12px;position:absolute;top:50%;transform:translateY(-50%)}.lib-search-input{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;padding:10px 12px 10px 36px;transition:border-color var(--transition);width:100%}.lib-search-input:focus{border-color:var(--accent)}.lib-view-toggles{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px;display:flex;gap:2px;padding:4px}body:not(.dark-mode) .lib-view-toggles{background:rgba(0,0,0,.04)}.lib-view-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:6px 14px;transition:all .25s cubic-bezier(.16,1,.3,1)}.lib-view-btn:hover{color:var(--text-secondary)}.lib-view-btn.active{background:var(--bg-elevated);border:1px solid hsla(0,0%,100%,.05);box-shadow:0 2px 10px rgba(0,0,0,.2);color:var(--accent)}body:not(.dark-mode) .lib-view-btn.active{background:#fff;border-color:transparent;box-shadow:0 1px 4px rgba(0,0,0,.1)}.lib-stats{display:flex;gap:24px}.lib-stat-item{align-items:center;display:flex;flex-direction:column}.lib-stat-num{color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.1}.lib-stat-label{color:var(--text-tertiary);font-size:11px;margin-top:4px}.lib-docs-list{border:none;border-radius:0;display:flex;flex-direction:column;gap:8px;overflow:visible}.lib-docs-list .lib-doc-card{flex-direction:column;gap:8px;padding:16px 20px}.lib-docs-list .lib-doc-icon{display:none}.lib-docs-list .lib-doc-main{gap:6px;margin-bottom:0}.lib-docs-list .lib-doc-title{font-size:15px;margin-bottom:0}.lib-docs-list .lib-doc-badge-row{gap:12px;width:100%}.lib-docs-list .lib-doc-footer,.lib-list-only{display:none}.lib-docs-list .lib-list-only{display:block}.lib-empty-state{align-items:center;background:transparent;border:1px dashed var(--border-medium);border-radius:var(--radius-md);color:var(--text-tertiary);display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:60px 20px}.lib-empty-state svg{margin-bottom:12px;opacity:.5}.lib-empty-state p{font-size:14px}.lib-color-picker{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;height:38px;padding:0;width:44px}.lib-color-picker::-webkit-color-swatch-wrapper{padding:2px}.lib-color-picker::-webkit-color-swatch{border:none;border-radius:4px}.lib-color-picker-sm{background:none;border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;height:24px;padding:0;width:24px}.lib-color-picker-sm::-webkit-color-swatch-wrapper{padding:1px}.lib-color-picker-sm::-webkit-color-swatch{border:none;border-radius:3px}.chat-emoji-btn{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;padding:0;transition:background .2s,color .2s;width:32px}.chat-emoji-btn:hover{background:var(--bg-elevated);color:var(--accent)}.chat-emoji-picker{backdrop-filter:blur(10px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;bottom:calc(100% + 5px);box-shadow:0 4px 12px rgba(0,0,0,.3);display:flex;flex-wrap:wrap;left:10px;max-height:200px;max-width:calc(100vw - 20px);overflow-y:auto;padding:8px;position:absolute;width:260px;z-index:100}.emoji-item{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;font-size:20px;justify-content:center;padding:4px;transition:background .1s;user-select:none}.emoji-item:hover{background:hsla(0,0%,100%,.1)}body:not(.dark-mode) .emoji-item:hover{background:rgba(0,0,0,.05)}.editor-payout-tabs{margin-top:20px}.ep-tab{border-bottom:2px solid transparent;color:var(--text-tertiary);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.ep-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.admin-stat-card{border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px}.ew-stats-grid{display:flex;gap:16px;margin-bottom:24px}.ew-card{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:1.5em;color:var(--text-primary);flex:1;min-height:160px;overflow:hidden;padding:1.5em;position:relative;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}.ew-card:before{background:linear-gradient(135deg,rgba(252,211,77,.1),transparent);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .4s ease}.ew-card:hover:before{opacity:1}.ew-card.yellow{border-color:rgba(252,211,77,.3)}.ew-card.yellow .ew-card-value{color:var(--accent-amber)}.ew-card.green{border-color:rgba(110,231,183,.3)}.ew-card.green .ew-card-value{color:var(--accent-green)}.ew-card.green:before{background:linear-gradient(135deg,rgba(110,231,183,.1),transparent)}.ew-card .ew-card-content{display:flex;flex-direction:column;height:100%;justify-content:space-between;position:relative;transition:transform .4s ease;z-index:2}.ew-card-bottom,.ew-card-top{align-items:flex-end;display:flex;justify-content:space-between}.ew-card-title{font-size:1.2em;font-weight:800;opacity:.5}.ew-card-label{font-size:14px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.ew-card-value{font-size:2.2em;font-weight:900;line-height:1;margin:0}.ew-card-bottom p{font-size:13px;font-weight:700;margin:0;opacity:.7}.ew-card-image{display:grid;height:100%;left:0;opacity:.12;place-items:center;pointer-events:none;position:absolute;top:0;width:100%}.ew-card-image svg{height:6em;transition:transform .4s ease;width:6em}.ew-card:hover{box-shadow:0 10px 25px rgba(0,0,0,.1);cursor:pointer;transform:translateY(-5px)}.ew-card:active{transform:scale(.95)}.ew-card:hover .ew-card-image svg{transform:scale(1.15) rotate(-8deg)}@media (max-width:768px){.admin-page.editor-workstation-section{padding-left:10px!important;padding-right:10px!important}.ew-stats-grid{flex-direction:column;gap:12px}.ew-card{border-radius:1.5em;min-height:140px;padding:1.25em}.ew-card-value{font-size:1.8em}}.batch-edit-btn{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;transition:all var(--transition)}.batch-edit-btn:hover{background:var(--bg-surface-hover);border-color:var(--accent)}.batch-editor-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 20px 50px rgba(0,0,0,.5);display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;width:95vw}.batch-editor-header{align-items:center;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:16px 24px}.batch-editor-subtitle{color:var(--text-tertiary);display:block;font-size:12px;margin-top:2px}.batch-editor-header-actions{align-items:center;display:flex;gap:12px}.save-batch-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:opacity .2s}.save-batch-btn:hover{opacity:.9}.batch-editor-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:20px}.batch-editor-body{display:flex;flex:1;flex-direction:column;overflow:hidden}.batch-editor-loader{color:var(--text-tertiary);padding:40px;text-align:center}.batch-editor-table-wrap{flex:1;overflow:auto}.batch-editor-table{border-collapse:collapse;font-size:13px;width:100%}.batch-editor-table th{background:var(--bg-elevated);border-bottom:2px solid var(--border-medium);color:var(--text-secondary);font-weight:600;padding:12px 16px;text-align:left}.batch-editor-table td{border-bottom:1px solid var(--border-subtle);padding:8px 12px;vertical-align:top}.batch-editor-table tr:hover{background:hsla(0,0%,100%,.02)}.batch-editor-input{background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--text-primary);font-family:inherit;font-size:inherit;padding:6px 8px;transition:all .2s;width:100%}.batch-editor-input:focus{background:var(--bg-page);border-color:var(--accent);outline:none}.batch-editor-textarea{background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--text-primary);font-family:inherit;font-size:12px;min-height:60px;padding:6px 8px;resize:vertical;transition:all .2s;width:100%}.batch-editor-textarea:focus{background:var(--bg-page);border-color:var(--accent);outline:none}.chapter-bulk-add-btn{align-items:center;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;height:24px;justify-content:center;margin-left:8px;transition:all .2s;width:24px}.chapter-bulk-add-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}@media (max-width:768px){#driveExplorerWidget,#openBatchEditorBtn,.btn-bulk-add{display:none!important}}#driveExplorerWidget{background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.5);display:flex;flex-direction:column;font-family:var(--font-main);max-height:520px;overflow:hidden;position:fixed;right:20px;top:80px;transition:opacity .1s;user-select:none;width:360px;z-index:10001}body:not(.dark-mode) #driveExplorerWidget{background:#fff;border-color:#ddd;box-shadow:0 4px 15px rgba(0,0,0,.1)}#driveExplorerWidget.drive-explorer-minimized{background:var(--accent);border-radius:50%;cursor:pointer;height:48px;width:48px}#driveExplorerWidget.drive-explorer-minimized .db-exp-header{background:transparent;border:none;color:#fff;height:100%;justify-content:center;padding:0}#driveExplorerWidget.drive-explorer-minimized #dbExpDriveHeaderExtra,#driveExplorerWidget.drive-explorer-minimized .db-exp-body,#driveExplorerWidget.drive-explorer-minimized .db-exp-mode-toggle,#driveExplorerWidget.drive-explorer-minimized .db-exp-tabs{display:none!important}.db-exp-mode-toggle{background:hsla(0,0%,100%,.05);border-radius:12px;gap:4px;margin-right:10px;padding:3px}.db-exp-mode-toggle,.mode-btn{align-items:center;display:flex;flex:1}.mode-btn{background:transparent;border:none;border-radius:9px;color:var(--text-tertiary);cursor:pointer;font-size:11px;font-weight:600;gap:6px;justify-content:center;padding:6px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.db-exp-body{min-height:0;overflow-x:hidden;overflow-y:auto}.db-exp-list{display:flex;flex-direction:column;gap:2px}.mode-btn svg{opacity:.6}.mode-btn.active{background:var(--bg-card);box-shadow:0 4px 10px rgba(0,0,0,.2)}.mode-btn[data-mode=drive].active,.mode-btn[data-mode=drive]:hover:not(.active){color:#4285f4}.mode-btn[data-mode=b2].active,.mode-btn[data-mode=b2]:hover:not(.active){color:#f38020}.mode-btn.active svg{opacity:1}.mode-btn:hover:not(.active){background:hsla(0,0%,100%,.08)}#dbExpR2View{box-sizing:border-box;width:100%}.r2-sync-box{animation:fadeInSlideUp .3s ease;display:flex;flex-direction:column;gap:12px;width:100%}.r2-sync-box input,.r2-sync-box textarea{box-sizing:border-box;width:100%}#r2ScanBtn:hover{background:rgba(243,128,32,.2)!important}#r2SyncNowBtn:hover{box-shadow:0 6px 20px rgba(243,128,32,.4);transform:translateY(-2px)}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#driveExplorerWidget.drive-explorer-minimized #dbExpMinimize{align-items:center;background:none;color:#fff;display:flex;height:100%;justify-content:center;padding:0;pointer-events:none;width:100%}.db-exp-header{align-items:center;border-bottom:1px solid #333;cursor:grab;display:flex;justify-content:space-between;padding:10px 14px}body:not(.dark-mode) .db-exp-header{border-bottom-color:#eee}.db-exp-header:active{cursor:grabbing}.db-exp-title{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:700;gap:8px}body:not(.dark-mode) .db-exp-title{color:#000}#dbExpMinimize{align-items:center;background:#333;border:none;border-radius:6px;color:#ccc;cursor:pointer;display:flex;padding:5px}body:not(.dark-mode) #dbExpMinimize{background:#eee;color:#666}#dbExpMinimize:hover{background:var(--accent);color:#fff}.db-exp-tabs{background:#111;border-radius:8px;display:flex;gap:3px;margin:12px;padding:3px}body:not(.dark-mode) .db-exp-tabs{background:#f0f0f0}.db-exp-tab{align-items:center;background:none;border:none;border-radius:6px;color:#888;cursor:pointer;display:flex;flex:1;font-size:12px;font-weight:700;gap:6px;justify-content:center;padding:7px}.db-exp-tab.active{background:#2a2a2a;color:var(--accent)}body:not(.dark-mode) .db-exp-tab.active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.db-exp-search-bar{align-items:center;background:#222;border:1px solid #333;border-radius:8px;display:flex;margin:0 12px 10px;padding:0 10px;transition:all .2s}body:not(.dark-mode) .db-exp-search-bar{background:#f5f5f5;border-color:#ddd}.db-exp-search-bar:focus-within{background:#2a2a2a;border-color:var(--accent)}body:not(.dark-mode) .db-exp-search-bar:focus-within{background:#fff;border-color:var(--accent)}.db-exp-search-bar label{align-items:center;color:#666;display:flex;margin-right:8px}#dbExpSearchInput{background:none;border:none;color:#fff;flex:1;font-family:inherit;font-size:13px;outline:none!important;padding:8px 0}body:not(.dark-mode) #dbExpSearchInput{color:#000}#dbExpSearchInput::placeholder{color:#555}#dbExpMagicLink{align-items:center;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;margin-left:6px;opacity:.8;transition:all .2s;width:26px}#dbExpMagicLink:hover{opacity:1;transform:scale(1.05)}#dbExpMagicLink svg{stroke:#fff}.db-exp-body{display:flex;flex:1;flex-direction:column;height:280px}.db-exp-breadcrumb{color:#666;font-size:11px;font-weight:600;padding:0 14px 8px}.db-breadcrumb-item.back{color:var(--accent);cursor:pointer}.db-exp-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:8px}.db-exp-list::-webkit-scrollbar{width:4px}.db-exp-list::-webkit-scrollbar-thumb{background:#333}.db-exp-item{align-items:center;color:#bbb;cursor:default;display:flex;font-size:13px;gap:12px;padding:10px 16px}body:not(.dark-mode) .db-exp-item{color:#444}.db-exp-item:hover{background:#222;color:#fff}body:not(.dark-mode) .db-exp-item:hover{background:#f9f9f9;color:#000}.db-exp-item.is-folder{cursor:pointer}.db-item-icon{color:#555;flex-shrink:0}.db-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-item-copy{background:none;border:none;color:#555;cursor:pointer;opacity:0;padding:4px}.db-exp-item:hover .db-item-copy{opacity:1}.db-item-copy:hover{color:var(--accent)}.db-exp-empty,.db-exp-error,.db-exp-loading{color:#666;font-size:13px;padding:40px 14px;text-align:center}.db-exp-error{color:#ff5f5f}body.is-dragging-widget{user-select:none!important;-webkit-user-select:none!important}body.is-dragging-widget,body.is-dragging-widget *{cursor:grabbing!important}.gm-course-option.multi-selected{background:rgba(10,122,80,.1);border-left:2px solid var(--accent-green)}.gm-course-option.multi-selected span{color:var(--accent-green);font-weight:600}.bulk-badge{cursor:pointer;transition:.2s ease;user-select:none}.bulk-badge:hover{filter:brightness(1.1)}.bulk-row-expanded .bulk-badge{background:var(--accent);color:#fff}.bulk-sub-row{background:var(--bg-secondary)}.bulk-sub-row td{border-bottom:1px dashed var(--border-medium)}.bulk-sub-row td:first-child{padding-left:40px;position:relative}.bulk-sub-row td:first-child:before{border-bottom:2px solid var(--border-medium);border-bottom-left-radius:4px;border-left:2px solid var(--border-medium);bottom:50%;content:"";left:18px;position:absolute;top:-50%;width:12px}.student-sheet-actions{align-items:center;display:flex;gap:10px}.sheet-view-btn{align-items:center;background:rgba(77,141,245,.08);border:1px solid rgba(77,141,245,.25);border-radius:20px;color:var(--accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:7px;overflow:hidden;padding:8px 18px;position:relative;transition:all .25s ease}.sheet-view-btn:before{background:rgba(77,141,245,.12);content:"";inset:0;opacity:0;position:absolute;transition:opacity .25s ease}.sheet-view-btn:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(77,141,245,.2);transform:translateY(-1px)}.sheet-view-btn:hover:before{opacity:1}.sheet-view-btn:active{transform:translateY(0)}.sheet-view-btn svg{position:relative;z-index:1}.sheet-view-card{animation:svSlideUp .3s ease;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:16px;display:flex;flex-direction:column;max-height:92vh;max-width:1400px;overflow:hidden;width:95vw}@keyframes svSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sheet-view-header{align-items:center;background:rgba(77,141,245,.03);border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:18px 22px}.sheet-view-title-row{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.sheet-view-title-row h3{align-items:center;color:var(--text-primary);display:flex;font-size:17px;font-weight:700;margin:0;white-space:nowrap}.sheet-view-subtitle{color:var(--text-tertiary);font-size:12px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-view-header-right{align-items:center;display:flex;flex-shrink:0;gap:14px}.sheet-view-stats{color:var(--text-secondary);font-size:12px;font-weight:500;white-space:nowrap}.sv-stats-watched{color:#22c55e;font-weight:700}.sv-stats-total{color:var(--text-primary);font-weight:700}.sheet-view-close{align-items:center;background:transparent;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.sheet-view-close:hover{background:var(--bg-surface-hover);border-color:var(--border-medium);color:var(--text-primary)}.sheet-view-body{flex:1;min-height:0;overflow-y:auto}.sheet-view-loader{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;font-size:13px;gap:12px;justify-content:center;min-height:400px;padding:60px 20px}.sv-loader-spinner{animation:svSpin .7s linear infinite;border:3px solid var(--border-medium);border-radius:50%;border-top-color:var(--accent);height:28px;width:28px}@keyframes svSpin{to{transform:rotate(1turn)}}.sheet-view-table-wrap{overflow-x:auto}.sheet-view-table{border-collapse:collapse;font-size:13px;table-layout:fixed;width:100%}.sheet-view-table thead th{background:var(--bg-item,var(--bg-elevated));border-bottom:2px solid var(--border-medium);color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.sv-th-stt{text-align:center!important;width:5%}.sv-th-title{width:35%}.sv-th-watch{text-align:center!important;width:12%}.sv-chapter-row td{background:rgba(77,141,245,.05);border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-medium)}.sv-chapter-title{color:var(--text-primary);font-size:14px;font-weight:700;overflow:hidden;padding:10px 14px!important;text-overflow:ellipsis;white-space:normal;word-break:break-word}.sv-lesson-row{transition:background .15s ease}.sv-lesson-row td{border-bottom:1px solid var(--border-subtle);padding:8px 12px;vertical-align:middle}.sv-lesson-row:hover{background:rgba(77,141,245,.03)}.sv-lesson-row:last-child td{border-bottom:none}.sv-row-watched td{background:rgba(34,197,94,.03)}.sv-row-watched:hover td{background:rgba(34,197,94,.06)}.sv-stt{color:var(--text-tertiary);font-size:12px;font-weight:500;text-align:center;width:48px}.sv-title-cell{max-width:360px;min-width:200px;overflow:hidden}.sv-title-main{align-items:center;display:flex;gap:8px;overflow:hidden}.sv-lesson-name{color:var(--text-primary);display:inline-block;font-weight:500}.sv-duration{color:var(--text-tertiary);flex-shrink:0;font-size:11px;white-space:nowrap}.sv-folder-tag{align-items:center;background:rgba(167,139,250,.1);border-radius:10px;color:#a78bfa;display:inline-flex;font-size:10px;gap:3px;margin-top:3px;padding:2px 8px}.sv-materials-cell{min-width:160px;position:relative}.sv-file-chips{display:flex;flex-wrap:wrap;gap:5px}.sv-file-chip{align-items:center;background:rgba(77,141,245,.08);border:1px solid rgba(77,141,245,.12);border-radius:8px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:11px;font-weight:500;gap:5px;max-width:180px;padding:4px 10px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.sv-file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-file-chip svg{flex-shrink:0;opacity:.7}.sv-file-chip:hover{background:rgba(77,141,245,.16);border-color:rgba(77,141,245,.3);box-shadow:0 2px 8px rgba(77,141,245,.15);color:var(--accent);transform:translateY(-1px)}.sv-no-file{color:var(--text-tertiary);font-size:12px;opacity:.5}.sv-watch-cell{text-align:center;width:110px}.sv-watch-btn{align-items:center;border:none;border-radius:16px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:5px;padding:5px 14px;transition:all .2s ease;white-space:nowrap}.sv-unwatched{background:rgba(77,141,245,.12);border:1px solid rgba(77,141,245,.2);color:var(--accent)}.sv-unwatched:hover{background:var(--accent);box-shadow:0 3px 12px rgba(77,141,245,.3);color:#fff;transform:translateY(-1px)}.sv-watched{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.2);color:#22c55e}.sv-watched:hover{background:#22c55e;box-shadow:0 3px 12px rgba(34,197,94,.3);color:#fff;transform:translateY(-1px)}body:not(.dark-mode) .sheet-view-card{box-shadow:0 8px 40px rgba(0,0,0,.12)}body:not(.dark-mode) .sv-chapter-row td{background:rgba(77,141,245,.06)}body:not(.dark-mode) .sv-row-watched td{background:rgba(34,197,94,.04)}body:not(.dark-mode) .sheet-view-btn{background:rgba(77,141,245,.06)}@media (max-width:768px){.sheet-view-card{border-radius:14px 14px 0 0;margin-bottom:-20px;margin-top:auto;max-height:95dvh;max-width:100%;padding-bottom:env(safe-area-inset-bottom)}.sheet-view-header{flex-wrap:wrap;gap:8px;padding:14px 16px}.sheet-view-title-row h3{font-size:15px}.sheet-view-stats{font-size:11px}.sv-lesson-name{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;max-width:250px;-webkit-box-orient:vertical;line-height:1.4;overflow:hidden;white-space:normal}.sv-file-chip{font-size:10px;max-width:none;padding:3px 8px}.sv-watch-btn{font-size:11px;padding:4px 10px}.sv-th-materials{min-width:220px;width:auto}.sv-th-stt{width:40px}.sv-th-title{width:35%}.sv-th-watch{width:100px}.sheet-view-table{min-width:750px}.sheet-view-table thead th{font-size:10px;padding:8px}.sv-lesson-row td{padding:6px 8px}.sv-chapter-title{font-size:13px;padding:8px 10px!important}.sheet-view-btn{font-size:12px;padding:6px 14px}}@media (max-width:480px){.sv-lesson-name{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;max-width:220px;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;overflow:hidden;white-space:normal}.sv-th-stt{width:35px}.sv-file-chip{max-width:none}.sv-stt{font-size:11px;width:32px}.sv-duration{display:none}.sv-folder-tag{font-size:9px}}.hero-banner-wrapper{border-radius:var(--radius-xl);margin-bottom:24px;overflow:hidden;position:relative;width:100%}#heroSwiper{height:auto;width:100%}.swiper-slide .hero-banner-inner{align-items:center;background:#111114;box-sizing:border-box;display:flex;gap:32px;height:100%;justify-content:space-between;padding:44px 48px;text-align:left}body:not(.dark-mode) .swiper-slide .hero-banner-inner{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.04);box-sizing:border-box;height:100%}.hero-banner-text{align-items:flex-start;display:flex;flex:1;flex-direction:column;gap:14px}.hero-banner-image-container{align-items:center;background:hsla(0,0%,100%,.02);border-radius:var(--radius-lg);display:flex;flex-shrink:0;height:180px;justify-content:center;overflow:hidden;width:180px}body:not(.dark-mode) .hero-banner-image-container{background:rgba(0,0,0,.02)}.hero-banner-image-container img{height:100%;object-fit:cover;width:100%}.hero-banner-image-container .hero-fallback-icon{color:var(--text-tertiary);height:64px;width:64px}@media (max-width:768px){.hero-banner-wrapper{margin-bottom:8px!important}.swiper-slide .hero-banner-inner{align-items:center!important;flex-direction:row!important;gap:12px!important;justify-content:space-between!important;padding:20px 20px 36px!important;text-align:left!important}.hero-banner-text{align-items:flex-start!important;flex:1;gap:6px!important;text-align:left!important}.hero-banner-title{font-size:16px!important;line-height:1.3!important}.hero-banner-subtitle{display:-webkit-box;font-size:11px!important;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-banner-image-container{height:80px!important;width:80px!important}.hero-cta-btn{font-size:11px!important;padding:6px 12px!important;white-space:nowrap}.hero-banner-inner[style*=center],.hero-banner-inner[style*=center] .hero-banner-text{align-items:center!important;justify-content:center!important;text-align:center!important}}.swiper-pagination-bullet{background:hsla(0,0%,100%,.5)}.swiper-pagination-bullet-active{background:#4d8df5}body:not(.dark-mode) .swiper-pagination-bullet{background:rgba(0,0,0,.3)}body:not(.dark-mode) .swiper-pagination-bullet-active{background:#2563eb}.swiper-button-next,.swiper-button-prev{color:#4d8df5;opacity:0;transform:scale(.6);transition:opacity .2s}.hero-banner-wrapper:hover .swiper-button-next,.hero-banner-wrapper:hover .swiper-button-prev{opacity:1}#heroSwiper .swiper-slide{height:auto}.swiper-pagination-bullet{background:hsla(0,0%,100%,.4)!important;border:1px solid hsla(0,0%,100%,.1);height:10px!important;opacity:1!important;transition:all .3s ease;width:10px!important}.swiper-pagination-bullet-active{border-radius:5px!important;box-shadow:0 0 10px rgba(77,141,245,.5);width:24px!important}body:not(.dark-mode) .swiper-pagination-bullet{background:rgba(0,0,0,.2)!important;border:1px solid rgba(0,0,0,.05)}body:not(.dark-mode) .swiper-pagination-bullet-active{box-shadow:0 0 10px rgba(37,99,235,.3)}.swiper-pagination-bullet{background:#fff!important;border:none!important;box-shadow:none!important;height:7px!important;opacity:.3!important;width:7px!important}.swiper-pagination-bullet-active{background:#4d8df5!important;border-radius:50%!important;opacity:1!important;width:7px!important}body:not(.dark-mode) .swiper-pagination-bullet{background:#000!important;opacity:.2!important}body:not(.dark-mode) .swiper-pagination-bullet-active{background:#2563eb!important;opacity:1!important}@media (min-width:769px){.hero-banner-wrapper{margin-bottom:12px!important}.swiper-slide .hero-banner-inner{padding:32px 48px 36px!important}.hero-banner-text{gap:6px!important}.hero-banner-actions{margin-top:8px!important}.hero-banner-wrapper{margin-bottom:4px!important}}.text-marquee{margin-top:0!important}.vip-page{display:flex;flex-direction:column;gap:48px;margin:0 auto;max-width:900px;padding:20px 16px 56px}.vip-hero{background:linear-gradient(135deg,#1a1510,#1f1a12,#111114);border:1px solid rgba(245,166,35,.12);border-radius:var(--radius-xl);overflow:hidden;padding:56px 32px 48px;position:relative;text-align:center}body:not(.dark-mode) .vip-hero{background:linear-gradient(135deg,#fefbf3,#fef9ed,#fff);border:1px solid rgba(245,166,35,.15)}.vip-hero-glow{background:radial-gradient(circle,rgba(245,166,35,.12),transparent 70%);height:400px;left:50%;pointer-events:none;position:absolute;top:-60%;transform:translateX(-50%);width:400px}.vip-hero-inner{align-items:center;display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.vip-hero-badge{align-items:center;background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.2);border-radius:20px;color:#f5a623;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.08em;padding:6px 16px;text-transform:uppercase}.vip-hero-title{color:#f0f0f3;font-size:32px;font-weight:900;line-height:1.3}body:not(.dark-mode) .vip-hero-title{color:#111114}.vip-gold-text{background:linear-gradient(135deg,#f5a623,#f7d063);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.vip-hero-subtitle{color:#7a7a85;font-size:15px;line-height:1.6;max-width:520px}.vip-section-title{color:var(--text-primary);font-size:22px;font-weight:800;margin-bottom:8px;text-align:center}.vip-section-sub{color:var(--text-tertiary);font-size:14px;margin-bottom:24px;text-align:center}.vip-benefits-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}@media (max-width:600px){.vip-benefits-grid{grid-template-columns:1fr}.vip-hero-title{font-size:24px}.vip-hero{padding:36px 18px 32px}}.vip-benefit-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:10px;padding:24px 20px;transition:border-color .2s,transform .2s}.vip-benefit-card:hover{border-color:rgba(245,166,35,.25);transform:translateY(-2px)}.vip-benefit-icon{align-items:center;background:rgba(245,166,35,.1);border-radius:var(--radius-md);color:#f5a623;display:flex;height:44px;justify-content:center;width:44px}.vip-benefit-card h3{color:var(--text-primary);font-size:15px;font-weight:700}.vip-benefit-card p{color:var(--text-secondary);font-size:13px;line-height:1.5}.vip-plans-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.vip-plan-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:6px;padding:28px 24px 24px;position:relative;transition:border-color .3s,box-shadow .3s}.vip-plan-card:hover{border-color:rgba(245,166,35,.3)}.vip-plan-popular{border-color:rgba(245,166,35,.35);box-shadow:0 0 24px rgba(245,166,35,.08)}.vip-popular-tag{background:linear-gradient(135deg,#f5a623,#f7d063);border-radius:0 0 8px 8px;color:#1a1a1f;font-size:10px;font-weight:700;letter-spacing:.05em;padding:4px 12px;position:absolute;right:20px;top:-1px}.vip-plan-category{color:#f5a623;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.vip-plan-name{color:var(--text-primary);font-size:20px;font-weight:800}.vip-plan-price{color:#f5a623;font-size:28px;font-weight:900;margin:4px 0}.vip-plan-original{color:var(--text-tertiary);font-size:14px;margin-top:-4px;text-decoration:line-through}.vip-plan-features{display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0 16px;padding:0}.vip-plan-features li{color:var(--text-secondary);font-size:13px;line-height:1.5}.vip-plan-cta{align-items:center;background:linear-gradient(135deg,#f5a623,#f7d063);border-radius:12px;color:#1a1a1f;display:flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;margin-top:auto;padding:13px 24px;text-decoration:none;transition:opacity .2s,transform .2s}.vip-plan-cta:hover{opacity:.9;transform:translateY(-1px)}.vip-plan-skeleton{min-height:300px}.vip-faq-list{display:flex;flex-direction:column;gap:8px}.vip-faq-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.vip-faq-item summary{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:space-between;list-style:none;padding:16px 20px}.vip-faq-item summary::-webkit-details-marker{display:none}.vip-faq-item summary:after{color:var(--text-tertiary);content:"+";font-size:18px;transition:transform .2s}.vip-faq-item[open] summary:after{content:"-"}.vip-faq-item p{color:var(--text-secondary);font-size:13px;line-height:1.6;padding:0 20px 16px}.vip-header-tag{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;font-weight:700;gap:3px;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.chat-msg-badge.vip,.vip-header-tag{background:linear-gradient(135deg,#f5a623,#f7d063);color:#1a1a1f}.chat-msg-badge.vip{font-weight:600}.vip-title-gold{background:linear-gradient(135deg,#f5a623,#f7d063);-webkit-background-clip:text;background-clip:text;font-size:28px;margin-bottom:-20px;text-align:center;-webkit-text-fill-color:transparent;color:transparent}.mobile-hamburger{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:none;flex-shrink:0;height:38px;justify-content:center;padding:0;transition:background var(--transition),color var(--transition);width:38px}.mobile-hamburger:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.mobile-hamburger svg{height:22px;width:22px}.nav-drawer-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.5);inset:0;opacity:0;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:10001}.nav-drawer-overlay.open{opacity:1;visibility:visible}.nav-drawer{background:var(--bg-surface);border-right:1px solid var(--border-subtle);bottom:0;box-shadow:none;display:flex;flex-direction:column;left:0;max-width:85vw;overflow-y:auto;overscroll-behavior:contain;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;width:280px;z-index:10002}.nav-drawer.open{box-shadow:var(--shadow-xl);transform:translateX(0)}.nav-drawer-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.nav-drawer-logo{align-items:center;display:flex;gap:10px;text-decoration:none}.nav-drawer-logo img{border-radius:var(--radius-sm);height:36px;object-fit:cover;width:36px}.nav-drawer-logo span{color:var(--text-primary);font-size:15px;font-weight:700}.nav-drawer-close{align-items:center;background:var(--bg-elevated);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:background var(--transition),color var(--transition);width:32px}.nav-drawer-close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.nav-drawer-links{display:flex;flex:1;flex-direction:column;gap:2px;padding:12px}.nav-drawer-link{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 14px;text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-drawer-link:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.nav-drawer-link.active{background:rgba(77,141,245,.1);color:var(--text-primary);font-weight:600}.nav-drawer-link svg{color:inherit;flex-shrink:0;height:18px;width:18px}.nav-drawer-sep{background:var(--border-subtle);height:1px;margin:8px 14px}.nav-drawer-footer{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;gap:2px;padding:12px 12px 16px}.nav-drawer-theme-row{border-radius:var(--radius-md);font-size:14px;font-weight:500;justify-content:space-between;padding:10px 14px}.nav-drawer-theme-btn,.nav-drawer-theme-row{align-items:center;color:var(--text-secondary);display:flex}.nav-drawer-theme-btn{background:var(--bg-elevated);border:none;border-radius:var(--radius-sm);cursor:pointer;height:36px;justify-content:center;transition:background var(--transition),color var(--transition);width:36px}.nav-drawer-theme-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.nav-drawer-user{align-items:center;border-radius:var(--radius-md);display:flex;gap:10px;padding:10px 14px}.nav-drawer-user img{border-radius:var(--radius-sm);height:32px;object-fit:cover;width:32px}.nav-drawer-user-info{flex:1;min-width:0}.nav-drawer-user-name{color:var(--text-primary);font-size:13px;font-weight:600}.nav-drawer-user-email,.nav-drawer-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-drawer-user-email{color:var(--text-tertiary);font-size:11px}.nav-drawer-login-btn{align-items:center;background:var(--text-primary);border:none;border-radius:var(--radius-md);color:var(--text-inverse);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:11px 14px;transition:opacity var(--transition);width:100%}.nav-drawer-login-btn:hover{opacity:.88}.nav-drawer-logout-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--accent-red,#e24b4a);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:8px;padding:10px 14px;transition:background var(--transition);width:100%}.nav-drawer-logout-btn:hover{background:var(--bg-surface-hover)}@media (max-width:768px){.mobile-hamburger{display:flex}.logo-wrap .logo-img,.top-bar>.logo-img{display:none!important}.top-bar{gap:12px!important;height:56px!important;margin-top:env(safe-area-inset-top,0)!important;padding:0 12px!important}.logo-wrap,.top-bar{justify-content:flex-start!important}.logo-wrap{flex:0 0 auto!important;gap:4px!important;position:static!important;transform:none!important;width:auto!important}.logo-wrap,.logo-wrap>span{margin:0!important}.top-right{display:flex!important;flex:1!important;justify-content:flex-end!important;margin-left:0!important}.top-bar .main-nav{display:none!important}.top-bar .user-name{display:none}.swiper-button-next,.swiper-button-prev{display:none!important}}.nav-drawer-course-link{align-items:center;background:rgba(77,141,245,.06);border-radius:var(--radius-sm);color:var(--accent);display:flex;font-size:13px;font-weight:600;gap:8px;margin-top:-2px;max-width:100%;overflow:hidden;padding:10px 14px 10px 44px;text-decoration:none;text-overflow:ellipsis;transition:background var(--transition);white-space:nowrap}.nav-drawer-course-link:hover{background:rgba(77,141,245,.12)}.nav-drawer-course-link svg{color:var(--text-tertiary);flex-shrink:0;height:12px;width:12px}body:not(.dark-mode) .nav-drawer{background:#fff;border-right-color:rgba(0,0,0,.08)}body:not(.dark-mode) .nav-drawer-header{border-bottom-color:rgba(0,0,0,.08)}body:not(.dark-mode) .nav-drawer-close{background:#f0f0f2}body:not(.dark-mode) .nav-drawer-link:hover{background:#f5f5f7}body:not(.dark-mode) .nav-drawer-link.active{background:rgba(77,141,245,.08)}.coin-dropdown-item{align-items:center;display:flex!important;gap:8px;position:relative;text-decoration:none!important}.coin-dropdown-icon{align-items:center;display:inline-flex;font-size:18px;height:18px;justify-content:center;line-height:1;width:18px}.coin-dropdown-label{color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.coin-dropdown-value{align-items:center;background:linear-gradient(135deg,rgba(245,166,35,.15),rgba(247,208,99,.12));border-radius:12px;color:#f5a623;display:inline-flex;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;justify-content:center;min-width:32px;padding:2px 10px}.store-page{margin:0 auto;max-width:960px;padding:24px 16px 56px}.store-loading{color:var(--text-tertiary);flex-direction:column;font-size:14px;gap:12px}.store-loading,.store-login-required{align-items:center;display:flex;padding:80px 20px}.store-login-required{color:var(--text-secondary);font-size:15px;justify-content:center}.store-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.store-header-info{flex:1}.store-title{color:var(--text-primary);font-size:26px;font-weight:900;line-height:1.3;margin:0 0 4px}.store-subtitle{color:var(--text-tertiary);font-size:14px;margin:0}.store-balance-wrap{align-items:flex-end;background:linear-gradient(135deg,rgba(245,166,35,.08),rgba(247,208,99,.05));border:1px solid rgba(245,166,35,.15);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:2px;padding:14px 20px}.store-balance-label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.store-balance-coin{color:#f5a623;font-size:22px;font-variant-numeric:tabular-nums;font-weight:900}.store-tabs{display:flex;gap:6px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.store-tabs::-webkit-scrollbar{display:none}.store-tab{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.store-tab:hover{border-color:var(--border-medium);color:var(--text-primary)}.store-tab.active{background:var(--text-primary);border-color:transparent;color:var(--text-inverse)}.store-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.store-card{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:20px 18px 18px;position:relative;text-align:center;transition:border-color .25s,transform .25s,box-shadow .25s}.store-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-3px)}.store-card-rarity{border-radius:0 14px 0 10px;font-size:9px;font-weight:700;letter-spacing:.06em;padding:3px 10px;position:absolute;right:0;text-transform:uppercase;top:0}.store-rarity-common .store-card-rarity{background:hsla(240,4%,46%,.15);color:#71717a}.store-rarity-rare .store-card-rarity{background:rgba(59,130,246,.12);color:#3b82f6}.store-rarity-rare:hover{border-color:rgba(59,130,246,.3)}.store-rarity-epic .store-card-rarity{background:rgba(168,85,247,.12);color:#a855f7}.store-rarity-epic:hover{border-color:rgba(168,85,247,.3)}.store-rarity-legendary .store-card-rarity{background:linear-gradient(135deg,rgba(245,166,35,.15),rgba(239,68,68,.1));color:#f59e0b}.store-rarity-legendary:hover{border-color:rgba(245,166,35,.4);box-shadow:0 8px 32px rgba(245,166,35,.1)}.store-card-icon{align-items:center;background:var(--bg-elevated);border-radius:12px;color:var(--text-primary);display:flex;height:48px;justify-content:center;margin-top:4px;width:48px}.store-card-icon svg{height:28px;stroke:currentColor;width:28px}.store-card-name{color:var(--text-primary);font-size:15px;font-weight:700;margin:0}.store-card-desc{color:var(--text-tertiary);flex:1;font-size:12px;line-height:1.5;margin:0}.store-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:6px;justify-content:center;margin-top:4px;padding:10px 16px;transition:all .2s;width:100%}.store-btn-buy{background:linear-gradient(135deg,#f5a623,#f7d063);color:#1a1a1f}.store-btn-buy:hover{opacity:.9;transform:translateY(-1px)}.store-btn-buy.disabled,.store-btn-buy:disabled{cursor:not-allowed;opacity:.4;transform:none}.store-btn-equip{background:var(--bg-elevated);border:1px solid var(--border-medium);color:var(--text-primary)}.store-btn-equip:hover{background:var(--text-primary);color:var(--text-inverse)}.store-btn-equipped{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.store-equipped{border-color:rgba(34,197,94,.35)!important;box-shadow:0 0 16px rgba(34,197,94,.08)}.store-owned .store-card-icon:after{color:#22c55e;content:" âœ“";font-size:14px}.store-preview-avatar{height:64px;margin:4px 0;width:64px}.store-avatar-ring{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;padding:3px;width:64px}.store-avatar-ring img{border-radius:50%;height:100%;object-fit:cover;width:100%}.store-ring-border-neon{animation:coinBorderPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#0ff,#00e5ff,#0ff);box-shadow:0 0 12px rgba(0,255,255,.4),0 0 24px rgba(0,255,255,.15)}.store-ring-border-cyberpunk{animation:coinBorderSpin 4s linear infinite;background:linear-gradient(135deg,#ff006e,#8338ec,#3a86ff);box-shadow:0 0 12px rgba(131,56,236,.4)}.store-ring-border-dragon{animation:coinBorderFire 2s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#f97316,#fbbf24,#ef4444);background-size:300% 300%;box-shadow:0 0 16px rgba(239,68,68,.4),0 0 32px rgba(249,115,22,.15)}@keyframes coinBorderPulse{0%,to{box-shadow:0 0 12px rgba(0,255,255,.4),0 0 24px rgba(0,255,255,.15)}50%{box-shadow:0 0 20px rgba(0,255,255,.6),0 0 40px rgba(0,255,255,.25)}}@keyframes coinBorderSpin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}@keyframes coinBorderFire{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.store-preview-title{margin:6px 0}.store-title-badge{border-radius:6px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;padding:4px 12px}.store-badge-title-newbie{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.2);color:#10b981}.store-badge-title-bug-hunter{background:hsla(240,4%,46%,.12);border:1px solid hsla(240,4%,46%,.2);color:#71717a}.store-badge-title-scholar{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.2);color:#3b82f6}.store-badge-title-night-warrior{background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(168,85,247,.12));border:1px solid rgba(167,139,250,.2);color:#a78bfa}.store-badge-title-pro-coder{background:linear-gradient(135deg,rgba(245,166,35,.12),rgba(239,68,68,.08));border:1px solid rgba(245,158,11,.2);color:#f59e0b}.store-preview-name{margin:8px 0}.store-name-sample{font-size:16px;font-weight:700;letter-spacing:.02em}@keyframes coinRainbow{0%{background-position:0}to{background-position:200%}}.store-preview-chat{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;display:flex;justify-content:flex-start;margin:12px 0;padding:10px}.store-chat-bubble{font-size:13px;line-height:1.4;max-width:90%;word-break:break-word}@media (max-width:600px){.store-page{padding:16px 12px 48px}.store-header{flex-direction:column;gap:12px}.store-balance-wrap{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.store-title{font-size:22px}.store-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.store-card{padding:14px 12px}.store-card-icon{font-size:26px}.store-card-name{font-size:13px}.store-card-desc{font-size:11px}.store-btn{font-size:12px;padding:8px 12px}}.chat-avatar-wrap,.header-avatar-wrap{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;position:relative}.chat-avatar-wrap{height:28px;margin-right:8px;width:28px}.header-avatar-wrap{height:30px;width:30px}.chat-avatar-wrap>img.chat-msg-avatar,.header-avatar-wrap>img.admin-avatar,.header-avatar-wrap>img.user-avatar{height:100%!important;margin:0!important;width:100%!important}.coin-chat-border{border-radius:50%;padding:2px}.coin-chat-border-neon{animation:coinBorderPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#0ff,#00e5ff,#0ff);box-shadow:0 0 8px rgba(0,255,255,.4)}.coin-chat-border-cyberpunk{animation:coinBorderSpin 4s linear infinite;background:linear-gradient(135deg,#ff006e,#8338ec,#3a86ff)}.coin-chat-border-dragon{animation:coinBorderFire 2s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#f97316,#fbbf24,#ef4444);background-size:300% 300%;box-shadow:0 0 10px rgba(239,68,68,.3)}.chat-coin-title{border-radius:4px;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.03em;padding:2px 6px;white-space:nowrap}.coin-title-title-newbie{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.2);color:#10b981}.coin-title-title-bug-hunter{background:hsla(240,4%,46%,.12);border:1px solid hsla(240,4%,46%,.2);color:#71717a}.coin-title-title-scholar{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.2);color:#3b82f6}.coin-title-title-night-warrior{background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(168,85,247,.12));border:1px solid rgba(167,139,250,.2);color:#a78bfa}.coin-title-title-pro-coder{background:linear-gradient(135deg,rgba(245,166,35,.12),rgba(239,68,68,.08));border:1px solid rgba(245,158,11,.2);color:#f59e0b}.poll-fab{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);bottom:88px;color:var(--text-primary);cursor:pointer;display:flex;font-size:22px;height:52px;justify-content:center;position:fixed;right:20px;transition:background var(--transition);width:52px;z-index:9990}.poll-fab:hover{background:var(--bg-surface-hover)}.poll-fab:active{opacity:.8}.poll-fab .poll-fab-badge{background:#ef4444;border:2px solid var(--bg-page);border-radius:50%;height:14px;position:absolute;right:-4px;top:-4px;width:14px}.poll-popup{animation:pollSlideIn .35s cubic-bezier(.22,1,.36,1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);bottom:88px;box-shadow:0 12px 40px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:calc(100vh - 165px);max-height:calc(100dvh - 165px);max-width:calc(100vw - 32px);overflow:hidden;position:fixed;right:20px;width:400px;z-index:10000}@keyframes pollSlideIn{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.poll-popup-header{border-bottom:1px solid var(--border-subtle);gap:10px;padding:16px 18px}.poll-popup-header,.poll-popup-header-icon{align-items:center;display:flex;flex-shrink:0}.poll-popup-header-icon{background:rgba(77,141,245,.1);border-radius:8px;font-size:16px;height:32px;justify-content:center;width:32px}.poll-popup-header-text{flex:1;min-width:0}.poll-popup-title{color:var(--text-primary);font-size:14px;font-weight:700}.poll-popup-subtitle{color:var(--text-tertiary);font-size:11px;margin-top:1px}.poll-popup-close{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:background var(--transition),color var(--transition);width:30px}.poll-popup-close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.poll-popup-body{flex:1;overflow-y:auto;padding:18px}.poll-question{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.5;margin-bottom:16px}.poll-options{display:flex;flex-direction:column;gap:8px}.poll-option-btn{align-items:center;background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:10px;padding:12px 16px;position:relative;text-align:left;transition:all .15s ease;width:100%}.poll-option-btn:hover{background:rgba(77,141,245,.06);border-color:var(--accent)}.poll-option-btn .poll-option-radio{border:2px solid var(--border-medium);border-radius:50%;flex-shrink:0;height:18px;transition:border-color .15s;width:18px}.poll-option-btn:hover .poll-option-radio{border-color:var(--accent)}.poll-option-btn .poll-option-text{flex:1;min-width:0;word-break:break-word}.poll-option-result{align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:10px;justify-content:space-between;overflow:hidden;padding:12px 16px;position:relative;transition:border-color .2s}.poll-option-result.poll-option-voted{border-color:var(--accent)}.poll-option-result-bar{background:rgba(77,141,245,.1);border-radius:var(--radius-sm);bottom:0;left:0;position:absolute;top:0;transition:width .6s cubic-bezier(.22,1,.36,1);z-index:0}.poll-option-voted .poll-option-result-bar{background:rgba(77,141,245,.18)}.poll-option-result-label{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:500;gap:8px;min-width:0;position:relative;word-break:break-word;z-index:1}.poll-option-voted .poll-option-result-label{font-weight:600}.poll-option-check{color:var(--accent);flex-shrink:0}.poll-option-result-stats{align-items:center;display:flex;flex-shrink:0;gap:8px;position:relative;z-index:1}.poll-option-percent{color:var(--text-primary);font-size:14px;font-weight:700}.poll-option-voted .poll-option-percent{color:var(--accent)}.poll-option-count{color:var(--text-tertiary);font-size:11px;white-space:nowrap}.poll-add-option-row{display:flex;gap:8px;margin-top:12px}.poll-add-option-input{background:var(--bg-input,var(--bg-page));border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);flex:1;font-family:inherit;font-size:13px;outline:none;padding:10px 14px;transition:border-color var(--transition)}.poll-add-option-input:focus{border-color:var(--accent)}.poll-add-option-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:10px 16px;transition:opacity .15s;white-space:nowrap}.poll-add-option-btn:hover{opacity:.85}.poll-popup-footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 18px}.poll-footer-meta{align-items:center;color:var(--text-tertiary);display:flex;font-size:12px;gap:8px}.poll-status-dot{background:var(--accent-green);border-radius:50%;display:inline-block;height:7px;width:7px}.poll-status-dot.closed{background:var(--text-tertiary)}.poll-footer-actions{display:flex;gap:6px}.poll-admin-btn{background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;padding:5px 10px;transition:all var(--transition)}.poll-admin-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-medium);color:var(--text-primary)}.poll-admin-btn.danger{color:#ef4444}.poll-admin-btn.danger:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}.poll-login-msg{color:var(--text-tertiary);font-size:13px;padding:12px;text-align:center}.poll-form{display:flex;flex-direction:column;gap:12px}.poll-form label{color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:-6px}.poll-form input[type=text],.poll-form textarea{background:var(--bg-input,var(--bg-page));border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;padding:10px 14px;transition:border-color var(--transition);width:100%}.poll-form input:focus,.poll-form textarea:focus{border-color:var(--accent)}.poll-form-options{display:flex;flex-direction:column;gap:6px}.poll-form-option-row{align-items:center;display:flex;gap:6px}.poll-form-option-row input{flex:1}.poll-form-remove-btn{align-items:center;background:rgba(239,68,68,.1);border:none;border-radius:var(--radius-xs);color:#ef4444;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background .15s;width:28px}.poll-form-remove-btn:hover{background:rgba(239,68,68,.2)}.poll-form-add-btn{background:transparent;border:1px dashed var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;padding:8px;transition:all var(--transition)}.poll-form-add-btn:hover{border-color:var(--accent);color:var(--accent)}.poll-form-toggle{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px}.poll-form-toggle input[type=checkbox]{accent-color:var(--accent);height:16px;width:16px}.poll-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.poll-form-cancel{background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);padding:9px 18px}.poll-form-cancel,.poll-form-submit{cursor:pointer;font-family:inherit;font-size:13px;font-weight:600}.poll-form-submit{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;padding:9px 22px;transition:opacity .15s}.poll-form-submit:hover{opacity:.85}.poll-empty{color:var(--text-tertiary);padding:24px 16px;text-align:center}.poll-empty-icon{font-size:32px;margin-bottom:8px}.poll-empty-text{font-size:14px;margin-bottom:4px}body:not(.dark-mode) .poll-popup{box-shadow:0 12px 40px rgba(0,0,0,.12)}body:not(.dark-mode) .poll-option-result-bar{background:rgba(77,141,245,.08)}body:not(.dark-mode) .poll-option-voted .poll-option-result-bar{background:rgba(77,141,245,.14)}@media (max-width:480px){.poll-popup{border-radius:var(--radius-md);bottom:calc(16px + env(safe-area-inset-bottom, 0px));left:16px;margin:0 auto;max-height:calc(100vh - 88px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));max-height:calc(100dvh - 88px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));max-width:340px;right:16px;width:auto}.poll-popup-header{gap:8px;padding:10px 14px}.poll-popup-header-icon{font-size:13px;height:26px;width:26px}.poll-popup-header-icon svg{height:14px;width:14px}.poll-popup-title{font-size:13px}.poll-popup-subtitle{font-size:10px}.poll-popup-close{height:26px;width:26px}.poll-popup-close svg{height:13px;width:13px}.poll-popup-body{padding:14px}.poll-question{font-size:14px;margin-bottom:12px}.poll-options{gap:6px}.poll-option-btn{font-size:13px;gap:8px;padding:8px 12px}.poll-option-btn .poll-option-radio{height:14px;width:14px}.poll-option-result{gap:8px;padding:8px 12px}.poll-option-result-label{font-size:13px;gap:6px}.poll-option-percent{font-size:13px}.poll-option-count{font-size:10px}.poll-add-option-row{gap:6px;margin-top:10px}.poll-add-option-btn,.poll-add-option-input{font-size:12px;padding:8px 12px}.poll-popup-footer{padding:8px 14px}.poll-footer-meta{font-size:11px;gap:6px}.poll-status-dot{height:6px;width:6px}.poll-admin-btn{font-size:10px;padding:4px 8px}}.trial-banner-pill{align-items:center;animation:trialSlideUp .4s cubic-bezier(.22,1,.36,1) forwards;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:hsla(0,0%,100%,.8);border:1px solid rgba(0,0,0,.05);border-radius:999px;bottom:24px;box-shadow:0 4px 16px rgba(0,0,0,.08);color:#1a1c23;display:flex;font-size:13px;gap:8px;-webkit-mask-image:radial-gradient(#fff,#000);mask-image:radial-gradient(#fff,#000);overflow:hidden;padding:8px 16px;position:fixed;right:24px;transition:all .3s ease;white-space:nowrap;z-index:10000}body.dark-mode .trial-banner-pill{background:rgba(35,35,40,.8);border-color:rgba(252,211,77,.2);box-shadow:0 4px 16px rgba(0,0,0,.4);color:#e4e4e8}@keyframes trialSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.trial-banner-content{align-items:center;display:flex;gap:6px;opacity:.8}.trial-banner-label{font-weight:500}.trial-banner-timer{color:#d97706;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}body.dark-mode .trial-banner-timer{color:var(--accent-amber)}@media (max-width:900px){.trial-banner-pill{bottom:18px;font-size:12px;gap:8px;padding:6px 14px;right:18px}.trial-banner-pill.has-chat{bottom:82px}}.global-announcement{align-items:center;animation:slideDownFade .4s ease-out;background:linear-gradient(90deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:8px;box-shadow:0 4px 12px rgba(245,158,11,.12);color:#92400e;display:flex;font-size:13.5px;font-weight:600;gap:8px;justify-content:center;margin-bottom:2px;margin-top:-8px;padding:8px 16px;position:relative;text-align:center;z-index:10}.global-announcement .announcement-icon{color:#d97706;flex-shrink:0}.dark-mode .global-announcement{background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(245,158,11,.05));border-color:rgba(245,158,11,.2);box-shadow:0 4px 12px rgba(0,0,0,.2);color:#fde047}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}