.message-list[data-v-c846ccae]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;min-height:0}.empty-state[data-v-c846ccae]{text-align:center;padding:60px 20px;color:#667}.empty-icon[data-v-c846ccae]{font-size:48px;margin-bottom:12px}.empty-text[data-v-c846ccae]{font-size:18px;margin-bottom:8px;color:#889}.empty-hint[data-v-c846ccae]{font-size:13px;color:#556}.message[data-v-c846ccae]{display:flex;gap:10px;max-width:85%;animation:fadeIn-c846ccae .3s ease}@keyframes fadeIn-c846ccae{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user[data-v-c846ccae]{align-self:flex-end;flex-direction:row-reverse}.message-assistant[data-v-c846ccae]{align-self:flex-start}@media(max-width:768px){.message[data-v-c846ccae]{max-width:92%;gap:8px}.message-avatar[data-v-c846ccae]{width:30px;height:30px;font-size:16px}.message-content[data-v-c846ccae]{font-size:15px;padding:8px 12px}.empty-state[data-v-c846ccae]{padding:30px 16px}.empty-icon[data-v-c846ccae]{font-size:36px}.empty-text[data-v-c846ccae]{font-size:15px}}.message-avatar[data-v-c846ccae]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;background:#ffffff0d;overflow:hidden}.avatar-img[data-v-c846ccae]{width:100%;height:100%;object-fit:cover}.message-body[data-v-c846ccae]{display:flex;flex-direction:column;gap:4px}.message-content[data-v-c846ccae]{padding:10px 14px;border-radius:14px;line-height:1.6;font-size:14px;white-space:pre-wrap;word-break:break-word}.message-user .message-content[data-v-c846ccae]{background:linear-gradient(135deg,#48f,#36c);color:#fff;border-bottom-right-radius:4px}.message-assistant .message-content[data-v-c846ccae]{background:#ffffff14;color:#dde;border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:4px}.kb-refs[data-v-c846ccae]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 4px}.kb-ref-label[data-v-c846ccae]{font-size:11px;color:#889}.kb-ref-tag[data-v-c846ccae]{font-size:11px;padding:2px 8px;border-radius:10px;background:#48f3;color:#8bf;cursor:help}.message-time[data-v-c846ccae]{font-size:10px;color:#556;padding:0 4px}.typing-indicator[data-v-c846ccae]{display:flex;gap:4px;padding:14px 18px;background:#ffffff14;border-radius:14px 14px 14px 4px;border:1px solid rgba(255,255,255,.08)}.typing-indicator span[data-v-c846ccae]{width:8px;height:8px;border-radius:50%;background:#667;animation:typing-c846ccae 1.4s infinite}.typing-indicator span[data-v-c846ccae]:nth-child(2){animation-delay:.2s}.typing-indicator span[data-v-c846ccae]:nth-child(3){animation-delay:.4s}@keyframes typing-c846ccae{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input[data-v-00776891]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.06);background:#0003;position:relative}.mode-btn[data-v-00776891]{width:38px;height:38px;border:none;border-radius:50%;background:#ffffff0d;color:#889;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;-webkit-user-select:none;user-select:none}.mode-btn[data-v-00776891]:hover{background:#4488ff26;color:#48f}.mode-btn[data-v-00776891]:active{transform:scale(.92)}.input-field[data-v-00776891]{flex:1;padding:10px 16px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#ffffff0f;color:#dde;font-size:14px;outline:none;transition:border-color .3s}.input-field[data-v-00776891]::placeholder{color:#556}.input-field[data-v-00776891]:focus{border-color:#48f}.send-btn[data-v-00776891]{width:38px;height:38px;border:none;border-radius:50%;background:linear-gradient(135deg,#48f,#36c);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,opacity .2s;flex-shrink:0}.send-btn[data-v-00776891]:hover:not(:disabled){transform:scale(1.08)}.send-btn[data-v-00776891]:active:not(:disabled){transform:scale(.95)}.send-btn[data-v-00776891]:disabled{opacity:.3;cursor:not-allowed}.voice-talk-btn[data-v-00776891]{flex:1;height:44px;border:1.5px solid rgba(68,136,255,.25);border-radius:22px;background:linear-gradient(135deg,#4488ff0f,#4488ff05);color:#9ab;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;letter-spacing:.5px;transition:all .25s;-webkit-user-select:none;user-select:none;overflow:hidden;white-space:nowrap}.voice-talk-btn[data-v-00776891]:hover{background:linear-gradient(135deg,#4488ff1a,#4488ff0a);color:#abc}.voice-talk-btn[data-v-00776891]:active{transform:scale(.97)}.voice-talk-btn.recording[data-v-00776891]{background:linear-gradient(135deg,#ff44441a,#ff44440a);border-color:#ff444459;color:#dde;box-shadow:0 0 #f443;animation:voice-pulse-00776891 1.5s infinite}@keyframes voice-pulse-00776891{0%,to{box-shadow:0 0 #ff44444d}50%{box-shadow:0 0 0 8px #f440}}.recording-dot[data-v-00776891]{width:8px;height:8px;border-radius:50%;background:#f44;flex-shrink:0;animation:dot-blink-00776891 1s infinite}@keyframes dot-blink-00776891{0%,to{opacity:1}50%{opacity:.3}}.mic-error[data-v-00776891]{position:absolute;bottom:62px;left:50%;transform:translate(-50%);background:#ff4444f2;color:#fff;padding:8px 16px;border-radius:10px;font-size:12px;white-space:nowrap;z-index:10;box-shadow:0 4px 16px #0006}.mic-error[data-v-00776891]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#ff4444f2}.voice-float-panel[data-v-00776891]{position:absolute;bottom:70px;left:8px;right:8px;background:#0f0f23f5;border:1px solid rgba(255,68,68,.3);border-radius:16px;padding:20px 16px;z-index:20;display:flex;flex-direction:column;align-items:center;gap:12px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #0009}.voice-float-wave[data-v-00776891]{display:flex;align-items:center;gap:4px;height:32px}.wave-bar[data-v-00776891]{width:3px;height:12px;background:#f44;border-radius:2px;animation:wave-bounce-00776891 .6s ease-in-out infinite alternate}@keyframes wave-bounce-00776891{0%{height:6px;opacity:.4}to{height:28px;opacity:1}}.voice-float-text[data-v-00776891]{font-size:18px;color:#fff;text-align:center;line-height:1.4;min-height:28px;word-break:break-all}.voice-float-hint[data-v-00776891]{font-size:11px;color:#666;letter-spacing:.5px}.voice-float-enter-active[data-v-00776891]{transition:all .25s ease-out}.voice-float-leave-active[data-v-00776891]{transition:all .2s ease-in}.voice-float-enter-from[data-v-00776891]{opacity:0;transform:translateY(10px) scale(.96)}.voice-float-leave-to[data-v-00776891]{opacity:0;transform:translateY(5px) scale(.98)}.fade-enter-active[data-v-00776891],.fade-leave-active[data-v-00776891]{transition:opacity .3s}.fade-enter-from[data-v-00776891],.fade-leave-to[data-v-00776891]{opacity:0}@media(max-width:768px){.chat-input[data-v-00776891]{padding:10px 12px;gap:8px}.input-field[data-v-00776891]{padding:10px 16px;font-size:16px}.mode-btn[data-v-00776891],.send-btn[data-v-00776891]{width:42px;height:42px}.voice-talk-btn[data-v-00776891]{height:48px;font-size:15px;border-radius:24px}.mic-error[data-v-00776891]{font-size:11px;white-space:normal;max-width:240px;text-align:center}}.chat-panel[data-v-0711dd6d]{display:flex;flex-direction:column;height:100%;min-height:0;background:#0a0a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.debug-panel[data-v-0711dd6d]{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:#111827;border-bottom:1px solid rgba(148,163,184,.28);color:#cbd5e1;font-size:11px}.debug-panel button[data-v-0711dd6d]{border:1px solid rgba(148,163,184,.35);border-radius:4px;background:#0f172ae6;color:#e2e8f0;padding:3px 6px;font-size:11px;cursor:pointer}.debug-panel span[data-v-0711dd6d]{width:100%;color:#93c5fd}.chat-header[data-v-0711dd6d]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#0003}.header-role[data-v-0711dd6d]{display:flex;align-items:center;gap:10px}.header-avatar[data-v-0711dd6d]{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.15)}.chat-header h3[data-v-0711dd6d]{font-size:16px;font-weight:600;color:#dde;margin:0}.conv-id[data-v-0711dd6d]{font-size:11px;color:#556;font-family:monospace}.audio-indicator[data-v-0711dd6d]{padding:6px 16px;background:#4488ff1f;color:#8bf;font-size:12px;text-align:center;border-top:1px solid rgba(68,136,255,.1)}.plan-card[data-v-0711dd6d]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;background:#ffffff0a;border-top:1px solid rgba(255,255,255,.06);font-size:12px}.plan-tag[data-v-0711dd6d]{padding:3px 8px;border-radius:999px;background:#7dd3fc29;color:#bae6fd;border:1px solid rgba(125,211,252,.24)}.plan-tag.kb[data-v-0711dd6d]{background:#4ade8029;color:#bbf7d0;border-color:#4ade8047}.plan-tag.risk-medium[data-v-0711dd6d]{background:#facc1529;color:#fef08a;border-color:#facc1552}.plan-tag.risk-high[data-v-0711dd6d]{background:#f8717133;color:#fecaca;border-color:#f8717166}.feedback-bar[data-v-0711dd6d]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;background:#0f172a99;border-top:1px solid rgba(255,255,255,.06);position:relative}.fb-btn[data-v-0711dd6d]{border:1px solid rgba(226,232,240,.18);border-radius:7px;background:#0f172ab3;color:#e2e8f0db;font-size:12px;padding:6px 10px;cursor:pointer;transition:background .16s ease,border-color .16s ease}.fb-btn[data-v-0711dd6d]:hover:not(:disabled){background:#0ea5e938;border-color:#7dd3fc99;color:#f8fafc}.fb-btn[data-v-0711dd6d]:disabled{opacity:.4;cursor:not-allowed}.fb-menu-wrap[data-v-0711dd6d]{position:relative}.fb-menu[data-v-0711dd6d]{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;display:flex;flex-direction:column;min-width:130px;background:#0f172af5;border:1px solid rgba(148,163,184,.28);border-radius:8px;padding:4px;box-shadow:0 12px 32px #0006}.fb-menu-item[data-v-0711dd6d]{border:none;background:transparent;color:#e2e8f0db;text-align:left;padding:7px 10px;font-size:12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px}.fb-menu-avatar[data-v-0711dd6d]{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.fb-menu-item[data-v-0711dd6d]:hover{background:#0ea5e92e;color:#fff}.fb-menu-item.active[data-v-0711dd6d]{background:#0ea5e947;color:#fff}.feedback-hint[data-v-0711dd6d]{padding:4px 16px 8px;font-size:13px;color:#67c23a;background:#0f172a99;text-align:center;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.feedback-hint.hint-info[data-v-0711dd6d]{color:#909399}.feedback-hint.hint-warn[data-v-0711dd6d]{color:#e6a23c}.feedback-hint.hint-success[data-v-0711dd6d]{color:#67c23a}.hint-text[data-v-0711dd6d]{display:inline-block}.hint-toggle[data-v-0711dd6d]{background:#409eff14;color:#409eff;border:none;padding:3px 10px;border-radius:12px;font-size:12px;cursor:pointer}.hint-toggle[data-v-0711dd6d]:hover{background:#409eff29}.guardian-summary-panel[data-v-0711dd6d]{margin:4px 16px 8px;padding:10px 14px;background:#f7f9fc;border-left:3px solid #409eff;border-radius:6px}.summary-title[data-v-0711dd6d]{font-size:12px;color:#409eff;margin-bottom:6px}.summary-body[data-v-0711dd6d]{margin:0;font-family:inherit;white-space:pre-wrap;word-break:break-word;line-height:1.7;font-size:14px;color:#303133}@media(max-width:768px){.plan-card[data-v-0711dd6d]{display:none}.feedback-bar[data-v-0711dd6d]{order:1}.message-list[data-v-0711dd6d]{order:2;flex:1;min-height:0}.chat-input[data-v-0711dd6d],.feedback-hint[data-v-0711dd6d],.guardian-summary-panel[data-v-0711dd6d],.audio-indicator[data-v-0711dd6d]{order:3}.chat-header[data-v-0711dd6d]{padding:10px 12px}.chat-header h3[data-v-0711dd6d]{font-size:14px}.audio-indicator[data-v-0711dd6d]{font-size:11px;padding:5px 12px}}.app-layout[data-v-1d09b053]{display:flex;width:100vw;height:100vh;background:#0a0a1a;color:#dde;overflow:hidden}.scene-side[data-v-1d09b053]{flex:1;position:relative;min-width:0}.scene-container[data-v-1d09b053]{width:100%;height:100%}.student-bar[data-v-1d09b053]{position:absolute;z-index:10;bottom:18px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(226,232,240,.18);border-radius:8px;background:#0f172aad;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.student-bar span[data-v-1d09b053]{color:#fff;font-weight:700}.student-bar small[data-v-1d09b053]{color:#e2e8f0b8}.student-bar button[data-v-1d09b053]{border:none;border-radius:6px;background:#f871712e;color:#fecaca;padding:5px 8px;cursor:pointer}.chat-side[data-v-1d09b053]{width:380px;min-width:320px;border-left:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column}.entry-gate[data-v-1d09b053]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#020617d1,#020617e6),url(/bg-landscape-1280w.webp) center / cover no-repeat}.entry-panel[data-v-1d09b053]{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 28px;border-radius:8px;background:#0f172ad6;border:1px solid rgba(226,232,240,.16);box-shadow:0 30px 100px #0000005c;text-align:center}.entry-avatar[data-v-1d09b053]{width:82px;height:82px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2)}.entry-panel h1[data-v-1d09b053]{margin:0;font-size:24px;letter-spacing:0;color:#f8fafc}.entry-panel p[data-v-1d09b053]{margin:0;color:#e2e8f0c2;line-height:1.7}.entry-panel button[data-v-1d09b053]{width:100%;height:46px;border:none;border-radius:7px;background:#0ea5e9;color:#fff;font-size:16px;font-weight:800;cursor:pointer}.entry-panel button[data-v-1d09b053]:active{transform:translateY(1px)}.entry-panel small[data-v-1d09b053]{color:#e2e8f08f}.student-login[data-v-1d09b053]{min-height:100vh;display:grid;place-items:center;padding:24px;background-color:#06111f;background-size:cover;background-position:center;background-repeat:no-repeat;color:#f8fafc;position:relative;background-image:url(/bg-portrait-720w.webp)}@media(min-width:768px){.student-login[data-v-1d09b053]{background-image:url(/bg-portrait-1080w.webp)}}@media(min-width:768px)and (orientation:landscape),(min-aspect-ratio:16/9){.student-login[data-v-1d09b053]{background-image:url(/bg-landscape-1280w.webp)}}@media(min-width:1400px)and (orientation:landscape){.student-login[data-v-1d09b053]{background-image:url(/bg-landscape-1920w.webp)}}.student-login-panel[data-v-1d09b053]{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:8px;background:#0f172ad1;border:1px solid rgba(226,232,240,.16);box-shadow:0 30px 100px #00000052}.login-mark[data-v-1d09b053]{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.login-mark-avatar[data-v-1d09b053]{width:100%;height:100%;object-fit:cover}.student-login-panel h1[data-v-1d09b053]{margin:0;font-size:26px;letter-spacing:0}.student-login-panel p[data-v-1d09b053]{margin:0 0 6px;color:#e2e8f0b8;line-height:1.7}.recent-nos[data-v-1d09b053]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.recent-label[data-v-1d09b053]{font-size:12px;color:#e2e8f08c}.recent-chip[data-v-1d09b053]{border:1px solid rgba(226,232,240,.18);border-radius:14px;background:#0ea5e91f;color:#e2e8f0d1;padding:3px 12px;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.recent-chip[data-v-1d09b053]:hover{background:#0ea5e947;border-color:#0ea5e980}.recent-chip.active[data-v-1d09b053]{background:#0ea5e959;border-color:#38bdf8;color:#fff}.recent-chip.clear-chip[data-v-1d09b053]{background:transparent;border-color:#f8717140;color:#f87171b3;font-size:11px;padding:3px 10px}.recent-chip.clear-chip[data-v-1d09b053]:hover{background:#f871712e;border-color:#f8717180}.student-login-panel label[data-v-1d09b053]{display:flex;flex-direction:column;gap:8px}.student-login-panel label span[data-v-1d09b053]{color:#e2e8f0db;font-size:14px}.student-login-panel input[data-v-1d09b053]{height:42px;border:1px solid rgba(226,232,240,.18);border-radius:7px;background:#0206176b;color:#fff;padding:0 12px;outline:none}.student-login-panel input[data-v-1d09b053]:focus{border-color:#38bdf8}.student-login-panel button[data-v-1d09b053]{height:44px;border:none;border-radius:7px;background:#0ea5e9;color:#fff;font-weight:700;cursor:pointer}.student-login-panel button[data-v-1d09b053]:disabled{cursor:not-allowed;opacity:.68}.student-login-panel strong[data-v-1d09b053]{color:#fca5a5;font-size:13px}@media(max-width:768px)and (orientation:portrait){.student-bar[data-v-1d09b053]{display:none}.app-layout[data-v-1d09b053]{flex-direction:column;height:100vh;height:100dvh}.scene-side[data-v-1d09b053]{flex:none;height:55vh;min-height:240px}.chat-side[data-v-1d09b053]{width:100%;min-width:0;flex:1;min-height:0;border-left:none;border-top:1px solid rgba(255,255,255,.06);overflow:hidden}}@media(max-width:768px)and (orientation:landscape){.student-bar[data-v-1d09b053]{display:none}.chat-side[data-v-1d09b053]{width:38vw;min-width:260px}.scene-side[data-v-1d09b053]{flex:1}}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:Microsoft YaHei,PingFang SC,-apple-system,sans-serif;background:#0a0a1a;color:#dde}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}
