*{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#e2e8f0;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#60a5fa;--accent-g1:#1e3a8a;--accent-g2:#1d4ed8;background:#0b1120;width:100%;height:100%;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.7;overflow:hidden}.app-root{height:100vh;height:-webkit-fill-available;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.rt-fullview{height:100vh;height:-webkit-fill-available;height:100dvh}.app-root.immersive .topbar,.app-root.immersive .course-banner,.app-root.immersive .resume-banner,.app-root.immersive .sidebar{display:none}.topbar{height:48px;padding:8px 20px;padding-top:calc(8px + env(safe-area-inset-top));padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right));background:linear-gradient(#131c31 0%,#0f1828 100%);border-bottom:1px solid #2a3a5c;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.topbar-title{white-space:nowrap;background:linear-gradient(90deg, var(--accent), #a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex-shrink:0;font-size:14px;font-weight:700}.topbar-lectures{white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:1;gap:3px;min-width:0;padding:2px 0;display:flex;overflow-x:auto;overflow-y:hidden}.topbar-lectures:active{cursor:grabbing}.topbar-lectures.hover{scrollbar-width:thin}.topbar-lectures::-webkit-scrollbar{background:0 0;height:0}.topbar-lectures.hover::-webkit-scrollbar{height:3px}.topbar-lectures::-webkit-scrollbar-track{background:0 0}.topbar-lectures.hover::-webkit-scrollbar-track{background:0 0}.topbar-lectures::-webkit-scrollbar-thumb{background:0 0;border-radius:2px}.topbar-lectures.hover::-webkit-scrollbar-thumb{background:#2a3a5c}.topbar-btn{cursor:pointer;white-space:nowrap;color:#8ba3c7;background:0 0;border:1px solid #2a3a5c;border-radius:6px;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.topbar-btn.active{border-color:var(--accent);color:var(--accent);background:#ffffff0f}.topbar-btn.voice.on{color:#34d399;background:#34d39915;border-color:#34d399}.topbar-btn.voice.off{color:#f87171;background:#f8717115;border-color:#f87171}.voice-speaking-dot{background:#34d399;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px;box-shadow:0 0 6px #34d39988}.topbar-btn:hover{filter:brightness(1.2)}.topbar-more-menu{z-index:120;background:#131c31;border:1px solid #2a3a5c;border-radius:10px;flex-direction:column;gap:2px;min-width:156px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000073}.topbar-more-menu button{color:#cbd5e1;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:12px;transition:background .12s;display:flex}.topbar-more-menu button:hover{background:#ffffff0f}.topbar-more-menu button.on{color:#34d399}.course-banner{border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:12px;min-height:40px;padding:6px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000040}.course-banner:after{content:"";pointer-events:none;background:radial-gradient(120% 180% at 20% 0,#ffffff1a,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.course-banner-icon{filter:drop-shadow(0 2px 6px #0000004d);flex-shrink:0;font-size:20px;line-height:1}.course-banner-body{flex:1;min-width:0}.course-banner-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0000004d;font-size:14px;font-weight:700;line-height:1.35;overflow:hidden}.course-banner-meta{color:#ffffffd9;flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;font-size:11px;display:flex}.course-progress{flex:1;align-items:center;gap:10px;min-width:180px;max-width:340px;display:flex}.course-progress-bar{background:#ffffff38;border-radius:3px;flex:1;height:6px;overflow:hidden}.course-progress-fill{background:linear-gradient(90deg, var(--accent-g1), var(--accent));border-radius:3px;height:100%;transition:width .4s}.course-progress-text{color:#ffffffe6;white-space:nowrap;font-size:11px}.resume-banner{z-index:150;border:1px solid var(--accent);color:#e2e8f0;background:#131c31;border-radius:12px;align-items:center;gap:12px;max-width:380px;padding:10px 16px;font-size:13px;animation:.3s ease-out subtitleIn;display:flex;position:fixed;top:60px;right:16px;box-shadow:0 10px 30px #00000080}.resume-banner-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.resume-banner-btn{background:var(--accent);color:#0b1120;cursor:pointer;border:none;border-radius:16px;flex-shrink:0;padding:5px 16px;font-family:inherit;font-size:12px;font-weight:700}.resume-banner-close{color:#8ba3c7;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;font-size:16px;line-height:1}.course-banner-badge{color:#fff;letter-spacing:1px;background:#ffffff2e;border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.main-area{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.content-row{flex:1;min-height:0;display:flex;overflow:hidden}.scene-area{flex-direction:column;flex:7;min-width:0;display:flex;position:relative}.subtitle-box{border:1px solid var(--accent);color:#e2e8f0;text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:20;pointer-events:none;width:100%;max-width:100%;box-shadow:none;background:#0b1120fa;border-width:0;border-radius:0;flex:none;align-items:center;height:56px;padding:6px 16px;font-size:13px;line-height:1.5;animation:none;display:flex;position:static;left:auto;overflow:hidden;transform:none}.subtitle-box.humorous{color:#fffbeb;background:#1a1200;border-color:#f59e0b66}.subtitle-box .subtitle-body{max-height:44px;overflow-y:auto}.subtitle-ask{box-sizing:border-box;color:#e8dcc0;pointer-events:none;z-index:20;background:#d8b87814;border-top:1px dashed #d8b87859;flex:none;width:100%;padding:4px 16px;font-size:12px;line-height:1.45;position:static}.subtitle-ask-tag{color:#0d0d14;background:#d8b878e6;border-radius:999px;margin-right:6px;padding:0 6px;font-size:10.5px;font-weight:700;display:inline-block}.subtitle-controls-floating{z-index:20;gap:6px;display:flex;position:absolute;bottom:6px;right:12px}.subtitle-btn{color:#e2e8f0;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1a244099;border:1px solid #3a4d7a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.subtitle-btn:hover:not(:disabled){background:#24345e;border-color:#5a72b0}.subtitle-btn:disabled{opacity:.35;cursor:not-allowed}.ask-voice-btn{color:#e2e8f0;cursor:pointer;background:#1a244099;border:1px solid #3a4d7a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.ask-voice-btn:hover:not(:disabled){background:#24345e;border-color:#5a72b0}.ask-voice-btn:disabled{opacity:.35;cursor:not-allowed}.ask-voice-btn.listening{color:#fff;background:#ef444455;border-color:#ef4444;animation:1s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}@keyframes subtitleIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sidebar{background:linear-gradient(#0f1828 0%,#0b1120 45%);border-left:1px solid #2a3a5c;flex-direction:column;flex:3;gap:8px;min-width:220px;max-width:320px;padding:12px;display:flex;overflow-y:auto;box-shadow:-8px 0 24px #00000047}.sidebar-mask,.sidebar-drawer,.scene-nav-floating,.scene-progress-indicator,.mobile-bottom-nav{display:none}.panel{background:#131c31;border:1px solid #2a3a5c;border-radius:10px;flex-shrink:0;padding:12px}.sidebar-section-title{color:#8ba3c7;margin-bottom:8px;font-size:13px;font-weight:600}.sidebar-scene-grid{grid-template-columns:repeat(2,1fr);gap:5px;display:grid}.scene-tag{cursor:pointer;color:#5a7a9c;text-align:center;background:0 0;border:1px solid #2a3a5c;border-radius:5px;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:5px 8px;font-family:inherit;font-weight:500;transition:all .15s;display:flex;overflow:hidden}.scene-tag-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.scene-tag-kps{color:#7a95b8;opacity:.75;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;line-height:1.3;overflow:hidden}.scene-tag.active .scene-tag-kps{color:#16324f;opacity:.85}.scene-tag.active{background:var(--accent);border-color:var(--accent);color:#0b1120;font-weight:700;position:relative;box-shadow:0 2px 10px #00000059}.scene-tag.active:before{content:"";background:#ffffffb3;border-radius:2px;width:3px;position:absolute;top:15%;bottom:15%;left:0}.scene-tag.active.completed:after,.scene-tag.active.in-progress:after{color:#0b1120}.scene-tag.visited{color:#34d39999;border-color:#34d39944}.scene-tag.completed{border-color:#34d39966}.scene-tag.completed:after{content:" ✓";color:#34d399;font-weight:700}.scene-tag.in-progress:after{content:" ●";color:#fbbf24;font-weight:700}.scene-tag:hover{filter:brightness(1.3);border-color:#4a6a8c}.sidebar-btn{color:#8ba3c7;cursor:pointer;background:0 0;border:1px solid #2a3a5c;border-radius:6px;align-items:center;gap:4px;padding:5px 14px;font-family:inherit;font-size:12px;transition:all .15s;display:flex}.sidebar-btn:hover{border-color:var(--accent);color:var(--accent)}.mode-bar{padding-bottom:env(safe-area-inset-bottom,0px);background:linear-gradient(#0b1120 0%,#0e1628 100%);border-top:1px solid #1a2645;flex-shrink:0;box-shadow:0 -6px 20px #00000040}.mode-bar-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-bottom:1px solid #131c31;flex-wrap:nowrap;gap:8px;padding:6px 10px;display:flex;overflow-x:auto}.mode-bar-tab{cursor:pointer;color:#cbd5e1;background:0 0;border:1px solid #2a3a5c;border-radius:20px;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:400;transition:all .15s;display:inline-flex}.mode-bar-tab-icon{font-size:15px;line-height:1}.mode-bar-tab.active{background:var(--accent);border-color:var(--accent);color:#0b1120;font-weight:700}.mode-bar-tab:hover{filter:brightness(1.2)}.mode-bar-content{padding:0}.panel-speaking,.panel-interactive,.panel-quiz,.panel-ask{min-height:40px}.panel-speaking{justify-content:space-between;align-items:center;height:42px;padding:0 16px;display:flex}.panel-interactive{justify-content:center;align-items:center;min-height:42px;padding:8px 16px;display:flex}.audio-progress-bar{background:#1a2645;border-radius:2px;flex:1;max-width:200px;height:3px;overflow:hidden}.audio-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0b1120}::-webkit-scrollbar-thumb{background:#2a3a5c;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a4a6c}button{outline:none;font-family:inherit;transition:all .15s}button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:not-allowed}.sidebar-mask{z-index:50;background:#00000080;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.sidebar-mask.open{display:block}.sidebar-drawer{z-index:51;background:#0b1120;border-right:1px solid #2a3a5c;width:280px;max-width:85vw;padding:12px;transition:transform .25s;display:none;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar-drawer.open{display:block;transform:translate(0)}.scene-nav-floating{z-index:10;pointer-events:none;position:absolute}.scene-nav-floating button{pointer-events:auto;color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #2a3a5c73;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:all .15s;display:flex}.scene-nav-floating button:active{color:#60a5fa;background:#60a5fa47}.mobile-bottom-nav{z-index:30;background:#131c31;border-top:1px solid #2a3a5c;justify-content:space-around;align-items:center;padding:6px 12px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{color:#5a7a9c;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;font-family:inherit;font-size:10px;transition:all .15s;display:flex}.mobile-bottom-nav button.active{color:#60a5fa}.mobile-bottom-nav button .nav-icon{font-size:18px}@media (max-width:1024px){.sidebar{min-width:200px;max-width:260px;padding:10px}.topbar{padding:6px 14px;padding-top:calc(6px + env(safe-area-inset-top));padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right));gap:8px}.topbar-title{font-size:13px}}@media (max-width:480px){.topbar{height:40px;padding:3px 8px;padding-top:calc(3px + env(safe-area-inset-top));padding-left:calc(8px + env(safe-area-inset-left));padding-right:calc(8px + env(safe-area-inset-right))}.subtitle-box{padding:4px 84px 4px 12px;font-size:11px}.scene-nav-floating button{width:44px;height:44px;font-size:18px}.panel-speaking{height:36px;font-size:11px}.mode-bar-tab{min-height:44px;padding:7px 12px;font-size:12px}.modal-overlay{padding:10px}.modal-content{border-radius:10px;max-width:100%;max-height:95vh}.modal-content .modal-body{padding:10px 14px;font-size:12px}.modal-content .modal-header{padding:12px 14px}.modal-content .modal-header div{font-size:14px}.modal-content .feature-grid{grid-template-columns:1fr 1fr;gap:6px}.modal-content .info-row{padding:3px 0;font-size:11px}}.auth-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.auth-modal{background:#141b2d;border:1px solid #253045;border-radius:16px;width:420px;max-width:92vw;max-height:90vh;padding:40px 36px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000080}.auth-close{color:#5a7a9c;cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:12px;right:16px}.auth-title{color:#e2e8f0;margin-bottom:6px;font-size:20px;font-weight:700}.auth-desc{color:#7a9abf;margin-bottom:20px;font-size:13px;line-height:1.5}.auth-tabs{border-bottom:1px solid #253045;gap:0;margin-bottom:24px;display:flex}.auth-tab{color:#7a9abf;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-size:15px;transition:all .2s}.auth-tab.active{color:#60a5fa;border-bottom-color:#60a5fa}.auth-modal label{color:#8ba3c7;margin:12px 0 4px;font-size:13px;display:block}.auth-modal .req{color:#f87171}.auth-modal input{color:#e2e8f0;background:#0f1629;border:1px solid #253045;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}.auth-modal input:focus{border-color:#60a5fa}.auth-modal input::placeholder{color:#4a6a8a}.auth-error{color:#f87171;margin:10px 0 0;font-size:13px}.auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;width:100%;margin-top:20px;padding:12px;font-size:16px;font-weight:600;transition:opacity .2s}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-submit:hover:not(:disabled){opacity:.9}.profile-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.profile-container{background:#141b2d;border:1px solid #253045;border-radius:16px;width:480px;max-width:92vw;max-height:85vh;padding:32px;position:relative;overflow-y:auto}.profile-close{color:#5a7a9c;cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:12px;right:16px}.shortcuts-container{background:#141b2d;border:1px solid #253045;border-radius:16px;width:360px;max-width:92vw;max-height:85vh;padding:24px 28px;position:relative;overflow-y:auto}.shortcuts-title{color:#e2e8f0;margin-bottom:16px;font-size:15px;font-weight:700}.shortcuts-list{flex-direction:column;gap:12px;display:flex}.shortcut-row{color:#cbd5e1;align-items:center;gap:12px;font-size:13px;display:flex}.shortcut-row .keys{gap:4px;display:flex}.shortcut-row kbd{text-align:center;color:#60a5fa;background:#0b1120;border:1px solid #2a3a5c;border-bottom-width:2px;border-radius:6px;min-width:28px;padding:3px 8px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4}.profile-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.profile-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.profile-info{flex:1}.profile-info h3{color:#e2e8f0;margin:0;font-size:18px}.profile-email{color:#7a9abf;margin:2px 0 0;font-size:13px}.profile-org{color:#60a5fa;margin:2px 0 0;font-size:13px}.profile-id{color:#8ba3c7;margin:2px 0 0;font-size:13px}.profile-logout{color:#8ba3c7;cursor:pointer;background:0 0;border:1px solid #4a6a8a;border-radius:8px;padding:6px 16px;font-size:13px}.profile-logout:hover{color:#f87171;border-color:#f87171}.profile-section{border-top:1px solid #1f2a3f;margin-top:20px;padding-top:20px}.profile-section h4{color:#e2e8f0;margin-bottom:12px;font-size:15px}.profile-empty{color:#5a7a9c;font-size:13px}.progress-bar-bg{background:#1f2a3f;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;height:100%;transition:width .5s}.progress-text{color:#7a9abf;margin-top:6px;font-size:13px}.cert-card{background:#0f1629;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:10px;padding:12px;display:flex}.cert-badge{font-size:24px;line-height:1}.cert-title{color:#e2e8f0;margin:0;font-size:14px;font-weight:600}.cert-date{color:#5a7a9c;margin:2px 0;font-size:12px}.cert-verify{font-size:12px}.cert-verify a{color:#60a5fa;text-decoration:none}.cert-verify a:hover{text-decoration:underline}.cert-issue-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:10px;width:100%;margin-top:8px;padding:10px;font-size:14px;font-weight:600}.cert-issue-btn:disabled{opacity:.5;cursor:not-allowed}.cert-msg{color:#60a5fa;text-align:center;margin-top:8px;font-size:13px}.cert-page{background:#0b1120;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.cert-card-big{text-align:center;background:#141b2d;border:1px solid #253045;border-radius:16px;width:100%;max-width:500px;padding:40px}.cert-card-big.error .cert-icon{font-size:40px}.cert-card-big.error h2{color:#f87171;margin:12px 0}.cert-card-big.error p{color:#7a9abf}.cert-icon{margin-bottom:16px;font-size:48px}.cert-main-title{color:#60a5fa;margin-bottom:8px;font-size:28px}.cert-name{color:#e2e8f0;margin:12px 0;font-size:24px;font-weight:700}.cert-desc{color:#8ba3c7;margin:8px 0;font-size:15px}.cert-org{color:#60a5fa;margin:4px 0;font-size:14px}.cert-meta{color:#5a7a9c;margin:16px 0;font-size:13px}.cert-meta code{color:#8ba3c7}.cert-stamp{color:#10b981;letter-spacing:2px;border:2px solid #059669;border-radius:8px;padding:8px 24px;font-size:16px;font-weight:700;display:inline-block}.cert-footer{color:#4a6a8a;margin-top:20px;font-size:12px}.login-banner{background:linear-gradient(135deg,#1a2645,#162040);border:1px solid #2a3a5c;border-radius:10px;margin-bottom:10px;padding:12px 14px;position:relative}.login-banner-close{color:#5a7a9c;cursor:pointer;background:0 0;border:none;padding:2px;font-family:inherit;font-size:13px;line-height:1;position:absolute;top:6px;right:8px}.login-banner-close:hover{color:#e2e8f0}.login-banner-title{color:#60a5fa;margin-bottom:8px;font-size:13px;font-weight:700}.login-banner-body{color:#94a3b8;margin-bottom:10px;font-size:12px;line-height:1.7}.login-banner-body ul{margin:4px 0;padding-left:16px}.login-banner-body li{margin-bottom:2px}.login-banner-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;border-radius:6px;width:100%;padding:7px 0;font-family:inherit;font-size:12px;font-weight:600}.login-banner-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.scene-skeleton{z-index:10;background:#0b1120;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity 2.3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.scene-skeleton-fading{opacity:0;pointer-events:none}.scene-skeleton-brand{flex-direction:column;align-items:center;gap:16px;margin-bottom:6px;display:flex}.scene-skeleton-logo{width:60px;height:60px}.scene-skeleton-brand-name{color:#e2e8f0;letter-spacing:5px;font-size:18px;font-weight:600}.scene-skeleton-spinner{border:3px solid #94a3b82e;border-top-color:#60a5fa;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite skeletonSpin}@keyframes skeletonSpin{to{transform:rotate(360deg)}}.scene-skeleton-text{color:#8fa3c8;letter-spacing:.5px;font-size:13px}.scene-skeleton-subtitle{background:linear-gradient(90deg,#94a3b814 25%,#94a3b833 50%,#94a3b814 75%) 0 0/200% 100%;border-radius:7px;width:min(560px,70%);height:14px;animation:1.4s ease-in-out infinite skeletonShimmer;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.scene-skeleton-error{color:#f87171;font-size:14px}.scene-skeleton-retry{color:#60a5fa;cursor:pointer;background:#1e293b;border:1px solid #60a5fa66;border-radius:20px;padding:8px 20px;font-size:13px}.scene-canvas-fade{flex:1 1 0;min-height:0;animation:.3s sceneFadeIn;position:relative}@keyframes sceneFadeIn{0%{opacity:0}to{opacity:1}}.feedback-toast{z-index:60;color:#e2e8f0;pointer-events:none;white-space:nowrap;background:#0b1120d9;border-radius:20px;padding:8px 20px;font-size:14px;animation:1.8s forwards feedback-toast-in-out;position:absolute;top:12%;left:50%;box-shadow:0 4px 16px #0000004d}@keyframes feedback-toast-in-out{0%{opacity:0;transform:translate(-50%,8px)}12%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.quiz-complete{animation:.4s quiz-complete-in}@keyframes quiz-complete-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.workspace-right-tabs{flex-direction:column;height:100%;display:flex}.workspace-right-tabs .ant-tabs-nav{flex-shrink:0;margin:0}.workspace-right-tabs .ant-tabs-body-holder{flex:1;overflow:auto!important}.workspace-right-tabs .ant-tabs-content{height:100%}@media (max-width:768px){html,body{font-size:14px}.topbar{height:44px;padding:4px 10px;padding-top:calc(4px + env(safe-area-inset-top));padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right));gap:6px}.topbar-title{font-size:12px}.topbar-lectures{gap:2px;max-width:55vw}.course-banner{gap:10px;min-height:40px;padding:6px 14px}.course-banner-icon{font-size:20px}.course-banner-badge{display:none}.course-banner-body{align-items:center;gap:12px;display:flex}.course-banner-title{flex-shrink:0;font-size:14px}.course-banner-meta{flex-wrap:nowrap;flex:1;gap:8px;min-width:0;margin-top:0;font-size:11px}.course-banner-meta>span{display:none}.course-progress{flex:1;min-width:0;max-width:none}.sidebar{display:none}.scene-area{flex-direction:column;flex:1;display:flex}.scene-canvas-fade{flex:1 1 0;min-height:0;position:static}.subtitle-box{text-align:left;background:#0b1120fa;border-width:0;border-radius:0;flex:none;align-items:center;width:100%;max-width:100%;height:56px;padding:8px 14px;display:flex;position:static;left:auto;overflow:hidden;transform:none}.subtitle-box .subtitle-body{max-height:56px;overflow-y:auto}.subtitle-controls-floating{bottom:8px;right:8px}.scene-nav-floating{display:block}.scene-progress-indicator{z-index:30;color:#cbd5e1;letter-spacing:.5px;pointer-events:none;background:#0b112073;border:1px solid #ffffff14;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600;display:block;position:absolute;top:8px;right:8px}.mode-bar-tabs{gap:8px;padding:6px;overflow-x:auto}.mode-bar-tab{flex-shrink:0;min-height:44px;padding:8px 14px;font-size:13px}.panel-speaking{height:38px;padding:0 10px}.panel-quiz{padding:8px 10px}.panel-ask{padding:6px 10px}.sidebar-mask.open,.sidebar-drawer.open{display:block}}.course-cover{z-index:300;opacity:0;filter:blur(6px);will-change:opacity, transform, filter;justify-content:center;align-items:center;transition:opacity 2.3s cubic-bezier(.22,1,.36,1),transform 3s cubic-bezier(.22,1,.36,1),filter 3s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden;transform:scale(1.045)}.course-cover-ready{opacity:1;filter:blur();transform:scale(1)}.course-cover-art{z-index:0;position:absolute;top:0;bottom:0;left:0;right:0}.course-cover-image{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.course-cover-scrim{z-index:2;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.course-cover-body{z-index:3;text-align:center;flex-direction:column;align-items:center;max-width:92vw;padding:32px 40px;display:flex;position:relative}.course-cover-producer{letter-spacing:5px;border:1px solid;border-radius:2px;margin-bottom:34px;padding:7px 24px;font-family:KaiTi,STKaiti,KaiTi_GB2312,PingFang SC,serif;font-size:15px}.course-cover-title{font-family:KaiTi,STKaiti,KaiTi_GB2312,PingFang SC,serif;font-size:var(--cover-title-size,76px);letter-spacing:10px;white-space:pre-line;margin:0 0 22px;font-weight:800;line-height:1.26}.course-cover-subtitle{letter-spacing:7px;margin-bottom:48px;font-family:KaiTi,STKaiti,KaiTi_GB2312,PingFang SC,serif;font-size:23px}.course-cover-tagline{letter-spacing:9px;text-indent:9px;opacity:.85;margin-top:-38px;margin-bottom:44px;font-family:KaiTi,STKaiti,KaiTi_GB2312,PingFang SC,serif;font-size:15px}.course-cover-start{letter-spacing:5px;cursor:pointer;border:none;border-radius:32px;padding:14px 54px;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:17px;font-weight:700;transition:transform .2s,box-shadow .2s}.course-cover-start:hover{transform:translateY(-2px)}.course-cover-start:active{transform:translateY(0)}.cover-text-producer{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(-8px)}.cover-text-producer.in{opacity:.92;transform:translateY(0)}.cover-text-fade-up{opacity:0;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.cover-text-fade-up.in{opacity:1;transform:translateY(0)}.cover-text-blur-in{opacity:0;filter:blur(10px);transition:opacity .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1)}.cover-text-blur-in.in{opacity:1;filter:blur()}.cover-text-scale-in{opacity:0;transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.34,1.56,.64,1);transform:scale(.72)}.cover-text-scale-in.in{opacity:1;transform:scale(1)}.cover-caret{vertical-align:-.12em;background:currentColor;width:2px;height:.9em;margin-left:4px;animation:.85s step-end infinite cover-caret-blink;display:inline-block}@keyframes cover-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cover-letter{opacity:0;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);display:inline-block;transform:translateY(.5em)}.cover-letter-in{opacity:1;transform:translateY(0)}.course-cover-buddhism{background:radial-gradient(at 50% 40%,#1a2745 0%,#0b1120 68%,#06090f 100%)}.course-cover-buddhism .course-cover-producer{color:#b39b6a;border-color:#c9a45c66}.course-cover-buddhism .course-cover-title{color:#e8d5a8;text-shadow:0 3px 28px #c9a45c73}.course-cover-buddhism .course-cover-subtitle{color:#c9a45c}.course-cover-buddhism .course-cover-scrim{background:radial-gradient(at 50% 42%,#080c186b 0%,#080c181f 55%,#04060c8c 100%)}.course-cover-buddhism .course-cover-start{color:#0b1120;background:linear-gradient(120deg,#e8d5a8,#c9a45c);box-shadow:0 10px 34px #c9a45c66}.course-cover-yangming{background:linear-gradient(160deg,#f8f3e8 0%,#efe6d2 55%,#e6dcc8 100%)}.course-cover-yangming .course-cover-producer{color:#8a7a5a;border-color:#5a462861}.course-cover-yangming .course-cover-title{color:#2b2b2b;text-shadow:0 2px 18px #00000014}.course-cover-yangming .course-cover-subtitle{color:#6a5a3a}.course-cover-yangming .course-cover-scrim{background:radial-gradient(at 50% 42%,#fffaee66 0%,#fffaee14 55%,#ebe1c852 100%)}.course-cover-dark .course-cover-producer{color:#b39b6a;border-color:#c9a45c66}.course-cover-dark .course-cover-title{color:#e8d5a8;text-shadow:0 3px 28px #c9a45c73}.course-cover-dark .course-cover-subtitle{color:#c9a45c}.course-cover-dark .course-cover-scrim{background:radial-gradient(at 50% 42%,#080c186b 0%,#080c181f 55%,#04060c8c 100%)}.course-cover-light .course-cover-producer{color:#8a7a5a;border-color:#5a462861}.course-cover-light .course-cover-title{color:#2b2b2b;text-shadow:0 2px 18px #00000014}.course-cover-light .course-cover-subtitle{color:#6a5a3a}.course-cover-light .course-cover-tagline{color:#8d7c5e}.course-cover-light .course-cover-scrim{background:radial-gradient(at 50% 42%,#fffaee66 0%,#fffaee14 55%,#ebe1c852 100%)}.course-cover-yangming .course-cover-start{color:#f7efe2;background:linear-gradient(120deg,#4a4a44,#2b2b2b);box-shadow:0 10px 32px #2b2b2b52}.course-cover-black .course-cover-producer{color:#9a97a0;border-color:#c9a06a57}.course-cover-black .course-cover-title{color:#fff;letter-spacing:14px;text-indent:14px;text-shadow:0 6px 60px #000000e6}.course-cover-black .course-cover-subtitle{color:#c9a06a;letter-spacing:12px;text-indent:12px;margin-bottom:24px}.course-cover-black .course-cover-tagline{color:#d8d5cf;margin-top:0;margin-bottom:40px}.course-cover-black .course-cover-scrim{background:radial-gradient(115% 85% at 50% 36%,#0000004d 0%,#000000b8 58%,#000 100%)}.course-cover-black .course-cover-start{color:#f6e7c8;background:linear-gradient(120deg,#c9a06a29,#c9a06a0f);border-color:#c9a06a9e;box-shadow:0 10px 32px #00000080}.course-cover-kicker{letter-spacing:12px;text-indent:12px;color:#9a97a0;margin-bottom:20px;font-family:KaiTi,STKaiti,KaiTi_GB2312,PingFang SC,serif;font-size:14px}.course-cover-rule{opacity:0;background:#c9a06a;width:64px;height:3px;margin:0 auto 22px;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(8px)}.course-cover-rule.in{opacity:1;transform:translateY(0)}.course-cover-meta{letter-spacing:6px;text-indent:6px;color:#9a97a0;margin-bottom:8px;font-family:KaiTi,STKaiti,KaiTi_GB2312,PingFang SC,serif;font-size:14px}@media (max-width:767px){.course-cover-title{letter-spacing:6px;font-size:44px}.course-cover-subtitle{letter-spacing:4px;margin-bottom:40px;font-size:17px}.course-cover-tagline{letter-spacing:5px;text-indent:5px;margin-top:-32px;margin-bottom:38px;font-size:12px}.course-cover-producer{letter-spacing:3px;margin-bottom:26px;font-size:13px}.course-cover-start{padding:15px 48px;font-size:16px}.course-cover-black .course-cover-title{letter-spacing:12px;text-indent:12px;font-size:max(58px,min(17vw,104px))}.course-cover-black .course-cover-subtitle{letter-spacing:7px;text-indent:7px;margin-bottom:20px;font-size:18px}.course-cover-black .course-cover-tagline{letter-spacing:5px;margin-bottom:34px;font-size:12px}.course-cover-kicker{letter-spacing:6px;text-indent:6px;margin-bottom:16px;font-size:12px}.course-cover-meta{letter-spacing:3px;text-indent:3px;font-size:12px}}@keyframes pptIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.mode-bar{align-items:center;display:flex}.mode-bar-tabs{flex:auto;min-width:0}.mode-bar-right{flex:none;align-items:center;gap:5px;padding:4px 10px 4px 6px;display:flex;position:relative}.mode-bar-iconbtn{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #2a3a5c;border-radius:7px;flex:none;justify-content:center;align-items:center;width:29px;height:25px;padding:0;font-family:inherit;transition:all .15s;display:inline-flex}.mode-bar-iconbtn:hover{filter:brightness(1.25)}.mode-bar-iconbtn:disabled{opacity:.35;cursor:default}.mode-bar-iconbtn.active{border-color:var(--accent);color:var(--accent)}.mode-bar-iconbtn.rate{width:42px}.mode-bar-iconbtn svg{width:14px;height:14px}.mode-bar-rate-label{letter-spacing:.2px;font-size:11px;font-weight:700}.rate-menu{z-index:220;background:#131c31;border:1px solid #2a3a5c;border-radius:10px;flex-direction:column;gap:2px;min-width:116px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);right:10px;box-shadow:0 10px 30px #00000080}.rate-menu button{color:#cbd5e1;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px}.rate-menu button:hover{background:#ffffff0f}.rate-menu button.on{color:var(--accent);font-weight:700}.topbar-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.topbar-iconbtn{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #2a3a5c;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:30px;padding:0;transition:all .15s;display:inline-flex}.topbar-iconbtn.on{color:#34d399;background:#34d39922;border-color:#34d39988}.topbar-iconbtn.full{color:#60a5fa;border-color:#60a5fa8c}.scene-progress{z-index:21;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#0b1120fa;flex:none;width:100%;height:16px;position:relative}.scene-progress:before{content:"";background:#ffffff1f;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.scene-progress-fill{background:var(--accent);border-radius:0 2px 2px 0;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.scene-progress.seekable{cursor:pointer}.scene-progress.seekable:hover:before{background:#fff3}.scene-progress-knob{background:var(--accent);pointer-events:none;border-radius:50%;width:11px;height:11px;transition:transform .12s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #0b1120e6}.scene-progress.dragging .scene-progress-knob{transform:translate(-50%,-50%)scale(1.3)}.immersive-exit{right:calc(12px + env(safe-area-inset-right,0px));top:calc(12px + env(safe-area-inset-top,0px));z-index:300;color:#f6e7c8;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b1120c7;border:1px solid #c9a06a99;border-radius:999px;justify-content:center;align-items:center;gap:5px;width:34px;height:34px;padding:0;font-family:inherit;font-size:12.5px;display:inline-flex;position:fixed}.immersive-exit:hover{filter:brightness(1.2)}@keyframes videoFrameIn{0%{opacity:0}to{opacity:1}}@keyframes videoFrameDrift{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes videoLoadSpin{to{transform:rotate(360deg)}}.subtitle-ask.is-empty{visibility:hidden}.subtitle-ask.subtitle-measure{visibility:hidden;pointer-events:none;z-index:-1;position:absolute;bottom:0;left:0;right:0}.decision-opt:hover{background:#c9a06a29;border-color:#c9a06aad;transform:translateY(-1px)}.decision-opt:active{background:#c9a06a42}@media (prefers-reduced-motion:reduce){.decision-opt:hover{transform:none}}.workspace-right-tabs .ant-tabs-ink-bar{background:linear-gradient(90deg,#4f46e5 0%,#7c3aed 100%);border-radius:3px;height:3px}.workspace-card-hover{transition:transform .2s,box-shadow .2s}.workspace-card-hover:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0f172a0f,0 8px 24px #0f172a1a}.workspace-left-menu.ant-menu-inline .ant-menu-item:hover{background:linear-gradient(135deg,#eef2ff 0%,#f5f3ff 100%)}.scene-card-lift{transition:transform .18s,box-shadow .18s,border-color .18s}.scene-card-lift:hover{border-color:#c7d2fe;transform:translateY(-2px);box-shadow:0 6px 10px #0f172a0d,0 14px 32px #4f46e524}.workspace-top-header{background:linear-gradient(#e3e7ff 0%,#ede9fe 62%,#f6f3ff 100%)!important;box-shadow:inset 0 1px #ddd6fe,0 2px 10px #4f46e50f!important}.workspace-top-header:before{content:"";background:linear-gradient(90deg,#4f46e5,#7c3aed 55%,#c084fc);border-radius:2px;height:3px;position:absolute;top:0;left:0;right:0}
