@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #030712;--color-bg-alt: #0a0f1e;--color-surface: #111827;--color-surface-hover: #1a2235;--color-border: #1e293b;--color-border-bright: #334155;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-primary-glow: rgba(99, 102, 241, .15);--color-accent: #06b6d4;--color-accent-glow: rgba(6, 182, 212, .15);--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--radius-xl: 24px}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--color-primary-hover);text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent)}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit;transition:all .2s}input,textarea,select{font-family:inherit;font-size:inherit}code,pre{font-family:JetBrains Mono,monospace}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#030712cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border)}.nav-logo{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.25rem;color:var(--color-text)}.nav-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.9rem}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{color:var(--color-text-secondary);font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--color-text)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 0 20px var(--color-primary-glow),0 0 60px var(--color-primary-glow)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{color:var(--color-text);border-color:var(--color-border-bright);background:var(--color-surface)}.btn-large{padding:.85rem 2rem;font-size:1rem;border-radius:var(--radius)}.btn-oauth{width:100%;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.75rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-oauth:hover{border-color:var(--color-border-bright);background:var(--color-surface-hover)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:8rem 2rem 4rem;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(99,102,241,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.03) 1px,transparent 1px);background-size:60px 60px}.hero-glow{position:absolute;top:-20%;left:50%;transform:translate(-50%);width:800px;height:600px;background:radial-gradient(ellipse,rgba(99,102,241,.12) 0%,rgba(6,182,212,.06) 40%,transparent 70%);pointer-events:none}.hero-glow-2{position:absolute;bottom:-10%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(6,182,212,.08) 0%,transparent 60%);pointer-events:none}.hero-content{position:relative;z-index:1;text-align:center;max-width:900px}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:100px;background:var(--color-primary-glow);border:1px solid rgba(99,102,241,.2);color:var(--color-primary-hover);font-size:.85rem;font-weight:600;margin-bottom:2rem}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.1;letter-spacing:-.03em;margin-bottom:1.5rem}.hero-title .gradient{background:linear-gradient(135deg,var(--color-primary-hover),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--color-text-secondary);max-width:640px;margin:0 auto 2.5rem;line-height:1.7}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.arch-section{padding:6rem 2rem;position:relative}.arch-diagram{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.arch-node{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;text-align:center;min-width:220px;transition:all .3s}.arch-node:hover{border-color:var(--color-primary);box-shadow:0 0 30px var(--color-primary-glow);transform:translateY(-2px)}.arch-node-icon{font-size:2rem;margin-bottom:.75rem}.arch-node-title{font-weight:700;font-size:1.1rem;margin-bottom:.25rem}.arch-node-desc{color:var(--color-text-muted);font-size:.85rem}.arch-arrow{color:var(--color-primary);font-size:1.5rem;font-weight:700}.features-section{padding:6rem 2rem;max-width:1200px;margin:0 auto}.section-label{text-align:center;font-size:.85rem;font-weight:600;color:var(--color-primary-hover);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.section-title{text-align:center;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}.section-desc{text-align:center;color:var(--color-text-secondary);max-width:600px;margin:0 auto 3.5rem;font-size:1.05rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;transition:all .3s}.feature-card:hover{border-color:var(--color-border-bright);background:var(--color-surface-hover)}.feature-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem}.feature-icon.purple{background:var(--color-primary-glow)}.feature-icon.cyan{background:var(--color-accent-glow)}.feature-icon.green{background:#10b98126}.feature-title{font-weight:700;font-size:1.1rem;margin-bottom:.5rem}.feature-desc{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.code-section{padding:6rem 2rem;max-width:900px;margin:0 auto}.code-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.code-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#0000004d;border-bottom:1px solid var(--color-border)}.code-dot{width:12px;height:12px;border-radius:50%}.code-dot.red{background:#ef4444}.code-dot.yellow{background:#f59e0b}.code-dot.green{background:#10b981}.code-label{margin-left:.75rem;font-size:.8rem;color:var(--color-text-muted);font-family:JetBrains Mono,monospace}.code-body{padding:1.5rem;overflow-x:auto}.code-body pre{font-size:.85rem;line-height:1.8;color:var(--color-text-secondary)}.code-body .keyword{color:#c084fc}.code-body .string{color:#34d399}.code-body .comment{color:var(--color-text-muted)}.code-body .url{color:var(--color-accent)}.steps-section{padding:6rem 2rem;max-width:800px;margin:0 auto}.steps{display:flex;flex-direction:column;gap:2rem}.step{display:flex;gap:1.5rem;align-items:flex-start}.step-number{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--color-primary-glow);border:1px solid rgba(99,102,241,.3);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--color-primary-hover);font-size:1.1rem}.step-content h3{font-weight:700;margin-bottom:.25rem}.step-content p{color:var(--color-text-secondary);font-size:.95rem}.cta-section{padding:6rem 2rem 8rem;text-align:center}.cta-box{max-width:700px;margin:0 auto;padding:4rem 3rem;background:linear-gradient(135deg,#6366f114,#06b6d40d);border:1px solid rgba(99,102,241,.15);border-radius:var(--radius-xl)}.cta-title{font-size:2rem;font-weight:800;margin-bottom:.75rem}.cta-desc{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1.05rem}.footer{padding:2rem;text-align:center;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.85rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative}.login-page .hero-grid,.login-page .hero-glow{position:fixed}.login-card{position:relative;z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:3rem;width:100%;max-width:420px}.login-card h1{font-size:1.75rem;font-weight:800;text-align:center;margin-bottom:.25rem}.login-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:2rem;font-size:.95rem}.login-buttons{display:flex;flex-direction:column;gap:.75rem}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--color-text-muted);font-size:.8rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.sidebar-logo{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;font-weight:700;font-size:1.1rem;border-bottom:1px solid var(--color-border)}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.95rem;font-weight:500;transition:all .15s}.sidebar-link:hover{color:var(--color-text);background:var(--color-surface-hover)}.sidebar-link.active{color:var(--color-text);background:var(--color-primary-glow);border:1px solid rgba(99,102,241,.2)}.sidebar-icon{font-size:1.1rem}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--color-border)}.sidebar-user{display:flex;align-items:center;gap:.75rem;color:var(--color-text-muted);font-size:.85rem}.sidebar-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary-glow);border:1px solid rgba(99,102,241,.3);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--color-primary-hover);font-size:.85rem}.dashboard-main{flex:1;margin-left:260px;padding:2rem}.mobile-menu-btn{display:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;color:var(--color-text);font-size:1.2rem;margin-bottom:1rem}.page{max-width:900px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.page-title{font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.page-desc{color:var(--color-text-muted);font-size:.95rem;margin-top:.25rem}.empty-state{text-align:center;padding:4rem 2rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-icon{font-size:2.5rem;margin-bottom:1rem}.empty-state h3{font-weight:700;margin-bottom:.5rem}.empty-state p{color:var(--color-text-secondary);max-width:400px;margin:0 auto 1.5rem;font-size:.95rem}.card-list{display:flex;flex-direction:column;gap:1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.card:hover{border-color:var(--color-border-bright)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer}.card-info{flex:1}.card-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.card-title{font-weight:700;font-size:1.05rem}.card-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.card-slug{font-size:.85rem;color:var(--color-accent);background:var(--color-accent-glow);padding:.15rem .5rem;border-radius:4px}.card-desc{color:var(--color-text-muted);font-size:.85rem}.card-meta-item{color:var(--color-text-muted);font-size:.8rem}.card-expand{color:var(--color-text-muted);font-size:.9rem;padding:.25rem}.card-body{padding:1.25rem 1.5rem 1.5rem;border-top:1px solid var(--color-border)}.card-section{margin-bottom:1.5rem}.card-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.card-section-title{font-weight:600;font-size:.9rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.card-instructions{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1rem;font-size:.85rem;color:var(--color-text-secondary);white-space:pre-wrap;font-family:JetBrains Mono,monospace}.card-empty{color:var(--color-text-muted);font-size:.9rem;font-style:italic}.card-actions{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--color-border)}.status-badge{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:100px;text-transform:uppercase;letter-spacing:.03em}.status-badge.connected{background:#10b98126;color:var(--color-success)}.status-badge.pending{background:#f59e0b26;color:var(--color-warning)}.status-badge.active{background:var(--color-primary-glow);color:var(--color-primary-hover)}.key-table{width:100%;border-collapse:collapse;font-size:.9rem}.key-table th{text-align:left;padding:.5rem .75rem;color:var(--color-text-muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.key-table td{padding:.65rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.key-table code{background:var(--color-bg);padding:.15rem .4rem;border-radius:4px;font-size:.85rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:2rem}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-title{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.modal-warning{color:var(--color-warning);font-size:.9rem;margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.key-reveal{display:flex;align-items:center;gap:.75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1rem}.key-text{flex:1;font-size:.8rem;word-break:break-all;color:var(--color-accent);line-height:1.4}.form-group{margin-bottom:1.25rem}.form-label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;margin-bottom:.4rem}.form-hint{font-weight:400;font-size:.8rem;color:var(--color-text-muted)}.form-hint-block{display:block;font-size:.8rem;color:var(--color-text-muted);margin-top:.3rem}.form-optional{font-weight:400;font-size:.8rem;color:var(--color-text-muted)}.form-input{width:100%;padding:.65rem .85rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.form-textarea{width:100%;padding:.65rem .85rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);resize:vertical;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.form-textarea.mono{font-family:JetBrains Mono,monospace;font-size:.85rem}.form-success{font-size:.8rem;color:var(--color-success);margin-top:.25rem}.form-error{font-size:.8rem;color:var(--color-danger);margin-top:.25rem}.btn-sm{padding:.35rem .85rem;font-size:.85rem}.btn-icon{background:none;border:none;color:var(--color-text-muted);font-size:.9rem;padding:.25rem .5rem;border-radius:4px;transition:all .15s}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-icon.danger:hover{color:var(--color-danger);background:#ef44441a}.danger-text{color:var(--color-danger)!important}.danger-text:hover{background:#ef44441a!important}.tab-bar{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:1.25rem}.tab{padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;color:var(--color-text-muted);background:none;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.tab:hover{color:var(--color-text-secondary)}.tab.active{color:var(--color-primary-hover);border-bottom-color:var(--color-primary)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:600;min-width:1.25rem;height:1.25rem;border-radius:999px;margin-left:.4rem;padding:0 .35rem}.connection-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.connection-row:last-child{border-bottom:none}.connection-info{display:flex;flex-direction:column;gap:.2rem}.console-service-key{margin-bottom:1rem}.console-service-key .form-input{font-size:.85rem}.console-window{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.console-messages{min-height:200px;max-height:400px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.console-empty{color:var(--color-text-muted);font-size:.85rem;text-align:center;padding:2rem 1rem;line-height:1.6}.console-msg{max-width:85%}.console-msg.sent{align-self:flex-end}.console-msg.received{align-self:flex-start}.console-msg.error,.console-msg.system{align-self:center;max-width:95%}.console-msg-label{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;padding:0 .25rem}.console-msg.sent .console-msg-label{color:var(--color-primary-hover);justify-content:flex-end}.console-msg.received .console-msg-label{color:var(--color-success)}.console-msg.error .console-msg-label{color:var(--color-danger)}.console-msg.system .console-msg-label{color:var(--color-text-muted)}.console-msg-time{font-weight:400;color:var(--color-text-muted)}.console-msg-content{padding:.65rem .85rem;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,monospace}.console-msg.sent .console-msg-content{background:var(--color-primary-glow);border:1px solid rgba(99,102,241,.2);color:var(--color-text)}.console-msg.received .console-msg-content{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.console-msg.error .console-msg-content{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:var(--color-danger)}.console-msg.system .console-msg-content{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.8rem}.console-input-row{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.console-input{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;color:var(--color-text);font-family:JetBrains Mono,monospace;font-size:.85rem;resize:none;min-height:36px}.console-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.console-input:disabled{opacity:.5}.form-input.mono{font-family:JetBrains Mono,monospace;font-size:.85rem}@media(max-width:768px){.nav{padding:1rem}.nav-links{gap:1rem}.hero{padding:7rem 1.5rem 3rem}.arch-diagram{flex-direction:column}.arch-arrow{transform:rotate(90deg)}.features-grid{grid-template-columns:1fr}}.chat-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:2rem}.chat-page.chat-active{flex-direction:column;padding:0}.chat-loading{text-align:center;color:var(--color-muted)}.chat-loading .spinner{width:2rem;height:2rem;border:2px solid rgba(255,255,255,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.chat-status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:2.5rem;max-width:420px;width:100%;text-align:center}.chat-bot-header{display:flex;align-items:center;gap:1rem;text-align:left;margin-bottom:1.5rem}.chat-bot-avatar{width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0}.chat-bot-avatar-sm{width:2rem;height:2rem;font-size:.9rem}.chat-bot-desc{color:var(--color-muted);font-size:.9rem;margin-top:.25rem}.chat-prompt{color:var(--color-muted);margin-bottom:1.5rem;line-height:1.5}.chat-status-card .login-buttons{margin-top:0}.chat-pending-badge{display:inline-block;background:#f59e0b26;color:#f59e0b;padding:.5rem 1.25rem;border-radius:999px;font-weight:600;font-size:.9rem;margin-bottom:1rem}.chat-denied-badge{display:inline-block;background:#ef444426;color:#ef4444;padding:.5rem 1.25rem;border-radius:999px;font-weight:600;font-size:.9rem;margin-bottom:1rem}.chat-error{color:#ef4444;font-size:.85rem;margin-top:1rem}.chat-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%}.chat-header-name{font-weight:600}.chat-header-status{font-size:.8rem;color:#22c55e;margin-left:auto}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;width:100%;max-width:800px;margin:0 auto}.chat-empty{text-align:center;color:var(--color-muted);margin-top:4rem}.chat-bubble{max-width:75%;padding:.75rem 1rem;border-radius:1rem;margin-bottom:.75rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-bubble-user{background:var(--color-primary);color:#fff;margin-left:auto;border-bottom-right-radius:.25rem}.chat-bubble-assistant{background:var(--color-surface);border:1px solid var(--color-border);border-bottom-left-radius:.25rem}.chat-bubble-system{background:transparent;color:var(--color-muted);font-size:.85rem;font-style:italic;max-width:100%;text-align:center;padding:.5rem}.chat-system-msg{color:var(--color-muted)}.chat-typing{color:var(--color-muted);font-style:italic}.chat-input-bar{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-surface);width:100%;max-width:800px;margin:0 auto}.chat-input{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-text);font-size:.95rem;outline:none}.chat-input:focus{border-color:var(--color-primary)}.chat-send-btn{padding:.75rem 1.5rem;white-space:nowrap}.onboarding-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:2rem}.onboarding-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:3rem;max-width:540px;width:100%;text-align:center;position:relative;z-index:1}.onboarding-logo{display:flex;justify-content:center;margin-bottom:1.5rem}.onboarding-card h1{font-size:1.5rem;margin-bottom:.5rem}.onboarding-subtitle{color:var(--color-muted);margin-bottom:2rem}.onboarding-choices{display:flex;gap:1rem;margin-bottom:1.5rem}.onboarding-choice{flex:1;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:.75rem;cursor:pointer;transition:all .2s;color:var(--color-text)}.onboarding-choice:hover{border-color:var(--color-primary);background:#8b5cf60d}.onboarding-choice:disabled{opacity:.5;cursor:not-allowed}.onboarding-choice-icon{font-size:2rem}.onboarding-choice-title{font-weight:600;font-size:1rem}.onboarding-choice-desc{font-size:.8rem;color:var(--color-muted);line-height:1.4}.onboarding-footnote{font-size:.8rem;color:var(--color-muted)}@media(max-width:480px){.onboarding-choices{flex-direction:column}}
