:root{--primary-gradient-start: #1e3a5f;--primary-gradient-end: #8b2635;--card-bg: #ffffff;--card-shadow: 0 10px 40px rgba(0, 0, 0, .15);--card-shadow-hover: 0 20px 60px rgba(0, 0, 0, .2);--text-primary: #1a1a2e;--text-secondary: #4a5568;--text-muted: #718096;--accent-blue: #2563eb;--accent-blue-hover: #1d4ed8;--accent-red: #dc2626;--border-color: #e2e8f0;--input-bg: #f8fafc;--code-bg: #f1f5f9;--success-bg: #ecfdf5;--success-border: #a7f3d0;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #b91c1c;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s ease;--transition-normal: .25s ease}.app-wrapper{min-height:100vh;background:linear-gradient(135deg,var(--primary-gradient-start) 0%,var(--primary-gradient-end) 100%);background-attachment:fixed;padding:2rem 1rem;display:flex;justify-content:center;align-items:flex-start}.app-container{width:100%;max-width:800px;background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--card-shadow);padding:2.5rem;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;background:linear-gradient(135deg,var(--primary-gradient-start),var(--accent-red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-subtitle{font-size:1rem;color:var(--text-secondary);margin:0 0 2rem;font-weight:400}.query-form{display:flex;gap:.75rem;margin-bottom:1rem}.query-input{flex:1;padding:.875rem 1.25rem;font-size:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-primary);outline:none;transition:all var(--transition-fast)}.query-input:hover{border-color:#cbd5e1}.query-input:focus{border-color:var(--accent-blue);background:var(--card-bg);box-shadow:0 0 0 3px #2563eb1a}.query-input:disabled{opacity:.6;cursor:not-allowed}.query-input::placeholder{color:var(--text-muted)}.submit-button{padding:.875rem 1.75rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-blue-hover) 100%);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:1rem}.checkbox-label input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent-blue);cursor:pointer;flex-shrink:0}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.web-search-checkbox{align-items:flex-start;padding:.75rem;background:var(--input-bg);border:2px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:1.25rem;transition:all var(--transition-fast)}.web-search-checkbox:hover{border-color:#cbd5e1;background:#f1f5f9}.web-search-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;margin-top:.1rem}.checkbox-text{display:flex;flex-direction:column;gap:.2rem}.checkbox-text strong{color:var(--text-primary);font-weight:600;font-size:.95rem}.checkbox-description{font-size:.85rem;color:var(--text-muted)}.loading-container{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--input-bg);border-radius:var(--radius-md);margin-bottom:1.5rem}.spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}.loading-text{color:var(--text-secondary);font-size:.95rem}.error-message{padding:1rem 1.25rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);color:var(--error-text);font-size:.9rem;margin-bottom:1.5rem}.result-card{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;animation:fadeInUp .4s ease-out}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:var(--accent-blue-hover);border-radius:20px;margin-bottom:1rem}.badge:before{content:"";width:6px;height:6px;background:var(--accent-blue);border-radius:50%}.markdown-content{line-height:1.8;color:var(--text-primary);font-size:.95rem}.markdown-content p{margin:0 0 1rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:1.5rem 0 .75rem;font-weight:600;color:var(--text-primary);line-height:1.3}.markdown-content h1{font-size:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.markdown-content h2{font-size:1.25rem}.markdown-content h3{font-size:1.1rem}.markdown-content h4{font-size:1rem}.markdown-content h5,.markdown-content h6{font-size:.9rem}.markdown-content ul,.markdown-content ol{margin:0 0 1rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.35rem}.markdown-content ul ul,.markdown-content ol ol,.markdown-content ul ol,.markdown-content ol ul{margin:.35rem 0}.markdown-content a{color:var(--accent-blue);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.markdown-content a:hover{border-bottom-color:var(--accent-blue)}.markdown-content code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.85em;background:var(--code-bg);padding:.2rem .4rem;border-radius:4px;color:var(--accent-red)}.markdown-content pre{background:#1e293b;color:#e2e8f0;padding:1.25rem;border-radius:var(--radius-md);overflow-x:auto;margin:1rem 0}.markdown-content pre code{background:transparent;color:inherit;padding:0;font-size:.85rem;line-height:1.6}.markdown-content blockquote{margin:1rem 0;padding:.75rem 1.25rem;border-left:4px solid var(--accent-blue);background:var(--code-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic;color:var(--text-secondary)}.markdown-content blockquote p{margin:0}.markdown-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.markdown-content th,.markdown-content td{padding:.75rem 1rem;text-align:left;border:1px solid var(--border-color)}.markdown-content th{background:var(--code-bg);font-weight:600;color:var(--text-primary)}.markdown-content tr:nth-child(2n){background:var(--input-bg)}.markdown-content tr:hover{background:var(--code-bg)}.markdown-content hr{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);margin:1.5rem 0}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content em{font-style:italic}.sources-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.sources-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.sources-list{list-style:none;padding:0;margin:0}.source-item{margin-bottom:.5rem}.source-link{display:flex;align-items:center;gap:.5rem;color:var(--accent-blue);text-decoration:none;font-size:.9rem;padding:.5rem .75rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.source-link:hover{background:var(--input-bg);border-color:var(--accent-blue);transform:translate(4px)}.source-link:before{content:"→";font-size:.8rem;color:var(--text-muted)}.history-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.history-title{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.5px}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{display:block;width:100%;text-align:left;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;color:var(--text-primary);transition:all var(--transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item:hover{background:var(--card-bg);border-color:var(--accent-blue);box-shadow:0 2px 8px #2563eb1a;transform:translate(4px)}@media(max-width:640px){.app-wrapper{padding:1rem .75rem}.app-container{padding:1.5rem;border-radius:var(--radius-lg)}.app-title{font-size:1.5rem}.app-subtitle{font-size:.9rem}.query-form{flex-direction:column}.query-input,.submit-button{width:100%}.submit-button{padding:.875rem}.result-card{padding:1.25rem}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.1rem}.markdown-content h3{font-size:1rem}.markdown-content pre{padding:1rem;font-size:.8rem}.markdown-content table{font-size:.8rem}.markdown-content th,.markdown-content td{padding:.5rem .75rem}}@media(max-width:400px){.app-container{padding:1.25rem}.app-title{font-size:1.25rem}.history-item{font-size:.85rem;padding:.625rem .875rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:#fff}
