@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes thinkingPulse{0%{box-shadow:0 0 5px var(--accent-glow);border-color:var(--border)}50%{box-shadow:0 0 20px var(--accent);border-color:var(--accent)}to{box-shadow:0 0 5px var(--accent-glow);border-color:var(--border)}}@keyframes levitate{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes scanline{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes sidebarItemIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}:root{--bg-primary: #0f0f14;--bg-secondary: #16161e;--bg-tertiary: #1e1e2a;--bg-card: #1c1c28;--bg-hover: #252535;--text-primary: #e8e8f0;--text-secondary: #9898b0;--text-muted: #6a6a85;--accent: #6C63FF;--accent-hover: #7B73FF;--accent-glow: rgba(108, 99, 255, .15);--purple: #AB47BC;--border: #2a2a3d;--danger: #ef4444;--success: #22c55e;--google-bg: #ffffff;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 4px 20px rgba(0, 0, 0, .3);--transition: all .25s cubic-bezier(.4, 0, .2, 1);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color-scheme:dark}.ux-glass .chat-page{background:var(--bg-primary);background-attachment:fixed;background-size:cover}.ux-glass .sidebar,.ux-glass .chat-header,.ux-glass .input-container{background:#ffffff0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.theme-white.ux-glass .sidebar,.theme-white.ux-glass .chat-header,.theme-white.ux-glass .input-container{background:#fff6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05)}.ux-retro .chat-page:after{content:"";position:fixed;inset:0;background:linear-gradient(#12101000 50%,#0000001a 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);background-size:100% 4px,3px 100%;pointer-events:none;z-index:9999}.ux-retro .message.ai,.ux-retro .message.user .msg-content{text-shadow:0 0 5px var(--accent);border:1px solid var(--accent);border-radius:0!important}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.theme-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 10px 15px -3px #0000004d}.theme-preview{width:100%;height:60px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px}.theme-card span{font-size:13px;font-weight:500;color:var(--text-primary)}.category-title{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin-bottom:16px;padding-left:4px}html,body,#root{height:100%;height:100dvh;width:100%;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;position:fixed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--text-secondary)}.loader-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{height:100%;height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden;padding:20px}.bg-particles{position:fixed;inset:0;pointer-events:none;overflow:hidden}.particle{position:absolute;bottom:-10px;background:var(--accent);border-radius:50%;opacity:.12;animation:float-up linear infinite}@keyframes float-up{0%{transform:translateY(0) scale(1);opacity:.12}50%{opacity:.25}to{transform:translateY(-100vh) scale(.3);opacity:0}}.login-container{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:24px}.login-brand{text-align:center;margin-bottom:32px}.brand-icon{width:56px;height:56px;margin:0 auto 14px}.brand-title{font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-subtitle{font-size:14px;color:var(--text-secondary);margin-top:6px}.login-card{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow)}.card-header{text-align:center;margin-bottom:24px}.card-header h2{font-size:22px;font-weight:600;color:var(--text-primary)}.card-header p{font-size:14px;color:var(--text-secondary);margin-top:6px}.error-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;color:#fca5a5}.auth-form{display:flex;flex-direction:column;gap:16px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.input-group input{width:100%;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:var(--transition)}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-group input::placeholder{color:var(--text-muted)}.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;border-radius:var(--radius-sm);color:#fff;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;min-height:46px}.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 15px #6c63ff66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-loader{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.divider{display:flex;align-items:center;gap:12px;margin:20px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.divider span{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.btn-google{width:100%;padding:12px;background:var(--google-bg);border:1px solid #dadce0;border-radius:var(--radius-sm);color:#3c4043;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:10px}.btn-google:hover:not(:disabled){background:#f8f9fa;box-shadow:0 2px 8px #00000026}.btn-google:disabled{opacity:.6}.toggle-mode{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.toggle-mode button{background:none;border:none;color:var(--accent);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;margin-left:4px}.toggle-mode button:hover{text-decoration:underline}.login-footer{margin-top:24px;font-size:12px;color:var(--text-muted)}.theme-selector-mini{display:flex;gap:8px;padding:6px 10px;background:var(--bg-tertiary);border-radius:var(--radius);margin-bottom:8px;justify-content:center;border:1px solid var(--border);cursor:pointer;transition:var(--transition)}.theme-selector-mini:hover{background:var(--bg-hover);border-color:var(--accent)}.gallery-btn{background:var(--accent);color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 0 10px var(--accent-glow)}.theme-dot{width:20px;height:20px;border-radius:50%;border:2px solid transparent;transition:var(--transition);position:relative}.theme-dot.dark{background:#0f0f14}.theme-dot.white{background:#fff;border:1px solid #e2e8f0}.theme-dot.purple{background:#d946ef}.chat-page{display:flex;height:100%;height:100dvh;width:100vw;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;position:relative;transition:background-color .8s ease,color .5s ease}.theme-transition-curtain{position:fixed;inset:0;background:var(--accent);z-index:9999;pointer-events:none;transform:scaleY(0);transform-origin:top}.sidebar{width:280px;height:100%;height:100dvh;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:transform .3s ease;position:fixed;left:0;top:0;z-index:100;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:99}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.sidebar-header h3{font-size:14px;font-weight:600}.sidebar-close{background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:4px;border-radius:6px}.sidebar-close:hover{background:var(--bg-hover)}.new-chat-btn{display:flex;align-items:center;gap:8px;margin:10px 14px;padding:8px 14px;background:var(--accent-glow);border:1px dashed var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition)}.new-chat-btn:hover{background:#6c63ff33}.new-chat-btn span{font-size:18px}.sessions-list{flex:1;overflow-y:auto;padding:4px 10px}.sessions-list::-webkit-scrollbar{width:4px}.sessions-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.session-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);margin-bottom:2px}.session-item:hover{background:var(--bg-hover)}.session-item.active{background:var(--accent-glow);border:1px solid rgba(108,99,255,.3)}.session-title{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.no-sessions{text-align:center;padding:24px;font-size:13px;color:var(--text-muted)}.sidebar-footer{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--purple));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.user-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:100%;padding:6px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:#fca5a5;font-size:12px;font-family:inherit;cursor:pointer;transition:var(--transition)}.logout-btn:hover{background:#ef444433}.chat-main{flex:1;display:flex;flex-direction:column;height:100%;height:100dvh;min-width:0;position:relative}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;height:52px;z-index:10}.menu-btn,.new-chat-header-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.menu-btn:hover,.new-chat-header-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.header-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}.header-logo{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.messages-container{flex:1;overflow-y:auto;padding:20px 0;scroll-behavior:smooth}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.message{display:flex;gap:12px;padding:16px 24px;max-width:820px;margin:0 auto;width:100%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.ai{background:var(--bg-secondary)}.message.user{justify-content:flex-end}.msg-avatar{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-avatar{background:var(--accent-glow)}.user-avatar{background:linear-gradient(135deg,#22c55e,#16a34a);font-size:13px;font-weight:600;color:#fff;border-radius:50%}.msg-content{flex:1;font-size:15px;line-height:1.7;color:var(--text-primary);overflow-wrap:break-word;min-width:0}.msg-content p{margin:0 0 10px}.msg-content p:last-child{margin-bottom:0}.msg-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:13px;font-family:Fira Code,monospace}.msg-content pre{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;overflow-x:auto;margin:10px 0}.msg-content pre code{background:none;padding:0}.msg-content ul,.msg-content ol{padding-left:20px;margin:8px 0}.msg-content li{margin-bottom:4px}.msg-content strong{color:var(--accent)}.custom-table-wrapper{width:100%;overflow-x:auto;margin:16px 0;border-radius:8px;background:var(--bg-card);box-shadow:0 4px 12px #0000001a;border:1px solid var(--border)}.msg-content table{width:100%;border-collapse:collapse;font-size:14px}.msg-content th,.msg-content td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.msg-content th{background:#8b5cf61a;color:#a78bfa;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.msg-content tr:last-child td{border-bottom:none}.msg-content tr:hover td{background:#ffffff05}.msg-image{max-width:240px;max-height:200px;border-radius:var(--radius-sm);margin-bottom:8px;border:1px solid var(--border)}.message.user .msg-content{background:linear-gradient(135deg,var(--accent),var(--purple));padding:12px 16px;border-radius:18px 18px 4px;max-width:70%;color:#fff}.message.user .msg-content strong{color:#fff}.thinking-dots{display:flex;gap:4px;padding:8px 0}.thinking-dots span{width:8px;height:8px;background:var(--accent);border-radius:50%;animation:bounce 1.2s infinite}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.input-bar.thinking{animation:thinkingPulse 2s infinite ease-in-out}.path-header-btn,.attach-btn.active-hero{animation:levitate 3s infinite ease-in-out}.ux-cyber .path-card:after,.ux-glass .path-card:after,.ux-cyber .theme-card:after,.ux-glass .theme-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:scanline 4s infinite linear;pointer-events:none}.session-item.animate-in{animation:sidebarItemIn .4s both}.input-area{padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;z-index:10}.image-preview{position:relative;display:inline-block;margin-bottom:8px}.image-preview img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.image-preview button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;background:var(--danger);border:none;border-radius:50%;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.input-bar{display:flex;align-items:flex-end;gap:8px;max-width:820px;margin:0 auto;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px 12px;transition:var(--transition)}.input-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-bar textarea{flex:1;background:none;border:none;color:var(--text-primary);font-size:15px;font-family:inherit;resize:none;outline:none;min-height:24px;max-height:200px;padding:8px 0;line-height:1.5;overflow-y:auto;word-wrap:break-word;scrollbar-width:thin}.input-bar textarea::-webkit-scrollbar{width:4px}.input-bar textarea::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.input-bar textarea::placeholder{color:var(--text-muted)}.attach-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:var(--transition)}.attach-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.send-btn{background:linear-gradient(135deg,var(--accent),var(--purple));border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.send-btn:hover:not(:disabled){filter:brightness(1.15);transform:scale(1.05)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn.stop{background:var(--danger)}.input-hint{text-align:center;font-size:11px;color:var(--text-muted);margin-top:4px;max-width:820px;margin-left:auto;margin-right:auto}@media(min-width:769px){.sidebar{position:relative;transform:translate(0)}.sidebar-overlay,.sidebar-close,.menu-btn{display:none}.message{padding:20px 40px}.input-area{padding:16px 40px 20px}}@media(max-width:768px){.login-container{padding:16px}.login-card{padding:24px}.message{padding:12px 14px}.message.user .msg-content{max-width:85%}.input-area{padding:8px 10px 12px}}.header-actions{display:flex;align-items:center;gap:6px}.signin-header-btn{padding:6px 16px;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;border-radius:20px;color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition);white-space:nowrap}.signin-header-btn:hover{filter:brightness(1.15);transform:scale(1.03);box-shadow:0 2px 12px #6c63ff66}.guest-notice{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 20px;gap:12px}.guest-icon{font-size:32px;opacity:.7}.guest-notice p{font-size:13px;color:var(--text-secondary);line-height:1.5}.signin-prompt-btn{width:100%;padding:10px 20px;background:linear-gradient(135deg,var(--accent),var(--purple));border:none;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition);margin-top:4px}.signin-prompt-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 15px #6c63ff66}.user-avatar.guest{background:linear-gradient(135deg,var(--text-muted),#555)}.path-header-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:var(--transition)}.path-header-btn:hover{background:#fff3;transform:scale(1.05)}.path-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.path-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #00000080;animation:modalEnter .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.path-modal-header{padding:24px;border-bottom:1px solid var(--border);position:relative;text-align:center}.path-modal-header h2{font-size:20px;margin:0 0 8px}.path-modal-header p{color:var(--text-secondary);font-size:14px;margin:0}.close-modal{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;width:32px;height:32px;border-radius:50%;transition:var(--transition)}.close-modal:hover{background:#ffffff1a;color:#fff}.path-list{padding:24px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.path-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 16px;text-align:center;cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center}.path-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 15px #6c63ff26}.path-card.active{background:#6c63ff1a;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.path-emoji{font-size:32px;margin-bottom:12px}.path-card h3{font-size:16px;margin:0 0 4px;color:var(--text-primary)}.path-card .path-title{font-size:12px;color:var(--accent);margin:0 0 8px;font-weight:500}.path-card .path-trait{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.4}.path-modal-locked{position:relative;display:flex;flex-direction:column;align-items:center;overflow:hidden}.locked-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:var(--surface);border:1px solid var(--border);padding:40px;border-radius:var(--radius-lg);text-align:center;box-shadow:0 10px 40px #0006;width:90%;max-width:400px}.locked-content h3{margin:16px 0 8px;font-size:20px}.locked-content p{color:var(--text-secondary);font-size:14px;margin-bottom:24px;line-height:1.5}.path-list.preview{opacity:.3;filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;padding-bottom:60px}.path-card.locked{cursor:default}.voice-button.listening{animation:pulse-red 1.5s infinite;background:#ef44441a!important;border-color:var(--danger)!important}@keyframes pulse-red{0%{transform:scale(1);box-shadow:0 0 #ef444466}70%{transform:scale(1.1);box-shadow:0 0 0 10px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.speak-button:hover{opacity:1!important;transform:scale(1.2);transition:transform .2s ease}.msg-audio{display:block;height:36px;filter:invert(1) hue-rotate(180deg);opacity:.8}.msg-file-icon{background:var(--bg-tertiary);padding:16px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:12px;border:1px solid var(--border);color:var(--text-primary);font-weight:500}.chat-img-attachment{max-width:100%;border-radius:var(--radius-sm);margin-bottom:12px;display:block;border:1px solid var(--border)}.voice-button circle{transition:fill .3s ease}.theme-gallery-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}.theme-gallery{background:var(--bg-secondary);width:100%;max-width:900px;max-height:85vh;border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.gallery-header{padding:24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.gallery-header h2{font-size:24px;margin-bottom:4px;background:linear-gradient(to right,var(--accent),var(--text-primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gallery-header p{font-size:14px;color:var(--text-secondary)}.gallery-content{flex:1;overflow-y:auto;padding:24px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.theme-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;gap:8px;align-items:center}.theme-card:hover{transform:translateY(-4px);border-color:var(--accent);background:var(--bg-hover)}.theme-card.active{border:2px solid var(--accent);background:var(--accent-glow)}.theme-preview{width:100%;height:80px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.theme-card span{font-size:13px;font-weight:600;color:var(--text-primary)}.category-section{margin-bottom:30px}.category-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:20px;padding-bottom:8px;border-bottom:2px solid var(--accent-glow);display:inline-block}.code-block-wrapper{border-radius:10px;overflow:hidden;margin:12px 0;border:1px solid rgba(255,255,255,.08);background:#1a1b26;box-shadow:0 4px 16px #0003;transition:border-color .3s ease,box-shadow .3s ease}.code-block-wrapper:hover{border-color:#6c63ff4d;box-shadow:0 4px 20px #6c63ff14}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06)}.code-block-lang{font-size:11.5px;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.8px;font-family:Inter,sans-serif}.code-copy-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffff73;font-size:11.5px;font-family:Inter,sans-serif;font-weight:500;cursor:pointer;transition:all .2s ease;line-height:1}.code-copy-btn:hover{background:#ffffff14;color:#fffc;border-color:#fff3}.code-copy-btn.copied{background:#22c55e26;color:#4ade80;border-color:#22c55e4d}.code-copy-btn svg{flex-shrink:0}.code-block-body{overflow-x:auto;max-height:500px;overflow-y:auto}.code-block-body::-webkit-scrollbar{height:6px;width:6px}.code-block-body::-webkit-scrollbar-track{background:transparent}.code-block-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.code-block-body::-webkit-scrollbar-thumb:hover{background:#fff3}.inline-code{background:#6c63ff1f;color:#c4b5fd;padding:2px 7px;border-radius:5px;font-size:.88em;font-family:JetBrains Mono,Fira Code,Consolas,monospace;border:1px solid rgba(108,99,255,.15);white-space:nowrap}[style*="color-scheme: light"] .code-block-wrapper,.theme-white .code-block-wrapper{background:#f8f9fc;border-color:#e2e8f0}[style*="color-scheme: light"] .code-block-header,.theme-white .code-block-header{background:#f1f3f8;border-bottom-color:#e2e8f0}[style*="color-scheme: light"] .code-block-lang,.theme-white .code-block-lang{color:#64748b}[style*="color-scheme: light"] .code-copy-btn,.theme-white .code-copy-btn{color:#64748b;border-color:#cbd5e1}[style*="color-scheme: light"] .code-copy-btn:hover,.theme-white .code-copy-btn:hover{background:#e2e8f0;color:#334155}[style*="color-scheme: light"] .inline-code,.theme-white .inline-code{background:#6c63ff14;color:#6c63ff;border-color:#6c63ff1f}.msg-content pre{margin:0!important;padding:0!important;background:transparent!important;overflow:visible!important}.msg-content code{background:transparent!important;padding:0!important}@media(max-width:768px){.code-block-wrapper{border-radius:8px;margin:8px 0;width:100%;max-width:100%;overflow:hidden}.code-block-header{padding:6px 10px}.code-block-lang{font-size:10.5px}.code-copy-btn{padding:3px 8px;font-size:10.5px}.code-block-body{max-height:350px}}.incognito-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;background:linear-gradient(135deg,#1e1e28f2,#14141ef2);border-bottom:1px solid rgba(255,255,255,.08);animation:fadeIn .3s ease}.incognito-banner span{font-size:20px}.incognito-banner strong{display:block;font-size:12px;color:#a78bfa;letter-spacing:.5px}.incognito-banner small{display:block;font-size:11px;color:var(--text-muted);margin-top:1px}.incognito-btn.active{background:#a78bfa26!important;border:1px solid rgba(167,139,250,.4)!important;border-radius:8px;animation:incognitoPulse 2s ease-in-out infinite}@keyframes incognitoPulse{0%,to{box-shadow:0 0 4px #a78bfa33}50%{box-shadow:0 0 12px #a78bfa80}}.ai-msg-actions{display:flex;flex-direction:row;align-items:center;gap:8px;margin-top:14px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.08);opacity:.5;transition:opacity .2s ease}.message.ai:hover .ai-msg-actions{opacity:1}.msg-action-btn{background:none;border:none;cursor:pointer;font-size:15px;padding:3px;border-radius:6px;transition:all .2s ease;line-height:1}.msg-action-btn:hover:not(:disabled){background:#ffffff14;transform:scale(1.15)}.msg-action-btn:disabled{cursor:default}.msg-action-btn.liked{opacity:1!important;animation:likePopIn .4s ease}.msg-action-btn.disliked{opacity:.6;animation:likePopIn .4s ease}@keyframes likePopIn{0%{transform:scale(1)}40%{transform:scale(1.4)}70%{transform:scale(.9)}to{transform:scale(1)}}@media(max-width:768px){.ai-msg-actions{margin-top:10px;padding-top:8px;opacity:.8}.incognito-banner{padding:6px 12px}.incognito-banner strong{font-size:11px}.incognito-banner small{font-size:10px}}.doc-preview{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);animation:fadeIn .3s ease}.doc-preview-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.doc-preview-icon{font-size:28px;flex-shrink:0}.doc-preview-info strong{display:block;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.doc-preview-info small{display:block;font-size:11px;color:var(--text-secondary);margin-top:2px}.doc-processing{color:var(--accent)!important;animation:docPulse 1.5s ease-in-out infinite}.doc-error{color:var(--danger)!important}@keyframes docPulse{0%,to{opacity:.6}50%{opacity:1}}.doc-preview-close{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;flex-shrink:0}.doc-preview-close:hover{background:var(--bg-hover);color:var(--text-primary)}.msg-doc-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:10px;background:#6c63ff14;border:1px solid rgba(108,99,255,.15);border-radius:8px;max-width:fit-content}.msg-doc-badge span{font-size:22px;flex-shrink:0}.msg-doc-badge strong{display:block;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.msg-doc-badge small{display:block;font-size:10px;color:var(--text-secondary);margin-top:1px}.study-tool-tag{background:#a78bfa1a;border:1px solid rgba(167,139,250,.3);color:var(--accent);padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.study-tool-tag:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #a78bfa4d}.study-tool-tag.pro{background:#38bdf81a;border:1px solid rgba(56,189,248,.3);color:#38bdf8}.study-tool-tag.pro:hover{background:#0ea5e9;color:#fff;border-color:#0ea5e9;box-shadow:0 4px 12px #0ea5e94d}.study-toolbox{display:flex;gap:8px;padding:10px;background:#0f0f1480;border-top:1px solid var(--border)}@media(max-width:768px){.study-tool-tag{font-size:10px;padding:3px 8px}}.drop-zone-overlay{position:absolute;inset:0;background:#0f0f14cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.drop-zone-content{text-align:center;color:#fff;pointer-events:none}.drop-icon-pulse{font-size:64px;margin-bottom:20px;animation:bounceSlow 2s ease-in-out infinite}.drop-zone-content h2{font-size:28px;font-weight:800;margin-bottom:8px;background:linear-gradient(to right,#a78bfa,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.drop-zone-content p{color:#fff9;font-size:16px}.doc-preview{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:12px;background:#1c1c27b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(167,139,250,.3);border-radius:12px;box-shadow:0 4px 20px #0000004d,0 0 15px #a78bfa1a;animation:slideUpFade .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.doc-preview:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.05),transparent);animation:docShimmer 3s infinite}@keyframes docShimmer{0%{left:-100%}to{left:200%}}.doc-preview-icon{font-size:32px;margin-right:4px;filter:drop-shadow(0 0 8px rgba(167,139,250,.4));animation:bounceOnce .6s ease}@keyframes bounceOnce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.msg-doc-badge{display:flex;align-items:center;gap:12px;padding:10px 16px;margin-bottom:12px;background:linear-gradient(135deg,#a78bfa1a,#8b5cf60d);border:1px solid rgba(167,139,250,.2);border-radius:12px;transition:all .3s ease;cursor:pointer}.msg-doc-badge:hover{background:#a78bfa26;border-color:#a78bfa66;transform:translateY(-2px)}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.highlight-popup{position:fixed;z-index:9999;background:#1e1e2ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.4);padding:8px;border-radius:12px;display:flex;gap:6px;box-shadow:0 10px 30px #00000080;animation:popIn .2s cubic-bezier(.175,.885,.32,1.275)}.highlight-popup button{background:transparent;border:none;color:#fff;font-size:13px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;font-weight:500;gap:6px}.highlight-popup button:hover{background:#8b5cf633;color:#a78bfa}@keyframes popIn{0%{transform:translate(-50%,-80%) scale(.9);opacity:0}to{transform:translate(-50%,-100%) scale(1);opacity:1}}.focus-mode-active .sidebar,.focus-mode-active .input-area,.focus-mode-active .chat-header>*:not(.header-actions){opacity:0!important;pointer-events:none!important;transform:translateY(20px);transition:all .5s cubic-bezier(.16,1,.3,1)!important}.focus-mode-active .chat-header .header-actions button:not(.active){opacity:0!important;pointer-events:none!important;transition:all .5s cubic-bezier(.16,1,.3,1)!important}.focus-mode-active .messages-container{max-width:800px;margin:0 auto;padding-top:60px;transition:all .5s cubic-bezier(.16,1,.3,1)!important}.focus-mode-active .chat-main{width:100vw!important;flex:1;background:#000!important}.slash-command-menu{position:absolute;bottom:calc(100% + 15px);left:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:300px;box-shadow:0 -4px 30px #0000004d;overflow:hidden;z-index:100;animation:slideUpFade .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.slash-menu-header{padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-primary)}.slash-command-menu button{background:transparent;border:none;padding:12px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;border-bottom:1px solid rgba(139,92,246,.05);transition:all .2s;color:var(--text-primary)}.slash-command-menu button span{font-size:20px}.slash-command-menu button div{display:flex;flex-direction:column}.slash-command-menu button div strong{font-size:14px;color:var(--accent);margin-bottom:2px}.slash-command-menu button div small{font-size:11px;color:var(--text-secondary)}.slash-command-menu button:hover{background:var(--bg-hover)}.slash-command-menu button:last-child{border-bottom:none}.code-block-wrapper{margin:16px 0;border-radius:12px;overflow:hidden;background:#1e1e24;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0000004d}.code-block-header{display:flex;justify-content:space-between;align-items:center;background:#282a36;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.code-block-lang{font-family:Inter,sans-serif;font-size:11px;font-weight:700;color:#a78bfa;text-transform:uppercase;letter-spacing:.5px}.code-copy-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:#9ca3af;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;font-family:Inter,sans-serif}.code-copy-btn:hover{background:#ffffff1a;color:#fff}.code-copy-btn.copied{color:#10b981}.code-block-body{overflow-x:auto}.code-block-body::-webkit-scrollbar{height:8px}.code-block-body::-webkit-scrollbar-track{background:#0003}.code-block-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.code-block-body::-webkit-scrollbar-thumb:hover{background:#fff6}.research-sources{margin-top:20px;padding-top:15px;border-top:1px dashed var(--border);animation:fadeIn .5s ease}.sources-header{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:12px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}.sources-header i{color:var(--accent)}.sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.source-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;text-decoration:none;transition:var(--transition);display:flex;flex-direction:column;gap:4px}.source-card:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--bg-hover);box-shadow:0 4px 12px #0000001a}.source-title{font-size:12px;font-weight:600;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.source-meta{font-size:10px;color:var(--text-muted);font-weight:500;text-transform:uppercase}.code-runner-btn{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#6c63ff33;border:1px solid rgba(108,99,255,.4);border-radius:6px;color:var(--accent-light);font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-left:8px}.code-runner-btn:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.sandbox-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3000;display:flex;align-items:center;justify-content:center;padding:40px;animation:modalEnter .3s ease}.sandbox-window{background:#1e1e2e;width:100%;max-width:1000px;height:80vh;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 60px #0009}.sandbox-header{padding:16px 24px;background:#181825;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between}.sandbox-body{flex:1;display:flex;overflow:hidden}.sandbox-editor{flex:1;border-right:1px solid rgba(255,255,255,.05);background:#11111b}.sandbox-preview{flex:1;background:#fff;display:flex;flex-direction:column}@media(max-width:768px){.sources-grid{grid-template-columns:1fr}.sandbox-window{height:95vh}.sandbox-body{flex-direction:column}}.nexus-tag{padding:6px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px}.nexus-tag:hover{background:#8b5cf61a;border-color:#8b5cf6;color:#a78bfa;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 15px #8b5cf633}.dharma-xp-stat{animation:dharma-pulse 3s infinite ease-in-out}@keyframes dharma-pulse{0%{box-shadow:0 0 5px #ffd7001a}50%{box-shadow:0 0 15px #ffd7004d}to{box-shadow:0 0 5px #ffd7001a}}.mermaid-diagram svg{max-width:100%;height:auto}.verify-badge{font-size:10px;background:#ffd70033;border:1px solid rgba(255,215,0,.4);color:gold;padding:2px 4px;border-radius:4px;margin-left:8px;flex-shrink:0;animation:badge-glow 2s infinite alternate}@keyframes badge-glow{0%{opacity:.6;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}
