.camera-view[data-v-c8dcaf6b]{display:flex;flex-direction:column;align-items:center;gap:16px}.camera-container[data-v-c8dcaf6b]{position:relative;width:100%;max-width:640px;border-radius:16px;overflow:hidden;background:#1a1a2e;box-shadow:0 4px 24px #0000004d;aspect-ratio:4/3}.camera-video[data-v-c8dcaf6b]{width:100%;height:100%;object-fit:cover;display:block}.camera-canvas[data-v-c8dcaf6b]{display:none}.camera-placeholder[data-v-c8dcaf6b]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;background:#1a1a2e}.placeholder-icon[data-v-c8dcaf6b]{font-size:64px;margin-bottom:16px;opacity:.6}.camera-placeholder p[data-v-c8dcaf6b]{font-size:16px;margin:0}.analyzing-indicator[data-v-c8dcaf6b]{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:8px;background:#000000b3;color:#fbbf24;padding:6px 14px;border-radius:20px;font-size:13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pulse-dot[data-v-c8dcaf6b]{width:10px;height:10px;border-radius:50%;background:#fbbf24;animation:pulse-c8dcaf6b 1.2s ease-in-out infinite}@keyframes pulse-c8dcaf6b{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.face-detected-badge[data-v-c8dcaf6b]{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;background:#10b981d9;color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.check-icon[data-v-c8dcaf6b]{font-weight:700}.camera-controls[data-v-c8dcaf6b]{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.camera-status[data-v-c8dcaf6b]{display:flex;gap:20px;font-size:13px;color:#9ca3af}.status-item[data-v-c8dcaf6b]{display:flex;align-items:center;gap:6px}.status-dot[data-v-c8dcaf6b]{width:8px;height:8px;border-radius:50%;background:#4b5563;transition:background .3s}.status-dot.active[data-v-c8dcaf6b]{background:#10b981;animation:pulse-c8dcaf6b 2s ease-in-out infinite}.emotion-display[data-v-01866a85]{height:100%}.no-result[data-v-01866a85]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:#9ca3af}.no-result-icon[data-v-01866a85]{font-size:64px;margin-bottom:16px;opacity:.5}.no-result p[data-v-01866a85]{margin:0;font-size:16px}.sub-text[data-v-01866a85]{font-size:13px!important;margin-top:8px!important;opacity:.6}.result-container[data-v-01866a85]{display:flex;flex-direction:column;gap:20px}.dominant-emotion[data-v-01866a85]{display:flex;align-items:center;gap:16px;padding:24px;border-radius:16px;color:#fff;position:relative;overflow:hidden}.emotion-icon[data-v-01866a85]{font-size:48px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.dominant-info[data-v-01866a85]{flex:1}.dominant-label[data-v-01866a85]{font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:1px}.dominant-name[data-v-01866a85]{font-size:28px;font-weight:700;margin:4px 0}.dominant-en[data-v-01866a85]{font-size:14px;opacity:.7}.confidence-badge[data-v-01866a85]{font-size:24px;font-weight:700;background:#fff3;padding:8px 16px;border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.emotion-bars[data-v-01866a85]{display:flex;flex-direction:column;gap:10px}.emotion-bar-row[data-v-01866a85]{display:flex;align-items:center;gap:10px}.bar-label[data-v-01866a85]{width:72px;display:flex;align-items:center;gap:6px;font-size:13px;color:#d1d5db;flex-shrink:0}.bar-emoji[data-v-01866a85]{font-size:14px}.bar-name[data-v-01866a85]{font-size:12px}.bar-track[data-v-01866a85]{flex:1;height:22px;background:#1f2937;border-radius:11px;overflow:hidden}.bar-fill[data-v-01866a85]{height:100%;border-radius:11px;transition:width .6s ease;min-width:2px}.bar-score[data-v-01866a85]{width:44px;text-align:right;font-size:13px;color:#d1d5db;font-variant-numeric:tabular-nums;flex-shrink:0}.metadata[data-v-01866a85]{display:flex;gap:16px;padding:12px 16px;background:#111827;border-radius:12px}.meta-item[data-v-01866a85]{flex:1;display:flex;flex-direction:column;gap:4px}.meta-label[data-v-01866a85]{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.meta-value[data-v-01866a85]{font-size:14px;color:#d1d5db;font-weight:600}.emotion-history[data-v-888102e7]{display:flex;flex-direction:column;gap:16px}.history-header[data-v-888102e7]{display:flex;justify-content:space-between;align-items:center}.history-title[data-v-888102e7]{margin:0;font-size:16px;font-weight:600;color:#e5e7eb}.btn-clear[data-v-888102e7]{background:none;border:1px solid #374151;color:#9ca3af;padding:4px 12px;border-radius:8px;cursor:pointer;font-size:12px;transition:all .2s}.btn-clear[data-v-888102e7]:hover{background:#374151;color:#f3f4f6}.no-history[data-v-888102e7]{text-align:center;padding:40px 20px;color:#6b7280}.no-history p[data-v-888102e7]{margin:0}.sub-text[data-v-888102e7]{font-size:13px;margin-top:8px!important;opacity:.6}.history-list[data-v-888102e7]{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;padding-right:4px}.history-list[data-v-888102e7]::-webkit-scrollbar{width:4px}.history-list[data-v-888102e7]::-webkit-scrollbar-thumb{background:#374151;border-radius:2px}.history-item[data-v-888102e7]{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#111827;border-radius:10px;border-left:3px solid;transition:background .2s}.history-item[data-v-888102e7]:hover{background:#1a2035}.history-time[data-v-888102e7]{font-size:12px;color:#6b7280;width:70px;flex-shrink:0;font-variant-numeric:tabular-nums}.history-emotion[data-v-888102e7]{display:flex;align-items:center;gap:8px;flex:1}.history-emoji[data-v-888102e7]{font-size:18px}.history-name[data-v-888102e7]{font-size:14px;font-weight:600}.history-confidence[data-v-888102e7]{font-size:14px;font-weight:700;color:#d1d5db;font-variant-numeric:tabular-nums}.emotion-stats[data-v-888102e7]{padding:16px;background:#111827;border-radius:12px}.stat-title[data-v-888102e7]{font-size:13px;font-weight:600;color:#d1d5db;margin-bottom:12px}.stat-bars[data-v-888102e7]{display:flex;flex-direction:column;gap:8px}.stat-row[data-v-888102e7]{display:flex;align-items:center;gap:10px}.stat-name[data-v-888102e7]{width:40px;font-size:12px;color:#9ca3af;flex-shrink:0}.stat-track[data-v-888102e7]{flex:1;height:16px;background:#1f2937;border-radius:8px;overflow:hidden}.stat-fill[data-v-888102e7]{height:100%;border-radius:8px;transition:width .4s ease;min-width:2px}.stat-count[data-v-888102e7]{width:30px;text-align:right;font-size:12px;color:#9ca3af;font-variant-numeric:tabular-nums}.session-panel[data-v-94b6ce5d]{display:flex;flex-direction:column;gap:16px;min-height:200px}.panel-header[data-v-94b6ce5d]{display:flex;justify-content:space-between;align-items:center}.panel-title[data-v-94b6ce5d]{margin:0;font-size:16px;font-weight:600;color:#e5e7eb}.session-live[data-v-94b6ce5d]{background:#0d1117;border:1px solid #1e3a5f;border-radius:12px;padding:20px}.live-badge[data-v-94b6ce5d]{display:flex;align-items:center;gap:8px;color:#10b981;font-size:13px;font-weight:600}.live-dot[data-v-94b6ce5d]{width:10px;height:10px;border-radius:50%;background:#10b981;animation:pulse-94b6ce5d 1.5s ease-in-out infinite}@keyframes pulse-94b6ce5d{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.live-stats[data-v-94b6ce5d]{display:flex;flex-direction:column;align-items:center;gap:8px}.live-stat[data-v-94b6ce5d]{display:flex;align-items:baseline;gap:6px}.stat-label[data-v-94b6ce5d]{font-size:14px;color:#9ca3af}.stat-num[data-v-94b6ce5d]{font-size:32px;font-weight:700;color:#10b981}.stat-unit[data-v-94b6ce5d]{font-size:14px;color:#6b7280}.live-hint[data-v-94b6ce5d]{font-size:12px;color:#6b7280}.empty-state[data-v-94b6ce5d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon[data-v-94b6ce5d]{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state p[data-v-94b6ce5d]{margin:4px 0;color:#6b7280;font-size:14px}.empty-sub[data-v-94b6ce5d]{font-size:12px!important;color:#484f58!important}.session-stats[data-v-94b6ce5d]{display:flex;flex-direction:column;gap:20px}.stats-overview[data-v-94b6ce5d]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.stat-card[data-v-94b6ce5d]{background:#0d1117;border:1px solid #30363d;border-radius:10px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:6px}.stat-label[data-v-94b6ce5d]{font-size:12px;color:#6b7280}.stat-value[data-v-94b6ce5d]{font-size:26px;font-weight:700;color:#60a5fa}.stats-section[data-v-94b6ce5d]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-94b6ce5d]{margin:0;font-size:14px;color:#8b949e;font-weight:600}.emotion-bars[data-v-94b6ce5d]{display:flex;flex-direction:column;gap:8px}.emotion-bar-row[data-v-94b6ce5d]{display:flex;align-items:center;gap:10px;font-size:13px}.emotion-label[data-v-94b6ce5d]{width:44px;color:#9ca3af;flex-shrink:0}.emotion-bar-track[data-v-94b6ce5d]{flex:1;height:20px;background:#21262d;border-radius:10px;overflow:hidden}.emotion-bar-fill[data-v-94b6ce5d]{height:100%;border-radius:10px;transition:width .5s ease}.emotion-percent[data-v-94b6ce5d]{width:56px;text-align:right;color:#e5e7eb;font-weight:600}.stats-table[data-v-94b6ce5d]{width:100%;border-collapse:collapse;font-size:13px}.stats-table th[data-v-94b6ce5d]{text-align:left;padding:8px 10px;color:#6b7280;border-bottom:1px solid #30363d;font-weight:600}.stats-table td[data-v-94b6ce5d]{padding:8px 10px;color:#9ca3af;border-bottom:1px solid #21262d}.transitions-list[data-v-94b6ce5d]{display:flex;flex-wrap:wrap;gap:6px}.transition-item[data-v-94b6ce5d]{display:flex;align-items:center;gap:6px;background:#0d1117;border:1px solid #30363d;border-radius:8px;padding:6px 10px;font-size:12px}.transition-from[data-v-94b6ce5d]{color:#f87171}.transition-arrow[data-v-94b6ce5d]{color:#6b7280}.transition-to[data-v-94b6ce5d]{color:#4ade80}.transition-time[data-v-94b6ce5d]{color:#484f58;font-size:11px}.export-area[data-v-94b6ce5d]{display:flex;justify-content:center;padding-top:8px}.btn[data-v-94b6ce5d]{padding:12px 32px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-export[data-v-94b6ce5d]{background:#2563eb;color:#fff}.btn-export[data-v-94b6ce5d]:hover{background:#1d4ed8}.app[data-v-7031ac2f]{min-height:100vh;display:flex;flex-direction:column;background:#0d1117;color:#e5e7eb}.app-header[data-v-7031ac2f]{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:#161b22;border-bottom:1px solid #21262d;position:sticky;top:0;z-index:100}.header-brand[data-v-7031ac2f]{display:flex;align-items:center;gap:12px}.brand-icon[data-v-7031ac2f]{font-size:28px}.brand-title[data-v-7031ac2f]{margin:0;font-size:20px;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-status[data-v-7031ac2f]{display:flex;align-items:center;gap:8px;font-size:13px;color:#8b949e}.status-indicator[data-v-7031ac2f]{width:8px;height:8px;border-radius:50%;background:#6b7280;transition:background .3s}.status-indicator.online[data-v-7031ac2f]{background:#10b981;box-shadow:0 0 8px #10b98166}.app-main[data-v-7031ac2f]{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:24px;max-width:1440px;margin:0 auto;width:100%;box-sizing:border-box}.panel-session[data-v-7031ac2f]{grid-column:3}.panel-history[data-v-7031ac2f]{grid-column:1 / -1}.panel[data-v-7031ac2f]{background:#161b22;border:1px solid #21262d;border-radius:16px;padding:20px;overflow:hidden}.panel-title[data-v-7031ac2f]{margin:0 0 16px;font-size:16px;font-weight:600;color:#e5e7eb}.app-footer[data-v-7031ac2f]{text-align:center;padding:14px 24px;font-size:12px;color:#484f58;border-top:1px solid #21262d}.footer-sep[data-v-7031ac2f]{margin:0 8px}@media (max-width: 1024px){.app-main[data-v-7031ac2f]{grid-template-columns:1fr 1fr}.panel-session[data-v-7031ac2f],.panel-history[data-v-7031ac2f]{grid-column:1 / -1}}@media (max-width: 640px){.app-main[data-v-7031ac2f]{grid-template-columns:1fr;padding:12px;gap:12px}.app-header[data-v-7031ac2f]{padding:12px 16px}.brand-title[data-v-7031ac2f]{font-size:16px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;background:#0d1117;color:#e5e7eb;line-height:1.5;overflow-x:hidden}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.btn-secondary{background:#374151;color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#374151;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4b5563}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.fade-enter-active{animation:fadeIn .3s ease}.slide-enter-active{animation:slideIn .3s ease}.text-center{text-align:center}.text-muted{color:#6b7280}.text-sm{font-size:13px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.flex-center{display:flex;align-items:center;justify-content:center}
