:root{--bg-primary:#09090c;--bg-secondary:#101017;--bg-card:#161622;--bg-card-hover:#1e1e2d;--bg-glass:#161622bf;--bg-glass-heavy:#0e0e14eb;--orange-primary:#f60;--orange-hover:#ff7c24;--orange-light:#ffa15c;--orange-dim:#ff66001f;--orange-glow:#ff660059;--text-main:#f8f8fa;--text-secondary:#c0c0d0;--text-muted:#7e7e94;--text-subtle:#525266;--border-subtle:#232332;--border-light:#2e2e42;--border-orange:#ff660073;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 4px 12px #00000080;--shadow-md:0 8px 24px #000000a6;--shadow-orange:0 0 30px #ff660047;--shadow-orange-sm:0 0 16px #f603;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#2b2b3a}::-webkit-scrollbar-thumb:hover{background:var(--orange-primary)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}.btn{border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.92rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--orange-primary) 0%, #e65500 100%);color:#fff;border:1px solid #ffffff26;box-shadow:0 4px 16px #ff66004d}.btn-primary:hover{background:linear-gradient(135deg, var(--orange-hover) 0%, #f60 100%);transform:translateY(-2px);box-shadow:0 6px 24px #ff660073}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-orange);color:#fff;transform:translateY(-1px)}.btn-outline-orange{color:var(--orange-primary);border:1px solid var(--orange-primary);background:0 0}.btn-outline-orange:hover{background:var(--orange-dim);border-color:var(--orange-light)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-main);background:#ffffff0d}.btn-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:8px;display:inline-flex}.btn-sm{border-radius:var(--radius-sm);padding:6px 14px;font-size:.82rem}.btn-lg{border-radius:var(--radius-md);padding:14px 28px;font-size:1.05rem}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-orange{background:var(--orange-dim);color:var(--orange-light);border:1px solid #ff660040}.badge-gray{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}.badge-green{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40}.text-orange-glow{color:var(--orange-primary);text-shadow:0 0 15px #ff660080}.gradient-text-orange{background:linear-gradient(135deg, #fff 40%, var(--orange-primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #ff660040}50%{box-shadow:0 0 35px #ff660073}}.animate-fade-in{animation:.3s ease-out fadeIn}.card-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .28s}.card-glass:hover{border-color:var(--border-orange);box-shadow:var(--shadow-orange-sm);transform:translateY(-2px)}.app-root-layout{background-color:var(--bg-primary);background-image:radial-gradient(circle at 15% 10%,#ff660012 0%,#0000 40%),radial-gradient(circle at 85% 60%,#ff66000d 0%,#0000 35%);flex-direction:column;min-height:100vh;display:flex}.main-content-viewport{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:24px 28px 60px}.navbar-container{z-index:100;background:var(--bg-glass-heavy);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border-subtle);padding:12px 28px;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:0 auto;display:flex}.brand-logo{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.brand-icon-box{background:linear-gradient(135deg, var(--orange-primary) 0%, #d44d00 100%);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 0 20px #ff660073}.brand-play-icon{margin-left:2px}.brand-text{letter-spacing:-.5px;color:#fff;font-size:1.35rem;font-weight:800}.brand-highlight{color:var(--orange-primary);margin-left:2px}.brand-tag{color:var(--orange-light);letter-spacing:.8px;background:#ff660026;border:1px solid #ff66004d;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:800}.nav-links{align-items:center;gap:8px;display:flex}.nav-tab{border-radius:var(--radius-md);color:var(--text-muted);background:0 0;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;position:relative}.nav-tab:hover{color:#fff;background:#ffffff0d}.nav-tab.active{color:#fff;background:var(--bg-card);border:1px solid var(--border-light)}.nav-tab.active:after{content:"";background:var(--orange-primary);width:24px;height:2px;box-shadow:0 0 8px var(--orange-primary);border-radius:2px;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)}.admin-pulse-dot{background:var(--orange-primary);width:7px;height:7px;box-shadow:0 0 8px var(--orange-primary);border-radius:50%;display:inline-block}.navbar-actions{align-items:center;gap:16px;display:flex}.btn-glow-orange{box-shadow:0 4px 18px #ff660059}.role-switcher-box{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:#ffffff08;align-items:center;gap:8px;padding:4px 10px;display:flex}.role-label{color:var(--text-muted);font-size:.78rem;font-weight:500}.role-badge-btn{border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:700;transition:all .2s;display:flex}.role-badge-btn.admin-active{color:var(--orange-light);background:linear-gradient(135deg,#ff660040 0%,#ff66001a 100%);border:1px solid #f606}.role-badge-btn.student-active{color:#93c5fd;background:#3b82f626;border:1px solid #3b82f64d}.role-switch-icon{opacity:.6;margin-left:2px}.role-badge-btn:hover .role-switch-icon{opacity:1}.user-profile-widget{align-items:center;gap:10px;display:flex}.user-avatar{object-fit:cover;border:2px solid var(--border-orange);border-radius:50%;width:36px;height:36px}.user-info-text{flex-direction:column;display:flex}.user-name{color:#fff;font-size:.84rem;font-weight:600;line-height:1.2}.user-role-sub{color:var(--text-muted);font-size:.72rem}.student-dashboard{flex-direction:column;gap:32px;display:flex}.catalog-hero-banner{border:1px solid #f603;grid-template-columns:1.4fr 1fr;align-items:center;gap:36px;padding:36px 40px;display:grid;position:relative;overflow:hidden}.catalog-hero-banner:before{content:"";pointer-events:none;background:radial-gradient(circle,#ff66002e 0%,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;top:-100px;right:-100px}.hero-pill-badge{border-radius:var(--radius-full);color:var(--orange-light);background:#ff66001f;border:1px solid #ff66004d;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:.8rem;font-weight:700;display:inline-flex}.hero-headline{color:#fff;letter-spacing:-.6px;margin-bottom:14px;font-size:2.35rem;font-weight:800;line-height:1.18}.hero-subtext{color:var(--text-secondary);margin-bottom:24px;font-size:1rem;line-height:1.6}.hero-stat-pills{flex-wrap:wrap;gap:12px;display:flex}.stat-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);background:#ffffff0a;align-items:center;gap:8px;padding:6px 14px;font-size:.82rem;display:inline-flex}.stat-pill strong{color:#fff}.hero-recent-box{border-radius:var(--radius-lg);background:#0e0e14d9;border:1px solid #ff66004d;flex-direction:column;gap:14px;padding:20px;display:flex;box-shadow:0 10px 30px #0009}.recent-badge{color:var(--orange-light);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.recent-course-card{cursor:pointer;border-radius:var(--radius-md);gap:14px;padding:8px;transition:background .2s;display:flex}.recent-course-card:hover{background:#ffffff0a}.recent-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-subtle);width:90px;height:64px}.recent-info{flex-direction:column;flex:1;justify-content:center;display:flex}.recent-category{color:var(--orange-light);font-size:.7rem;font-weight:600}.recent-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:240px;margin:2px 0 6px;font-size:.95rem;font-weight:700;overflow:hidden}.recent-progress-wrap{align-items:center;gap:10px;display:flex}.recent-progress-text{color:var(--text-muted);white-space:nowrap;font-size:.72rem;font-weight:600}.full-width{width:100%}.catalog-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.category-scroll-container{align-items:center;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.category-pill{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.category-pill:hover{border-color:var(--border-light);color:#fff}.category-pill.active{background:var(--orange-dim);border-color:var(--orange-primary);color:var(--orange-light);box-shadow:0 0 14px #f603}.toolbar-right-row{align-items:center;gap:12px;display:flex}.status-filter-pills{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);padding:4px;display:flex}.status-pill{border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;padding:6px 12px;font-size:.78rem;font-weight:600;transition:all .2s}.status-pill.active{color:#fff;background:#ffffff14}.search-bar-wrap{width:240px;position:relative}.search-icon-input{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;width:100%;padding:8px 12px 8px 36px;font-size:.85rem;transition:border-color .2s}.search-input:focus{border-color:var(--orange-primary);box-shadow:0 0 12px #f603}.courses-grid-layout{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.course-card{flex-direction:column;display:flex;overflow:hidden}.card-thumb-wrapper{cursor:pointer;background:#000;width:100%;height:190px;position:relative;overflow:hidden}.card-thumb-img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1)}.course-card:hover .card-thumb-img{transform:scale(1.05)}.card-thumb-overlay{opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.course-card:hover .card-thumb-overlay{opacity:1}.play-button-floating{background:var(--orange-primary);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;transform:scale(.85);box-shadow:0 0 25px #f609}.course-card:hover .play-button-floating{transform:scale(1)}.play-icon-glow{margin-left:2px}.card-badges-top{gap:6px;display:flex;position:absolute;top:12px;left:12px}.card-duration-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);color:#fff;background:#000000bf;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;display:flex;position:absolute;bottom:12px;right:12px}.completed-ribbon{color:#fff;border-radius:var(--radius-full);background:#22c55ee6;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 10px #22c55e66}.card-content{flex-direction:column;flex:1;padding:20px;display:flex}.card-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-instructor{color:var(--orange-light);font-size:.78rem;font-weight:600}.admin-quick-actions{gap:4px;display:flex}.btn-icon-subtle{color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:inline-flex}.btn-icon-subtle:hover{color:#fff;background:#ffffff14}.btn-icon-subtle.danger:hover{color:#ef4444;background:#ef444426}.card-title{color:#fff;cursor:pointer;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:1.1rem;font-weight:700;line-height:1.35;transition:color .2s;display:-webkit-box;overflow:hidden}.card-title:hover{color:var(--orange-light)}.card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin-bottom:18px;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.card-progress-section{border-radius:var(--radius-sm);background:#00000040;border:1px solid #ffffff0a;margin-bottom:16px;padding:10px 12px}.progress-info-row{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.75rem;display:flex}.progress-label{color:#fff;font-weight:700}.progress-fraction{color:var(--text-muted)}.progress-bar-track{border-radius:var(--radius-full);background:#ffffff14;width:100%;height:6px;position:relative;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#f60,#ff8c33);height:100%;transition:width .35s;position:relative}.progress-bar-fill.completed-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.progress-bar-sparkle{background:#fff;width:6px;position:absolute;top:0;bottom:0;right:0;box-shadow:0 0 8px #fff}.card-footer-actions{align-items:center;gap:8px;display:flex}.card-main-btn{flex:1}.classroom-layout{flex-direction:column;gap:16px;display:flex}.classroom-header-bar{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.classroom-header-left{align-items:center;gap:14px;display:flex}.header-divider{background:var(--border-light);width:1px;height:24px}.header-course-info{align-items:center;gap:10px;display:flex}.course-badge-pill{background:var(--orange-dim);color:var(--orange-light);border-radius:var(--radius-sm);padding:2px 8px;font-size:.72rem;font-weight:700}.header-course-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:480px;font-size:1rem;font-weight:700;overflow:hidden}.course-progress-pill{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:#ffffff0a;align-items:center;gap:10px;padding:6px 14px;display:flex}.pill-pct{color:var(--orange-light);font-size:.78rem;font-weight:700}.mini-progress-track{border-radius:var(--radius-full);background:#ffffff1a;width:80px;height:5px;overflow:hidden}.mini-progress-fill{background:var(--orange-primary);border-radius:var(--radius-full);height:100%}.pill-counts{color:var(--text-muted);font-size:.75rem}.classroom-body-grid{grid-template-columns:1fr 380px;align-items:start;gap:20px;display:grid}.classroom-main-content{flex-direction:column;gap:20px;display:flex}.player-cinema-box{border-radius:var(--radius-lg);background:#000;border:1px solid #ff660040;width:100%;overflow:hidden;box-shadow:0 12px 40px #000c,0 0 30px #ff660026}.custom-video-player{aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.custom-video-player.fullscreen-mode{width:100vw;height:100vh;aspect-ratio:unset}.video-element{object-fit:contain;cursor:pointer;width:100%;height:100%}.video-error-state{text-align:center;background:#0f0f15;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.error-icon{color:#ef4444;margin-bottom:12px}.video-center-overlay{cursor:pointer;background:#0000004d;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.giant-play-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff6600e6;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 0 35px #ff6600b3}.giant-play-btn:hover{transform:scale(1.08)}.video-controls-overlay{z-index:10;background:linear-gradient(#0000 0%,#0009 40%,#000000f2 100%);padding:24px 16px 12px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.video-controls-overlay.hidden{opacity:0;pointer-events:none}.seek-bar-container{cursor:pointer;width:100%;height:6px;margin-bottom:12px;position:relative}.seek-range-slider{opacity:0;z-index:2;cursor:pointer;width:100%;height:6px;position:absolute;top:0;left:0}.seek-progress-fill{pointer-events:none;background:linear-gradient(90deg,#f60,#ff8c33);border-radius:4px;height:6px;position:absolute;top:0;left:0;box-shadow:0 0 10px #f609}.controls-button-bar{justify-content:space-between;align-items:center;display:flex}.controls-left,.controls-right{align-items:center;gap:8px;display:flex}.ctrl-btn{color:#fff;border-radius:var(--radius-sm);background:0 0;align-items:center;gap:4px;padding:6px 8px;transition:all .2s;display:flex}.ctrl-btn:hover{color:var(--orange-light);background:#ffffff26}.main-play-ctrl{background:var(--orange-primary);border-radius:50%;justify-content:center;width:34px;height:34px;box-shadow:0 0 15px #f606}.main-play-ctrl:hover{background:var(--orange-hover);color:#fff}.ctrl-tiny-text{font-size:.65rem;font-weight:700}.volume-widget{align-items:center;gap:6px;display:flex}.volume-slider{width:60px;accent-color:var(--orange-primary);cursor:pointer}.time-display{font-family:var(--font-mono);color:#c0c0d0;margin-left:6px;font-size:.78rem}.time-display .current{color:#fff;font-weight:600}.time-display .divider{color:var(--text-muted);margin:0 4px}.mark-complete-ctrl{border-radius:var(--radius-full);border:1px solid var(--border-light);background:#ffffff14;padding:6px 12px;font-size:.8rem;font-weight:600}.mark-complete-ctrl.is-completed{color:#4ade80;background:#22c55e33;border-color:#22c55e80}.speed-selector-wrapper{position:relative}.speed-badge-btn{font-family:var(--font-mono);border-radius:var(--radius-sm);background:#ffffff14;padding:4px 8px;font-size:.78rem;font-weight:700}.speed-dropdown-menu{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:20;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:38px;right:0}.speed-opt{color:var(--text-secondary);text-align:left;background:0 0;border-radius:4px;padding:6px 14px;font-size:.78rem;font-weight:600;transition:all .15s}.speed-opt:hover,.speed-opt.active{background:var(--orange-dim);color:var(--orange-light)}.lesson-details-header{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;display:flex}.lesson-meta-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.lesson-duration-tag{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.active-lesson-heading{color:#fff;font-size:1.35rem;font-weight:800;line-height:1.3}.lesson-action-buttons{flex-shrink:0;align-items:center;gap:10px;display:flex}.btn-secondary.is-done{color:#4ade80;border-color:#22c55e66}.lesson-tabs-container{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);overflow:hidden}.lesson-tabs-nav{border-bottom:1px solid var(--border-subtle);background:#0003;display:flex}.tab-btn{color:var(--text-muted);background:0 0;align-items:center;gap:8px;padding:14px 20px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex;position:relative}.tab-btn:hover{color:#fff}.tab-btn.active{color:var(--orange-light);background:#ff66000d}.tab-btn.active:after{content:"";background:var(--orange-primary);height:2px;box-shadow:0 0 8px var(--orange-primary);position:absolute;bottom:0;left:0;right:0}.tab-dot{background:var(--orange-primary);border-radius:50%;width:6px;height:6px}.tab-pane-content{padding:24px}.lesson-desc-text{color:var(--text-secondary);margin-bottom:24px;font-size:.95rem;line-height:1.6}.summary-meta-badges{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.summary-badge{border-radius:var(--radius-full);border:1px solid var(--border-subtle);color:var(--text-secondary);background:#ffffff0a;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.summary-badge.pill-module{color:var(--orange-light);background:#ff660014;border-color:#ff66004d}.summary-badge.pill-time{font-family:var(--font-mono);color:#c0c0d0}.summary-badge.pill-done{color:#4ade80;background:#22c55e1a;border-color:#22c55e66}.summary-badge.pill-pending{color:#facc15;background:#eab30814;border-color:#eab3084d}.lesson-summary-block{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;margin-bottom:24px;padding:18px 20px}.summary-section-title{align-items:center;gap:8px;margin-bottom:12px;display:flex}.summary-section-title h3{color:#fff;margin:0;font-size:1.05rem;font-weight:700}.summary-takeaways-block{margin-bottom:24px}.takeaways-heading{color:#fff;margin-bottom:14px;font-size:.95rem;font-weight:700}.takeaways-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (max-width:768px){.takeaways-grid{grid-template-columns:1fr}}.takeaway-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;align-items:flex-start;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.takeaway-card:hover{background:#ff660008;border-color:#ff66004d;transform:translateY(-1px)}.takeaway-icon{flex-shrink:0;margin-top:2px;font-size:1.25rem;line-height:1}.takeaway-title{color:#fff;margin-bottom:4px;font-size:.85rem;font-weight:700}.takeaway-desc{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.45}.summary-study-tip{border-radius:var(--radius-sm);background:#ff66000f;border:1px solid #f603;align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.tip-indicator{font-size:1.2rem;line-height:1}.tip-text{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.tip-text strong{color:#fff}.tab-hint{color:var(--text-muted);margin-bottom:12px;font-size:.82rem}.notes-textarea{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:#fff;resize:vertical;width:100%;padding:14px;font-family:inherit;font-size:.9rem;line-height:1.5}.notes-textarea:focus{border-color:var(--orange-primary);box-shadow:0 0 15px #f603}.notes-saved-indicator{color:var(--orange-light);align-items:center;gap:6px;margin-top:8px;font-size:.75rem;display:flex}.empty-resources-msg{color:var(--text-muted);font-size:.9rem}.resources-list{flex-direction:column;gap:10px;display:flex}.resource-item-card{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#ffffff08;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.resource-item-card:hover{border-color:var(--border-orange);background:#ff660014;transform:translate(4px)}.resource-icon{color:var(--orange-primary);margin-right:10px}.resource-title{color:#fff;flex:1;font-size:.88rem;font-weight:600}.resource-ext-icon{color:var(--text-muted)}.classroom-syllabus-sidebar{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-direction:column;max-height:calc(100vh - 100px);display:flex;position:sticky;top:80px;overflow:hidden}.syllabus-header{border-bottom:1px solid var(--border-subtle);background:#00000040;padding:18px 20px}.syllabus-title{color:#fff;margin-bottom:6px;font-size:1.05rem;font-weight:700}.syllabus-stats-line{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:.78rem;display:flex}.syllabus-pct{color:var(--orange-light);font-weight:700}.sidebar-progress-track{border-radius:var(--radius-full);background:#ffffff14;width:100%;height:6px;overflow:hidden}.sidebar-progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#f60,#ff8c33);height:100%}.syllabus-modules-accordion{flex:1;overflow-y:auto}.accordion-module-group{border-bottom:1px solid var(--border-subtle)}.accordion-module-btn{color:#fff;background:#ffffff05;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;transition:background .2s;display:flex}.accordion-module-btn:hover{background:#ffffff0d}.accordion-title-wrap{text-align:left;align-items:center;gap:10px;display:flex}.mod-number-badge{width:22px;height:22px;color:var(--orange-light);background:#f603;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex}.mod-title-text{font-size:.85rem;font-weight:700}.accordion-right-wrap{color:var(--text-muted);align-items:center;gap:8px;display:flex}.mod-progress-ratio{font-size:.75rem}.accordion-lessons-list{flex-direction:column;display:flex}.syllabus-lesson-item{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:12px;padding:10px 16px;transition:all .2s;display:flex}.syllabus-lesson-item:hover{background:#ffffff0a}.syllabus-lesson-item.is-active{border-left-color:var(--orange-primary);background:#ff66001f}.checkbox-custom-btn{color:var(--text-muted);background:0 0;justify-content:center;align-items:center;display:flex}.checkbox-custom-btn:hover{color:#fff}.checkbox-icon.checked{color:#4ade80}.syllabus-lesson-info{flex:1}.syllabus-lesson-title{color:var(--text-secondary);font-size:.82rem;font-weight:600;line-height:1.3;display:block}.syllabus-lesson-item.is-active .syllabus-lesson-title{color:#fff;font-weight:700}.time-tag{color:var(--text-muted);align-items:center;gap:3px;font-size:.7rem;display:flex}.now-playing-tag{color:var(--orange-light);align-items:center;gap:5px;font-size:.7rem;font-weight:700;display:flex}.pulse-indicator{background:var(--orange-primary);width:6px;height:6px;box-shadow:0 0 8px var(--orange-primary);border-radius:50%;animation:1.5s infinite pulseGlow}.admin-dashboard-container{flex-direction:column;gap:28px;display:flex}.admin-hero-banner{border:1px solid #ff660040;justify-content:space-between;align-items:center;padding:32px 36px;display:flex}.admin-badge-wrap{align-items:center;gap:8px;margin-bottom:12px;display:inline-flex}.admin-title{color:#fff;margin-bottom:8px;font-size:2rem;font-weight:800}.admin-desc{color:var(--text-secondary);max-width:640px;font-size:.95rem}.admin-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.metric-card{align-items:center;gap:16px;padding:20px;display:flex}.metric-icon-box{border-radius:var(--radius-md);border:1px solid var(--border-subtle);color:#fff;background:#ffffff0d;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.metric-icon-box.orange{background:var(--orange-dim);color:var(--orange-light);border-color:#ff66004d;box-shadow:0 0 16px #ff660040}.metric-data{flex-direction:column;display:flex}.metric-value{color:#fff;font-size:1.7rem;font-weight:800;line-height:1.1}.metric-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.admin-courses-panel{padding:28px}.panel-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.panel-title{color:#fff;font-size:1.3rem;font-weight:800}.panel-sub{color:var(--text-muted);font-size:.85rem}.panel-actions-row{align-items:center;gap:12px;display:flex}.search-input-box{width:260px;position:relative}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input-clean{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;width:100%;padding:8px 12px 8px 36px;font-size:.85rem}.search-input-clean:focus{border-color:var(--orange-primary)}.admin-table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle);padding:12px 16px;font-size:.78rem;font-weight:700}.admin-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:14px 16px;font-size:.88rem}.admin-table tr:hover td{background:#ffffff05}.course-table-meta{align-items:center;gap:12px;display:flex}.table-thumb{object-fit:cover;border:1px solid var(--border-subtle);border-radius:6px;width:60px;height:40px}.table-course-title{color:#fff;cursor:pointer;font-weight:700;display:block}.table-course-title:hover{color:var(--orange-light)}.table-course-inst{color:var(--text-muted);font-size:.75rem}.table-progress-cell{align-items:center;gap:8px;display:flex}.table-bar-track{border-radius:var(--radius-full);background:#ffffff1a;width:80px;height:5px;overflow:hidden}.table-bar-fill{background:var(--orange-primary);border-radius:var(--radius-full);height:100%}.table-progress-text{color:#fff;font-size:.75rem;font-weight:700}.table-actions-inline{align-items:center;gap:6px;display:inline-flex}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:200;background:#000c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-container{background:var(--bg-card);border:1px solid var(--border-light);flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #000000e6,0 0 30px #ff660026}.preview-modal-size{max-width:840px}.modal-header{border-bottom:1px solid var(--border-subtle);background:#0003;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title-wrap{align-items:center;gap:12px;display:flex}.modal-title{color:#fff;font-size:1.25rem;font-weight:800}.modal-close-btn{color:var(--text-muted)}.modal-close-btn:hover{color:#fff}.modal-tabs-bar{border-bottom:1px solid var(--border-subtle);background:#0000004d;padding:0 24px;display:flex}.modal-tab{color:var(--text-muted);background:0 0;align-items:center;gap:8px;padding:12px 18px;font-size:.88rem;font-weight:600;display:flex;position:relative}.modal-tab.active{color:var(--orange-light)}.modal-tab.active:after{content:"";background:var(--orange-primary);height:2px;position:absolute;bottom:0;left:0;right:0}.modal-form{flex-direction:column;flex:1;display:flex;overflow:hidden}.modal-body-scroll{flex:1;min-height:0;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:#00000040;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.footer-right{gap:10px;display:flex}.form-grid-layout{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.span-full{grid-column:1/-1}.form-label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.form-input{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:#fff;padding:10px 14px;font-size:.88rem;transition:border-color .2s}.form-input:focus{border-color:var(--orange-primary);box-shadow:0 0 12px #f603}.thumb-preview-box{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);width:160px;height:90px;margin-top:8px;overflow:hidden}.thumb-preview-img{object-fit:cover;width:100%;height:100%}.builder-modules-space{flex-direction:column;gap:16px;display:flex}.modules-top-bar{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#ffffff05;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.sub-helper-text{color:var(--text-muted);font-size:.82rem}.builder-module-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:16px;display:flex}.module-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.module-title-input-wrap{flex:1;align-items:center;gap:10px;display:flex}.mod-idx-badge{background:var(--orange-dim);color:var(--orange-light);white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:.72rem;font-weight:700}.mod-title-field{border:1px solid #0000;border-bottom:1px solid var(--border-light);color:#fff;background:0 0;flex:1;padding:6px 8px;font-size:.95rem;font-weight:700}.mod-title-field:focus{border-bottom-color:var(--orange-primary)}.mod-header-actions{align-items:center;gap:6px;display:flex}.module-lessons-container{flex-direction:column;gap:12px;display:flex}.builder-lesson-box{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#00000059;flex-direction:column;gap:10px;padding:12px;display:flex}.lesson-box-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.lesson-left-fields{flex:1;align-items:center;gap:8px;display:flex}.lesson-num-tag{color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:600}.lesson-name-input{flex:1;padding:6px 10px;font-size:.85rem}.lesson-duration-input{text-align:center;width:100px;padding:6px 10px;font-size:.85rem}.video-source-box{border:1px dashed var(--border-light);background:#ffffff05;border-radius:6px;padding:10px}.video-source-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:12px;display:grid}.upload-file-dropzone{position:relative}.file-input-label{border:1px dashed var(--border-orange);cursor:pointer;text-align:center;background:#ff66000a;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:12px;transition:all .2s;display:flex}.file-input-label:hover{background:#ff66001a}.upload-icon-bounce{color:var(--orange-primary);margin-bottom:4px}.upload-label-main{color:#fff;font-size:.8rem;font-weight:700}.upload-label-sub{color:var(--text-muted);font-size:.68rem}.video-url-input-side{flex-direction:column;gap:4px;display:flex}.or-divider-tag{color:var(--text-muted);text-align:center;font-size:.7rem}.input-with-icon{position:relative}.input-icon{color:var(--text-muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input-clean{width:100%;padding-left:32px}.source-ok-notice{color:#4ade80;align-items:center;gap:6px;margin-top:8px;font-size:.75rem;display:flex}.preview-hero-section{grid-template-columns:1fr 1.3fr;gap:24px;margin-bottom:28px;display:grid}.preview-cover-wrap{border-radius:var(--radius-md);background:#000;height:200px;position:relative;overflow:hidden}.preview-cover-img{object-fit:cover;width:100%;height:100%}.preview-cover-overlay{background:#00000080;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.preview-info-col{flex-direction:column;justify-content:center;display:flex}.preview-title{color:#fff;margin-bottom:8px;font-size:1.45rem;font-weight:800;line-height:1.25}.preview-desc{color:var(--text-secondary);margin-bottom:16px;font-size:.88rem;line-height:1.5}.preview-stats-bar{flex-wrap:wrap;gap:16px;margin-bottom:14px;display:flex}.preview-stat-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;display:flex}.preview-progress-box{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#ffffff0a;padding:10px 14px}.preview-progress-header{color:#fff;justify-content:space-between;margin-bottom:6px;font-size:.75rem;font-weight:600;display:flex}.preview-section-title{color:#fff;margin-bottom:14px;font-size:1.1rem;font-weight:700}.preview-modules-list{flex-direction:column;gap:14px;display:flex}.preview-module-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.preview-module-header{border-bottom:1px solid var(--border-subtle);background:#0003;align-items:center;gap:10px;padding:12px 16px;display:flex}.preview-mod-title{color:#fff;flex:1;font-size:.9rem;font-weight:700}.preview-mod-count{color:var(--text-muted);font-size:.75rem}.preview-lessons-sublist{flex-direction:column;display:flex}.preview-lesson-row{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 16px;transition:background .15s;display:flex}.preview-lesson-row:hover{background:#ff660014}.preview-lesson-left{align-items:center;gap:10px;display:flex}.preview-play-icon{color:var(--orange-primary)}.preview-lesson-name{color:var(--text-secondary);font-size:.85rem}.preview-lesson-duration{color:var(--text-muted);font-size:.78rem}.unauthorized-box{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:520px;margin:60px auto;padding:40px;display:flex}.unauthorized-icon{color:var(--orange-primary)}.unauthorized-box h2{color:#fff;font-size:1.5rem;font-weight:800}.unauthorized-box p{color:var(--text-secondary);font-size:.92rem;line-height:1.6}@media (max-width:1024px){.classroom-body-grid{grid-template-columns:1fr}.classroom-syllabus-sidebar{max-height:480px;position:static}.catalog-hero-banner{grid-template-columns:1fr}}@media (max-width:768px){.navbar-inner{flex-wrap:wrap}.main-content-viewport{padding:16px}.form-grid-layout,.video-source-grid,.preview-hero-section{grid-template-columns:1fr}}.custom-video-player.drive-player-container{aspect-ratio:unset;-webkit-user-select:none;user-select:none;border-radius:var(--radius-lg);background:#000;border:1px solid #ff660040;flex-direction:column;height:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #000c,0 0 30px #ff660026}.drive-stream-frame-wrap{aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.drive-stream-iframe{width:100%;height:100%;min-height:unset;background:#000;border:none;display:block}.custom-video-player.drive-player-container.fullscreen-mode{z-index:9999;border:none;border-radius:0;width:100vw;height:100vh;position:fixed;top:0;bottom:0;left:0;right:0}.custom-video-player.drive-player-container.fullscreen-mode .drive-stream-frame-wrap{height:calc(100vh - 52px);aspect-ratio:unset;flex:1}.next-lesson-countdown-overlay{-webkit-backdrop-filter:blur(10px);z-index:60;background:#000000d9;justify-content:center;align-items:center;padding:20px;animation:.25s cubic-bezier(.16,1,.3,1) fadeIn;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.countdown-card{border-radius:var(--radius-lg);background:#12121af2;border:1px solid #ff660073;align-items:center;gap:20px;width:100%;max-width:540px;padding:20px 24px;display:flex;box-shadow:0 20px 50px #000000f2,0 0 35px #ff660040}@media (max-width:600px){.countdown-card{text-align:center;flex-direction:column;gap:14px}}.countdown-ring-wrap{flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;display:flex;position:relative}.countdown-svg{width:100%;height:100%;transform:rotate(-90deg)}.countdown-circle-bg{fill:none;stroke:#ffffff1f;stroke-width:3.5px}.countdown-circle-progress{fill:none;stroke:var(--orange-primary);stroke-width:3.8px;stroke-linecap:round;stroke-dasharray:113;transition:stroke-dashoffset 1s linear}.countdown-number{font-family:var(--font-mono,monospace);color:#fff;font-size:1.35rem;font-weight:800;position:absolute}.countdown-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.countdown-label{text-transform:uppercase;letter-spacing:.5px;color:var(--orange-light);font-size:.72rem;font-weight:800}.countdown-next-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.98rem;font-weight:700;overflow:hidden}.countdown-duration{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);align-items:center;gap:4px;display:inline-flex}.countdown-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.drive-bottom-bar{border-top:1px solid var(--border-subtle);z-index:5;background:#0e0e14fa;justify-content:space-between;align-items:center;min-height:50px;padding:10px 16px;display:flex}.cast-ctrl-btn{align-items:center;gap:6px;display:inline-flex}.cast-ctrl-btn.casting-active{color:var(--orange-light);background:#ff66002e;border:1px solid #f606}.casting-live-pill{border-radius:var(--radius-full);color:var(--orange-light);cursor:pointer;background:#ff660026;border:1px solid #ff660059;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex}.casting-live-pill:hover{background:#ff660040}.drive-bar-left,.drive-bar-right{align-items:center;gap:12px;display:flex}.drive-time-tag{font-family:var(--font-mono);color:#c0c0d0;align-items:center;gap:6px;font-size:.78rem;display:flex}.drive-info-banner{border-radius:var(--radius-sm);background:#ff660014;border:1px solid #ff660040;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.drive-banner-icon{margin-top:2px}.drive-banner-text{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.drive-banner-text strong{color:#fff}.drive-banner-text code{color:var(--orange-light);font-family:var(--font-mono);background:#0006;border-radius:4px;padding:2px 6px;font-size:.75rem}.drive-link-input-row{margin-top:4px}.source-empty-hint{color:var(--text-muted);align-items:center;gap:6px;margin-top:6px;font-size:.72rem;display:flex}.bulk-import-container{flex-direction:column;gap:16px;display:flex}.bulk-header-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;padding:14px 18px}.bulk-header-title{align-items:center;gap:8px;margin-bottom:6px;display:flex}.bulk-header-title h3{color:#fff;font-size:1.05rem;font-weight:700}.bulk-helper-p{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.bulk-select-mod-row{align-items:center;gap:12px;display:flex}.bulk-select-mod-row .form-label{white-space:nowrap;margin-bottom:0}.bulk-textarea-wrap{flex-direction:column;gap:8px;display:flex}.bulk-textarea{font-family:var(--font-mono);font-size:.82rem;line-height:1.6}.bulk-actions-bottom{justify-content:flex-end;display:flex}.admin-toast-banner{color:#4ade80;border-radius:var(--radius-md);background:#22c55e1f;border:1px solid #22c55e59;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 18px;font-size:.9rem;font-weight:600;display:flex}.confirm-delete-modal-box{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:440px;padding:28px 24px;display:flex}.delete-modal-icon-wrap{background:#ff66001f;border:1px solid #ff66004d;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 0 20px #f603}.delete-modal-title{color:#fff;font-size:1.25rem;font-weight:800}.delete-modal-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.delete-modal-btn-row{gap:12px;width:100%;margin-top:10px;display:flex}.delete-modal-btn-row button{flex:1}.btn-danger-solid{color:#fff;border-radius:var(--radius-md);background:#dc2626;padding:10px 16px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #dc262666}.btn-danger-solid:hover{background:#ef4444;transform:translateY(-1px);box-shadow:0 6px 20px #dc262699}.user-avatar-wrapper{cursor:pointer;display:inline-block;position:relative}.avatar-mini-badge{background:var(--orange-primary);border:2px solid #09090c;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:transform .2s;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 6px #f609}.user-profile-widget:hover .avatar-mini-badge{transform:scale(1.15)}.profile-modal-container{border-radius:var(--radius-lg);background:#111118;border:1px solid #f603;width:95%;max-width:580px;overflow:hidden;box-shadow:0 20px 50px #000c,0 0 30px #ff66001a}.profile-form{flex-direction:column;gap:20px;min-height:0;padding:24px;display:flex;overflow-y:auto}.profile-hero-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;align-items:center;gap:20px;padding:16px;display:flex}.avatar-preview-wrapper{cursor:pointer;border:3px solid var(--orange-primary);border-radius:50%;flex-shrink:0;width:96px;height:96px;position:relative;overflow:hidden;box-shadow:0 0 20px #ff660059}.avatar-large-preview{object-fit:cover;width:100%;height:100%;transition:transform .3s}.avatar-camera-overlay{opacity:0;background:#000000a6;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.avatar-preview-wrapper:hover .avatar-camera-overlay{opacity:1}.avatar-preview-wrapper:hover .avatar-large-preview{transform:scale(1.08)}.camera-label{color:#fff;text-transform:uppercase;letter-spacing:.5px;font-size:.68rem;font-weight:700}.hidden-file-input{display:none}.avatar-info-box{flex-direction:column;gap:6px;display:flex}.profile-name-title{color:#fff;font-size:1.2rem;font-weight:800}.profile-badge-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.role-pill-badge{border-radius:9999px;align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.role-pill-badge.admin{color:#f94;background:#ff660026;border:1px solid #f606}.role-pill-badge.student{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.user-email-tag{color:var(--text-muted);font-size:.78rem}.profile-tip-text{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.avatar-source-tabs{border-bottom:1px solid var(--border-subtle);gap:8px;padding-bottom:10px;display:flex}.avatar-tab{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.avatar-tab:hover{color:#fff;background:#ffffff0d}.avatar-tab.active{color:var(--orange-light);background:#ff660026;border:1px solid #ff66004d}.drop-zone-box{border-radius:var(--radius-md);text-align:center;cursor:pointer;background:#ff660008;border:2px dashed #ff660059;flex-direction:column;align-items:center;gap:8px;padding:24px;transition:all .2s;display:flex}.drop-zone-box:hover{border-color:var(--orange-primary);background:#ff660014}.drop-zone-text strong{color:#fff;margin-bottom:4px;font-size:.88rem;display:block}.drop-zone-text span{color:var(--text-muted);font-size:.75rem}.presets-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.preset-avatar-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;background:#ffffff05;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:all .2s;display:flex;position:relative}.preset-avatar-card:hover{border-color:var(--orange-primary);transform:translateY(-2px)}.preset-avatar-card.selected{border-color:var(--orange-primary);background:#ff66001a;box-shadow:0 0 12px #ff66004d}.preset-img{object-fit:cover;border-radius:50%;width:52px;height:52px}.preset-label{color:var(--text-secondary);font-size:.7rem;font-weight:600}.preset-check-badge{background:var(--orange-primary);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:6px;right:6px}.url-input-group{gap:8px;display:flex}.profile-fields-section{border-top:1px solid var(--border-subtle);flex-direction:column;gap:14px;padding-top:16px;display:flex}.btn-success-state{color:#fff!important;background:#16a34a!important;border-color:#22c55e!important}.admin-section-tabs-bar{border-bottom:1px solid var(--border-subtle);gap:12px;margin-bottom:24px;padding-bottom:12px;display:flex}.admin-section-tab{border-radius:var(--radius-md);color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;background:#ffffff08;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.admin-section-tab:hover{color:#fff;background:#ffffff0f}.admin-section-tab.active{color:var(--orange-light);background:linear-gradient(135deg,#f603 0%,#ff66000d 100%);border-color:#ff660080;box-shadow:0 0 15px #f603}.tab-bubble-count{color:#f94;background:#ff660040;border-radius:9999px;padding:2px 7px;font-size:.72rem}.user-table-profile-cell{align-items:center;gap:12px;display:flex}.user-table-avatar{object-fit:cover;border:1px solid #ff66004d;border-radius:50%;width:40px;height:40px}.user-table-meta-text{flex-direction:column;gap:2px;display:flex}.user-table-name{color:#fff;font-size:.9rem;font-weight:700}.user-table-email{color:var(--text-muted);font-size:.75rem}.status-pill{border-radius:9999px;align-items:center;gap:6px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.status-pill.active{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.status-pill.inactive{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.user-access-cell{flex-direction:column;gap:6px;min-width:170px;display:flex}.table-bar-track.small{height:4px}.badge-orange-glow{color:#f94;background:#ff66002e;border:1px solid #f606;align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:inline-flex}.user-access-modal-box{background:#111118;border:1px solid #ff660040;width:95%;max-width:640px}.user-access-target-card{border-bottom:1px solid var(--border-subtle);background:#ffffff05;flex-shrink:0;align-items:center;gap:14px;padding:16px 24px;display:flex}.target-user-avatar{object-fit:cover;border:2px solid var(--orange-primary);border-radius:50%;width:48px;height:48px}.target-user-info{flex-direction:column;gap:2px;display:flex}.target-name-row{align-items:center;gap:8px;display:flex}.target-user-name{color:#fff;font-size:1.05rem;font-weight:800}.target-user-email{color:var(--text-muted);font-size:.78rem}.user-access-form{flex-direction:column;flex:1;min-height:0;display:flex}.user-access-body{scrollbar-width:thin;scrollbar-color:#f606 #14141980;flex-direction:column;flex:1;gap:20px;min-height:0;padding:24px;display:flex;overflow-y:auto}.access-mode-selector{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mode-radio-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);cursor:pointer;background:#ffffff05;flex-direction:column;gap:6px;padding:16px;transition:all .2s;display:flex}.mode-radio-card:hover{background:#ff66000a;border-color:#ff660080}.mode-radio-card.active{border-color:var(--orange-primary);background:#ff66001f;box-shadow:0 0 15px #f603}.mode-radio-top{align-items:center;gap:8px;display:flex}.mode-title{color:#fff;font-size:.88rem;font-weight:700}.mode-desc{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.custom-courses-picker{border-top:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding-top:16px;display:flex}.picker-toolbar{justify-content:space-between;align-items:center;display:flex}.picker-counts{color:#fff;align-items:center;gap:6px;font-size:.82rem;display:flex}.picker-quick-actions{gap:8px;display:flex}.btn-xs{padding:4px 8px;font-size:.72rem}.picker-search-bar{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0006;align-items:center;gap:8px;padding:6px 12px;display:flex;position:relative}.courses-checklist-scroll{flex-direction:column;gap:8px;max-height:min(280px,40vh);padding-right:4px;display:flex;overflow-y:auto}.course-check-item{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);cursor:pointer;background:#ffffff05;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.course-check-item:hover{background:#ffffff0d;border-color:#f606}.course-check-item.checked{background:#ff660014;border-color:#ff660080}.custom-checkbox{width:17px;height:17px;accent-color:var(--orange-primary);cursor:pointer}.check-course-thumb{object-fit:cover;border-radius:4px;width:44px;height:32px}.check-course-meta{flex-direction:column;flex:1;gap:2px;display:flex}.check-course-title{color:#fff;font-size:.82rem;font-weight:700}.check-course-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.picker-search-bar .search-input-clean{padding-left:26px}.check-course-lessons{color:var(--text-muted);font-size:.7rem}.badge-status-allowed{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d;border-radius:9999px;padding:2px 7px;font-size:.68rem;font-weight:700}.badge-status-blocked{color:#f87171;background:#ef444426;border:1px solid #ef44444d;border-radius:9999px;padding:2px 7px;font-size:.68rem;font-weight:700}.course-card-locked{opacity:.85;filter:grayscale(.2)}.course-card-locked:hover{filter:grayscale(0);opacity:1}.card-locked-badge-top{color:#f66;z-index:4;background:#14141af2;border:1px solid #f44;border-radius:9999px;align-items:center;gap:5px;padding:4px 9px;font-size:.7rem;font-weight:800;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0009}.locked-icon-floating{background:#14141ad9;border:1px solid #f606;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 0 15px #ff66004d}.user-form-modal-box{background:#111118;border:1px solid #ff660040;width:95%;max-width:500px}.user-form-content{flex-direction:column;gap:16px;min-height:0;padding:24px;display:flex;overflow-y:auto}.form-row-2col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.login-modal-box{border-radius:var(--radius-lg);background:#111118;border:1px solid #ff660059;flex-direction:column;width:95%;max-width:480px;max-height:94vh;display:flex;overflow:hidden;box-shadow:0 25px 60px #000000d9,0 0 35px #ff660026}.login-modal-header{border-bottom:1px solid var(--border-subtle);background:#ffffff05;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.brand-logo-small{align-items:center;gap:10px;display:flex}.login-modal-body{scrollbar-width:thin;scrollbar-color:#f606 #14141980;flex-direction:column;gap:14px;max-height:calc(94vh - 65px);padding:18px 22px 24px;display:flex;overflow-y:auto}.login-headline-wrap{text-align:center}.login-headline{color:#fff;margin-bottom:6px;font-size:1.35rem;font-weight:800}.login-subheadline{color:var(--text-secondary);font-size:.82rem;line-height:1.45}.btn-google-auth{color:#1f2937;border-radius:var(--radius-md);cursor:pointer;background:#fff;border:1px solid #e5e7eb;justify-content:center;align-items:center;gap:12px;width:100%;padding:12px 18px;font-size:.92rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000026}.btn-google-auth:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 6px 18px #ffffff26}.login-divider-row{align-items:center;gap:12px;margin:4px 0;display:flex}.divider-line{background:var(--border-subtle);flex:1;height:1px}.divider-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.72rem}.login-error-alert{border-radius:var(--radius-sm);color:#f87171;background:#ef44441f;border:1px solid #ef444459;align-items:center;gap:8px;padding:10px 14px;font-size:.82rem;display:flex}.login-form-fields{flex-direction:column;gap:14px;display:flex}.password-input-wrap{align-items:center;display:flex;position:relative}.password-field{padding-right:42px}.toggle-pwd-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex;position:absolute;right:12px}.toggle-pwd-btn:hover{color:#fff}.btn-block{width:100%;padding:12px;font-size:.92rem}.login-mode-footer{text-align:center;color:var(--text-secondary);font-size:.82rem}.link-orange-btn{color:var(--orange-primary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-weight:700;text-decoration:underline;transition:color .2s}.link-orange-btn:hover{color:#f83}.quick-demo-access-box{border-radius:var(--radius-md);background:#ff66000d;border:1px dashed #ff660040;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.quick-access-title{color:var(--orange-light);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:flex}.quick-demo-buttons-row{flex-wrap:wrap;gap:8px;display:flex}.btn-demo-pill{border-radius:var(--radius-sm);cursor:pointer;flex:1;align-items:center;gap:6px;padding:6px 10px;font-size:.73rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-demo-pill.admin{color:#f94;background:#ff66001f;border:1px solid #ff660059}.btn-demo-pill.admin:hover{color:#fff;background:#ff660040}.btn-demo-pill.student{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f659}.btn-demo-pill.student:hover{color:#fff;background:#3b82f640}.logout-navbar-btn{margin-left:4px}.cast-ctrl-btn{transition:all .2s;position:relative}.cast-ctrl-btn.casting-active{color:#f94!important;background:#ff660040!important;border-color:#ff660080!important}.casting-live-pill{color:#f94;cursor:pointer;background:#ff660026;border:1px solid #f606;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.cast-modal-backdrop{z-index:10000}.cast-modal-box{border-radius:var(--radius-lg);background:#111118;border:1px solid #ff66004d;width:95%;max-width:520px;box-shadow:0 20px 50px #000c,0 0 35px #ff660026}.cast-modal-content{flex-direction:column;gap:20px;padding:24px;display:flex}.cast-icon-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.cast-circle-glow{background:#ff66001a;border:2px solid #f606;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:all .3s;display:flex;box-shadow:0 0 25px #ff660040}.cast-circle-glow.active{border-color:var(--orange-primary);background:#ff660040;box-shadow:0 0 35px #ff660080}.cast-icon-hero h4{color:#fff;font-size:1.15rem;font-weight:800}.cast-hero-sub{color:var(--text-secondary);max-width:440px;font-size:.82rem;line-height:1.45}.cast-steps-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;flex-direction:column;gap:14px;padding:16px;display:flex}.cast-step-item{align-items:flex-start;gap:12px;display:flex}.step-num{color:#f94;background:#f603;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;font-size:.75rem;font-weight:800;display:flex}.step-text{flex-direction:column;gap:2px;display:flex}.step-text strong{color:#fff;font-size:.84rem}.step-text span{color:var(--text-secondary);font-size:.76rem;line-height:1.4}.cast-modal-actions{flex-direction:column;gap:10px;display:flex}.cast-active-panel{border-radius:var(--radius-md);background:#ff66000d;border:1px solid #ff660040;flex-direction:column;gap:16px;padding:16px;display:flex}.cast-tv-status-badge{color:#fff;border-radius:var(--radius-sm);background:#0006;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:700;display:flex}.live-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse;box-shadow:0 0 10px #22c55e}.cast-remote-controls-box{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.cast-remote-btn{border-radius:var(--radius-sm);color:#fff;border:1px solid var(--border-light);cursor:pointer;background:#ffffff14;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.cast-remote-btn:hover{background:#ffffff26;border-color:#ffffff4d}.cast-remote-btn.btn-primary{background:var(--orange-primary);border-color:var(--orange-primary)}.cast-remote-btn.btn-primary:hover{background:var(--orange-hover)}.cast-remote-btn.btn-secondary{background:#ffffff1a}.cast-reconnect-bar{justify-content:center;display:flex}.cast-tabs-section{flex-direction:column;display:flex}.cast-methods-tabs{border-bottom:1px solid var(--border-subtle);gap:8px;margin-bottom:14px;padding-bottom:10px;display:flex}.cast-tab-btn{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.cast-tab-btn:hover{color:#fff;background:#ffffff0d}.cast-tab-btn.active{color:var(--orange-light);background:#ff66001f;border-color:#ff66004d}.tab-cast-guide-box{border-radius:var(--radius-sm);color:var(--text-secondary);background:#00000059;border:1px solid #f603;flex-direction:column;gap:6px;margin-top:10px;padding:12px 14px;font-size:.78rem;line-height:1.5;display:flex}.tab-cast-guide-box strong{color:#fff}.auth-gate-fullscreen{background:radial-gradient(circle at 50% 15%,#ff66001f 0%,#09090bfa 75%);justify-content:center;align-items:center;width:100vw;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-gate-fullscreen:before{content:"";filter:blur(100px);pointer-events:none;background:radial-gradient(circle,#ff66002e 0%,#0000 70%);width:700px;height:700px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.blocking-auth-backdrop{-webkit-backdrop-filter:none!important;z-index:10!important;background:0 0!important;padding:0!important;position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important}.blocking-auth-backdrop .login-modal-box{border:1px solid #ff66004d;animation:.35s cubic-bezier(.16,1,.3,1) forwards fadeInModalScale;box-shadow:0 25px 70px #000c,0 0 40px #f603}@keyframes fadeInModalScale{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.access-keyword-box{background:#ff66000f;border:1px solid #ff660047;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px 16px;display:flex;box-shadow:inset 0 0 15px #ff66000d}.keyword-header-row{justify-content:space-between;align-items:center;display:flex}.keyword-label{color:#f94;align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.btn-toggle-eye-keyword{color:#f94;cursor:pointer;background:#ff66001a;border:1px solid #ff660040;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;font-weight:600;transition:all .15s;display:flex}.btn-toggle-eye-keyword:hover{color:#fff;background:#ff660038}.keyword-input{letter-spacing:1.5px;transition:all .2s;color:#fff!important;background:#0c0c10e6!important;border:1px solid #ff660059!important;font-size:.92rem!important}.keyword-input:focus{border-color:#f60!important;box-shadow:0 0 16px #ff660059!important}.keyword-helper-text{color:#a0a0b0;font-size:.73rem;line-height:1.3}.card-locked-footer-banner{color:#f94;background:#ff660014;border:1px solid #ff660040;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:.78rem;font-weight:600;display:flex}.unassigned-student-notice{border-radius:var(--radius-lg);background:linear-gradient(135deg,#1e140ff2 0%,#0f0f14f2 100%);border:1px solid #ff660059;align-items:center;gap:20px;margin:20px 0 28px;padding:22px 28px;display:flex;box-shadow:0 10px 30px #0009,0 0 25px #ff66001a}.notice-icon-circle{background:#ff660026;border:1px solid #ff660059;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.notice-content{flex-direction:column;gap:6px;display:flex}.notice-content h3{color:#fff;margin:0;font-size:1.15rem;font-weight:800}.notice-content p{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.notice-content strong{color:#fa5}.notice-hint{color:#a0a0b0;margin-top:4px;font-size:.78rem}:where(button.recent-course-card,button.syllabus-lesson-info,button.user-profile-widget,button.avatar-preview-wrapper,button.drop-zone-box,button.mode-radio-card,button.preview-lesson-row,button.table-course-title,button.video-center-overlay,button.casting-live-pill,button.card-title-btn,button.next-lesson-card,button.brand-logo){font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}:where(button.recent-course-card,button.drop-zone-box,button.mode-radio-card,button.preview-lesson-row,button.next-lesson-card){width:100%}.card-title-btn{color:inherit;text-align:left;display:inline}.card-title-btn:hover{color:var(--orange-light)}.syllabus-lesson-info{text-align:left;min-width:0}.syllabus-lesson-sub{align-items:center;gap:8px;margin-top:2px;display:flex}.user-profile-widget{border-radius:var(--radius-full);padding:2px 10px 2px 2px}.user-profile-widget:hover{background:#ffffff0a}.brand-logo{align-items:center;gap:10px;display:flex}.text-right{text-align:right}.you-badge{margin-left:6px;padding:2px 6px;font-size:.62rem}.link-orange-btn.small{font-size:.75rem;font-weight:600}.label-with-addon{justify-content:space-between;align-items:center;gap:8px;display:flex}:focus-visible{outline:2px solid var(--orange-primary);outline-offset:2px;border-radius:4px}button:focus:not(:focus-visible){outline:none}a:focus:not(:focus-visible){outline:none}.skip-link{z-index:1000;background:var(--orange-primary);color:#fff;border-radius:var(--radius-sm);padding:10px 16px;font-weight:700;transition:top .2s;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.main-content-viewport:focus{outline:none}.view-as-banner{color:var(--orange-light);background:linear-gradient(90deg,#ff66002e,#ff660014);border-bottom:1px solid #ff660059;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 16px;font-size:.82rem;display:flex}.loading-screen,.fatal-error-screen{background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px;display:flex}.loading-message{color:var(--text-muted);font-size:.9rem}.loading-spinner{border:3px solid #ff66002e;border-top-color:var(--orange-primary);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite spin}.loading-spinner.small{border-width:2px;width:22px;height:22px}@keyframes spin{to{transform:rotate(360deg)}}.section-spinner{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.fatal-error-card{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;padding:40px 32px;display:flex}.fatal-error-card h1{font-size:1.5rem;font-weight:800}.fatal-error-card p{color:var(--text-secondary);line-height:1.6}.fatal-error-card code{font-family:var(--font-mono);color:var(--orange-light);font-size:.85em}.fatal-error-detail{text-align:left;width:100%;font-family:var(--font-mono);color:#ff8a65;border-radius:var(--radius-sm);background:#0006;max-height:160px;padding:12px;font-size:.75rem;overflow:auto}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17 50%,#ffffff0a 75%) 0 0/200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-sm);transform:none}.skeleton-thumb{aspect-ratio:16/9;border-radius:0;width:100%}.skeleton-line{height:12px;margin-bottom:10px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:70%}.toast-viewport{z-index:400;pointer-events:none;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--bg-glass-heavy);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-light);box-shadow:var(--shadow-md);color:var(--text-main);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.88rem;line-height:1.4;display:flex}.toast-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast-title{color:var(--text-muted);font-size:.8rem}.toast-icon{flex-shrink:0;margin-top:1px}.toast-success{border-color:#22c55e73}.toast-success .toast-icon{color:#4ade80}.toast-error{border-color:#ff444480}.toast-error .toast-icon{color:#ff6b6b}.toast-warning{border-color:#ff660080}.toast-warning .toast-icon{color:var(--orange-light)}.toast-info{border-color:#60a5fa73}.toast-info .toast-icon{color:#7cb8ff}.toast-close{color:var(--text-muted);background:0 0;border-radius:4px;flex-shrink:0;padding:2px}.toast-close:hover{color:#fff}.classroom-empty-state{justify-content:center;padding:40px 20px;display:flex}.unauthorized-icon-wrap{background:#ff66001a;border-radius:50%;padding:16px;display:inline-flex}.course-completed-banner{border-color:#f606;align-items:center;gap:14px;margin-top:14px;padding:14px 18px;display:flex}.course-completed-banner div{flex-direction:column;gap:2px;display:flex}.course-completed-banner span{color:var(--text-muted);font-size:.85rem}.lesson-instructor-line{color:var(--text-muted);margin-top:8px;font-size:.85rem}.next-lesson-card{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px 18px;display:flex}.next-lesson-card-text{flex-direction:column;gap:6px;min-width:0;display:flex}.next-lesson-card-text strong{color:#fff;font-size:.95rem}.lesson-action-buttons .btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.shortcuts-modal-box{max-width:460px}.shortcuts-grid{grid-template-columns:1fr 1fr;gap:10px 20px;padding:20px 24px 8px;display:grid}.shortcut-row{color:var(--text-secondary);align-items:center;gap:10px;font-size:.85rem;display:flex}.shortcut-row kbd{font-family:var(--font-mono);border:1px solid var(--border-light);color:#fff;white-space:nowrap;background:#ffffff0f;border-bottom-width:2px;border-radius:6px;padding:3px 7px;font-size:.72rem}.shortcuts-note{padding:8px 24px 20px;display:block}.cast-tip-box{color:#ffffffbf;background:#ff660014;border:1px solid #f603;border-radius:10px;flex-direction:column;gap:3px;margin-top:12px;padding:10px 14px;font-size:.78rem;display:flex}.cast-tip-box strong{color:#fff}.tab-cast-guide-box{background:#ff660014;border:1px solid #ff660040;border-radius:12px;padding:16px;font-size:.82rem;line-height:1.5}.tab-cast-guide-box p{margin:8px 0}.tab-cast-guide-title{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tab-cast-guide-title h5{color:#fff;margin:0;font-size:.9rem;font-weight:700}.cast-ok-line{color:#4ade80}.cast-status-line{color:var(--orange-light);margin-top:10px;font-size:.8rem}.cast-actions-stack{flex-direction:column;gap:8px;width:100%;display:flex}.course-card.is-busy{opacity:.6;pointer-events:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:600px){.modal-backdrop{padding:10px}.modal-container{max-height:96vh;max-height:96dvh}.access-mode-selector,.shortcuts-grid{grid-template-columns:1fr}.toast-viewport{width:calc(100vw - 16px);bottom:8px;right:8px}.view-as-banner{font-size:.75rem}}.profile-form>.modal-footer,.user-form-content>.modal-footer{z-index:2;background:#111118;margin:0 -24px -24px;position:sticky;bottom:-24px}.drive-popout-shield{z-index:6;cursor:default;background:0 0;width:84px;height:68px;position:absolute;top:0;right:0}.drive-popout-shield:after{content:"";background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.55' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") 50%/20px 20px no-repeat,#0e0e12f0;border-radius:12px;width:54px;height:54px;position:absolute;top:8px;right:12px}body.player-immersive{overflow:hidden!important}body.player-immersive .navbar-container,body.player-immersive .mobile-tab-bar,body.player-immersive .classroom-header-bar{display:none!important}body.player-immersive .player-cinema-box{z-index:auto!important;position:static!important;overflow:visible!important}body.player-immersive .main-content-viewport{overflow:visible!important}.custom-video-player.immersive-mode{width:100vw;height:100vh;z-index:9999;height:100dvh;aspect-ratio:unset;background:#000;flex-direction:column;margin:0;display:flex;top:0;left:0;border:0!important;border-radius:0!important;position:fixed!important}.custom-video-player.immersive-mode .drive-stream-frame-wrap,.custom-video-player.immersive-mode .video-element{height:auto;min-height:0;aspect-ratio:unset;flex:1}.custom-video-player.immersive-mode .drive-bottom-bar{padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));flex-shrink:0}@media (orientation:portrait) and (max-width:768px){.custom-video-player.immersive-mode{width:100vh;transform-origin:0 0;width:100dvh;height:100vw;left:100vw;transform:rotate(90deg)}.custom-video-player.immersive-mode .drive-bottom-bar{padding-bottom:6px}}.native-stage{cursor:pointer;-webkit-tap-highlight-color:transparent}.native-video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.native-spinner{pointer-events:none;color:#fff;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.native-spin{animation:.9s linear infinite nativeSpin}@keyframes nativeSpin{to{transform:rotate(360deg)}}.native-overlay{z-index:3;background:linear-gradient(#00000047 0%,#0000 26% 58%,#0009 100%);transition:opacity .18s;position:absolute;top:0;bottom:0;left:0;right:0}.native-overlay.hidden{opacity:0;pointer-events:none}.native-center{align-items:center;gap:clamp(22px,9vw,56px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.native-round{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0a0a0e8c;border:0;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.native-round:active{background:#0a0a0ebf;transform:scale(.94)}.native-round.native-play{background:#ff6600eb;width:74px;height:74px}.native-round-text{font-size:.58rem;font-weight:700;line-height:1;position:absolute}.native-bottom{cursor:default;padding:0 12px 8px;position:absolute;bottom:0;left:0;right:0}.native-seek{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:none;background:0 0;width:100%;height:30px;margin:0;display:block}.native-seek::-webkit-slider-runnable-track{background:linear-gradient(to right, #f60 0%, #f60 var(--seek-progress,0%), #ffffff52 var(--seek-progress,0%), #ffffff52 100%);border-radius:3px;height:5px}.native-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;width:18px;height:18px;margin-top:-6.5px;box-shadow:0 1px 4px #00000080}.native-seek::-moz-range-track{background:#ffffff52;border-radius:3px;height:5px}.native-seek::-moz-range-progress{background:#f60;border-radius:3px;height:5px}.native-seek::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:18px;height:18px}.native-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.native-time{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000000b3;font-size:.82rem;font-weight:600}.native-row-actions{align-items:center;gap:8px;display:flex}.native-chip{color:#fff;min-width:46px;height:42px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0a0a0e99;border:0;border-radius:12px;justify-content:center;align-items:center;padding:0 12px;font-size:.86rem;font-weight:700;display:inline-flex}.native-chip.active{background:#ff6600e6}.custom-video-player.immersive-mode .native-stage{height:auto;min-height:0;aspect-ratio:unset;flex:1}.native-preparing{color:#fffc;cursor:default;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.88rem;display:flex}.mobile-tab-bar{display:none}@media (hover:none){.course-card:hover,.takeaway-card:hover,.metric-card:hover,.btn:hover{transform:none}}@media (max-width:768px){:root{--mobile-tabbar-h:60px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}html{-webkit-text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,a,[role=tab],[role=radio],label{touch-action:manipulation}.main-content-viewport{padding:14px 14px calc(var(--mobile-tabbar-h) + var(--safe-bottom) + 22px);overflow-x:clip}.main-content-viewport *,.modal-container *{min-width:0}.btn{min-height:44px;padding:10px 16px}.btn-sm,.btn-xs{min-height:40px}.btn-icon-subtle,.btn-icon{min-width:40px;min-height:40px}input,select,textarea,.form-input,.search-input,.search-input-clean,.notes-textarea{font-size:16px!important}.navbar-container{padding:calc(8px + var(--safe-top)) 14px 8px}.navbar-inner{flex-wrap:nowrap;gap:10px}.navbar-container .nav-links,.navbar-container .brand-tag,.navbar-container .user-info-text,.navbar-container .btn-glow-orange>span{display:none}.navbar-container .brand-icon-box{width:34px;height:34px}.navbar-container .brand-text{font-size:1.1rem}.navbar-actions{gap:6px;margin-left:auto}.navbar-container .btn-glow-orange{min-width:40px;padding:0 10px}.navbar-container .user-profile-widget{background:0 0;border-color:#0000;padding:2px}.navbar-container .user-avatar{width:36px;height:36px}body:has(.classroom-layout) .navbar-container{position:static}.view-as-banner{text-align:center;padding:8px 12px}.mobile-tab-bar{z-index:150;height:calc(var(--mobile-tabbar-h) + var(--safe-bottom));padding:0 6px var(--safe-bottom);-webkit-backdrop-filter:blur(18px);background:#0c0c11f0;border-top:1px solid #ffffff14;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tab{min-width:0;color:var(--text-muted,#8b8b99);font:inherit;letter-spacing:.01em;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:.68rem;font-weight:600;text-decoration:none;display:flex;position:relative}.mobile-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-tab.active{color:var(--orange-primary,#f60)}.mobile-tab.active:before{content:"";background:var(--orange-primary,#f60);border-radius:0 0 3px 3px;height:2px;position:absolute;top:0;left:28%;right:28%}.mobile-tab:active{opacity:.7}.modal-backdrop:not(.blocking-auth-backdrop){z-index:300}.toast-viewport{bottom:calc(var(--mobile-tabbar-h) + var(--safe-bottom) + 10px)!important}.student-dashboard{gap:18px}.catalog-hero-banner{gap:18px;padding:20px 18px}.hero-headline{font-size:clamp(1.45rem,6.6vw,1.9rem);line-height:1.2}.hero-subtext{font-size:.92rem}.hero-stat-pills{gap:8px}.stat-pill{padding:7px 12px;font-size:.8rem}.hero-recent-box{padding:14px}.recent-progress-wrap{flex-wrap:wrap;gap:4px 10px}.card-footer-actions .card-main-btn{flex:2 auto}.card-footer-actions .btn-icon-subtle{flex:none}.recent-title{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.catalog-toolbar{flex-direction:column;align-items:stretch;gap:12px}.category-scroll-container,.lesson-tabs-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-wrap:nowrap;margin:0 -14px;padding:2px 14px 4px;overflow-x:auto}.category-scroll-container::-webkit-scrollbar{display:none}.lesson-tabs-nav::-webkit-scrollbar{display:none}.category-pill{scroll-snap-align:start;flex-shrink:0;min-height:40px}.toolbar-right-row{flex-direction:column;align-items:stretch;gap:10px;width:100%}.status-filter-pills{grid-template-columns:repeat(3,1fr);display:grid}.status-pill{white-space:nowrap;min-height:40px;padding-left:6px;padding-right:6px}.search-bar-wrap,.search-input{width:100%;max-width:none}.courses-grid-layout{grid-template-columns:1fr;gap:16px}.card-content{padding:16px}.card-title-btn{text-align:left;min-height:0}.card-footer-actions .btn{flex:1}.classroom-layout{gap:12px}.classroom-header-bar{flex-wrap:wrap;gap:8px 10px;padding:8px 10px}.classroom-header-left{flex:100%;gap:8px}.classroom-header-left .header-divider,.classroom-header-left .course-badge-pill{display:none}.classroom-header-left .back-btn,.classroom-header-left>.btn{flex-shrink:0;padding:0 10px}.header-course-info{flex:1}.header-course-title{max-width:none;font-size:.92rem}.classroom-header-right{flex:100%}.course-progress-pill{justify-content:space-between;width:100%}.course-progress-pill .mini-progress-track{flex:1}.classroom-body-grid{grid-template-columns:minmax(0,1fr);gap:14px}.classroom-main-content{display:contents}.player-cinema-box{border-radius:0;width:auto;margin:0 -14px}.player-cinema-box .custom-video-player{border-left:0;border-right:0;border-radius:0}.drive-bottom-bar{flex-wrap:nowrap;gap:6px;min-height:0;padding:6px 8px}.drive-bar-left,.drive-bottom-bar .shortcuts-ctrl,.video-controls-overlay .shortcuts-ctrl,.drive-bottom-bar .cast-ctrl-btn .btn-label-text,.drive-bottom-bar .next-lesson-ctrl>span{display:none}.drive-bar-right{flex-wrap:nowrap;flex:1;justify-content:space-between;gap:6px}.drive-bottom-bar .ctrl-btn,.drive-bottom-bar .next-lesson-ctrl{justify-content:center;min-width:44px;min-height:40px;padding:0 10px}.drive-bottom-bar .mark-complete-ctrl{flex:1}.lesson-details-header{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.active-lesson-heading{font-size:1.15rem;line-height:1.3}.lesson-meta-row{flex-wrap:wrap;gap:8px}.lesson-meta-row .badge{white-space:normal;text-align:left;line-height:1.3}.lesson-meta-row .badge-gray{border-radius:10px;flex:100%}.lesson-action-buttons{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;width:100%;display:grid}.lesson-action-buttons .btn{padding-left:8px;padding-right:8px;font-size:.82rem}.lesson-tabs-nav{margin:0;padding:0}.lesson-tabs-nav .tab-btn{white-space:nowrap;scroll-snap-align:start;flex:1 0 auto;min-height:46px;padding-left:14px;padding-right:14px}.tab-hint{display:none}.tab-pane-content{padding:16px}.tab-pane-content .badge,.summary-badge,.pill-module{white-space:normal;text-align:left}.lesson-desc-text,.lesson-summary-block p{overflow-wrap:anywhere}.next-lesson-card-text,.next-lesson-card h4,.next-lesson-card strong{white-space:normal}.classroom-syllabus-sidebar{max-height:none;position:static}.syllabus-modules-accordion{max-height:none;overflow:visible}.accordion-module-btn{text-align:left;min-height:52px}.mod-title-text,.syllabus-lesson-title{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.syllabus-lesson-item{min-height:56px;padding-top:10px;padding-bottom:10px}.checkbox-custom-btn{min-width:40px;min-height:40px;margin:-8px 0 -8px -8px}.notes-textarea{min-height:180px}.admin-dashboard-container{gap:16px}.admin-hero-banner{flex-direction:column;align-items:stretch;gap:14px;padding:18px}.admin-title{font-size:1.35rem}.admin-hero-actions .btn{width:100%}.admin-section-tabs-bar{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-section-tab{justify-content:center;min-height:46px;padding:8px 10px;font-size:.84rem}.admin-metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{gap:10px;padding:12px}.metric-icon-box{flex-shrink:0;width:38px;height:38px}.metric-value{font-size:1.3rem}.metric-label{font-size:.72rem;line-height:1.25}.admin-courses-panel{padding:16px 14px}.panel-header-row{flex-direction:column;align-items:stretch;gap:12px}.panel-actions-row{flex-wrap:wrap;gap:8px}.panel-actions-row .search-input-box{flex:100%;width:100%}.panel-actions-row .btn,.panel-actions-row .select-filter-clean{flex:calc(50% - 4px);padding-left:8px;padding-right:8px;font-size:.8rem}.panel-actions-row .btn:last-child:nth-child(2n){flex-basis:100%}.admin-table-wrapper{overflow:visible}.admin-table,.admin-table tbody{width:100%;display:block}.admin-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.admin-table tr{border-bottom:1px solid var(--border-subtle,#ffffff12);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:14px 0;display:flex}.admin-table td{border:0;padding:0;display:block}.admin-table td.table-col-course,.admin-table td.text-right{flex:100%}.admin-table td:has(.empty-table-state){flex:100%}.admin-table td:has(.table-progress-cell){flex:120px}.admin-table .table-actions-inline{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}.admin-table .table-actions-inline .btn{flex:auto}.table-course-title,.user-table-name,.user-table-email{white-space:normal;overflow-wrap:anywhere}.modal-backdrop:not(.blocking-auth-backdrop){align-items:flex-end;padding:0}.modal-backdrop:not(.blocking-auth-backdrop)>.modal-container{width:100%;max-width:none;max-height:92vh;border-bottom:0;border-left:0;border-right:0;border-radius:20px 20px 0 0;max-height:92dvh}.modal-header{padding:14px 16px}.modal-title{font-size:1.05rem}.modal-body-scroll,.user-access-body,.profile-form,.user-form-content{padding:16px}.modal-footer{padding:12px 16px calc(12px + var(--safe-bottom));gap:10px}.modal-footer .btn,.modal-footer .footer-right{flex:1}.profile-form>.modal-footer,.user-form-content>.modal-footer{margin:0 -16px -16px;bottom:-16px}.courses-checklist-scroll{max-height:none}.picker-toolbar{flex-direction:column;align-items:flex-start;gap:8px}.check-course-thumb,.check-course-lessons{display:none}.access-mode-selector{grid-template-columns:1fr 1fr;gap:8px}.mode-radio-card{padding:12px}.mode-radio-card .mode-desc{display:none}.user-access-target-card{padding:12px 16px}.course-check-item{min-height:56px}.auth-gate-fullscreen{padding:12px}.blocking-auth-backdrop .login-modal-box{width:100%;max-width:460px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.login-modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none}}@media (max-width:932px) and (orientation:landscape) and (max-height:500px){.navbar-container{position:static}.mobile-tab-bar{display:none}.main-content-viewport{padding-bottom:16px}.player-cinema-box .drive-stream-frame-wrap{aspect-ratio:auto;height:calc(100vh - 56px);height:calc(100dvh - 56px)}}@media (max-width:768px) and (orientation:portrait){.player-cinema-box{z-index:40;position:sticky;top:0;box-shadow:0 10px 24px #0000008c}}
