:root{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--bg-deep: #030712;--bg-surface: #0f172a;--bg-glass: rgba(15, 23, 42, .6);--bg-glass-heavy: rgba(15, 23, 42, .8);--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-text: linear-gradient(to right, #60a5fa, #c084fc);--gradient-glow: radial-gradient(circle at 50% 50%, rgba(59, 130, 246, .15), transparent 70%);--primary: #3b82f6;--primary-glow: rgba(59, 130, 246, .5);--secondary: #8b5cf6;--accent: #f472b6;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--shadow-sm: 0 4px 6px -1px rgb(0 0 0 / .3);--shadow-lg: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .4);--glow-sm: 0 0 10px rgba(59, 130, 246, .2);--glow-md: 0 0 20px rgba(139, 92, 246, .3);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-deep);color:var(--text-main);line-height:1.6;min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(59,130,246,.1) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(139,92,246,.1) 0%,transparent 40%);background-attachment:fixed}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;color:var(--text-main);letter-spacing:-.02em}h1{font-size:3.5rem;font-weight:800;letter-spacing:-.05em;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}h2{font-size:2rem}h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-main)}a{color:var(--primary);text-decoration:none;transition:.2s}a:hover{color:var(--secondary)}.container{max-width:900px;width:95%;margin:0 auto;padding:3rem 1rem;flex:1;display:flex;flex-direction:column;gap:2rem}.header{text-align:center;margin-bottom:2rem;animation:fadeInDown .8s ease-out}.header p{font-size:1.25rem;color:var(--text-muted);max-width:600px;margin:0 auto}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:2rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s}.glass-panel:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg),var(--glow-sm)}.section-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;color:var(--text-muted);font-weight:600;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.input-wrapper{position:relative;display:flex;gap:1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.5rem;transition:.3s ease}.input-wrapper:focus-within{border-color:var(--primary);box-shadow:var(--glow-sm);transform:translateY(-1px)}.input-field{flex:1;background:transparent;border:none;color:var(--text-main);font-size:1.1rem;padding:.75rem 1rem;width:100%}.input-field:focus{outline:none}.input-field::placeholder{color:var(--text-dim)}.btn-icon{display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);width:3rem;height:3rem;cursor:pointer;transition:.2s;box-shadow:var(--shadow-sm)}.btn-icon:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--glow-md)}.btn-icon:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.8)}.status-msg{margin-top:1rem;font-size:.95rem;display:flex;align-items:center;gap:.5rem;animation:fadeIn .3s}.status-success{color:#4ade80}.status-error{color:#f87171}.answer-container{margin-top:1rem;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}.answer-box{background:var(--bg-glass-heavy);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.answer-box:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gradient-primary)}.markdown-content p{margin-bottom:1.25rem}.markdown-content li{margin-bottom:.5rem;margin-left:1.5rem;list-style-type:disc}.markdown-content strong{color:#60a5fa;font-weight:600}.markdown-content pre{background:#1e293b;padding:1rem;border-radius:var(--radius-md);overflow-x:auto;margin:1.5rem 0;border:1px solid var(--border)}.markdown-content code{font-family:SFMono-Regular,Consolas,monospace;font-size:.9em;background:#ffffff1a;padding:.2em .4em;border-radius:4px}.markdown-content pre code{background:transparent;padding:0}.markdown-content blockquote{border-left:4px solid var(--primary);padding-left:1rem;margin:1.5rem 0;font-style:italic;color:var(--text-muted)}.sources-section{margin-top:2rem;border-top:1px solid var(--border);padding-top:2rem}.sources-header-title{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:var(--text-muted);font-weight:600;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.sources-grid{display:flex;flex-direction:column;gap:1rem}.source-card{background:#0f172a80;border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;transition:all .2s ease-in-out;cursor:pointer;overflow:hidden}.source-card:hover{border-color:var(--primary);background:#0f172acc;transform:translateY(-2px);box-shadow:var(--shadow-md)}.source-card.expanded{background:var(--bg-surface);border-color:var(--primary);box-shadow:var(--glow-sm)}.source-header{display:flex;justify-content:space-between;align-items:center}.source-title{display:flex;align-items:center;gap:.75rem}.source-badge{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.source-content{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);animation:fadeIn .3s ease-out}.source-content p{font-style:italic;line-height:1.6;color:var(--text-main);font-size:.95rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}@media(max-width:640px){h1{font-size:2.5rem}.container{padding:1.5rem 1rem}.glass-panel{padding:1.5rem}}.footer{background:var(--bg-surface);border-top:1px solid var(--border);padding:1.5rem;text-align:center;width:100%;color:var(--text-dim);font-size:.9rem}
