:root{--bg-primary:#f5f5f5;--bg-secondary:#ffffff;--bg-tertiary:#f3f4f6;--bg-hover:#f5f5f5;--bg-active:#e8f0fe;--text-primary:#1a1a1a;--text-secondary:#666666;--text-tertiary:#888888;--text-muted:#999999;--border-primary:#e0e0e0;--border-secondary:#d0d0d0;--border-light:#f0f0f0;--accent-primary:#1a56db;--accent-hover:#1e40af;--accent-disabled:#93c5fd;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#dc2626;--success-bg:#f0fdf4;--success-border:#bbf7d0;--success-text:#16a34a;--shadow-color:rgba(0,0,0,0.1);--overlay-color:rgba(0,0,0,0.5)}.dark{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#262626;--bg-hover:#2a2a2a;--bg-active:#1e3a5f;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-tertiary:#808080;--text-muted:#606060;--border-primary:#333333;--border-secondary:#404040;--border-light:#2a2a2a;--accent-primary:#3b82f6;--accent-hover:#60a5fa;--accent-disabled:#1e40af;--error-bg:#450a0a;--error-border:#7f1d1d;--error-text:#fca5a5;--success-bg:#052e16;--success-border:#166534;--success-text:#86efac;--shadow-color:rgba(0,0,0,0.3);--overlay-color:rgba(0,0,0,0.7)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100vh;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .2s,color .2s}.container{max-width:800px;margin:0 auto;padding:2rem 1rem;min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.header h1{font-size:1.75rem;font-weight:600;color:var(--accent-primary);margin-bottom:.5rem}.header p{color:var(--text-secondary);font-size:.95rem}.chat-container{flex:1 1;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.message{padding:1rem 1.25rem;border-radius:12px;max-width:90%;line-height:1.6}.message-user{background-color:var(--accent-primary);color:white;align-self:flex-end;margin-left:auto}.message-assistant{background-color:var(--bg-secondary);border:1px solid var(--border-primary);align-self:flex-start}.message-assistant p{margin-bottom:.75rem}.message-assistant p:last-child{margin-bottom:0}.markdown-content{line-height:1.7}.markdown-content p{margin-bottom:.75rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content em{font-style:italic}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{font-weight:600;margin-top:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.15rem}.markdown-content h3{font-size:1.05rem}.markdown-content ol,.markdown-content ul{margin:.75rem 0;padding-left:1.5rem}.markdown-content li{margin-bottom:.35rem}.markdown-content li:last-child{margin-bottom:0}.markdown-content ol ol,.markdown-content ol ul,.markdown-content ul ol,.markdown-content ul ul{margin:.25rem 0}.markdown-content code{background-color:var(--bg-tertiary);padding:.15rem .35rem;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9em}.markdown-content pre{background-color:var(--bg-tertiary);padding:1rem;border-radius:8px;overflow-x:auto;margin:.75rem 0}.markdown-content pre code{background:none;padding:0}.markdown-content blockquote{border-left:3px solid var(--accent-primary);padding-left:1rem;margin:.75rem 0;color:var(--text-secondary);font-style:italic}.markdown-content a{color:var(--accent-primary);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content hr{border:none;border-top:1px solid var(--border-primary);margin:1rem 0}.sources{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-light);font-size:.85rem}.sources,.sources-title{color:var(--text-secondary)}.sources-title{font-weight:500;margin-bottom:.5rem}.sources ul{list-style:none;padding-left:0}.sources li{padding:.25rem 0}.source-link{color:var(--accent-primary);text-decoration:none;transition:color .2s}.source-link:hover{color:var(--accent-hover);text-decoration:underline}.input-form{position:-webkit-sticky;position:sticky;bottom:0;background-color:var(--bg-primary);padding:1rem 0;display:flex;gap:.75rem}.input-field{flex:1 1;padding:.875rem 1rem;border:1px solid var(--border-secondary);border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s,background-color .2s;background-color:var(--bg-secondary);color:var(--text-primary)}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent-primary)}.input-field:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.submit-button{padding:.875rem 1.5rem;background-color:var(--accent-primary);color:white;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:var(--accent-hover)}.submit-button:disabled{background-color:var(--accent-disabled);cursor:not-allowed}.loading{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:6px;height:6px;background-color:var(--accent-primary);border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:1rem;border-radius:8px}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state h2{font-size:1.25rem;font-weight:500;margin-bottom:1rem;color:var(--text-primary)}.empty-state p{margin-bottom:.5rem}.example-questions{margin-top:1.5rem}.example-questions h3{font-size:.9rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.example-questions button{display:block;width:100%;text-align:left;padding:.75rem 1rem;margin-bottom:.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s}.example-questions button:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.footer{text-align:center;padding-top:1rem;border-top:1px solid var(--border-primary);font-size:.8rem;color:var(--text-tertiary)}.footer a{color:var(--accent-primary);text-decoration:none}.footer a:hover{text-decoration:underline}.auth-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem 1rem}.auth-box{background:var(--bg-secondary);padding:2.5rem;border-radius:12px;box-shadow:0 4px 6px var(--shadow-color);width:100%;max-width:400px;border:1px solid var(--border-primary)}.auth-box h2{text-align:center;color:var(--accent-primary);margin-bottom:.5rem}.auth-subtitle{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:.9rem}.form-group input{padding:.75rem 1rem;border:1px solid var(--border-secondary);border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s,background-color .2s;background-color:var(--bg-secondary);color:var(--text-primary)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--accent-primary)}.form-group input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.auth-error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:8px}.auth-error,.auth-message{padding:.75rem 1rem;font-size:.9rem}.auth-message{background-color:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);border-radius:8px}.auth-button{padding:.875rem 1.5rem;background-color:var(--accent-primary);color:white;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){background-color:var(--accent-hover)}.auth-button:disabled{background-color:var(--accent-disabled);cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.5rem;color:var(--text-secondary)}.auth-switch button{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:inherit;text-decoration:underline}.auth-switch button:hover{color:var(--accent-hover)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-color);z-index:99}.sidebar{position:fixed;top:0;left:-320px;width:320px;height:100vh;background-color:var(--bg-secondary);box-shadow:2px 0 10px var(--shadow-color);z-index:100;display:flex;flex-direction:column;transition:left .3s ease}.sidebar-open{left:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.sidebar-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.sidebar-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.sidebar-close:hover{color:var(--text-primary)}.sidebar-actions{padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.new-conversation-btn{width:100%;padding:.75rem 1rem;background-color:var(--accent-primary);color:white;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.new-conversation-btn:hover{background-color:var(--accent-hover)}.conversations-list{flex:1 1;overflow-y:auto;padding:.5rem 0}.loading-conversations,.no-conversations{padding:2rem 1.25rem;text-align:center;color:var(--text-secondary)}.no-conversations .hint{font-size:.85rem;margin-top:.5rem;color:var(--text-muted)}.conversation-item{display:flex;align-items:flex-start;padding:.75rem 1.25rem;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background-color .2s}.conversation-item:hover{background-color:var(--bg-hover)}.conversation-item.active{background-color:var(--bg-active);border-left:3px solid var(--accent-primary)}.conversation-info{flex:1 1;min-width:0}.conversation-title{font-weight:500;color:var(--text-primary)}.conversation-preview,.conversation-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.conversation-preview{font-size:.85rem;color:var(--text-secondary)}.conversation-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-muted)}.delete-conversation-btn{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;opacity:0;transition:opacity .2s,color .2s}.conversation-item:hover .delete-conversation-btn{opacity:1}.delete-conversation-btn:hover{color:var(--error-text)}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center}.user-info{flex:1 1;min-width:0}.user-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.sign-out-btn,.user-email{font-size:.85rem;color:var(--text-secondary)}.sign-out-btn{background:none;border:1px solid var(--border-secondary);border-radius:6px;padding:.5rem 1rem;cursor:pointer;transition:all .2s}.sign-out-btn:hover{border-color:var(--error-text);color:var(--error-text)}.header-content{display:flex;justify-content:space-between;align-items:flex-start}.header-text{text-align:center;flex:1 1}.menu-button{background:none;border:1px solid var(--border-primary);border-radius:8px;padding:.5rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .2s}.menu-button:hover{border-color:var(--accent-primary)}.menu-button span{display:block;width:18px;height:2px;background-color:var(--text-secondary);border-radius:1px}.header-spacer{width:48px}.header-actions{gap:.5rem}.header-actions,.theme-toggle{display:flex;align-items:center}.theme-toggle{background:none;border:1px solid var(--border-primary);border-radius:8px;padding:.5rem;cursor:pointer;justify-content:center;transition:border-color .2s,background-color .2s;width:40px;height:40px}.theme-toggle:hover{border-color:var(--accent-primary);background-color:var(--bg-hover)}.theme-toggle svg{width:20px;height:20px;color:var(--text-secondary);transition:color .2s}.theme-toggle:hover svg{color:var(--accent-primary)}.loading-auth,.loading-messages{padding:3rem;color:var(--text-secondary);font-size:1rem}.beta-banner,.loading-auth,.loading-messages{display:flex;justify-content:center;align-items:center}.beta-banner{gap:.75rem;padding:.5rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;margin-bottom:1rem}.beta-badge{background:#f59e0b;color:white;font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;letter-spacing:.05em}.beta-text{font-size:.9rem;color:#92400e}.beta-feedback-link{background:none;border:none;color:#1a56db;font-size:inherit;font-weight:500;cursor:pointer;text-decoration:underline;padding:0}.beta-feedback-link:hover{color:#1e40af}.message-actions{margin-top:.75rem;padding-top:.5rem;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end}.feedback-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:transparent;border:1px solid #e0e0e0;border-radius:6px;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s}.feedback-btn:hover{border-color:#1a56db;color:#1a56db;background:#f8fafc}.feedback-btn svg{flex-shrink:0}.sidebar-nav{padding:.75rem 1.25rem;border-bottom:1px solid #e0e0e0}.sidebar-nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#333;text-decoration:none;border-radius:8px;transition:background-color .2s,color .2s}.sidebar-nav-link:hover{background-color:#f5f5f5;color:#1a56db}.sidebar-nav-link svg{flex-shrink:0}.sources-page{flex:1 1;display:flex;flex-direction:column;gap:1.5rem}.sources-intro{background:white;padding:1.5rem;border-radius:12px;border:1px solid #e0e0e0}.sources-intro h2{font-size:1.25rem;font-weight:600;color:#1a56db;margin-bottom:.75rem}.sources-intro p{color:#666;line-height:1.6}.sources-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:#666}.sources-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem 1.5rem;border-radius:8px}.sources-stats{display:flex;gap:2rem;padding:1rem 1.5rem;background:white;border-radius:12px;border:1px solid #e0e0e0}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.75rem;font-weight:600;color:#1a56db}.stat-label{font-size:.85rem;color:#666}.sources-list{display:flex;flex-direction:column;gap:.75rem}.no-sources{text-align:center;padding:2rem;color:#666}.source-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:white;border:1px solid #e0e0e0;border-radius:12px;transition:border-color .2s,box-shadow .2s}.source-item:hover{border-color:#1a56db;box-shadow:0 2px 8px rgba(26,86,219,.1)}.source-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#e8f0fe;border-radius:8px;color:#1a56db}.source-icon.youtube{background-color:#fee2e2;color:#dc2626}.source-icon.pdf{background-color:#e8f0fe;color:#1a56db}.source-info{flex:1 1;min-width:0}.source-name{font-size:1rem;font-weight:500;color:#333;margin-bottom:.25rem;word-break:break-word}.source-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.source-channel,.source-size{font-size:.85rem;color:#666}.source-type-badge{display:inline-block;padding:.15rem .5rem;font-size:.75rem;font-weight:500;border-radius:4px;background-color:#f0f0f0;color:#666}.source-description{margin-top:.5rem;font-size:.85rem;color:#666;line-height:1.4}.action-btn.youtube-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#dc2626;color:white;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.action-btn.youtube-btn:hover{background-color:#b91c1c}.source-actions{flex-shrink:0}.download-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#1a56db;color:white;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.download-btn:hover{background-color:#1e40af}.download-btn svg{flex-shrink:0}.source-unavailable{color:#999;font-size:.85rem;font-style:italic}.sources-footer{text-align:center;padding:1rem;color:#666;font-size:.9rem}.sources-footer a{color:#1a56db;text-decoration:none}.sources-footer a:hover{text-decoration:underline}.back-link{color:#666;text-decoration:none;font-size:.9rem;transition:color .2s}.back-link:hover{color:#1a56db}@media (max-width:600px){.container{padding:1rem .75rem}.header h1{font-size:1.5rem}.message{max-width:95%}.input-form{flex-direction:column}.submit-button{width:100%}.beta-banner{flex-direction:column;gap:.5rem;text-align:center}.source-item{flex-direction:column;align-items:flex-start;gap:.75rem}.source-icon{width:40px;height:40px}.source-actions{width:100%}.download-btn{width:100%;justify-content:center}.sources-stats{flex-wrap:wrap;justify-content:center}}