.course[data-v-2f7ce59f]{flex:1;min-width:0;display:flex;flex-direction:column;padding:24px;background:#f5f7fa;overflow:auto}.slide[data-v-2f7ce59f]{flex:1;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:36px 44px;display:flex;flex-direction:column;justify-content:center;gap:14px;box-shadow:0 4px 24px #00000014;transition:border-color .4s}.slide.auto[data-v-2f7ce59f]{border-color:#0ea5e9;box-shadow:0 0 0 1px #bae6fd,0 4px 24px #00000014}.slide-head[data-v-2f7ce59f]{display:flex;justify-content:space-between;font-size:12px;color:#6b7280}.slide-tag[data-v-2f7ce59f]{border:1px solid #e5e7eb;border-radius:999px;padding:2px 10px}.slide.auto .slide-tag[data-v-2f7ce59f]{border-color:#7dd3fc;color:#0284c7}.slide-title[data-v-2f7ce59f]{font-size:34px;font-weight:700;color:#111827;letter-spacing:1px}.slide-subtitle[data-v-2f7ce59f]{font-size:16px;color:#0ea5e9}.slide-points[data-v-2f7ce59f]{margin:10px 0 0 4px;list-style:none;display:flex;flex-direction:column;gap:12px}.slide-points li[data-v-2f7ce59f]{font-size:15px;line-height:1.7;color:#374151;padding-left:22px;position:relative}.slide-points li[data-v-2f7ce59f]:before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:2px;background:#0ea5e9;opacity:.8}.slide-note[data-v-2f7ce59f]{margin-top:8px;font-size:12px;color:#6b7280;border-left:2px solid #e5e7eb;padding-left:12px}.nav[data-v-2f7ce59f]{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.nav-btn[data-v-2f7ce59f]{background:#fff;border:1px solid #e5e7eb;color:#374151;border-radius:10px;padding:8px 18px;font-size:13px;cursor:pointer;transition:border-color .2s,color .2s}.nav-btn[data-v-2f7ce59f]:hover:not(:disabled){border-color:#0ea5e9;color:#0ea5e9}.nav-btn[data-v-2f7ce59f]:disabled{opacity:.35;cursor:not-allowed}.dots[data-v-2f7ce59f]{display:flex;gap:8px}.dots .dot[data-v-2f7ce59f]{width:8px;height:8px;border-radius:50%;background:#d1d5db;cursor:pointer;transition:background .2s,transform .2s}.dots .dot.active[data-v-2f7ce59f]{background:#0ea5e9;transform:scale(1.3)}.hint[data-v-2f7ce59f]{text-align:center;font-size:12px;color:#9ca3af;margin-top:10px}.chat[data-v-abf9ac8e]{width:400px;flex:none;display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--line)}.chat-head[data-v-abf9ac8e]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.chat-title[data-v-abf9ac8e]{font-size:14px;font-weight:600}.chat-badge[data-v-abf9ac8e]{font-size:11px;color:var(--cyan);border:1px solid var(--cyan-dim);border-radius:999px;padding:2px 8px;transition:all .3s}.chat-badge.lecturing[data-v-abf9ac8e]{color:var(--cyan);border-color:var(--cyan)}.chat-badge.thinking[data-v-abf9ac8e]{color:var(--blue);border-color:var(--blue)}.chat-badge.answering[data-v-abf9ac8e]{color:var(--amber);border-color:var(--amber)}.chat-badge.blocked[data-v-abf9ac8e]{color:var(--red);border-color:var(--red)}.chat-badge.qa[data-v-abf9ac8e]{color:var(--green);border-color:var(--green)}.chat-list[data-v-abf9ac8e]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.empty[data-v-abf9ac8e]{text-align:center;margin-top:30px;color:var(--text);font-size:14px;display:flex;flex-direction:column;gap:6px}.empty .dim[data-v-abf9ac8e]{color:var(--text-dim);font-size:12px}.who[data-v-abf9ac8e]{font-size:11px;color:var(--cyan);margin-bottom:4px}.who.system[data-v-abf9ac8e]{color:var(--text-dim)}.msg[data-v-abf9ac8e]{display:flex;flex-direction:column}.msg.user[data-v-abf9ac8e]{align-items:flex-end}.msg.bot[data-v-abf9ac8e]{align-items:flex-start}.bubble[data-v-abf9ac8e]{max-width:92%;background:var(--bg-card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.msg.user .bubble[data-v-abf9ac8e]{background:var(--cyan-dim);border-color:transparent}.msg.bot.lecture .bubble[data-v-abf9ac8e]{border-color:var(--cyan-dim)}.txt[data-v-abf9ac8e]{font-size:13px;line-height:1.7;color:var(--text);white-space:pre-wrap;word-break:break-word}.cursor[data-v-abf9ac8e]{display:inline-block;width:6px;height:13px;background:var(--cyan);vertical-align:-2px;animation:blink-abf9ac8e .8s infinite}@keyframes blink-abf9ac8e{0%,to{opacity:1}50%{opacity:0}}.meta[data-v-abf9ac8e]{margin-top:6px;font-size:11px;color:var(--text-dim)}.listen-bar[data-v-abf9ac8e]{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:11px;color:var(--text-dim);border-top:1px solid var(--line);background:var(--bg);flex-wrap:wrap}.lb-dot[data-v-abf9ac8e]{width:7px;height:7px;border-radius:50%;background:var(--text-dim);flex:none}.listen-bar.on .lb-dot[data-v-abf9ac8e]{background:var(--green);animation:lbPulse-abf9ac8e 1.2s infinite}.listen-bar.on[data-v-abf9ac8e]{color:var(--green)}.listen-bar.err[data-v-abf9ac8e]{color:var(--red)}.listen-bar.err .lb-dot[data-v-abf9ac8e]{background:var(--red)}.lb-meter[data-v-abf9ac8e]{flex:1;height:6px;min-width:40px;background:#78788c40;border-radius:999px;overflow:hidden;display:inline-block;vertical-align:middle}.lb-meter i[data-v-abf9ac8e]{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#22c55e);border-radius:999px;transition:width .08s linear}@keyframes lbPulse-abf9ac8e{0%,to{opacity:1}50%{opacity:.3}}.chat-input[data-v-abf9ac8e]{padding:10px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.input-row[data-v-abf9ac8e]{display:flex;gap:8px;align-items:flex-end}.chat-input textarea[data-v-abf9ac8e]{flex:1;resize:none;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:9px 12px;font-size:13px;font-family:inherit;outline:none}.chat-input textarea[data-v-abf9ac8e]:focus{border-color:var(--cyan)}.mic[data-v-abf9ac8e]{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--bg-card);color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-user-select:none;user-select:none}.mic[data-v-abf9ac8e]:hover{border-color:var(--cyan);color:var(--cyan)}.mic.on[data-v-abf9ac8e]{background:var(--red);border-color:var(--red);color:#fff;animation:micPulse-abf9ac8e .8s infinite}@keyframes micPulse-abf9ac8e{0%,to{box-shadow:0 0 #e24b4a80}50%{box-shadow:0 0 0 6px #e24b4a00}}.send[data-v-abf9ac8e]{background:var(--cyan-dim);border:none;color:#fff;border-radius:10px;padding:9px 16px;font-size:13px;cursor:pointer;transition:background .2s}.send[data-v-abf9ac8e]:hover:not(:disabled){background:var(--cyan)}.send[data-v-abf9ac8e]:disabled{opacity:.5;cursor:not-allowed}.avatar-shell[data-v-c4d73c12]{position:fixed;z-index:100;width:200px;display:flex;flex-direction:column;align-items:center;cursor:grab;-webkit-user-select:none;user-select:none;animation:float-c4d73c12 4s ease-in-out infinite}.avatar-shell.dragging[data-v-c4d73c12]{cursor:grabbing;animation:none}.halo[data-v-c4d73c12]{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;background:radial-gradient(circle,rgba(192,80,106,.18),transparent 64%);z-index:-1;animation:haloPulse-c4d73c12 3.5s ease-in-out infinite}@keyframes haloPulse-c4d73c12{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.face[data-v-c4d73c12]{width:180px;height:180px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.eye-group[data-v-c4d73c12]{transform-box:fill-box;transform-origin:center;transition:transform .08s ease-in}.eye-group.blink[data-v-c4d73c12]{transform:scaleY(.08)}.avatar-shell.speaking .eye-group[data-v-c4d73c12]{transform:scaleY(1.04)}.avatar-shell.listening .eye-group[data-v-c4d73c12]{transform:scaleY(.98)}.avatar-shell.listening .face[data-v-c4d73c12]{filter:drop-shadow(0 0 14px rgba(56,189,248,.5))}.mouth-group[data-v-c4d73c12]{transform-box:fill-box;transform-origin:center}@keyframes float-c4d73c12{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.nameplate[data-v-c4d73c12]{margin-top:6px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);background:var(--bg-card);border:1px solid var(--line);border-radius:999px;padding:3px 12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nl-dot[data-v-c4d73c12]{width:7px;height:7px;border-radius:50%;background:var(--green);transition:background .3s}.speaking .nl-dot[data-v-c4d73c12]{background:var(--amber)}.listening .nl-dot[data-v-c4d73c12]{background:var(--cyan)}.thinking .nl-dot[data-v-c4d73c12]{background:var(--blue)}.blocked .nl-dot[data-v-c4d73c12]{background:var(--red)}.qa .nl-dot[data-v-c4d73c12]{background:var(--green)}.login-wrap[data-v-b448b5cd]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 70% -10%,rgba(34,211,238,.12),transparent 60%),var(--bg)}.login-card[data-v-b448b5cd]{width:360px;background:var(--bg-card);border:1px solid var(--line);border-radius:16px;padding:36px 32px;box-shadow:0 12px 48px #0006}.brand[data-v-b448b5cd]{text-align:center;margin-bottom:24px}.logo[data-v-b448b5cd]{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(135deg,#22d3ee,#0ea5e9);color:#04222b;font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center}.brand h1[data-v-b448b5cd]{font-size:20px;color:var(--text);margin:0 0 4px}.brand p[data-v-b448b5cd]{font-size:13px;color:var(--text-dim);margin:0}form[data-v-b448b5cd]{display:flex;flex-direction:column;gap:16px}label[data-v-b448b5cd]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}input[data-v-b448b5cd]{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--text);font-size:14px;outline:none}input[data-v-b448b5cd]:focus{border-color:var(--cyan)}button[data-v-b448b5cd]{background:var(--cyan);color:#04222b;border:none;border-radius:8px;padding:11px;font-size:15px;font-weight:600;cursor:pointer}button[data-v-b448b5cd]:disabled{opacity:.6;cursor:not-allowed}.err[data-v-b448b5cd]{color:var(--red);font-size:13px;margin:0;text-align:center}.topbar[data-v-a3f49f29]{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--bg-panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand[data-v-a3f49f29]{font-size:15px;font-weight:700;letter-spacing:1px;display:flex;align-items:baseline;gap:8px}.brand span[data-v-a3f49f29]{font-size:11px;font-weight:400;color:var(--text-dim);letter-spacing:0}.control-bar[data-v-a3f49f29]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ctrl-btn[data-v-a3f49f29]{background:var(--bg-card);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer;transition:border-color .2s,color .2s}.ctrl-btn[data-v-a3f49f29]:hover{border-color:var(--cyan);color:var(--cyan)}.ctrl-btn.primary[data-v-a3f49f29]{background:var(--cyan-dim);border-color:transparent;color:#fff}.ctrl-btn.primary[data-v-a3f49f29]:hover{background:var(--cyan);color:#fff}.status[data-v-a3f49f29]{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);white-space:nowrap}.dot[data-v-a3f49f29]{width:8px;height:8px;border-radius:50%;background:var(--text-dim);transition:background .3s}.dot.speaking[data-v-a3f49f29]{background:var(--amber);animation:pulse-a3f49f29 1s infinite}.dot.listening[data-v-a3f49f29]{background:var(--cyan)}.dot.thinking[data-v-a3f49f29]{background:var(--blue);animation:pulse-a3f49f29 .6s infinite}.dot.blocked[data-v-a3f49f29]{background:var(--red)}.dot.qa[data-v-a3f49f29]{background:var(--green)}@keyframes pulse-a3f49f29{0%,to{opacity:1}50%{opacity:.35}}.admin-link[data-v-a3f49f29]{text-decoration:none}.picker-mask[data-v-a3f49f29]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.picker[data-v-a3f49f29]{width:560px;max-height:80vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--line);border-radius:14px;padding:22px 24px}.picker-head[data-v-a3f49f29]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.picker-head h3[data-v-a3f49f29]{margin:0;font-size:17px;color:var(--text)}.picker-close[data-v-a3f49f29]{background:none;border:none;color:var(--text-dim);font-size:24px;cursor:pointer;line-height:1}.picker-err[data-v-a3f49f29]{color:var(--red);font-size:13px;margin:0 0 10px}.picker-loading[data-v-a3f49f29]{color:var(--text-dim);font-size:14px;padding:20px 0;text-align:center}.picker-list[data-v-a3f49f29]{display:flex;flex-direction:column;gap:10px}.picker-item[data-v-a3f49f29]{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .2s,background .2s}.picker-item[data-v-a3f49f29]:hover{border-color:var(--cyan);background:var(--bg)}.picker-item.active[data-v-a3f49f29]{border-color:var(--cyan)}.picker-item-main[data-v-a3f49f29]{flex:1;min-width:0}.picker-name[data-v-a3f49f29]{font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.picker-meta[data-v-a3f49f29]{font-size:12px;color:var(--text-dim);margin-top:3px}.picker-desc[data-v-a3f49f29]{font-size:12px;color:var(--text-dim);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-action[data-v-a3f49f29]{font-size:13px;color:var(--cyan);white-space:nowrap}.picker-item.active .picker-action[data-v-a3f49f29]{color:var(--green)}.picker-empty[data-v-a3f49f29]{color:var(--text-dim);font-size:14px;text-align:center;padding:24px 0}.tag[data-v-a3f49f29]{font-size:11px;padding:1px 7px;border-radius:6px;font-weight:400}.tag.granted[data-v-a3f49f29]{background:#22d3ee26;color:var(--cyan)}.tag.active[data-v-a3f49f29]{background:#4ade8026;color:var(--green)}:root{--bg: #070b14;--bg-panel: #0c1220;--bg-card: #111a2e;--line: #1e2b45;--text: #e6edf7;--text-dim: #7b8aa5;--cyan: #22d3ee;--cyan-dim: #0e7490;--blue: #3b82f6;--green: #34d399;--amber: #fbbf24;--red: #e24b4a;--font-sans: "Microsoft YaHei", "PingFang SC", "Segoe UI", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);overflow:hidden}.app{display:flex;flex-direction:column;height:100vh}.main{flex:1;display:flex;min-height:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#22314f;border-radius:4px}::-webkit-scrollbar-track{background:transparent}
