@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.chat-window{background:var(--bg-primary);flex-direction:column;height:100%;display:flex;position:relative}.chat-window .messages-container{scroll-behavior:smooth;background:var(--bg-secondary);flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}@media (width>=1024px){.chat-window .messages-container{gap:1.5rem;padding:2rem 3rem}}.chat-window .messages-container{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}.chat-window .messages-container::-webkit-scrollbar{width:8px;height:8px}.chat-window .messages-container::-webkit-scrollbar-track{background:0 0;border-radius:8px}.chat-window .messages-container::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:8px}.chat-window .messages-container::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.chat-window .messages-container .welcome-message{justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.chat-window .messages-container .welcome-message .welcome-content{text-align:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:520px;box-shadow:var(--shadow-sm);padding:3rem 2rem}.chat-window .messages-container .welcome-message .welcome-content .welcome-mark{border-radius:var(--radius-xl);background:var(--accent-light);width:52px;height:52px;color:var(--accent-hover);justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}.chat-window .messages-container .welcome-message .welcome-content h2{letter-spacing:-.01em;color:var(--text-primary);margin-bottom:.75rem;font-size:1.875rem;font-weight:800}.chat-window .messages-container .welcome-message .welcome-content>p{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.6}.chat-window .messages-container .welcome-message .welcome-content .welcome-features{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=640px){.chat-window .messages-container .welcome-message .welcome-content .welcome-features{grid-template-columns:repeat(3,1fr);gap:1rem}}.chat-window .messages-container .welcome-message .welcome-content .welcome-features .feature{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--accent-hover);align-items:center;gap:.625rem;padding:.875rem 1rem;display:flex}@media (width<=639px){.chat-window .messages-container .welcome-message .welcome-content .welcome-features .feature{text-align:center;justify-content:center}}.chat-window .messages-container .welcome-message .welcome-content .welcome-features .feature span:last-child{color:var(--text-secondary);text-align:left;font-size:.875rem;font-weight:500;line-height:1.4}.chat-window .messages-container .typing-indicator{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:fit-content;box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.chat-window .messages-container .typing-indicator .bot-avatar-small{background:var(--primary-color);width:32px;height:32px;color:var(--text-inverse);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-window .messages-container .typing-indicator .typing-animation{align-items:center;gap:4px;display:flex}.chat-window .messages-container .typing-indicator .typing-animation span{background:var(--primary-color);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing}.chat-window .messages-container .typing-indicator .typing-animation span:nth-child(2){animation-delay:.2s}.chat-window .messages-container .typing-indicator .typing-animation span:nth-child(3){animation-delay:.4s}.chat-window .error-toast{background:var(--danger-color);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}[data-theme=dark] .welcome-content .welcome-mark,[data-theme=dark] .welcome-content .welcome-features .feature{color:var(--accent-soft)}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.chat-window .messages-container{scroll-behavior:auto}.chat-window .typing-animation span{opacity:.6;animation:none}}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.message-bubble{flex-direction:column;max-width:80%;margin-bottom:1rem;display:flex}@media (width>=1024px){.message-bubble{max-width:70%}}.message-bubble.user{align-self:flex-end;align-items:flex-end}.message-bubble.user .message-content{background:var(--user-bubble);color:var(--user-text);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-lg) var(--radius-xl);box-shadow:var(--shadow-sm);padding:.75rem 1rem}.message-bubble.user .message-content p{word-break:break-word;margin:0;font-weight:500;line-height:1.5}.message-bubble.user .message-timestamp{color:var(--text-muted);margin-top:.375rem;margin-right:.5rem;font-size:.75rem;font-weight:500}.message-bubble.bot{align-self:flex-start;align-items:flex-start}.message-bubble.bot .message-content{width:100%}.message-bubble.bot .bot-content{align-items:flex-start;gap:.75rem;display:flex}.message-bubble.bot .bot-avatar{background:var(--primary-color);width:36px;height:36px;color:var(--text-inverse);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.message-bubble.bot .bot-message-wrapper{background:var(--bot-bubble);border:1px solid var(--bot-bubble-border);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-lg);box-shadow:var(--shadow-sm);flex:1;padding:.875rem 1rem}.message-bubble.bot .bot-text{color:var(--bot-text);word-break:break-word;white-space:pre-wrap;margin-bottom:.875rem;font-size:.9375rem;line-height:1.6}.message-bubble.bot .bot-text:last-child{margin-bottom:0}.message-bubble.bot .bot-text .streaming-cursor{background:var(--accent-color);width:2px;height:1rem;margin-left:2px;animation:1s infinite blink;display:inline-block}.message-bubble.bot .bot-text .error-message{color:var(--danger-color);background:var(--danger-light);border-radius:var(--radius-lg);border:1px solid #dc262633;justify-content:flex-start;align-items:center;gap:.5rem;padding:.75rem;font-weight:500;display:flex}.message-bubble.bot .bot-text .error-message .error-icon{flex-shrink:0;display:flex}.message-bubble.bot .message-timestamp{color:var(--text-muted);margin-top:var(--spacing-xs);margin-left:44px}.message-bubble.error .bot-message-wrapper{border-color:var(--danger-color);background:var(--danger-light)}.message-bubble.streaming .bot-message-wrapper{border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .15)}.message-bubble .message-timestamp{font-size:var(--font-size-xs);opacity:.75;margin-top:var(--spacing-xs)}@media (width<=767px){.message-bubble{max-width:95%}.message-bubble.user .message-content,.message-bubble.bot .bot-message-wrapper{padding:var(--spacing-sm) var(--spacing-md)}.message-bubble.bot .bot-avatar{width:28px;height:28px}.message-bubble.bot .message-timestamp{margin-left:36px}}@media (width<=639px){.message-bubble.user .message-content,.message-bubble.bot .bot-message-wrapper{font-size:var(--font-size-sm)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.message-bubble .bot-text .streaming-cursor{opacity:.7;animation:none}}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.message-input-container{background:var(--bg-primary);border-top:1px solid var(--border-color);transition:background-color var(--transition-normal);padding:1.5rem;position:sticky;bottom:0}@media (width>=1024px){.message-input-container{padding:1.5rem 3rem 2rem}}.message-input-container .message-form .input-wrapper{background:var(--bg-primary);border:2px solid var(--border-hover);border-radius:var(--radius-2xl);transition:border-color var(--transition-normal), box-shadow var(--transition-normal);align-items:flex-end;gap:.75rem;padding:.875rem 1rem;display:flex;position:relative}.message-input-container .message-form .input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:var(--shadow-glow)}.message-input-container .message-form .input-wrapper .message-textarea{color:var(--text-primary);resize:none;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;font-family:inherit;font-size:1rem;line-height:1.5;overflow-y:auto}.message-input-container .message-form .input-wrapper .message-textarea::-webkit-scrollbar{width:6px;height:6px}.message-input-container .message-form .input-wrapper .message-textarea::-webkit-scrollbar-track{background:0 0;border-radius:6px}.message-input-container .message-form .input-wrapper .message-textarea::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:6px}.message-input-container .message-form .input-wrapper .message-textarea::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.message-input-container .message-form .input-wrapper .message-textarea::placeholder{color:var(--text-muted)}.message-input-container .message-form .input-wrapper .message-textarea:disabled{cursor:not-allowed;opacity:.7}.message-input-container .message-form .input-wrapper .input-actions{align-items:flex-end;gap:var(--spacing-xs);flex-direction:column;display:flex}.message-input-container .message-form .input-wrapper .input-actions .character-count{font-size:var(--font-size-xs);color:var(--text-muted)}.message-input-container .message-form .input-wrapper .input-actions .character-count .warning{color:var(--warning-color);font-weight:600}.message-input-container .message-form .input-wrapper .input-actions .send-button{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.message-input-container .message-form .input-wrapper .input-actions .send-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.message-input-container .message-form .input-wrapper .input-actions .send-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.message-input-container .message-form .input-wrapper .input-actions .send-button{background:var(--primary-color);color:#fff;width:44px;height:44px;transition:background var(--transition-normal), transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:50%;flex-shrink:0}.message-input-container .message-form .input-wrapper .input-actions .send-button .send-icon{display:block}.message-input-container .message-form .input-wrapper .input-actions .send-button .loading-spinner{animation:1s linear infinite spin;display:block}.message-input-container .message-form .input-wrapper .input-actions .send-button:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.message-input-container .message-form .input-wrapper .input-actions .send-button:active:not(:disabled){transform:scale(.96)}.message-input-container .message-form .input-wrapper .input-actions .send-button:disabled{background:var(--border-color);color:var(--text-muted);cursor:not-allowed;transform:none}.message-input-container .status-message{margin-top:var(--spacing-md);justify-content:center;align-items:center;display:flex}.message-input-container .status-message .status-indicator{justify-content:flex-start;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--text-secondary);border:1px solid var(--border-color);display:flex}.message-input-container .status-message .status-indicator .status-dot{background:var(--accent-color);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.message-input-container .status-message .status-indicator .status-text{font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=767px){.message-input-container{padding:var(--spacing-md)}}[data-theme=dark] .message-input-container .message-form .input-wrapper{background:var(--bg-secondary)}[data-theme=dark] .message-input-container .message-form .input-wrapper:focus-within{border-color:var(--accent-color)}[data-theme=dark] .message-input-container .status-message .status-indicator{background:var(--bg-secondary);border-color:var(--border-color)}@media (prefers-reduced-motion:reduce){.message-input-container .send-button .loading-spinner{animation:none}}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.session-controls{background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:var(--z-sticky);justify-content:space-between;align-items:center;padding:.875rem 1.5rem;display:flex;position:sticky;top:0}@media (width>=1024px){.session-controls{padding:1rem 3rem}}.session-controls .session-info .session-indicator{align-items:center;gap:.625rem;display:flex}.session-controls .session-info .session-indicator .session-dot{background:var(--success-color);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.session-controls .session-info .session-indicator .session-text{color:var(--text-secondary);letter-spacing:.01em;font-size:.875rem;font-weight:600}.session-controls .control-buttons{align-items:center;gap:.5rem;display:flex}.session-controls .control-buttons .control-btn{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.session-controls .control-buttons .control-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.session-controls .control-buttons .control-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.session-controls .control-buttons .control-btn{border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:background var(--transition-normal), color var(--transition-normal), border-color var(--transition-normal), transform var(--transition-normal);align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;display:flex}.session-controls .control-buttons .control-btn .btn-icon{color:inherit}.session-controls .control-buttons .control-btn.primary{background:var(--primary-color);color:#fff;border:none}.session-controls .control-buttons .control-btn.primary:hover:not(:disabled){background:var(--primary-hover)}.session-controls .control-buttons .control-btn.secondary{background:var(--bg-primary);color:var(--text-secondary)}.session-controls .control-buttons .control-btn.secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.session-controls .control-buttons .control-btn.warning{background:var(--bg-primary);color:var(--danger-color);border-color:#dc262640}.session-controls .control-buttons .control-btn.warning:hover:not(:disabled){background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.session-controls .control-buttons .control-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.session-controls .control-buttons .control-btn:active:not(:disabled){transform:scale(.97)}@media (width<=768px){.session-controls{flex-direction:column;gap:.625rem;padding:.625rem 1rem}.session-controls .control-buttons{justify-content:center;width:100%}.session-controls .control-buttons .control-btn{flex:1;max-width:120px}.session-controls .control-buttons .control-btn .btn-text{display:none}.session-controls .control-buttons .control-btn .btn-icon{font-size:1.125rem}}@media (width<=480px){.session-controls .control-buttons .control-btn{min-width:44px;padding:.5rem}}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.sources-list{margin-top:var(--spacing-lg);border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.sources-list .sources-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.sources-list .sources-header .sources-icon{color:var(--text-muted);flex-shrink:0}.sources-list .sources-header .sources-title{font-size:var(--font-size-sm);color:var(--text-secondary);margin-left:var(--spacing-sm);flex:1;font-weight:600}.sources-list .sources-header .expand-button{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.sources-list .sources-header .expand-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sources-list .sources-header .expand-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.sources-list .sources-header .expand-button{color:var(--text-muted);padding:var(--spacing-xs);border-radius:var(--radius-sm);background:0 0;border:none}.sources-list .sources-header .expand-button:hover{color:var(--text-secondary);background:var(--bg-hover)}.sources-list .sources-header .expand-button .expand-icon{transition:transform var(--transition-fast)}.sources-list .sources-header .expand-button .expand-icon.expanded{transform:rotate(180deg)}.sources-list .sources-content{gap:var(--spacing-sm);flex-direction:column;display:flex}.sources-list .source-item .source-link{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);transition:border-color var(--transition-normal), background var(--transition-normal);text-decoration:none;display:block}.sources-list .source-item .source-link:hover{border-color:var(--accent-color);background:var(--bg-hover)}.sources-list .source-item .source-link:focus{outline:2px solid var(--accent-color);outline-offset:2px}.sources-list .source-item .source-info{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.sources-list .source-item .source-title{color:var(--text-primary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;line-height:1.4;overflow:hidden}.sources-list .source-item .source-meta{justify-content:flex-end;align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.sources-list .source-item .source-score{font-size:var(--font-size-xs);border-radius:var(--radius-sm);padding:2px 6px;font-weight:500}.sources-list .source-item .source-score.high{color:var(--success-color);background:#10b9811a}.sources-list .source-item .source-score.medium{color:var(--warning-color);background:#f59e0b1a}.sources-list .source-item .source-score.low{color:var(--text-muted);background:#6b72801f}.sources-list .source-item .source-indicator{color:var(--text-muted);flex-shrink:0}.sources-list .show-more-button{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.sources-list .show-more-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sources-list .show-more-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.sources-list .show-more-button{color:var(--text-secondary);background-color:#0000}.sources-list .show-more-button:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.sources-list .show-more-button{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--accent-color);border:1px dashed var(--border-hover);border-radius:var(--radius-md);text-align:center}.sources-list .show-more-button:hover{border-color:var(--accent-color);background:rgba(var(--accent-rgb), .06)}@media (width<=767px){.sources-list .source-item .source-info{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.sources-list .source-item .source-meta{align-self:flex-end}}@media (width<=639px){.sources-list .source-item .source-link{padding:var(--spacing-xs) var(--spacing-sm)}.sources-list .sources-header .sources-title{font-size:var(--font-size-xs)}}[data-theme=dark] .sources-list .source-item .source-link{background:var(--bg-secondary)}[data-theme=dark] .sources-list .source-item .source-link:hover{background:var(--bg-hover)}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.loader{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);flex-direction:column;display:flex}.loader .loader-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;font-weight:500}.loader .loader-spinner .spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.error-display{padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.error-display.error{background:rgba(var(--danger-rgb), .05);border:1px solid rgba(var(--danger-rgb), .2);border-radius:var(--radius-lg)}.error-display.warning{background:var(--warning-light);border:1px solid rgba(var(--warning-rgb), .3);border-radius:var(--radius-lg)}.error-display.info{background:rgba(var(--accent-rgb), .06);border:1px solid rgba(var(--accent-rgb), .2);border-radius:var(--radius-lg)}.error-display .error-content{text-align:center;max-width:400px}.error-display .error-content .error-icon{color:var(--danger-color);margin-bottom:var(--spacing-lg);justify-content:center;display:flex}.warning .error-display .error-content .error-icon{color:var(--warning-color)}.info .error-display .error-content .error-icon{color:var(--accent-color)}.error-display .error-content h3{margin-bottom:var(--spacing-md);font-size:var(--font-size-xl)}.error .error-display .error-content h3{color:var(--danger-color)}.warning .error-display .error-content h3{color:var(--warning-color)}.info .error-display .error-content h3{color:var(--accent-color)}.error-display .error-content p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.error-display .error-content .error-actions{gap:var(--spacing-md);justify-content:center;display:flex}.error-display .error-content .error-actions .retry-button{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.error-display .error-content .error-actions .retry-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.error-display .error-content .error-actions .retry-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.error-display .error-content .error-actions .retry-button{background:var(--primary-color);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);border:none}.error-display .error-content .error-actions .retry-button:hover{background:var(--primary-hover)}.error-display .error-content .error-actions .dismiss-button{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.error-display .error-content .error-actions .dismiss-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.error-display .error-content .error-actions .dismiss-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.error-display .error-content .error-actions .dismiss-button{color:var(--text-secondary);border:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);background:0 0;min-width:auto}.error-display .error-content .error-actions .dismiss-button:hover{background:var(--bg-hover);color:var(--text-primary)}.error-message{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:rgba(var(--danger-rgb), .1);border:1px solid rgba(var(--danger-rgb), .3);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:flex}.error-message .error-icon{color:var(--danger-color)}.error-message button{color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-lg);background:0 0;border:none;margin-left:auto}.error-message button:hover{color:var(--danger-color)}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.loading-state,.error-state{justify-content:center;align-items:center;min-height:200px;display:flex}.loading-state.full-height,.error-state.full-height{height:100vh}.loading-state.full-container,.error-state.full-container{height:100%}.session-loading-state,.session-error-state{background:var(--bg-primary);height:100vh}.session-loading-state .container,.session-error-state .container{max-width:800px;height:100%;padding:var(--spacing-xl);justify-content:center;align-items:center;margin:0 auto;display:flex}.chat-page .loading-state,.chat-page .error-state{height:100%}.chat-page .loading-state .container,.chat-page .error-state .container{max-width:800px;padding:var(--spacing-xl);margin:0 auto}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.theme-toggle{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.theme-toggle:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.theme-toggle{cursor:pointer;border-radius:var(--radius-full);width:52px;height:28px;transition:transform var(--transition-fast);background:0 0;border:none;padding:0;position:relative}.theme-toggle:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.theme-toggle .toggle-track{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);width:100%;height:100%;transition:background-color var(--transition-normal), border-color var(--transition-normal);position:relative}.theme-toggle .toggle-thumb{background:var(--bg-primary);border:1px solid var(--border-hover);width:22px;height:22px;transition:transform var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:2px;left:2px}[data-theme=dark] .theme-toggle .toggle-thumb{color:var(--text-primary);transform:translate(24px)}.theme-toggle:hover{transform:none}.theme-toggle:active{transform:scale(.95)}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.auth-page{background:var(--bg-secondary);flex-direction:column;min-height:100vh;display:flex}.auth-header{border-bottom:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}@media (width>=1024px){.auth-header{padding:1.25rem 3rem}}.auth-header .brand{align-items:center;gap:.625rem;display:flex}.auth-header .brand .brand-mark{border-radius:var(--radius-lg);background:var(--primary-color);width:32px;height:32px;color:var(--text-inverse);justify-content:center;align-items:center;display:flex}.auth-header .brand .brand-name{letter-spacing:-.01em;color:var(--text-primary);font-size:1.125rem;font-weight:700}.auth-main{flex:1;justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex}.auth-content{text-align:center;width:100%;max-width:420px}.auth-content h1{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:800}.auth-content>p{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.5}.auth-tabs{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:1.5rem}@media (width>=1024px){.auth-tabs{padding:2rem}}.auth-panel,.clerk-root{width:100%}.clerk-card{border-radius:var(--radius-lg)!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.clerk-title{color:var(--text-primary)!important;text-align:center!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;font-weight:700!important}.clerk-subtitle{color:var(--text-secondary)!important;text-align:center!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important}.clerk-label{color:var(--text-secondary)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;font-weight:500!important}.clerk-input{border-color:var(--border-color)!important;border-radius:var(--radius-lg)!important;color:var(--text-primary)!important;background:var(--bg-primary)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important}.clerk-input:focus{border-color:var(--accent-color)!important;box-shadow:0 0 0 2px rgba(var(--accent-rgb), .15)!important}.clerk-button{background:var(--primary-color)!important;color:var(--text-inverse)!important;border-radius:var(--radius-lg)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;font-weight:600!important}.clerk-button:hover{background:var(--primary-hover)!important}.clerk-social{border-color:var(--border-color)!important;border-radius:var(--radius-lg)!important;color:var(--text-primary)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important}.clerk-social:hover{background:var(--bg-hover)!important}.clerk-link{color:var(--accent-color)!important;font-weight:500!important;text-decoration:none!important}.clerk-link:hover{color:var(--accent-hover)!important;text-decoration:underline!important}.clerk-divider{background:var(--border-color)!important}.clerk-divider-text{color:var(--text-muted)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important}.clerk-error{color:var(--danger-color)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important}[data-theme=dark] .clerk-card{background:0 0!important}[data-theme=dark] .clerk-input{background:var(--bg-secondary)!important}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.chat-page{background:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative}.chat-page .chat-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:1000px;height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}@media (width>=1024px){.chat-page .chat-container{max-width:1200px}}@media (width<=767px){.chat-page{padding:var(--spacing-md)}.chat-page .chat-container{border-radius:var(--radius-lg);max-width:none;height:calc(100vh - 1rem)}}@media (width<=639px){.chat-page{padding:0}.chat-page .chat-container{height:100vh;box-shadow:none;border:none;border-radius:0}}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.landing-page{background:var(--bg-secondary);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);flex-direction:column;display:flex}.landing-header{border-bottom:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}@media (width>=1024px){.landing-header{padding:1.25rem 3rem}}.landing-header .brand{align-items:center;gap:.625rem;display:flex}.landing-header .brand .brand-mark{border-radius:var(--radius-lg);background:var(--primary-color);width:32px;height:32px;color:var(--text-inverse);justify-content:center;align-items:center;display:flex}.landing-header .brand .brand-name{letter-spacing:-.01em;color:var(--text-primary);font-size:1.125rem;font-weight:700}.landing-header .header-actions{align-items:center;gap:.75rem;display:flex}.landing-header .header-actions .sign-in-link{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.landing-header .header-actions .sign-in-link:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.landing-header .header-actions .sign-in-link:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.landing-header .header-actions .sign-in-link{border-radius:var(--radius-lg);border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none}.landing-header .header-actions .sign-in-link:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.landing-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:2.5rem 1.5rem}@media (width>=1024px){.landing-main{padding:3.5rem 2rem}}.hero-section{text-align:center;padding-bottom:2.5rem}.hero-section .hero-content{max-width:640px;margin:0 auto}.hero-section .hero-content h1{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1.25rem;font-size:clamp(2rem,6vw,3rem);font-weight:900;line-height:1.12}.hero-section .hero-content>p{color:var(--text-secondary);max-width:56ch;margin:0 auto;font-size:1.125rem;line-height:1.6}.chat-starter{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:2.5rem;padding:1.5rem}@media (width>=1024px){.chat-starter{padding:2rem}}.chat-starter .starter-content .existing-session{background:var(--primary-light);border:1px solid rgba(var(--primary-rgb), .2);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.chat-starter .starter-content .existing-session .existing-session-text{color:var(--primary-ink);font-size:.875rem;font-weight:600}.chat-starter .starter-content .existing-session .continue-button{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.chat-starter .starter-content .existing-session .continue-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.chat-starter .starter-content .existing-session .continue-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.chat-starter .starter-content .existing-session .continue-button{background:var(--primary-color);color:#fff;border-radius:var(--radius-lg);padding:.5rem 1rem;font-size:.875rem;font-weight:600}.chat-starter .starter-content .existing-session .continue-button:hover{background:var(--primary-hover)}.chat-starter .starter-content .message-input-container{max-width:640px;margin:0 auto}.chat-starter .starter-content .starter-error{margin-top:1rem}.examples-section{text-align:center;padding-bottom:3rem}.examples-section h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.125rem;font-weight:700}.examples-section .example-queries{grid-template-columns:1fr;gap:.75rem;max-width:640px;margin:0 auto;display:grid}@media (width>=640px){.examples-section .example-queries{grid-template-columns:repeat(2,1fr)}}.examples-section .example-queries .example-button{cursor:pointer;transition:var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.examples-section .example-queries .example-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.examples-section .example-queries .example-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.examples-section .example-queries .example-button{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-full);text-align:center;justify-content:flex-start;padding:.75rem 1.25rem;font-size:.9rem;line-height:1.4}@media (width>=640px){.examples-section .example-queries .example-button{justify-content:center}}.examples-section .example-queries .example-button:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-hover);background:rgba(var(--accent-rgb), .06)}.examples-section .example-queries .example-button:disabled{opacity:.5;transform:none}.features-section{padding-bottom:1rem}.features-section .features-grid{grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.features-section .features-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.features-section .features-grid .feature-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);text-align:left;transition:border-color var(--transition-normal);padding:1.75rem 1.5rem}.features-section .features-grid .feature-card:hover{border-color:var(--border-hover)}.features-section .features-grid .feature-card .feature-icon{border-radius:var(--radius-lg);background:var(--primary-light);width:44px;height:44px;color:var(--primary-color);justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.features-section .features-grid .feature-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.125rem;font-weight:700}.features-section .features-grid .feature-card p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.landing-footer{border-top:1px solid var(--border-color);background:var(--bg-primary);padding:1.5rem}.landing-footer p{max-width:720px;color:var(--text-muted);text-align:center;margin:0 auto;font-size:.875rem}[data-theme=dark] :scope .chat-starter,[data-theme=dark] :scope .example-queries .example-button{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] :scope .example-queries .example-button:hover:not(:disabled){background:rgba(var(--accent-rgb), .12)}[data-theme=dark] :scope .features-grid .feature-card{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] :scope .features-grid .feature-card:hover{border-color:var(--border-hover)}[data-theme=dark] :scope .features-grid .feature-card .feature-icon{background:rgba(var(--accent-rgb), .12);color:var(--accent-soft)}[data-theme=dark] :scope .existing-session{background:rgba(var(--accent-rgb), .1);border-color:rgba(var(--accent-rgb), .25)}[data-theme=dark] :scope .existing-session .existing-session-text{color:var(--accent-soft)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}:root{--primary-color:#1a1a1a;--primary-hover:#0a0a0a;--primary-ink:#000;--primary-light:#f2f2f0;--accent-color:#6b7c5e;--accent-hover:#56654c;--accent-light:#eef0ec;--accent-soft:#7e8f72;--ink:#1a1a1a;--ink-soft:#525252;--ink-muted:#6b6b6b;--paper:#fff;--paper-soft:#fafaf9;--paper-faint:#f2f2f0;--paper-hover:#e7e7e5;--hairline:#e7e7e5;--hairline-deep:#d4d4d2;--bg-primary:#fff;--bg-secondary:#fafaf9;--bg-tertiary:#f2f2f0;--bg-hover:#e7e7e5;--bg-overlay:#1a1a1a99;--text-primary:#1a1a1a;--text-secondary:#525252;--text-muted:#6b6b6b;--text-inverse:#fff;--text-accent:#6b7c5e;--border-color:#e7e7e5;--border-hover:#d4d4d2;--border-focus:#6b7c5e;--success-color:#4a7c59;--success-light:#e8f0ea;--warning-color:#b4752b;--warning-light:#f8f0e4;--danger-color:#a53c3c;--danger-light:#f8e8e8;--info-color:#5a7c6b;--info-light:#e8eeea;--user-bubble:#1a1a1a;--user-text:#fff;--bot-bubble:#fff;--bot-bubble-border:#e7e7e5;--bot-text:#1a1a1a;--primary-rgb:26, 26, 26;--accent-rgb:107, 124, 94;--danger-rgb:165, 60, 60;--success-rgb:74, 124, 89;--warning-rgb:180, 117, 43;--shadow-sm:0 1px 3px 0 #00000014;--shadow-md:0 4px 8px -2px #0000001a;--shadow-lg:0 8px 20px -4px #0000001f;--shadow-glow:0 0 0 4px #6b7c5e26;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-2xl:2rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.25, .46, .45, .94);--transition-normal:.2s cubic-bezier(.25, .46, .45, .94);--transition-slow:.3s cubic-bezier(.25, .46, .45, .94);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1a1a1a;--bg-tertiary:#242424;--bg-hover:#2e2e2e;--bg-overlay:#000000b3;--text-primary:#f5f5f4;--text-secondary:#a8a8a8;--text-muted:#7a7a7a;--text-inverse:#1a1a1a;--primary-light:#ffffff14;--primary-soft:#a8b09d;--accent-soft:#8b9a7f;--border-color:#333;--border-hover:#444;--border-focus:#8b9a7f;--bot-bubble:#1a1a1a;--bot-bubble-border:#333;--bot-text:#f5f5f4;--success-light:#4a7c591f;--warning-light:#b4752b1f;--danger-light:#a53c3c1f;--info-light:#5a7c6b1f;--shadow-sm:0 1px 3px 0 #0006;--shadow-md:0 4px 8px -2px #0006;--shadow-lg:0 8px 20px -4px #00000080;--shadow-glow:0 0 0 4px #6b7c5e33}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;height:100%;font-size:16px}body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.5;overflow-x:hidden}#root{flex-direction:column;height:100%;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin-bottom:var(--spacing-md);text-wrap:balance;font-weight:600;line-height:1.2}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-lg);color:var(--text-secondary);text-wrap:pretty;line-height:1.6}a{color:var(--accent-color);text-underline-offset:2px;transition:color var(--transition-fast);text-decoration:underline}a:hover{color:var(--accent-hover)}a:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:var(--radius-sm)}ul,ol{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-xl)}li{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}code{background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color);font-family:JetBrains Mono,Fira Code,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:.875em}pre{background:var(--bg-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:var(--spacing-lg);font-family:JetBrains Mono,Fira Code,Monaco,Cascadia Code,Roboto Mono,monospace;overflow-x:auto}pre code{background:0 0;border:none;padding:0}input,textarea,select,button{font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.6}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-light);color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}@media (width>=640px){.container{padding:0 var(--spacing-xl)}}.loading{opacity:.6;pointer-events:none;cursor:wait}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}@media (width<=639px){.hidden-mobile{display:none}}@media (width>=640px){.hidden-desktop{display:none}}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative}.app ::selection{background:var(--accent-light);color:var(--accent-hover)}.app :focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:2px}
