.auth-page[data-v-66e5fb96]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card[data-v-66e5fb96]{background:#fff;padding:40px;border-radius:16px;width:360px;box-shadow:0 8px 32px #0000001a}h1[data-v-66e5fb96]{font-size:20px;color:#667eea;margin-bottom:4px;text-align:center}h2[data-v-66e5fb96]{font-size:16px;color:#666;margin-bottom:24px;text-align:center}.field[data-v-66e5fb96]{margin-bottom:16px}input[data-v-66e5fb96]{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box}input[data-v-66e5fb96]:focus{border-color:#667eea}.captcha-row[data-v-66e5fb96]{display:flex;gap:12px;margin-bottom:16px;align-items:center}.captcha-row input[data-v-66e5fb96]{flex:1}.captcha-img[data-v-66e5fb96]{width:130px;height:46px;border-radius:6px;cursor:pointer;object-fit:contain;border:1px solid #f0f0f0}.error[data-v-66e5fb96]{color:#ff4d4f;font-size:13px;margin-bottom:12px}button[data-v-66e5fb96]{width:100%;padding:12px;border:none;border-radius:8px;background:#667eea;color:#fff;font-size:15px;cursor:pointer}button[data-v-66e5fb96]:disabled{opacity:.6}.switch[data-v-66e5fb96]{margin-top:16px;text-align:center;font-size:13px;color:#999}.switch a[data-v-66e5fb96]{color:#667eea;cursor:pointer}.auth-page[data-v-38195abf]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card[data-v-38195abf]{background:#fff;padding:40px;border-radius:16px;width:360px;box-shadow:0 8px 32px #0000001a}h1[data-v-38195abf]{font-size:20px;color:#667eea;margin-bottom:4px;text-align:center}h2[data-v-38195abf]{font-size:16px;color:#666;margin-bottom:24px;text-align:center}.field[data-v-38195abf]{margin-bottom:16px}input[data-v-38195abf]{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box}input[data-v-38195abf]:focus{border-color:#667eea}.captcha-row[data-v-38195abf]{display:flex;gap:12px;margin-bottom:16px;align-items:center}.captcha-row input[data-v-38195abf]{flex:1}.captcha-img[data-v-38195abf]{width:130px;height:46px;border-radius:6px;cursor:pointer;object-fit:contain;border:1px solid #f0f0f0}.error[data-v-38195abf]{color:#ff4d4f;font-size:13px;margin-bottom:12px}button[data-v-38195abf]{width:100%;padding:12px;border:none;border-radius:8px;background:#667eea;color:#fff;font-size:15px;cursor:pointer}button[data-v-38195abf]:disabled{opacity:.6}.switch[data-v-38195abf]{margin-top:16px;text-align:center;font-size:13px;color:#999}.switch a[data-v-38195abf]{color:#667eea;cursor:pointer}.digital-human-container[data-v-ae0a6a05]{width:100%;height:100%;position:relative}#live2d-stage[data-v-ae0a6a05]{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.messages-list[data-v-151bbd4f]{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.message[data-v-151bbd4f]{display:flex;gap:6px;align-items:flex-start;animation:msgIn-151bbd4f .3s ease}.message.user[data-v-151bbd4f]{flex-direction:row-reverse}.avatar[data-v-151bbd4f]{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.bubble[data-v-151bbd4f]{max-width:80%;padding:6px 10px;border-radius:12px;font-size:13px;line-height:1.4;word-break:break-word;color:#333}.message.user .bubble[data-v-151bbd4f]{background:#1890ff;color:#fff;border-bottom-right-radius:3px}.message.ai .bubble[data-v-151bbd4f]{background:#f0f0f0;border-bottom-left-radius:3px}.message.streaming .bubble[data-v-151bbd4f]:after{content:"▍";animation:blink-151bbd4f .8s infinite}.empty[data-v-151bbd4f]{text-align:center;color:#ccc;font-size:13px;padding:40px 0}@keyframes msgIn-151bbd4f{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bubble[data-v-151bbd4f] h3,.bubble[data-v-151bbd4f] h4{font-size:14px;margin:6px 0 3px;line-height:1.3}.bubble[data-v-151bbd4f] h3{font-size:15px}.bubble[data-v-151bbd4f] ul,.bubble[data-v-151bbd4f] ol{margin:4px 0;padding-left:20px}.bubble[data-v-151bbd4f] li{margin:2px 0}.bubble[data-v-151bbd4f] p{margin:4px 0}.bubble[data-v-151bbd4f] hr{border:none;border-top:1px solid rgba(0,0,0,.12);margin:8px 0}.bubble[data-v-151bbd4f] strong{font-weight:700}.bubble[data-v-151bbd4f] code{background:#00000012;padding:1px 4px;border-radius:3px;font-size:12px;font-family:Consolas,Monaco,monospace}.bubble[data-v-151bbd4f] pre{background:#00000012;padding:8px 10px;border-radius:6px;overflow-x:auto;margin:6px 0}.bubble[data-v-151bbd4f] pre code{background:none;padding:0;font-size:12px;line-height:1.4}.bubble[data-v-151bbd4f] table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.bubble[data-v-151bbd4f] th,.bubble[data-v-151bbd4f] td{border:1px solid rgba(0,0,0,.15);padding:4px 6px;text-align:left}.bubble[data-v-151bbd4f] th{background:#0000000d;font-weight:600}.bubble[data-v-151bbd4f] blockquote{border-left:3px solid rgba(0,0,0,.2);margin:6px 0;padding:4px 10px;opacity:.85}.message.user .bubble[data-v-151bbd4f] code{background:#fff3}.message.user .bubble[data-v-151bbd4f] pre{background:#ffffff26}.message.user .bubble[data-v-151bbd4f] th{background:#ffffff1a}.message.user .bubble[data-v-151bbd4f] th,.message.user .bubble[data-v-151bbd4f] td{border-color:#ffffff40}.message.user .bubble[data-v-151bbd4f] hr{border-top-color:#ffffff40}@keyframes blink-151bbd4f{50%{opacity:0}}.audio-controller[data-v-3a2e42cc]{display:flex;flex-direction:column;align-items:center;gap:8px}.toggle-switch[data-v-3a2e42cc]{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 0}.toggle-switch input[data-v-3a2e42cc]{display:none}.toggle-track[data-v-3a2e42cc]{width:52px;height:28px;background:#d9d9d9;border-radius:14px;position:relative;transition:background .3s;flex-shrink:0}.toggle-switch.active .toggle-track[data-v-3a2e42cc]{background:#52c41a}.toggle-thumb[data-v-3a2e42cc]{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-thumb[data-v-3a2e42cc]{transform:translate(24px)}.toggle-icon[data-v-3a2e42cc]{font-size:12px;line-height:1}.toggle-label[data-v-3a2e42cc]{font-size:14px;color:#333;transition:color .3s}.toggle-switch.active .toggle-label[data-v-3a2e42cc]{color:#52c41a}.toggle-switch input:disabled+.toggle-track[data-v-3a2e42cc]{opacity:.5;cursor:not-allowed}.status-text[data-v-3a2e42cc]{font-size:14px;color:#666}.learn-page[data-v-4180b023]{display:flex;flex-direction:column;height:100vh;background:linear-gradient(180deg,#e8f4fd,#f0f8ff)}.top-bar[data-v-4180b023]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-info[data-v-4180b023]{display:flex;gap:12px;align-items:center}.level[data-v-4180b023]{background:gold;padding:4px 12px;border-radius:12px;font-weight:700;font-size:14px}.connection-status[data-v-4180b023]{font-size:12px;color:#999}.connection-status.connected[data-v-4180b023]{color:#52c41a}.header-right[data-v-4180b023]{display:flex;align-items:center;gap:12px}.btn-dashboard[data-v-4180b023]{padding:6px 14px;border:none;border-radius:6px;background:#1890ff;color:#fff;font-size:13px;cursor:pointer;transition:background .2s}.btn-dashboard[data-v-4180b023]:hover{background:#40a9ff}.btn-admin[data-v-4180b023]{background:#722ed1}.btn-admin[data-v-4180b023]:hover{background:#9254de}.btn-settings[data-v-4180b023],.btn-logout[data-v-4180b023]{width:32px;height:32px;border:none;border-radius:6px;background:transparent;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-settings[data-v-4180b023]:hover,.btn-logout[data-v-4180b023]:hover{background:#f0f0f0}.btn-logout[data-v-4180b023]{font-size:16px}.main-area[data-v-4180b023]{flex:1;display:flex;flex-direction:row;overflow:hidden}.left-panel[data-v-4180b023]{flex:4;display:flex;flex-direction:column;overflow:hidden}.digital-human-wrapper[data-v-4180b023]{flex:1;display:flex;align-items:stretch;justify-content:center;min-height:0}.left-footer[data-v-4180b023]{padding:12px 20px;display:flex;justify-content:center;background:#ffffffe6;position:relative;z-index:10}.right-panel[data-v-4180b023]{flex:1;display:flex;flex-direction:column;background:#fffffff2;border-left:1px solid #e8e8e8;min-width:200px;max-width:360px}.right-panel h3[data-v-4180b023]{padding:12px 16px;margin:0;font-size:14px;font-weight:600;color:#666;border-bottom:1px solid #e8e8e8;flex-shrink:0}.dashboard[data-v-f4cae7aa]{width:100%;padding:20px 40px;min-height:100vh;background:#f5f7fa}.dash-header[data-v-f4cae7aa]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dash-header h1[data-v-f4cae7aa]{font-size:22px;color:#333}.header-actions[data-v-f4cae7aa]{display:flex;gap:8px;align-items:center}.update-time[data-v-f4cae7aa]{font-size:12px;color:#999}.btn-refresh[data-v-f4cae7aa],.btn-back[data-v-f4cae7aa]{padding:6px 14px;border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-refresh[data-v-f4cae7aa]{background:#1890ff;color:#fff}.btn-back[data-v-f4cae7aa]{background:#e8e8e8;color:#333}.summary-cards[data-v-f4cae7aa]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.card[data-v-f4cae7aa]{background:#fff;border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 8px #0000000f}.card-icon[data-v-f4cae7aa]{font-size:28px;margin-bottom:6px}.card-value[data-v-f4cae7aa]{font-size:28px;font-weight:700;color:#333}.card-label[data-v-f4cae7aa]{font-size:12px;color:#999;margin-top:4px}.section[data-v-f4cae7aa]{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.section h2[data-v-f4cae7aa]{font-size:16px;color:#333;margin-bottom:16px}.knowledge-row[data-v-f4cae7aa]{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f0}.k-name[data-v-f4cae7aa]{width:140px;font-size:14px;color:#333;flex-shrink:0}.k-bar-bg[data-v-f4cae7aa]{flex:1;height:10px;background:#f0f0f0;border-radius:5px;overflow:hidden}.k-bar-fill[data-v-f4cae7aa]{height:100%;border-radius:5px;transition:width .3s}.knowledge-header[data-v-f4cae7aa]{display:flex;align-items:center;gap:12px;padding:4px 0;font-size:12px;color:#999;border-bottom:2px solid #e8e8e8}.k-bar-spacer[data-v-f4cae7aa]{flex:1}.k-pct[data-v-f4cae7aa]{width:70px;text-align:right;font-size:13px;color:#666}.k-ratio[data-v-f4cae7aa]{width:60px;text-align:right;font-size:12px;color:#999}.k-weak[data-v-f4cae7aa]{width:20px;font-size:16px}.weakness-item[data-v-f4cae7aa]{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #fff0f0}.w-name[data-v-f4cae7aa]{flex:1;font-size:14px;color:#ff4d4f}.w-wrong[data-v-f4cae7aa]{font-size:12px;color:#999}.history-row[data-v-f4cae7aa]{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f0}.h-date[data-v-f4cae7aa]{width:90px;font-size:13px;color:#999}.h-topic[data-v-f4cae7aa]{flex:1;font-size:14px;color:#333}.h-duration[data-v-f4cae7aa]{font-size:13px;color:#666}.achievement-list[data-v-f4cae7aa]{display:flex;flex-wrap:wrap;gap:8px}.achievement-item[data-v-f4cae7aa]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fffbe6;border-radius:20px;font-size:13px}.emotion-list[data-v-f4cae7aa]{display:flex;flex-wrap:wrap;gap:6px}.emotion-item[data-v-f4cae7aa]{padding:4px 10px;background:#f9f9f9;border-radius:16px;font-size:12px;color:#666}.hint-icon[data-v-f4cae7aa]{cursor:help;font-size:11px;color:#bbb;margin-left:1px;vertical-align:top}.hint-icon[data-v-f4cae7aa]:hover{color:#1890ff}.empty[data-v-f4cae7aa]{text-align:center;color:#ccc;padding:20px}.admin-page[data-v-f52860fd]{height:100vh;display:flex;flex-direction:column;background:#f0f2f5}.top-bar[data-v-f52860fd]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;border-bottom:1px solid #e8e8e8}.top-bar h1[data-v-f52860fd]{margin:0;font-size:18px}.header-right[data-v-f52860fd]{display:flex;align-items:center;gap:8px}.tab[data-v-f52860fd]{padding:6px 14px;border-radius:6px;cursor:pointer;font-size:14px;color:#666}.tab.active[data-v-f52860fd]{background:#1890ff;color:#fff}.btn-back[data-v-f52860fd]{padding:6px 14px;border:none;border-radius:6px;background:#1890ff;color:#fff;cursor:pointer}.content[data-v-f52860fd]{flex:1;overflow-y:auto;padding:20px;max-width:1200px;margin:0 auto;width:100%}.stats-grid[data-v-f52860fd]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card[data-v-f52860fd]{background:#fff;border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 8px #0000000f}.stat-num[data-v-f52860fd]{font-size:36px;font-weight:700;color:#1890ff}.stat-lbl[data-v-f52860fd]{font-size:14px;color:#666;margin-top:4px}.search-row[data-v-f52860fd]{display:flex;gap:8px;margin-bottom:16px}.search-input[data-v-f52860fd],select[data-v-f52860fd]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;flex:1}.btn[data-v-f52860fd]{padding:8px 20px;border:none;border-radius:6px;background:#1890ff;color:#fff;cursor:pointer}.table[data-v-f52860fd]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.table th[data-v-f52860fd],.table td[data-v-f52860fd]{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:14px}.table th[data-v-f52860fd]{background:#fafafa;font-weight:600;color:#666}.mono[data-v-f52860fd]{font-family:monospace;font-size:13px}.inline-input[data-v-f52860fd]{border:1px solid transparent;padding:4px 8px;border-radius:4px;font-size:14px;width:100%}.inline-input[data-v-f52860fd]:focus{border-color:#1890ff;outline:none}.active[data-v-f52860fd]{color:#52c41a;font-weight:700}.inactive[data-v-f52860fd]{color:#ff4d4f}.btn-sm[data-v-f52860fd]{padding:4px 10px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;margin:0 2px}.btn-danger[data-v-f52860fd]{color:#ff4d4f;border-color:#ff4d4f}.sub-tabs[data-v-f52860fd]{display:flex;gap:8px;margin-bottom:16px}.sub-tabs span[data-v-f52860fd]{padding:6px 16px;border-radius:6px;cursor:pointer;font-size:14px;background:#fff;border:1px solid #e8e8e8}.sub-tabs span.active[data-v-f52860fd]{background:#1890ff;color:#fff;border-color:#1890ff}.btn-add[data-v-f52860fd]{background:#52c41a}.btn-add[data-v-f52860fd]:hover{background:#73d13d}.dialog-overlay[data-v-f52860fd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;border:none}.dialog-overlay[data-v-f52860fd]::backdrop{background:#0006}.dialog-box[data-v-f52860fd]{background:#fff;border-radius:12px;padding:28px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 30px #00000026}.dialog-box h3[data-v-f52860fd]{margin:0 0 16px;font-size:18px}.form-row[data-v-f52860fd]{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.form-row label[data-v-f52860fd]{width:80px;text-align:right;font-size:14px;color:#666;line-height:36px;flex-shrink:0}.form-row input[data-v-f52860fd],.form-row select[data-v-f52860fd],.form-row textarea[data-v-f52860fd]{flex:1;padding:8px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.form-row textarea[data-v-f52860fd]{resize:vertical;min-height:42px;font-family:inherit}.dialog-actions[data-v-f52860fd]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.settings-page[data-v-6bcadee2]{width:100%;min-height:100vh;padding:20px 40px;background:#f5f7fa}.settings-content[data-v-6bcadee2]{max-width:720px;margin:0 auto}.settings-header[data-v-6bcadee2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.settings-header h1[data-v-6bcadee2]{font-size:22px;color:#333}.btn-back[data-v-6bcadee2]{padding:6px 14px;border:none;border-radius:6px;background:#e8e8e8;color:#333;cursor:pointer;font-size:13px}.section[data-v-6bcadee2]{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.section h2[data-v-6bcadee2]{font-size:16px;margin-bottom:16px;color:#333}.field[data-v-6bcadee2]{margin-bottom:12px}.field label[data-v-6bcadee2]{display:block;font-size:13px;color:#666;margin-bottom:4px}.input-row[data-v-6bcadee2]{display:flex;gap:8px}.input-row input[data-v-6bcadee2]{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;outline:none;transition:border .2s}.input-row input[data-v-6bcadee2]:focus{border-color:#1890ff}.input-row input[type=number][data-v-6bcadee2]{max-width:100px}.settings-select[data-v-6bcadee2]{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;outline:none;background:#fff;cursor:pointer}.settings-select[data-v-6bcadee2]:focus{border-color:#1890ff}.slider-row[data-v-6bcadee2]{align-items:center}.settings-slider[data-v-6bcadee2]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px;background:#e8e8e8;outline:none;cursor:pointer}.settings-slider[data-v-6bcadee2]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#1890ff;cursor:pointer}.btn-save[data-v-6bcadee2]{padding:8px 16px;border:none;border-radius:6px;background:#1890ff;color:#fff;font-size:13px;cursor:pointer;white-space:nowrap}.btn-save[data-v-6bcadee2]:hover{background:#40a9ff}.status-list[data-v-6bcadee2]{display:flex;flex-direction:column;gap:8px}.status-item[data-v-6bcadee2]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;color:#333}.status-dot[data-v-6bcadee2]{font-size:13px;padding:2px 10px;border-radius:10px}.status-dot.ok[data-v-6bcadee2]{background:#f6ffed;color:#52c41a}.status-dot.fail[data-v-6bcadee2]{background:#fff2f0;color:#ff4d4f}.status-dot.loading[data-v-6bcadee2]{background:#fffbe6;color:#faad14}.toast[data-v-6bcadee2]{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:10px 24px;border-radius:8px;font-size:14px;animation:fadeIn-6bcadee2 .3s}.vp-desc[data-v-6bcadee2]{font-size:13px;color:#666;margin-bottom:12px}.vp-status[data-v-6bcadee2]{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:#333}.vp-dot[data-v-6bcadee2]{width:10px;height:10px;border-radius:50%;background:#d9d9d9}.vp-dot.enrolled[data-v-6bcadee2]{background:#52c41a}.vp-actions[data-v-6bcadee2]{display:flex;gap:8px}.btn-vp[data-v-6bcadee2]{padding:8px 16px;border:none;border-radius:6px;background:#1890ff;color:#fff;font-size:13px;cursor:pointer}.btn-vp[data-v-6bcadee2]:disabled{opacity:.6}.btn-danger[data-v-6bcadee2]{background:#ff4d4f}.vp-progress[data-v-6bcadee2]{display:flex;align-items:center;gap:8px;margin-top:10px}.vp-bar[data-v-6bcadee2]{flex:1;height:8px;background:#e8e8e8;border-radius:4px;overflow:hidden;background-image:linear-gradient(90deg,#1890ff,#52c41a);transition:width .3s}.vp-progress span[data-v-6bcadee2]{font-size:12px;color:#666;min-width:30px}@keyframes fadeIn-6bcadee2{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{width:100%;height:100vh}
