@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-primary:#0c0b10;--bg-secondary:#14121e;--bg-tertiary:#1c1a28;--bg-card:#14121e;--bg-hover:#252336;--bg-input:#1c1a28;--accent:#7c4dff;--accent-light:#b388ff;--accent-dark:#5e35b1;--accent-glow:#7c4dff26;--accent-subtle:#7c4dff14;--gradient-primary:linear-gradient(135deg, #b388ff 0%, #7c4dff 100%);--gradient-hero:linear-gradient(135deg, #000 0%, #0f0f0f 50%, #191919 100%);--gradient-card:linear-gradient(145deg, #151515 0%, #0a0a0a 100%);--text-primary:#e8e6f0;--text-secondary:#9896a8;--text-muted:#6b6980;--text-accent:#b388ff;--border:#ffffff14;--border-hover:#7c4dff4d;--kai-color:#00b4d8;--luna-color:#f4a261;--rex-color:#e63946;--nova-color:#2ec4b6;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 4px 16px #0009;--shadow-lg:0 8px 32px #000c;--shadow-glow:0 0 40px #7c4dff14;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease:cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary:#f5f3fa;--bg-secondary:#fff;--bg-tertiary:#ece9f4;--bg-card:#fff;--bg-hover:#e8e5f0;--bg-input:#f0edf6;--accent:#7c4dff;--accent-light:#5e35b1;--accent-dark:#4527a0;--accent-glow:#7c4dff1a;--accent-subtle:#7c4dff0f;--gradient-primary:linear-gradient(135deg, #9c7cff 0%, #7c4dff 100%);--gradient-hero:linear-gradient(135deg, #f5f3fa 0%, #ece9f4 100%);--gradient-card:linear-gradient(145deg, #fff 0%, #f5f3fa 100%);--text-primary:#1a1825;--text-secondary:#5c5a6e;--text-muted:#8e8ca0;--text-accent:#7c4dff;--border:#00000014;--border-hover:#7c4dff4d;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-glow:0 0 40px #7c4dff0f}@media (prefers-color-scheme:light){[data-theme=system]{--bg-primary:#f5f3fa;--bg-secondary:#fff;--bg-tertiary:#ece9f4;--bg-card:#fff;--bg-hover:#e8e5f0;--bg-input:#f0edf6;--accent:#7c4dff;--accent-light:#5e35b1;--accent-dark:#4527a0;--accent-glow:#7c4dff1a;--accent-subtle:#7c4dff0f;--gradient-primary:linear-gradient(135deg, #9c7cff 0%, #7c4dff 100%);--gradient-hero:linear-gradient(135deg, #f5f3fa 0%, #ece9f4 100%);--gradient-card:linear-gradient(145deg, #fff 0%, #f5f3fa 100%);--text-primary:#1a1825;--text-secondary:#5c5a6e;--text-muted:#8e8ca0;--text-accent:#7c4dff;--border:#00000014;--border-hover:#7c4dff4d;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-glow:0 0 40px #7c4dff0f}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overscroll-behavior:none}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.btn{border-radius:var(--radius-md);transition:all .3s var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--text-primary);color:var(--bg-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);background:#fff;transform:translateY(-2px)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-hover)}.btn-lg{border-radius:var(--radius-lg);padding:16px 32px;font-size:1.1rem}.landing{min-height:100vh}.nav{padding:20px 0;padding-top:calc(20px + env(safe-area-inset-top,0px));z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#0a0a12d9;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.nav-wrapper{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.5rem;font-weight:800;display:flex}.logo-icon{border-radius:var(--radius-sm);background:var(--gradient-primary);justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;display:flex}.nav-links{align-items:center;gap:8px;display:flex}.hero{text-align:center;padding:100px 0 80px;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#6c5ce71f 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.hero h1{letter-spacing:-.03em;margin-bottom:20px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1}.hero h1 .gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero p{color:var(--text-secondary);max-width:600px;margin:0 auto 40px;font-size:1.25rem;line-height:1.7}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.demo-container{perspective:1000px;max-width:700px;margin:60px auto 0}.demo-chat{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg), var(--shadow-glow);transition:transform .5s var(--ease);padding:24px;transform:rotateX(2deg)}.demo-chat:hover{transform:rotateX(0)}.demo-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.demo-avatar{border-radius:var(--radius-full);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex}.demo-name{font-size:.95rem;font-weight:600}.demo-role{color:var(--text-muted);font-size:.8rem}.demo-messages{flex-direction:column;gap:16px;display:flex}.demo-msg{border-radius:var(--radius-md);max-width:85%;animation:fadeUp .5s var(--ease) forwards;opacity:0;padding:12px 16px;font-size:.9rem;line-height:1.6}.demo-msg.user{background:var(--accent-subtle);border:1px solid var(--border);color:var(--text-primary);align-self:flex-end}.demo-msg.assistant{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);align-self:flex-start}.demo-msg:first-child{animation-delay:.2s}.demo-msg:nth-child(2){animation-delay:.8s}.demo-msg:nth-child(3){animation-delay:1.4s}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section{padding:80px 0}.section-title{text-align:center;letter-spacing:-.02em;margin-bottom:12px;font-size:2.2rem;font-weight:700}.section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:48px;font-size:1.1rem}.characters-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:1100px;margin:0 auto;display:grid}.character-card{background:var(--gradient-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all .3s var(--ease);cursor:pointer;padding:28px;position:relative;overflow:hidden}.character-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-4px)}.character-card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.character-card[data-character=kai]:before{background:var(--kai-color)}.character-card[data-character=luna]:before{background:var(--luna-color)}.character-card[data-character=rex]:before{background:var(--rex-color)}.character-card[data-character=nova]:before{background:var(--nova-color)}.char-avatar{border-radius:var(--radius-md);justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:1.8rem;display:flex}.char-name{margin-bottom:4px;font-size:1.2rem;font-weight:700}.char-role{color:var(--text-muted);margin-bottom:12px;font-size:.85rem}.char-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.char-tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.char-tag{background:var(--accent-subtle);border-radius:var(--radius-full);color:var(--text-accent);padding:4px 10px;font-size:.75rem;font-weight:500}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;max-width:1000px;margin:0 auto;display:grid}.feature-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all .3s var(--ease);padding:28px}.feature-card:hover{border-color:var(--border-hover)}.feature-icon{margin-bottom:16px;font-size:2rem}.feature-title{margin-bottom:8px;font-size:1.1rem;font-weight:600}.feature-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;max-width:700px;margin:0 auto;display:grid}.pricing-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;transition:all .3s var(--ease);padding:36px}.pricing-card.featured{border-color:var(--accent);box-shadow:var(--shadow-glow);position:relative}.pricing-badge{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:4px 16px;font-size:.75rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-name{margin-bottom:8px;font-size:1.2rem;font-weight:600}.pricing-price{letter-spacing:-.03em;margin-bottom:4px;font-size:3rem;font-weight:800}.pricing-price span{color:var(--text-muted);font-size:1rem;font-weight:400}.pricing-desc{color:var(--text-secondary);margin-bottom:24px;font-size:.9rem}.pricing-features{text-align:left;margin-bottom:28px;list-style:none}.pricing-features li{color:var(--text-secondary);align-items:center;gap:10px;padding:8px 0;font-size:.9rem;display:flex}.pricing-features li:before{content:"✓";color:var(--accent-light);font-weight:700}.footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:40px 0;font-size:.85rem}.chat-layout{height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;display:flex}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sidebar-logo{align-items:center;gap:8px;font-size:1.2rem;font-weight:700;display:flex}.new-chat-btn{border-radius:var(--radius-sm);background:var(--accent-subtle);width:36px;height:36px;transition:all .2s var(--ease);color:var(--accent-light);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.new-chat-btn:hover{background:var(--accent);color:#fff}.sidebar-conversations{flex:1;padding:8px;overflow-y:auto}.conv-item{border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease);color:var(--text-secondary);align-items:center;gap:10px;padding:10px 12px;font-size:.85rem;display:flex}.conv-item:hover,.conv-item.active{background:var(--accent-subtle);color:var(--text-primary)}.conv-avatar{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex}.sidebar-footer{border-top:1px solid var(--border);padding:16px}.user-badge{border-radius:var(--radius-sm);background:var(--bg-tertiary);align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;display:flex}.tier-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;font-size:.7rem;font-weight:600}.tier-badge.free{background:var(--bg-hover);color:var(--text-muted)}.tier-badge.pro{background:var(--accent);color:#fff}.chat-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-header{padding:12px 24px;padding-top:calc(16px + env(safe-area-inset-top,20px));border-bottom:1px solid var(--border);background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);align-items:center;gap:12px;min-height:56px;display:flex}.chat-char-avatar{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-primary);justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.chat-char-info h3{color:var(--text-primary);font-size:.95rem;font-weight:600}.chat-char-info p{color:var(--text-secondary);font-size:.75rem}.chat-messages{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.message{max-width:800px;animation:fadeUp .3s var(--ease);gap:12px;display:flex}.message.user{flex-direction:row-reverse;align-self:flex-end}.msg-avatar{border-radius:var(--radius-full);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;display:flex}.msg-content{border-radius:var(--radius-md);overflow-wrap:break-word;word-break:break-word;max-width:100%;padding:12px 16px;font-size:.9rem;line-height:1.7;overflow-x:auto}.message.user .msg-content{color:var(--text-primary);border-radius:var(--radius-xl);background:#7c4dff1f;border:1px solid #7c4dff33;border-bottom-right-radius:4px;padding:14px 20px}.message.assistant .msg-content{background:var(--accent-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);padding:16px 20px}.msg-content p{margin-bottom:8px}.msg-content p:last-child{margin-bottom:0}.msg-content strong{color:var(--text-primary);font-weight:600}.msg-content code{background:#6c5ce726;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.85em}.msg-content pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);margin:8px 0;padding:12px;overflow-x:auto}.msg-content pre code{background:0 0;padding:0}.msg-content ul,.msg-content ol{margin:8px 0;padding-left:20px}.msg-content li{margin-bottom:4px}.typing-indicator{gap:4px;padding:12px 16px;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-input-area{padding:16px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:10;background:0 0;position:relative}.chat-input-wrapper{background:var(--bg-tertiary);border:1px solid var(--border);max-width:800px;box-shadow:var(--shadow-lg);transition:border-color .3s var(--ease), box-shadow .3s var(--ease);border-radius:6px;flex-direction:column;gap:0;margin:0 auto;display:flex;overflow:hidden}.chat-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.attachments-preview{border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.attachment-chip{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex-shrink:0;align-items:center;gap:6px;max-width:150px;padding:4px 8px;font-size:.8rem;display:flex}.attachment-chip img,.attachment-chip span:first-child{object-fit:cover;border-radius:2px;width:16px;height:16px;font-size:1.1rem}.attachment-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.attachment-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;font-size:.9rem;display:flex}.attachment-remove:hover{color:#e63946;background:#e639461a}.chat-input-inner{align-items:flex-end;gap:12px;padding:8px 8px 8px 16px;display:flex}.chat-input-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.chat-attach-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;font-size:1.2rem;transition:all .2s;display:flex}.chat-attach-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.chat-input{resize:none;min-height:24px;max-height:120px;color:var(--text-primary);flex:1;padding:6px 0;font-size:.9rem;line-height:1.5}.chat-input::placeholder{color:var(--text-muted)}.send-btn{border-radius:var(--radius-full);background:var(--accent);width:40px;height:40px;transition:all .2s var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:hover{background:var(--accent-light);opacity:1;transform:scale(1.05);box-shadow:0 0 20px #7c4dff66}.send-btn:disabled{opacity:.5;background:var(--bg-hover);cursor:not-allowed;box-shadow:none;transform:none}.send-btn:disabled svg{fill:var(--text-secondary)}.send-btn svg{width:18px;height:18px;fill:var(--bg-primary)}.quick-actions{flex-wrap:wrap;gap:8px;max-width:800px;margin-bottom:8px;margin-left:auto;margin-right:auto;display:flex}.quick-action{background:var(--accent-subtle);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-accent);transition:all .2s var(--ease);white-space:nowrap;padding:6px 14px;font-size:.8rem}.quick-action:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.chat-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.chat-empty-icon{opacity:.6;margin-bottom:20px;font-size:4rem}.chat-empty h2{margin-bottom:8px;font-size:1.5rem;font-weight:600}.chat-empty p{color:var(--text-secondary);max-width:400px;margin-bottom:24px}.char-selector{flex-direction:column;align-items:center;gap:24px;padding:24px;display:flex}.char-selector h2{font-size:1.5rem;font-weight:600}.char-selector-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;width:100%;max-width:900px;display:grid}.char-select-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all .3s var(--ease);padding:20px}.char-select-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}.char-select-card.selected{border-color:var(--accent);background:var(--accent-subtle)}.char-select-avatar{margin-bottom:12px;font-size:3rem}.char-select-name{margin-bottom:4px;font-weight:600}.char-select-desc{color:var(--text-secondary);font-size:.8rem}.mobile-top-nav{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;min-height:52px;padding:10px 16px;display:none}.mobile-nav-btn{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;transition:all .2s var(--ease);padding:6px 14px;font-size:.85rem;font-weight:500}.mobile-nav-btn:hover{background:var(--border-hover)}.mobile-nav-logo{letter-spacing:-.02em;color:var(--text-primary);font-size:1rem;font-weight:700}.chat-header-back{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s var(--ease);background:0 0;border:none;flex-shrink:0;padding:6px 10px;font-size:1.2rem}.chat-header-back:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-header-settings{cursor:pointer;border-radius:var(--radius-sm);transition:all .2s var(--ease);opacity:.7;background:0 0;border:none;flex-shrink:0;padding:6px 10px;font-size:1.1rem}.chat-header-settings:hover{background:var(--bg-hover);opacity:1}.settings-modal{border-radius:var(--radius-lg);width:calc(100vw - 32px);max-width:420px;padding:0;overflow:hidden}.settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.settings-header h2{font-size:1.1rem;font-weight:600}.modal-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:1rem;transition:all .2s}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-section{border-bottom:1px solid var(--border);padding:16px 24px}.settings-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-size:.72rem;font-weight:600}.settings-row{align-items:center;gap:12px;padding:10px 0;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row-icon{text-align:center;flex-shrink:0;width:28px;font-size:1.2rem}.settings-row-text{flex:1}.settings-row-title{color:var(--text-primary);font-size:.9rem;font-weight:500}.settings-row-sub{color:var(--text-muted);margin-top:2px;font-size:.78rem}.settings-upgrade-btn{background:var(--text-primary);color:var(--bg-primary);border-radius:var(--radius-full);cursor:pointer;border:none;padding:6px 14px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s}.settings-upgrade-btn:hover{opacity:.85}.settings-logout-btn{border:none;border-top:1px solid var(--border);color:#e63946;cursor:pointer;text-align:left;background:0 0;flex-shrink:0;width:100%;padding:16px 24px;font-size:.95rem;font-weight:500;transition:background .2s}.settings-logout-btn:hover{background:#e6394614}.settings-scrollable{flex:1;max-height:72vh;overflow-y:auto}.settings-modal{flex-direction:column;max-height:90vh;display:flex}.settings-row-clickable{cursor:pointer}.settings-row-clickable:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.settings-row-right{flex-shrink:0;align-items:center;display:flex}.settings-chevron{color:var(--text-muted);font-size:1.2rem;line-height:1}.settings-danger-sm{color:#e63946;border-radius:var(--radius-full);cursor:pointer;background:0 0;border:1px solid #e6394666;padding:4px 10px;font-size:.78rem;transition:all .2s}.settings-danger-sm:hover{background:#e639461a}.settings-theme-row{gap:8px;padding:4px 0 8px 40px;display:flex}.settings-theme-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:1;padding:7px 10px;font-size:.82rem;transition:all .15s}.settings-theme-btn.active{background:var(--accent-subtle);border-color:var(--border-hover);color:var(--text-primary);font-weight:600}.power-toggles{gap:8px;padding:6px 0 4px;display:flex}.settings-lang-search{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);box-sizing:border-box;outline:none;margin-bottom:10px;padding:8px 12px;font-size:.85rem}.settings-lang-search:focus{border-color:var(--border-hover)}.settings-language-grid{flex-direction:column;gap:4px;max-height:180px;display:flex;overflow-y:auto}.settings-lang-btn{text-align:left;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 12px;font-size:.85rem;transition:all .15s}.settings-lang-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-lang-btn.active{background:var(--accent-subtle);border-color:var(--border-hover);color:var(--text-primary);font-weight:600}.mobile-top-nav{padding-top:calc(10px + env(safe-area-inset-top,0px))}.chat-input-area{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.power-toggle-btn{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all .2s var(--ease);align-items:center;gap:5px;padding:5px 14px;font-size:.82rem;font-weight:500;display:flex}.power-toggle-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.power-toggle-btn.active{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff4d;box-shadow:0 0 12px #ffffff14}@media (max-width:768px){.sidebar{z-index:999;width:280px;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);display:flex!important}.sidebar.show{transform:translate(0)}.sidebar-backdrop{z-index:998;background:#00000080;animation:.2s fadeIn;position:fixed;inset:0}.hero h1{font-size:2.2rem}.hero p{font-size:1rem}.characters-grid{grid-template-columns:1fr;padding:0 16px}}.floating-back-btn{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;box-shadow:var(--shadow-sm);z-index:var(--z-floating);border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;position:absolute;top:20px;left:20px}.floating-back-btn:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}@media (max-width:768px){.pricing-grid{grid-template-columns:1fr;padding:0 16px}.chat-messages{padding:16px}.chat-input-area{padding:12px 16px}}@media (max-width:480px),(pointer:coarse){.mobile-top-nav{display:flex}.chat-layout{flex-direction:column;height:100dvh}.sidebar{z-index:999;width:280px;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);display:flex!important}.sidebar.show{transform:translate(0)}.chat-main{flex-direction:column;width:100%;height:100dvh;display:flex}.chat-header{flex-shrink:0;min-height:56px;padding:12px 16px}.chat-header-name{font-size:1rem}.chat-header-status{font-size:.75rem}.chat-messages{-webkit-overflow-scrolling:touch;flex:1;padding:12px 14px;overflow-y:auto}.message{max-width:92%;font-size:.92rem;line-height:1.55}.message-bubble{border-radius:16px;padding:10px 14px}.chat-input-area{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.chat-input-wrapper{align-items:center;gap:8px;width:100%;display:flex}.chat-input{resize:none;border-radius:22px;flex:1;min-height:44px;max-height:120px;padding:10px 14px;font-size:.95rem}.send-btn{border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:1.1rem}.characters-grid{grid-template-columns:1fr 1fr;gap:12px;padding:0 12px}.character-card{padding:16px 12px}.hero{padding:60px 20px 40px}.hero h1{font-size:1.9rem;line-height:1.2}.hero p{font-size:.95rem}.hero-buttons{flex-direction:column;gap:12px;width:100%}.hero-buttons .btn{justify-content:center;width:100%}.auth-modal-content{width:calc(100vw - 32px);max-width:400px;margin:auto;padding:28px 20px}.pricing-grid{grid-template-columns:1fr;gap:16px;padding:0 12px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.close-chat-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all .2s var(--ease);flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;display:flex}.close-chat-btn:hover{color:#e63946;background:#e6394626}.conv-delete{width:20px;height:20px;color:var(--text-muted);opacity:0;transition:all .2s var(--ease);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;display:flex}.conv-item:hover .conv-delete{opacity:1}.conv-delete:hover{color:#e63946;background:#e6394626}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;animation:fadeIn .2s var(--ease);background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-lg);animation:slideUp .3s var(--ease);overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);z-index:1;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.modal-header h2{flex:1;font-size:1.2rem;font-weight:600}.modal-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);transition:all .2s var(--ease);justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.create-char-form{flex-direction:column;gap:20px;padding:24px;display:flex}.avatar-upload-section{flex-direction:column;align-items:center;gap:8px;display:flex}.avatar-preview{border-radius:var(--radius-full);border:2px dashed var(--border);cursor:pointer;width:80px;height:80px;transition:all .3s var(--ease);justify-content:center;align-items:center;font-size:2.5rem;display:flex;position:relative;overflow:hidden}.avatar-preview img{object-fit:cover;border-radius:var(--radius-full);width:100%;height:100%}.avatar-preview:hover{border-color:var(--accent);transform:scale(1.05)}.avatar-upload-overlay{opacity:0;transition:opacity .2s var(--ease);border-radius:var(--radius-full);background:#00000080;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;inset:0}.avatar-preview:hover .avatar-upload-overlay{opacity:1}.avatar-hint{color:var(--text-muted);font-size:.75rem}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.form-group input,.form-group textarea{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color .2s var(--ease);padding:10px 14px;font-size:.9rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.emoji-picker{flex-wrap:wrap;gap:6px;display:flex}.emoji-option{border-radius:var(--radius-sm);border:2px solid var(--border);width:40px;height:40px;transition:all .2s var(--ease);background:var(--bg-tertiary);justify-content:center;align-items:center;font-size:1.3rem;display:flex}.emoji-option:hover{border-color:var(--accent);transform:scale(1.1)}.emoji-option.selected{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 0 2px var(--accent-subtle)}.color-picker{flex-wrap:wrap;gap:8px;display:flex}.color-option{border-radius:var(--radius-full);width:32px;height:32px;transition:all .2s var(--ease);cursor:pointer;border:2px solid #0000}.color-option:hover{transform:scale(1.2)}.color-option.selected{box-shadow:0 0 0 2px var(--accent), 0 0 12px #6c5ce74d;border-color:#fff;transform:scale(1.15)}.tone-options{flex-wrap:wrap;gap:8px;display:flex}.tone-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);transition:all .2s var(--ease);text-transform:capitalize;padding:6px 14px;font-size:.8rem}.tone-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.tone-btn.selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.msg-artifact-badge{border-radius:var(--radius-sm);color:var(--accent-light);cursor:pointer;transition:all .2s var(--ease);background:#6c5ce71a;border:1px solid #6c5ce74d;align-items:center;gap:8px;margin-top:12px;padding:8px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.msg-artifact-badge:hover{border-color:var(--accent);background:#6c5ce733}.artifact-panel{background:var(--bg-secondary);border-left:1px solid var(--border);min-width:400px;animation:slideInRight .3s var(--ease);flex-direction:column;flex:1 0;display:flex;overflow:hidden}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.artifact-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.artifact-title-row{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.artifact-icon{flex-shrink:0;font-size:1.3rem}.artifact-title-info{min-width:0}.artifact-title-info h3{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.artifact-type{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.artifact-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);transition:all .2s var(--ease);flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:flex}.artifact-close:hover{background:var(--bg-hover);color:var(--text-primary)}.artifact-status{background:var(--accent-subtle);color:var(--text-accent);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;font-size:.75rem;display:flex}.artifact-status-dot{background:var(--accent-light);border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse}.artifact-progress{background:var(--bg-tertiary);border-radius:2px;flex:1;height:3px;overflow:hidden}.artifact-progress-bar{background:var(--gradient-primary);border-radius:2px;width:60%;height:100%;animation:2s ease-in-out infinite progressMove}@keyframes progressMove{0%{width:20%;margin-left:0}50%{width:60%;margin-left:20%}to{width:20%;margin-left:80%}}.artifact-tabs{border-bottom:1px solid var(--border);padding:0 16px;display:flex}.artifact-tab{color:var(--text-muted);transition:all .2s var(--ease);border-bottom:2px solid #0000;padding:8px 16px;font-size:.8rem;font-weight:500}.artifact-tab:hover{color:var(--text-primary)}.artifact-tab.active{color:var(--accent-light);border-bottom-color:var(--accent)}.artifact-body{background:#525659;flex:1;justify-content:center;align-items:flex-start;padding:32px 20px;display:flex;overflow-y:auto}.artifact-preview{color:#000;background:#fff;border-radius:2px;width:100%;max-width:21cm;min-height:29.7cm;padding:2cm;font-family:Georgia,Times New Roman,serif;font-size:11pt;line-height:1.6;box-shadow:0 8px 24px #0006}.ap-h2{color:#000;border-bottom:1px solid #ccc;margin:24pt 0 12pt;padding-bottom:6px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:18pt;font-weight:700}.ap-h3{color:#222;margin:18pt 0 8pt;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14pt;font-weight:600}.ap-h4{color:#333;margin:12pt 0 4pt;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12pt;font-weight:600}.ap-p{color:#000;margin-bottom:10pt}.ap-li{color:#000;margin-bottom:4pt;margin-left:20pt;list-style-type:disc}.ap-li.ap-ol{list-style-type:decimal}.ap-blockquote{color:#555;border-left:3pt solid #ccc;margin:12pt 0;padding-left:12pt;font-family:Georgia,Times New Roman,serif;font-style:italic}.ap-hr{border:none;border-top:1px solid #ccc;margin:20pt 0}.ap-spacer{height:10pt}.ap-inline-code{color:#333;background:#f4f4f4;border:1px solid #ddd;border-radius:2px;padding:2px 4px;font-family:Courier New,Courier,monospace;font-size:10pt}.artifact-code-block{background:#1e1e2e;border-radius:8px;margin:12px 0;overflow:hidden}.artifact-code-block .code-lang{color:#a29bfe;text-transform:uppercase;letter-spacing:.05em;background:#2d2d44;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.artifact-code-block pre{margin:0;padding:12px 16px;overflow-x:auto}.artifact-code-block code{color:#e8e6f0;background:0 0;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.6}.artifact-table-wrapper{margin:12px 0;overflow-x:auto}.artifact-table{border-collapse:collapse;width:100%;font-size:.82rem}.artifact-table th{color:#fff;text-align:left;background:#6c5ce7;padding:8px 12px;font-size:.78rem;font-weight:600}.artifact-table td{color:#333;border-bottom:1px solid #e8e6f0;padding:6px 12px}.artifact-table tr:nth-child(2n) td{background:#f4f3f8}.artifact-source{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.6}.artifact-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:.9rem}.artifact-actions{border-top:1px solid var(--border);background:var(--bg-secondary);gap:8px;padding:12px 16px;display:flex}.artifact-action-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all .2s var(--ease);text-align:center;flex:1;padding:8px 12px;font-size:.78rem;font-weight:500}.artifact-action-btn:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-subtle)}.artifact-action-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.artifact-action-primary:hover{box-shadow:0 2px 12px #6c5ce74d;background:var(--accent-dark)!important}@media (max-width:900px){.artifact-panel{z-index:200;width:100%;max-width:100vw;position:fixed;top:0;bottom:0;right:0}}.auth-modal{max-width:420px}.auth-form{flex-direction:column;gap:16px;padding:24px;display:flex}.auth-branding{text-align:center;padding:8px 0 12px}.auth-error{border-radius:var(--radius-sm);color:#e63946;background:#e639461a;border:1px solid #e639464d;padding:10px 14px;font-size:.85rem}.auth-switch{text-align:center;color:var(--text-muted);font-size:.85rem}.auth-switch button{color:var(--accent-light);font-weight:500;text-decoration:underline}.msg-limit-bar{color:#f4a261;background:#f4a2611a;border-bottom:1px solid #f4a26133;justify-content:center;align-items:center;gap:8px;padding:6px 16px;font-size:.78rem;display:flex}.msg-limit-bar button{background:var(--accent);color:#fff;border-radius:var(--radius-full);padding:2px 10px;font-size:.72rem;font-weight:600}.pro-lock{background:var(--accent-subtle);border-radius:var(--radius-full);color:var(--accent-light);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.template-browser{width:100%;max-width:900px;margin:0 auto}.template-header{text-align:center;margin-bottom:24px}.template-header h3{margin-bottom:6px;font-size:1.3rem;font-weight:600}.template-header p{color:var(--text-secondary);font-size:.9rem}.template-categories{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px;display:flex}.template-cat-btn{border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);transition:all .2s var(--ease);align-items:center;gap:6px;padding:6px 16px;font-size:.8rem;display:flex}.template-cat-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.template-cat-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent-light)}.template-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.template-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease);align-items:center;gap:14px;padding:16px;display:flex}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all .2s var(--ease);padding:12px 16px;font-family:inherit;font-size:1rem}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.glow-card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);transition:all .5s var(--ease);text-align:left;background:#0f0f0f66;border:1px solid #ffffff0d;padding:32px;position:relative;overflow:hidden}.glow-card:before{content:"";width:200%;transition:all .8s var(--ease);background:linear-gradient(90deg,#0000,#ffffff05,#0000);position:absolute;inset:0 0 0 -150%;transform:skew(-20deg)}.glow-card:hover{border-color:#ffffff26;transform:translateY(-8px);box-shadow:0 16px 40px #ffffff08}.glow-card:hover:before{left:100%}.hero-title-gradient{color:#0000;background:linear-gradient(135deg,#fff 0%,#777 50%,#fff 100%) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:8s linear infinite gradient-shift}.floating-element{animation:6s ease-in-out infinite float}.premium-feature-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1000px;margin:0 auto;display:grid}.template-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-card.locked{opacity:.65}.template-card.locked:hover{border-color:var(--border-hover)}.template-card-icon{text-align:center;flex-shrink:0;width:44px;font-size:1.8rem}.template-card-body{flex:1;min-width:0}.template-card-name{align-items:center;gap:8px;margin-bottom:3px;font-size:.9rem;font-weight:600;display:flex}.template-card-desc{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.template-card-arrow{color:var(--text-muted);transition:transform .2s var(--ease);flex-shrink:0;font-size:1rem}.template-card:hover .template-card-arrow{color:var(--accent-light);transform:translate(4px)}.template-modal{max-width:520px}.template-form{flex-direction:column;gap:16px;padding:24px;display:flex}.template-form-desc{color:var(--text-secondary);border-bottom:1px solid var(--border);padding-bottom:8px;font-size:.85rem}.template-locked-body{text-align:center;padding:48px 24px}.template-locked-body h3{margin-bottom:8px;font-size:1.1rem}.template-locked-body p{color:var(--text-secondary);font-size:.9rem}.template-tab-toggle{justify-content:center;align-items:center;gap:10px;margin-bottom:20px;display:flex}.toggle-btn{border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);transition:all .2s var(--ease);padding:8px 20px;font-size:.85rem}.toggle-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent-light)}.toggle-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}@media (max-width:600px){.modal-content{border-radius:var(--radius-lg);max-height:90vh}.modal-overlay{padding:12px}.create-char-form{gap:16px;padding:16px}.form-row{grid-template-columns:1fr;gap:12px}}.thinking-indicator{color:var(--text-secondary);align-items:center;gap:8px;padding:8px 0;font-size:.85rem;display:flex}.thinking-dots{gap:4px;display:flex}.thinking-dot{background-color:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both thinking-bounce}.thinking-dot:first-child{animation-delay:-.32s}.thinking-dot:nth-child(2){animation-delay:-.16s}@keyframes thinking-bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.suggestion-chips{flex-wrap:wrap;gap:8px;padding:8px 60px;animation:.3s fadeInUp;display:flex}.suggestion-chip{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:20px;max-width:320px;padding:8px 14px;font-size:.8rem;transition:all .2s;overflow:hidden}.suggestion-chip:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-accent);transform:translateY(-1px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.code-block{border:1px solid var(--border);background:var(--bg-tertiary);border-radius:10px;margin:12px 0;overflow:hidden}.code-header{border-bottom:1px solid var(--border);background:#6c5ce714;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.code-lang{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:600}.code-copy{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px;font-size:.7rem;transition:all .2s}.code-copy:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-accent)}.code-block pre{background:0 0;border:none;margin:0;padding:12px 16px;overflow-x:auto}.code-block code{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.6}.inline-code{color:var(--text-accent);background:#6c5ce71f;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.85em}.table-wrapper{border:1px solid var(--border);border-radius:8px;margin:12px 0;overflow-x:auto}.msg-rendered table{border-collapse:collapse;width:100%;font-size:.85rem}.msg-rendered th,.msg-rendered td{text-align:left;border-bottom:1px solid var(--border);padding:8px 14px}.msg-rendered th{color:var(--text-primary);white-space:nowrap;background:#6c5ce714;font-weight:600}.msg-rendered td{color:var(--text-secondary)}.msg-rendered tr:last-child td{border-bottom:none}.msg-rendered tr:hover td{background:#6c5ce70a}.msg-rendered h2{color:var(--text-primary);margin:16px 0 6px;font-size:1.15rem}.msg-rendered h3{color:var(--text-primary);margin:12px 0 4px;font-size:1rem}.msg-rendered h4{color:var(--text-primary);margin:10px 0 4px;font-size:.9rem}.msg-rendered p{margin:4px 0;line-height:1.6}.msg-rendered ul,.msg-rendered ol{margin:6px 0;padding-left:20px}.msg-rendered li{margin:3px 0;line-height:1.5}.msg-rendered hr{border:none;border-top:1px solid var(--border);margin:12px 0}.msg-rendered a{color:var(--text-accent);text-decoration:none}.msg-rendered a:hover{text-decoration:underline}.msg-rendered strong{color:var(--text-primary)}.memory-panel{border-bottom:1px solid var(--border);max-height:200px;padding:8px 12px;overflow-y:auto}.memory-item{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:.75rem;display:flex}.memory-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.memory-delete{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.7rem;transition:opacity .2s}.memory-item:hover .memory-delete{opacity:1}.memory-delete:hover{color:#e63946;background:#e639461a}.memory-toast{background:var(--bg-card);border:1px solid var(--accent);color:var(--text-accent);z-index:9999;pointer-events:none;border-radius:12px;padding:10px 20px;font-size:.85rem;animation:.3s toastIn,.3s 2.7s toastOut;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #6c5ce74d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-8px)}}.onboarding-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000b3;justify-content:center;align-items:center;animation:.4s fadeIn;display:flex;position:fixed;inset:0}.onboarding-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:24px;width:90%;max-width:420px;padding:40px;box-shadow:0 16px 64px #6c5ce733}.onboarding-icon{margin-bottom:16px;font-size:3rem;animation:3s ease-in-out infinite thinking-spin}.onboarding-card h2{color:var(--text-primary);margin-bottom:8px;font-size:1.4rem}.onboarding-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.auth-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;box-sizing:border-box;background:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.auth-card{background:linear-gradient(165deg, var(--bg-card) 0%, var(--bg-secondary) 100%);border:1px solid var(--border);border-radius:24px;width:92%;max-width:420px;margin:auto;padding:40px 36px 32px;animation:.35s authSlideIn;position:relative;box-shadow:0 24px 80px #6c5ce733,0 0 0 1px #6c5ce71a}@keyframes authSlideIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1rem;transition:all .2s;position:absolute;top:16px;right:16px}.auth-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{background:var(--gradient-primary);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:1.6rem;animation:3s ease-in-out infinite logoPulse;display:flex;box-shadow:0 8px 24px #6c5ce74d}@keyframes logoPulse{0%,to{box-shadow:0 8px 24px #6c5ce74d}50%{box-shadow:0 8px 32px #6c5ce780}}.auth-header h2{color:var(--text-primary);margin-bottom:6px;font-size:1.35rem;font-weight:700}.auth-header p{color:var(--text-secondary);font-size:.88rem;line-height:1.4}.auth-error{color:#ff6b6b;background:#e639461a;border:1px solid #e6394640;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:.82rem;display:flex}.auth-form-inner{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-field label{color:var(--text-secondary);letter-spacing:.3px;text-transform:uppercase;font-size:.78rem;font-weight:600}.auth-field input{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:12px;outline:none;padding:12px 14px;font-family:Inter,sans-serif;font-size:.92rem;transition:all .2s}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6c5ce726}.auth-field input::placeholder{color:var(--text-muted)}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:44px}.auth-toggle-pw{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:1rem;transition:opacity .2s;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-toggle-pw:hover{opacity:1}.auth-submit{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:4px;padding:13px 20px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 4px 16px #6c5ce74d}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 6px 24px #6c5ce766}.auth-submit:active{transform:translateY(0)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-spinner{animation:1s ease-in-out infinite thinking-spin;display:inline-block}.auth-footer{text-align:center;border-top:1px solid var(--border);color:var(--text-secondary);margin-top:20px;padding-top:16px;font-size:.85rem}.auth-footer button{color:var(--text-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600;transition:color .2s}.auth-footer button:hover{color:var(--accent-light);text-decoration:underline}.auth-trust{text-align:center;color:var(--text-muted);letter-spacing:.2px;margin-top:14px;font-size:.72rem}.typing-cursor{background-color:var(--accent);vertical-align:middle;width:8px;height:1.2em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}
