@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg-base:#212121;--bg-surface:#1f1f1f;--bg-elevated:#2a2a2a;--bg-hover:#303030;--bg-card:#262626;--bg-modal:#262626;--bg-panel:#1a1a1a;--bg-soft:#ffffff0a;--border:#ffffff14;--border-bright:#ffffff24;--border-focus:#709eff73;--text-primary:#ececec;--text-secondary:#b1b1b1;--text-muted:#8f8f8f;--text-white:#fff;--accent:#4d89ff;--accent-hover:#3b78f0;--accent-glow:#4d89ff38;--accent-light:#4d89ff1f;--green:#10b981;--green-light:#10b9811f;--yellow:#f59e0b;--yellow-light:#f59e0b1f;--red:#ef4444;--red-light:#ef44441f;--purple:#8b5cf6;--purple-light:#8b5cf61f;--cyan:#06b6d4;--cyan-light:#06b6d41a;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0006;--shadow:0 8px 24px #00000047;--shadow-lg:0 18px 48px #0000005c;--shadow-accent:0 0 28px #4d89ff1f;--shadow-card:0 12px 30px #0000002e;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--transition:.15s cubic-bezier(.4,0,.2,1);--transition-slow:.3s cubic-bezier(.4,0,.2,1);--transition-spring:.4s cubic-bezier(.34,1.56,.64,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}img,svg{display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1a}::-webkit-scrollbar-thumb:hover{background:#fff3}h1{letter-spacing:-.03em;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}h2{letter-spacing:-.02em;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;line-height:1.2}h3{letter-spacing:-.01em;font-size:1.125rem;font-weight:600}h4{font-size:.9375rem;font-weight:600}p{color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes glow{0%,to{box-shadow:0 0 20px #3b82f633}50%{box-shadow:0 0 40px #3b82f680}}@keyframes dot-bounce{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.gradient-text{background:linear-gradient(135deg,#60a5fa 0%,#a78bfa 50%,#34d399 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius);transition:all var(--transition);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 0 var(--accent-glow)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 18px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-bright)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:#fff3}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-danger{background:var(--red-light);color:var(--red);border-color:#ef444433}.btn-danger:hover:not(:disabled){background:#ef444433}.btn-sm{padding:6px 14px;font-size:.8125rem}.btn-lg{padding:14px 28px;font-size:1rem}.btn-icon{border-radius:var(--radius-sm);padding:8px}.input{background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:var(--radius);width:100%;color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:10px 14px;font-size:.875rem}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #63b3ed1a}.input-label{color:var(--text-secondary);margin-bottom:6px;font-size:.8125rem;font-weight:500;display:block}.card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);border-radius:22px;padding:22px}.card:hover{border-color:var(--border-bright);box-shadow:var(--shadow)}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.badge-website{background:var(--accent-light);color:var(--accent)}.badge-news{background:var(--purple-light);color:var(--purple)}.badge-reviews{background:var(--yellow-light);color:var(--yellow)}.badge-search{background:var(--cyan-light);color:var(--cyan)}.badge-ready{background:var(--green-light);color:var(--green)}.badge-scraping{background:var(--yellow-light);color:var(--yellow)}.badge-error{background:var(--red-light);color:var(--red)}.badge-idle{background:var(--bg-elevated);color:var(--text-muted)}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.ready{background:var(--green)}.status-dot.scraping{background:var(--yellow);animation:1.5s infinite pulse}.status-dot.error{background:var(--red)}.status-dot.idle{background:var(--text-muted)}.spinner{border:2px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.spinner-sm{width:14px;height:14px}.spinner-lg{border-width:3px;width:28px;height:28px}.typing-dots{align-items:center;gap:4px;padding:4px 0;display:flex}.typing-dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite dot-bounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn var(--transition);background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-modal);border:1px solid var(--border-bright);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg);padding:28px;animation:.2s scaleIn}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{color:var(--text-white);font-size:1.125rem;font-weight:700}.modal-footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.toast{z-index:200;background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:var(--radius);color:var(--text-primary);box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:12px 20px;font-size:.875rem;animation:.2s slideUp;display:flex;position:fixed;bottom:24px;right:24px}.toast.success{border-color:#10b98166}.toast.error{border-color:#ef444466}.app-shell{background:var(--bg-base);height:100dvh;min-height:100dvh;color:var(--text-primary);transition:grid-template-columns var(--transition-slow);grid-template-columns:280px minmax(0,1fr);display:grid;overflow:hidden}.app-shell-panel-collapsed{grid-template-columns:0 minmax(0,1fr)}.app-account-badge{border:1px solid var(--border);background:var(--bg-soft);color:var(--text-white);transition:background-color var(--transition);font-size:.8rem;font-weight:600}.app-account-badge:hover{background:#ffffff1a}.app-side-panel{border-right:1px solid var(--border);background:var(--bg-surface);min-width:0;transition:padding var(--transition-slow),opacity var(--transition-slow),border-color var(--transition-slow);flex-direction:column;padding:24px 18px;display:flex;overflow:hidden}.app-shell-panel-collapsed .app-side-panel{opacity:0;pointer-events:none;border-right-color:#0000;padding-left:0;padding-right:0}.app-panel-backdrop{display:none}.app-main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;height:72px;padding:18px 32px;display:grid}.app-header-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.app-panel-toggle{border:1px solid var(--border);background:var(--bg-soft);width:38px;height:38px;color:var(--text-secondary);transition:background-color var(--transition),color var(--transition),border-color var(--transition);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.app-panel-toggle:hover{color:var(--text-white);border-color:var(--border-bright);background:#ffffff12}.app-panel-toggle svg{width:18px;height:18px}.app-side-panel-header{justify-content:flex-end;padding:0 8px 12px;display:flex}.app-panel-reopen{border:1px solid var(--border);background:var(--bg-soft);width:38px;height:38px;color:var(--text-secondary);transition:background-color var(--transition),color var(--transition),border-color var(--transition);border-radius:12px;place-items:center;display:grid}.app-panel-reopen:hover{color:var(--text-white);border-color:var(--border-bright);background:#ffffff12}.app-panel-reopen svg{width:18px;height:18px}.app-top-nav{border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;align-items:center;gap:6px;padding:4px;display:inline-flex}.app-top-nav-link{color:var(--text-secondary);transition:background-color var(--transition),color var(--transition);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:500}.app-top-nav-link:hover{color:var(--text-white);background:#ffffff0d}.app-top-nav-link-active{color:var(--text-white);background:#ffffff14}.app-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.app-page-title{letter-spacing:-.02em;color:var(--text-white);margin-top:8px;font-size:1.1rem;font-weight:600}@media (max-width:1180px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.app-shell-panel-collapsed{grid-template-columns:0 minmax(0,1fr)}}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.app-side-panel{z-index:40;border-right:1px solid var(--border);width:min(320px,100vw - 48px);max-height:none;box-shadow:var(--shadow-lg);transition:transform var(--transition-slow),opacity var(--transition-slow),padding var(--transition-slow),border-color var(--transition-slow);border-top:0;position:fixed;top:0;bottom:0;left:0;transform:translate(0)}.app-shell-panel-collapsed .app-side-panel{transform:translate(-100%)}.app-main{order:1;min-width:0}.app-panel-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30;background:#0000006b;display:block;position:fixed;inset:0}.app-header{padding:18px 20px}}@media (max-width:640px){.app-header{grid-template-columns:1fr;gap:16px;height:auto}.app-header-actions{justify-content:space-between;width:100%}.app-top-nav{width:100%;min-width:0}.app-top-nav-link{text-align:center;flex:1}.app-account-badge{width:38px;height:38px}}.navbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;background:#080b14e6;align-items:center;gap:20px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.navbar-brand{letter-spacing:-.02em;color:var(--text-white);align-items:center;gap:8px;font-size:1.125rem;font-weight:800;display:flex}.navbar-brand .brand-icon{background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.navbar-nav{flex:1;align-items:center;gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);cursor:pointer;padding:6px 14px;font-size:.875rem;font-weight:500}.nav-link:hover,.nav-link.active{background:var(--bg-elevated);color:var(--text-primary)}.navbar-end{align-items:center;gap:10px;margin-left:auto;display:flex}.page{max-width:1280px;min-height:calc(100vh - 56px);margin:0 auto;padding:32px 24px}.page-header{margin-bottom:32px}.page-header h1{font-size:1.75rem}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;display:grid}.chat-layout{height:calc(100vh - 56px);display:flex;overflow:hidden}.chat-sidebar{border-right:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:16px;width:280px;min-width:280px;padding:20px;display:flex;overflow-y:auto}.chat-sidebar h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8125rem;font-weight:600}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-messages{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.chat-input-bar{border-top:1px solid var(--border);background:var(--bg-surface);align-items:flex-end;gap:12px;padding:16px 24px;display:flex}.message{gap:12px;max-width:85%;animation:.15s slideUp;display:flex}.message.user{flex-direction:row-reverse;margin-left:auto}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.message.assistant .message-avatar{background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff}.message.user .message-avatar{background:var(--bg-elevated);border:1px solid var(--border-bright);color:var(--text-secondary)}.message-bubble{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);padding:14px 16px;font-size:.9rem;line-height:1.7}.message.user .message-bubble{background:var(--accent-light);border-color:#3b82f64d}.message-bubble p{color:var(--text-primary);margin-bottom:.75em}.message-bubble p:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{margin-bottom:.75em;padding-left:1.4em}.message-bubble li{margin-bottom:4px}.message-bubble strong{color:var(--text-white);font-weight:600}.message-bubble code{font-family:var(--font-mono);background:#0000004d;border-radius:4px;padding:2px 6px;font-size:.85em}.message-bubble h3{color:var(--text-white);margin-bottom:8px}.competitor-chip{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;transition:all var(--transition);align-items:center;gap:10px;padding:10px 12px;display:flex}.competitor-chip:hover{border-color:var(--border-bright);background:var(--bg-hover)}.competitor-chip.selected{background:var(--accent-light);border-color:#3b82f680}.competitor-chip-name{flex:1;font-size:.875rem;font-weight:500}.competitor-chip-check{border:2px solid var(--border-bright);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.competitor-chip.selected .competitor-chip-check{background:var(--accent);border-color:var(--accent)}.auth-page{background:radial-gradient(80% 60% at 50% -10%,#3b82f61f 0%,#0000 70%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border-bright);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:36px;animation:.3s slideUp}.auth-logo{text-align:center;margin-bottom:28px}.auth-logo .logo-icon{background:linear-gradient(135deg,var(--accent),var(--purple));border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 12px;font-size:22px;display:flex}.auth-logo h1{color:var(--text-white);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.auth-logo p{color:var(--text-muted);margin-top:4px;font-size:.85rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.85rem}.auth-footer a{color:var(--accent);cursor:pointer}.auth-footer a:hover{text-decoration:underline}.auth-error{background:var(--red-light);color:var(--red);border-radius:var(--radius);border:1px solid #ef44444d;padding:10px 14px;font-size:.85rem}.landing{overflow-x:hidden}.hero{text-align:center;background:radial-gradient(60% 50% at 50% -5%,#3b82f633 0%,#0000 60%),radial-gradient(40% 40% at 80% 80%,#8b5cf61a 0%,#0000 60%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:80px 24px;display:flex}.hero-badge{background:var(--accent-light);border-radius:var(--radius-full);color:var(--accent);border:1px solid #3b82f64d;align-items:center;gap:8px;margin-bottom:28px;padding:6px 16px;font-size:.8125rem;font-weight:500;animation:.4s slideDown;display:inline-flex}.hero h1{max-width:800px;margin-bottom:24px;animation:.5s .1s both slideUp}.hero p{max-width:540px;margin-bottom:40px;font-size:1.125rem;animation:.5s .2s both slideUp}.hero-cta{flex-wrap:wrap;justify-content:center;gap:12px;animation:.5s .3s both slideUp;display:flex}.hero-features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;width:100%;max-width:900px;margin-top:80px;animation:.6s .4s both slideUp;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;transition:border-color var(--transition),transform var(--transition);padding:24px}.feature-card:hover{border-color:var(--border-bright);transform:translateY(-2px)}.feature-icon{margin-bottom:12px;font-size:1.75rem}.feature-card h3{color:var(--text-white);margin-bottom:8px}.competitor-card{position:relative}.competitor-card-header{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.competitor-avatar{background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.competitor-name{color:var(--text-white);font-size:1rem;font-weight:700}.competitor-category{color:var(--text-muted);margin-top:2px;font-size:.75rem}.competitor-meta{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:14px;font-size:.75rem;display:flex}.competitor-sources{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.competitor-actions{gap:8px;display:flex}.source-citation{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono);border-radius:4px;align-items:center;gap:4px;margin-top:10px;padding:2px 8px;display:inline-flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-state .empty-icon{opacity:.4;font-size:3rem}.empty-state h3{color:var(--text-primary)}.empty-state p{max-width:360px;font-size:.9rem}.form-group{flex-direction:column;gap:6px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.textarea{resize:vertical;background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:var(--radius);width:100%;min-height:80px;color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:10px 14px;font-size:.875rem;line-height:1.6}.textarea::placeholder{color:var(--text-muted)}.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #63b3ed1a}.chat-textarea{background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:var(--radius-lg);color:var(--text-primary);resize:none;max-height:150px;transition:border-color var(--transition);outline:none;flex:1;padding:12px 16px;font-size:.9rem;line-height:1.5}.chat-textarea::placeholder{color:var(--text-muted)}.chat-textarea:focus{border-color:var(--border-focus)}.chat-send-btn{border-radius:var(--radius);background:var(--accent);color:#fff;width:44px;height:44px;transition:all var(--transition);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.divider{background:var(--border);height:1px;margin:20px 0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.mt-auto{margin-top:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-muted)}.text-white{color:var(--text-white)}.font-mono{font-family:var(--font-mono)}
