:root{--background: #0f0f1a;--background-solid: #0f0f1a;--foreground: #f1f5f9;--card: #1a1a2e;--card-foreground: #f1f5f9;--primary: #3B82F6;--primary-hover: #60A5FA;--primary-foreground: #ffffff;--secondary: #1e1e32;--secondary-foreground: #cbd5e1;--muted: #2a2a40;--muted-foreground: #94a3b8;--accent: #3B82F6;--accent-secondary: #2563EB;--accent-foreground: #ffffff;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--border: #2a2a40;--input: #1a1a2e;--ring: #3B82F6;--radius: .75rem;--panel-bg: #1a1a2e;--glass-bg: rgba(26, 26, 46, .9);--message-user: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);--message-bot: #1e1e32;--glow-primary: 0 4px 25px rgba(59, 130, 246, .4);--glow-accent: 0 4px 25px rgba(37, 99, 235, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .4);--shadow-colored: 0 4px 20px rgba(59, 130, 246, .3)}body.light-theme{--background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 50%, #f1f5f9 100%);--background-solid: #f4f7fa;--foreground: #1e293b;--card: #ffffff;--card-foreground: #1e293b;--primary: #3B82F6;--primary-hover: #2563EB;--primary-foreground: #ffffff;--secondary: #f1f5f9;--secondary-foreground: #475569;--muted: #e2e8f0;--muted-foreground: #64748b;--accent: #3B82F6;--accent-secondary: #2563EB;--accent-foreground: #ffffff;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--border: #e2e8f0;--input: #ffffff;--ring: #3B82F6;--panel-bg: #ffffff;--glass-bg: rgba(255, 255, 255, .85);--message-user: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);--message-bot: #f1f5f9;--glow-primary: 0 4px 20px rgba(59, 130, 246, .25);--glow-accent: 0 4px 20px rgba(37, 99, 235, .25);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .12);--shadow-colored: 0 4px 20px rgba(59, 130, 246, .15)}body.light-theme{background:linear-gradient(135deg,#f8fafc,#e2e8f0,#f1f5f9);background-attachment:fixed}body.light-theme .app-header{background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000d}body.light-theme .header-logo-text{color:#2563eb}body.light-theme .header-title{background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.light-theme .glass-panel{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:1px solid rgba(59,130,246,.1);box-shadow:0 8px 32px #3b82f614,0 4px 16px #0000000a,inset 0 1px #fff}body.light-theme .glass-panel .image-bg-blur{filter:blur(40px) brightness(1.1) saturate(1.2)}body.light-theme .image-counter{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f640}body.light-theme .control-btn{background:#fff;border:1px solid #e2e8f0;color:#475569;box-shadow:var(--shadow-sm)}body.light-theme .control-btn:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6;box-shadow:var(--shadow-colored);transform:translateY(-1px)}body.light-theme .control-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;box-shadow:var(--glow-primary)}body.light-theme .control-btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 25px #3b82f659;transform:translateY(-2px)}body.light-theme .thumbnail-btn{border:2px solid transparent;box-shadow:var(--shadow-md);background:#fff}body.light-theme .thumbnail-btn:hover{border-color:#93c5fd;box-shadow:var(--shadow-lg)}body.light-theme .thumbnail-btn.active{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633,var(--shadow-md)}body.light-theme .section-info{background:#fff}body.light-theme .section-header h3{color:#1e293b}body.light-theme .section-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}body.light-theme .chat-panel{background:#fff;border-left:1px solid #e2e8f0}body.light-theme .chat-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0}body.light-theme .chat-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}body.light-theme .status-dot{background:#10b981;box-shadow:0 0 8px #10b98180}body.light-theme .chat-messages{background:linear-gradient(180deg,#f8fafc,#fff)}body.light-theme .chat-welcome i{color:#3b82f6}body.light-theme .message.user .message-content{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:var(--glow-primary)}body.light-theme .message.assistant .message-content{background:#f8fafc;color:#1e293b;border:1px solid #e2e8f0}body.light-theme .message-avatar{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#3b82f6}body.light-theme .message.user .message-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}body.light-theme .chat-input-section{background:#fff;border-top:1px solid #e2e8f0}body.light-theme .input-container input{background:#f8fafc;border:2px solid #e2e8f0;color:#1e293b}body.light-theme .input-container input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}body.light-theme .input-container input::placeholder{color:#94a3b8}body.light-theme .send-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:var(--shadow-colored)}body.light-theme .send-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 15px #3b82f666;transform:scale(1.05)}body.light-theme .voice-btn{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}body.light-theme .voice-btn:hover{background:#dbeafe;color:#3b82f6}body.light-theme .voice-btn.recording{background:linear-gradient(135deg,#ef4444,#ec4899);color:#fff}body.light-theme .markdown-content code{background:#f1f5f9;color:#3b82f6;border:1px solid #e2e8f0}body.light-theme .markdown-content pre{background:#1e293b;color:#e2e8f0;border:none;box-shadow:var(--shadow-lg)}body.light-theme .markdown-content pre code{background:transparent;color:inherit;border:none}body.light-theme .progress-bar{background:#e2e8f0}body.light-theme .progress-fill{background:linear-gradient(90deg,#3b82f6,#2563eb)}body.light-theme .settings-modal{background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.light-theme .modal-content{background:#fff;border:1px solid #e2e8f0;box-shadow:var(--shadow-lg)}body.light-theme .modal-header{border-bottom:1px solid #e2e8f0}body.light-theme .modal-header h3{color:#1e293b}body.light-theme .setting-group label{color:#475569}body.light-theme .setting-group select,body.light-theme .setting-group input[type=range]{background:#f8fafc;border:1px solid #e2e8f0;color:#1e293b}body.light-theme .status-badge{background:#f1f5f9;color:#475569}body.light-theme .status-badge.playing{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}body.light-theme .status-badge.paused{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}body.light-theme .status-badge.complete{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}body.light-theme .status-badge.preparing{background:linear-gradient(135deg,#dbeafe,#e0e7ff);color:#3b82f6}body.light-theme .theme-toggle-btn{background:#fff;border:1px solid #e2e8f0;color:#f59e0b;box-shadow:var(--shadow-sm)}body.light-theme .theme-toggle-btn:hover{background:#fef3c7;border-color:#f59e0b}body.light-theme .reference-images{border-top:1px solid #e2e8f0;background:#f8fafc}body.light-theme .reference-header{color:#3b82f6}body.light-theme .reference-image-card{box-shadow:var(--shadow-md);border:1px solid #e2e8f0}body.light-theme .page-badge{background:linear-gradient(135deg,#1e293b,#475569)}body.light-theme .qa-images{border-top:1px solid #e2e8f0}body.light-theme .qa-images-header{color:#3b82f6}body.light-theme .qa-image-card{box-shadow:var(--shadow-md);border:1px solid #e2e8f0}body.light-theme .qa-images-scroll{scrollbar-color:rgba(0,0,0,.15) transparent}body.light-theme .qa-images-scroll::-webkit-scrollbar-thumb{background:#00000026}body.light-theme .key-takeaways{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}body.light-theme .key-takeaways h4{color:#166534}body.light-theme .key-takeaways li{color:#15803d}body.light-theme ::-webkit-scrollbar-track{background:#f1f5f9}body.light-theme ::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f1f5f9}body.light-theme ::-webkit-scrollbar-thumb:hover{background:#94a3b8}body.light-theme .typing-indicator span{background:#3b82f6}body.light-theme .voice-indicator{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#dc2626}body.light-theme .voice-waves span{background:#ef4444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--background);color:var(--foreground);line-height:1.6;overflow:hidden;-webkit-font-smoothing:antialiased}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw}.app-header{height:60px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0;background:linear-gradient(135deg,var(--panel-bg) 0%,rgba(59,130,246,.05) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.header-logo-text{font-size:1.25rem;font-weight:700;color:#2563eb}.header-title{font-size:1.125rem;font-weight:700;background:linear-gradient(135deg,var(--foreground) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{font-size:.875rem;color:var(--muted-foreground);padding:4px 10px;background:var(--secondary);border-radius:9999px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.theme-toggle-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--secondary);color:#60a5fa;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.theme-toggle-btn:hover{background:var(--muted);transform:scale(1.1);border-color:#60a5fa;box-shadow:0 4px 15px #60a5fa4d}.theme-toggle-btn i{font-size:1.1rem;transition:transform .4s cubic-bezier(.4,0,.2,1)}.theme-toggle-btn:hover i{transform:rotate(30deg)}body.light-theme .theme-toggle-btn{background:var(--card);border-color:var(--border);box-shadow:0 2px 8px #00000014}.status-badge{padding:6px 14px;border-radius:9999px;font-size:.75rem;font-weight:600;background:var(--secondary);color:var(--secondary-foreground);transition:all .3s ease}.status-badge.playing{background:linear-gradient(135deg,#10b98133,#34d39933);color:#10b981;box-shadow:0 0 12px #10b9814d}.status-badge.paused{background:linear-gradient(135deg,#f59e0b33,#fbbf2433);color:#f59e0b;box-shadow:0 0 12px #f59e0b4d}.status-badge.complete{background:linear-gradient(135deg,#3b82f633,#2563eb33);color:var(--primary);box-shadow:0 0 12px #3b82f64d}.status-badge.preparing{background:linear-gradient(135deg,#3b82f633,#2563eb33);color:#3b82f6;box-shadow:0 0 12px #3b82f64d;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.main-content{flex:1;display:flex;overflow:hidden}.image-panel{flex:1;min-width:0;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:8px;gap:6px;overflow:hidden}.image-display-container{flex:2;position:relative;min-height:350px}.glass-panel{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--glass-bg) 0%,rgba(59,130,246,.05) 100%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 8px 32px #0003}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted-foreground);text-align:center}.image-placeholder i{font-size:4rem;margin-bottom:16px;opacity:.5}.image-placeholder p{font-size:1.125rem}.image-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted-foreground);text-align:center;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--secondary);border-radius:16px;z-index:5}.image-spinner{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,#2563EB 100%);border-radius:50%;margin-bottom:16px;box-shadow:0 0 20px #3b82f666}.image-spinner i{font-size:1.75rem;color:#fff}.image-loading p{font-size:.95rem;font-weight:500}.image-error{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef4444,#f97316);border-radius:50%;margin-bottom:16px}.image-error i{font-size:1.75rem;color:#fff}.glass-panel .image-bg-blur{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(30px) brightness(.4);transform:scale(1.1);transition:opacity .3s ease}.glass-panel .image-main{position:relative;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;z-index:1;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.glass-panel .image-main:hover{transform:scale(1.02);box-shadow:0 12px 40px #0000004d}.image-grid{position:relative;z-index:1;display:grid;gap:12px;width:100%;height:100%;padding:12px;justify-content:center;align-content:center}.image-grid.grid-1{grid-template-columns:1fr;grid-template-rows:1fr;place-items:center}.image-grid.grid-1 .grid-image{width:100%;height:100%}.image-grid.grid-1 .grid-image:hover{transform:none}.image-grid.grid-1 .grid-image img{object-fit:contain}.image-grid.grid-1 .grid-image:hover img{transform:none}.image-grid.grid-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.image-grid.grid-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.image-grid.grid-3 .grid-image:first-child{grid-row:span 2}.image-grid.grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.image-grid.grid-5{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.image-grid.grid-5 .grid-image:first-child{grid-row:span 2}.image-grid.grid-6,.image-grid.grid-many{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr}.grid-image{position:relative;border-radius:12px;overflow:hidden;background:var(--secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.grid-image:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;bottom:10px;right:10px;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#000000b3,#00000080);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:0;transform:scale(.8);transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grid-image:hover:after{opacity:1;transform:scale(1)}.grid-image:hover{transform:scale(1.03) translateY(-4px);z-index:2;box-shadow:0 12px 32px #00000040;border-color:var(--accent)}.grid-image.active{border-color:var(--primary);box-shadow:0 0 0 4px #3b82f640,0 8px 24px #3b82f633}.grid-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.grid-image:hover img{transform:scale(1.02)}.grid-image-number{position:absolute;top:10px;left:10px;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#000c,#0009);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000004d}body.light-theme .grid-image{background:#f8fafc;border-color:#e2e8f0}body.light-theme .grid-image:hover{border-color:var(--primary);box-shadow:0 12px 32px #0000001f}body.light-theme .grid-image.active{border-color:var(--primary);box-shadow:0 0 0 4px #3b82f626,0 8px 24px #3b82f626}body.light-theme .grid-image-number{background:linear-gradient(135deg,#3b82f6,#2563eb)}.grid-image.skeleton{pointer-events:none}.skeleton-loader{width:100%;height:100%;background:linear-gradient(90deg,var(--secondary) 0%,rgba(59,130,246,.1) 50%,var(--secondary) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}body.light-theme .skeleton-loader{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%}.image-counter{position:absolute;top:16px;right:16px;padding:8px 14px;border-radius:10px;background:linear-gradient(135deg,#3b82f6e6,#2563ebe6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.8rem;font-weight:600;color:#fff;z-index:10;opacity:0;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d}.thumbnail-strip{display:none;gap:10px;padding:10px 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;flex-shrink:0}.thumbnail-strip[style*="display: none"]+.controls-section{margin-top:auto}.thumbnail-strip::-webkit-scrollbar{height:6px}.thumbnail-strip::-webkit-scrollbar-track{background:transparent}.thumbnail-strip::-webkit-scrollbar-thumb{background:var(--muted);border-radius:3px}.thumbnail-btn{flex-shrink:0;width:68px;height:68px;border-radius:10px;overflow:hidden;border:2px solid var(--border);cursor:pointer;transition:all .3s ease;opacity:.7;background:var(--secondary);padding:0;box-shadow:var(--shadow-sm)}.thumbnail-btn:hover{opacity:1;border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--glow-accent)}.thumbnail-btn.active{opacity:1;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f64d,var(--glow-primary);transform:scale(1.08)}.thumbnail-btn img{width:100%;height:100%;object-fit:cover}.controls-section{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 0}.control-btn{width:46px;height:46px;border-radius:12px;border:1px solid var(--border);background:var(--secondary);color:var(--foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.control-btn:hover{background:var(--muted);border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-colored)}.control-btn:active{transform:scale(.95)}.control-btn.active{background:linear-gradient(135deg,#3b82f633,#2563eb33);color:var(--primary);border-color:var(--primary)}.control-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.control-btn:disabled:hover{transform:none;box-shadow:none}.control-btn-primary{width:60px;height:60px;border-radius:9999px;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1.25rem;box-shadow:var(--glow-primary);position:relative;overflow:hidden}.control-btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.control-btn-primary:hover:before{opacity:1}.control-btn-primary:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 30px #3b82f680,0 4px 15px #2563eb4d}.control-btn-primary:active{transform:scale(.95)}.control-btn-primary:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.control-btn-primary:disabled:hover{transform:none;box-shadow:none}.progress-section{display:flex;flex-direction:column;gap:8px;padding:8px 0}.progress-bar{height:6px;background:var(--secondary);border-radius:9999px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb,#1d4ed8);border-radius:9999px;width:0%;transition:width .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 2px 8px #3b82f680}.progress-fill.playing{animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.progress-text{font-size:.75rem;color:var(--muted-foreground);text-align:center}.section-info{background:linear-gradient(135deg,var(--card) 0%,rgba(59,130,246,.03) 100%);border-radius:var(--radius);padding:12px;height:220px;overflow:hidden;display:flex;flex-direction:column;margin-bottom:12px}.section-content{flex:1;overflow-y:auto;scroll-behavior:smooth;font-size:.875rem;color:var(--secondary-foreground);line-height:1.7}.section-content::-webkit-scrollbar{width:6px}.section-content::-webkit-scrollbar-track{background:transparent}.section-content::-webkit-scrollbar-thumb{background:var(--muted);border-radius:3px}.section-content::-webkit-scrollbar-thumb:hover{background:var(--primary)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-title{font-size:.875rem;font-weight:600;color:var(--foreground)}.section-badge{padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:600;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.section-content p{margin:0}.placeholder-text{color:var(--muted-foreground);font-style:italic}.voice-only-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--muted-foreground)}.voice-only-indicator i{font-size:2rem;margin-bottom:8px;color:var(--primary)}.streaming-text{margin:0;line-height:1.8}.streamed-word{display:inline;opacity:0;animation:fadeInWord .3s ease forwards}.streamed-word.current-word{color:var(--primary);font-weight:600;text-shadow:0 0 8px rgba(59,130,246,.4)}@keyframes fadeInWord{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.key-takeaways{display:none!important}.chat-panel{width:32%;min-width:320px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--panel-bg) 0%,rgba(59,130,246,.02) 100%);border-left:1px solid var(--border);position:relative}.start-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.start-overlay-content{text-align:center;padding:32px}.start-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;font-size:2rem;box-shadow:0 8px 32px #3b82f64d}.start-overlay-content h2{font-size:1.5rem;font-weight:700;color:var(--foreground);margin:0 0 8px}.start-overlay-content p{font-size:.875rem;color:var(--muted-foreground);margin:0 0 24px;max-width:250px}.start-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #3b82f64d}.start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #3b82f666}.start-btn:active{transform:translateY(0)}body.light-theme .start-overlay{background:#fffffff2}body.light-theme .start-overlay-content h2{color:#1e293b}body.light-theme .start-overlay-content p{color:#64748b}.chat-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,transparent 0%,rgba(59,130,246,.03) 100%)}.chat-avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;box-shadow:var(--glow-primary)}.chat-info h2{font-size:1rem;font-weight:700;color:var(--foreground)}.chat-info p{font-size:.8rem;color:var(--muted-foreground)}.chat-status{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--success);font-weight:500}.status-dot{width:10px;height:10px;border-radius:9999px;background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 0 10px #10b98180;animation:pulse 2s ease-in-out infinite}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--muted);border-radius:3px}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--muted-foreground);padding:40px}.chat-welcome i{font-size:4rem;margin-bottom:20px;background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-title{font-size:1.25rem;font-weight:600;color:var(--foreground);margin-bottom:8px}.welcome-subtitle{font-size:.9rem;color:var(--muted-foreground)}.message{display:flex;align-items:flex-start;gap:8px;animation:fade-in .3s ease-out}.message.user{flex-direction:row-reverse}.message-avatar{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}.message.user .message-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.message.assistant .message-avatar,.message.system .message-avatar{background:linear-gradient(135deg,var(--secondary) 0%,var(--muted) 100%);color:var(--primary)}.message-wrapper{display:flex;flex-direction:column;gap:4px;max-width:80%}.message.user .message-wrapper{align-items:flex-end}.message-content{padding:14px 18px;border-radius:18px;font-size:.9rem;line-height:1.6;box-shadow:var(--shadow-sm)}.message.user .message-content{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-bottom-right-radius:6px;box-shadow:var(--glow-primary)}.message.assistant .message-content,.message.system .message-content{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-bottom-left-radius:6px}.message-time{font-size:.7rem;color:var(--muted-foreground);font-weight:500}.typing-dots{display:flex;gap:4px;padding:4px 0}.typing-dots span{width:8px;height:8px;background:var(--primary);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}.typing-dots span:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.markdown-content{line-height:1.6}.markdown-content p{margin:0 0 8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:8px 0;padding-left:20px}.markdown-content li{margin:4px 0;display:list-item}.markdown-content code{background:#0000004d;padding:2px 6px;border-radius:4px;font-size:.85em}.markdown-content pre{background:#0000004d;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.reference-images{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.reference-header{font-size:.75rem;color:var(--muted-foreground);margin-bottom:8px;display:flex;align-items:center;gap:6px}.reference-gallery{display:flex;gap:8px;flex-wrap:wrap}.reference-image-card{position:relative;width:80px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s ease}.reference-image-card:hover{transform:scale(1.05)}.reference-image-card img{width:100%;height:100%;object-fit:cover}.page-badge{position:absolute;bottom:4px;right:4px;font-size:.625rem;padding:2px 6px;background:#000000b3;color:#fff;border-radius:4px}.qa-images{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.qa-images-header{font-size:.75rem;color:var(--muted-foreground);margin-bottom:8px;display:flex;align-items:center;gap:6px}.qa-images-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.qa-images-scroll::-webkit-scrollbar{height:4px}.qa-images-scroll::-webkit-scrollbar-track{background:transparent}.qa-images-scroll::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.qa-image-card{flex-shrink:0;width:100px;height:75px;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s ease}.qa-image-card:hover{transform:scale(1.05)}.qa-image-card img{width:100%;height:100%;object-fit:cover}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{width:8px;height:8px;border-radius:9999px;background:var(--muted-foreground);animation:bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0ms}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.chat-input-section{padding:16px 20px;border-top:1px solid var(--border);background:linear-gradient(0deg,var(--panel-bg) 0%,transparent 100%)}.input-container{display:flex;gap:10px;align-items:center}.input-container input{flex:1;padding:14px 18px;border-radius:14px;border:2px solid var(--border);background:var(--input);color:var(--foreground);font-size:.9rem;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-container input::placeholder{color:var(--muted-foreground)}.input-container input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #3b82f626}.input-actions{display:flex;gap:8px}.voice-btn,.send-btn{width:46px;height:46px;border-radius:12px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.voice-btn{background:var(--secondary);color:var(--foreground);border:1px solid var(--border)}.voice-btn:hover{background:var(--muted);border-color:var(--primary);color:var(--primary);transform:scale(1.05)}.voice-btn.recording{background:linear-gradient(135deg,#ef4444,#ec4899);border:none;color:#fff;animation:pulse 1s infinite;box-shadow:0 4px 15px #ef444466}.send-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:var(--shadow-colored)}.send-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:scale(1.08);box-shadow:0 4px 20px #3b82f680}.send-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.send-btn.loading{opacity:1;background:linear-gradient(135deg,#2563eb,#1d4ed8);animation:pulse-btn 1.5s ease-in-out infinite}@keyframes pulse-btn{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 10px #3b82f600}}.chat-mute-btn{width:46px;height:46px;border-radius:12px;border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--secondary);color:var(--foreground)}.chat-mute-btn:hover{background:var(--muted);border-color:var(--primary);color:var(--primary);transform:scale(1.05)}.chat-mute-btn.muted{background:#ef44441a;border-color:#ef4444;color:#ef4444}body.light-theme .chat-mute-btn{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}body.light-theme .chat-mute-btn:hover{background:#dbeafe;color:#3b82f6}body.light-theme .chat-mute-btn.muted{background:#ef44441a;border-color:#ef4444;color:#ef4444}.chat-input-wrapper input:disabled{background:var(--secondary);color:var(--muted-foreground);cursor:not-allowed}.voice-indicator{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-top:10px;background:linear-gradient(135deg,#ef44441a,#ec48991a);border:1px solid rgba(239,68,68,.2);border-radius:12px;font-size:.875rem;color:#ef4444;font-weight:500}.voice-waves{display:flex;align-items:center;gap:3px;height:24px}.voice-waves span{width:4px;height:100%;background:linear-gradient(180deg,#ef4444,#ec4899);border-radius:4px;animation:voice-wave .8s infinite ease-in-out}.voice-waves span:nth-child(1){animation-delay:0ms;height:60%}.voice-waves span:nth-child(2){animation-delay:.1s;height:100%}.voice-waves span:nth-child(3){animation-delay:.2s;height:80%}.voice-waves span:nth-child(4){animation-delay:.3s;height:100%}.voice-waves span:nth-child(5){animation-delay:.4s;height:60%}.cancel-voice{margin-left:auto;width:28px;height:28px;border-radius:9999px;border:none;background:var(--muted);color:var(--foreground);cursor:pointer;display:flex;align-items:center;justify-content:center}.cancel-voice:hover{background:#ef4444;color:#fff}.voice-indicator.processing{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border:1px solid rgba(59,130,246,.2);color:#3b82f6;justify-content:center}.voice-indicator.processing i{font-size:1.1rem;margin-right:8px}.settings-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.settings-modal.active{opacity:1;visibility:visible}.modal-content{width:90%;max-width:400px;background:var(--card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;transform:scale(.95);transition:transform .3s ease}.settings-modal.active .modal-content{transform:scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1rem;font-weight:600}.close-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:var(--secondary);color:var(--foreground)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.setting-group{display:flex;flex-direction:column;gap:8px}.setting-group label{font-size:.875rem;color:var(--muted-foreground)}.setting-group select,.setting-group input[type=range]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--input);color:var(--foreground);font-size:.875rem;outline:none}.setting-group select:focus{border-color:var(--primary)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}input[type=range]{-webkit-appearance:none;height:6px;background:var(--secondary);border-radius:3px;padding:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:9999px;background:var(--primary);cursor:pointer;transition:transform .2s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.image-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;cursor:pointer;animation:fade-in .2s ease-out}.image-modal-content{position:relative;max-width:90vw;max-height:90vh}.image-modal-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--radius)}.image-modal-close{position:absolute;top:-40px;right:0;width:36px;height:36px;border-radius:9999px;border:none;background:var(--secondary);color:var(--foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-modal-close:hover{background:#ef4444;color:#fff}.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.image-viewer.active{opacity:1;visibility:visible}.viewer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.viewer-content{position:relative;display:flex;flex-direction:column;align-items:center;width:95vw;height:95vh;z-index:1;padding:60px 0 80px;justify-content:center}.viewer-image{max-width:90vw;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px #00000080;transform:scale(.95);transition:transform .3s cubic-bezier(.4,0,.2,1)}.image-viewer.active .viewer-image{transform:scale(1)}.viewer-controls{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;padding:12px 24px;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:9999px;border:1px solid rgba(255,255,255,.1)}.viewer-btn{width:44px;height:44px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.viewer-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);transform:scale(1.1);box-shadow:0 4px 15px #3b82f666}.viewer-btn:disabled{opacity:.3;cursor:not-allowed}.viewer-counter{color:#fff;font-size:.9rem;font-weight:600;min-width:60px;text-align:center}.viewer-close{position:absolute;top:0;right:0;width:48px;height:48px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.viewer-close:hover{background:linear-gradient(135deg,#ef4444,#ec4899);transform:scale(1.1) rotate(90deg);box-shadow:0 4px 15px #ef444466}body.light-theme .viewer-backdrop{background:#fffffffa}body.light-theme .viewer-controls{background:#0000000d;border-color:#0000001a}body.light-theme .viewer-btn{background:#0000001a;color:#1e293b}body.light-theme .viewer-counter{color:#1e293b}body.light-theme .viewer-close{background:#0000001a;color:#1e293b}.registration-prompt{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(100px);background:linear-gradient(135deg,#ef4444,#ec4899);color:#fff;padding:16px 24px;border-radius:12px;display:flex;align-items:center;gap:12px;font-weight:500;box-shadow:0 8px 30px #ef444466;z-index:10000;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.registration-prompt.show{transform:translate(-50%) translateY(0);opacity:1}.registration-prompt i{font-size:1.25rem}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #0ea5e94d}50%{box-shadow:0 0 30px #0ea5e980}}@keyframes voice-wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@media (max-width: 1024px){.main-content{flex-direction:column}.image-panel{width:100%;height:60%;border-right:none;border-bottom:1px solid var(--border)}.chat-panel{width:100%;height:40%}}@media (max-width: 640px){.app-header{padding:0 16px}.header-subtitle{display:none}.image-panel{padding:6px}.controls-section{gap:6px}.control-btn{width:40px;height:40px}.control-btn-primary{width:48px;height:48px}}.stop-presentation-btn{width:100%;margin-top:10px;padding:12px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px #ef44444d}.stop-presentation-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 6px 16px #ef444466}.stop-presentation-btn:active{transform:scale(.98)}.status-dot.offline{background:#6b7280;box-shadow:none;animation:none}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#1e1e2df2;border-radius:12px;border:1px solid rgba(239,68,68,.3);box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;animation:slideUp .3s ease;max-width:90%;min-width:300px}.toast-error{border-color:#ef444466;background:#1e1419f2}.toast-success{border-color:#22c55e66;background:#141e19f2}.toast-content{display:flex;align-items:center;gap:12px;color:#f1f5f9;font-size:.9rem}.toast-error .toast-content i{color:#ef4444;font-size:1.1rem}.toast-success .toast-content i{color:#22c55e;font-size:1.1rem}.toast-actions{display:flex;align-items:center;gap:8px}.toast-action-btn{padding:8px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.toast-action-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.toast-close-btn{width:28px;height:28px;border-radius:6px;border:none;background:#ffffff1a;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.toast-close-btn:hover{background:#ffffff26;color:#f1f5f9}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.light-theme .toast{background:#fffffff2;border-color:#ef444433;box-shadow:0 8px 32px #00000026}.light-theme .toast-content{color:#1e293b}.light-theme .toast-close-btn{background:#0000000d;color:#64748b}.light-theme .toast-close-btn:hover{background:#0000001a;color:#1e293b}
