:root,[data-theme=dark]{--bg-primary: #08080d;--bg-secondary: #0e0e16;--bg-sidebar: #0c0c14;--bg-card: #13131f;--bg-input: #16162a;--bg-hover: #1a1a30;--bg-active: #1e1e38;--bg-message-user: #1a1a35;--bg-message-ai: transparent;--bg-code: #0d0d1a;--accent: #2beede;--accent-dim: rgba(43, 238, 222, .15);--accent-glow: rgba(43, 238, 222, .3);--accent-gradient: linear-gradient(135deg, #2beede 0%, #1a8aff 100%);--text-primary: #e8e8f0;--text-secondary: #9999bc;--text-muted: #7777a0;--text-accent: #2beede;--border: rgba(255, 255, 255, .06);--border-active: rgba(43, 238, 222, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(43, 238, 222, .15);--icon-dark-display: flex;--icon-light-display: none}[data-theme=light]{--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-sidebar: #eff0f3;--bg-card: #ffffff;--bg-input: #f0f0f5;--bg-hover: #e8e8ee;--bg-active: #dcdcf0;--bg-message-user: #ede8ff;--bg-message-ai: transparent;--bg-code: #f0f0f5;--accent: #1a70e0;--accent-dim: rgba(26, 112, 224, .12);--accent-glow: rgba(26, 112, 224, .25);--accent-gradient: linear-gradient(135deg, #1a70e0 0%, #0040b0 100%);--text-primary: #111120;--text-secondary: #44446a;--text-muted: #666688;--text-accent: #1a70e0;--border: rgba(0, 0, 0, .08);--border-active: rgba(26, 112, 224, .35);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .14);--shadow-glow: 0 0 20px rgba(26, 112, 224, .15);--icon-dark-display: none;--icon-light-display: flex}:root{--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--sidebar-width: 300px;--header-height: 60px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7f7fa033;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#7f7fa059}#app{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:transform var(--transition-smooth),width var(--transition-smooth);flex-shrink:0;z-index:20}.sidebar.collapsed{transform:translate(-100%);width:0;border-right:none;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.logo{display:flex;align-items:center;gap:10px}.logo-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border-radius:var(--radius-sm);flex-shrink:0}.logo-text{font-size:16px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-new-chat{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border:1px solid var(--border-active);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;transition:all var(--transition-fast)}.btn-new-chat:hover{background:var(--accent-glow);box-shadow:var(--shadow-glow);transform:scale(1.05)}.sidebar-search{padding:12px 16px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:10px 12px 10px 38px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;transition:border-color var(--transition-fast)}.search-input:focus{border-color:var(--border-active)}.search-input::placeholder{color:var(--text-muted)}.sessions-list{flex:1;overflow-y:auto;padding:8px}.session-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);margin-bottom:2px;border:1px solid transparent}.session-item:hover{background:var(--bg-hover)}.session-item:focus{outline:2px solid var(--accent);outline-offset:-2px}.session-item.active{background:var(--bg-active);border-color:var(--border-active)}.session-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border-radius:var(--radius-sm);flex-shrink:0;color:var(--accent)}.session-info{flex:1;min-width:0}.session-title{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-date{font-size:11px;color:var(--text-muted);margin-top:2px}.session-item.active .session-title{color:var(--accent)}.sessions-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:13px;line-height:1.8}.load-more-btn{display:block;width:100%;padding:8px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:12px;cursor:pointer;transition:all var(--transition-fast);margin-top:4px}.load-more-btn:hover{background:var(--bg-hover);border-color:var(--border-active);color:var(--accent)}.skeleton-list{padding:4px 0}.skeleton-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:2px}.skeleton-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-hover);flex-shrink:0;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:6px}.skeleton-line{height:10px;border-radius:4px;background:var(--bg-hover);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-line.long{width:75%}.skeleton-line.short{width:45%;animation-delay:.15s}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:var(--radius-full);color:var(--text-secondary);overflow:hidden;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-plan{font-size:11px;color:var(--accent);font-weight:500}.main-content{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;background:var(--bg-primary)}.chat-header{position:relative;z-index:100;height:var(--header-height);display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.chat-title-wrapper{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.chat-title{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.model-selector{position:relative;flex-shrink:0}.model-selector-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--accent-dim);border:1px solid rgba(43,238,222,.2);border-radius:var(--radius-full);color:var(--accent);cursor:pointer;font-family:inherit;font-size:11px;font-weight:500;white-space:nowrap;transition:all var(--transition-fast)}.model-selector-btn:hover{background:var(--accent-glow);border-color:var(--border-active)}.model-chevron{transition:transform var(--transition-fast)}.model-selector-btn[aria-expanded=true] .model-chevron{transform:rotate(180deg)}.model-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:300;padding:6px;animation:fadeInDown .15s ease-out}.model-dropdown.hidden{display:none}.model-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast);gap:8px}.model-option:hover{background:var(--bg-hover)}.model-option.active{background:var(--accent-dim)}.model-option-info{display:flex;flex-direction:column;gap:2px}.model-option-name{font-size:13px;font-weight:600;color:var(--text-primary)}.model-option-desc{font-size:11px;color:var(--text-muted)}.model-check{color:var(--accent);flex-shrink:0}.model-check.hidden{display:none}.btn-theme-toggle{position:relative}.btn-theme-toggle .icon-dark{display:var(--icon-dark-display);align-items:center;justify-content:center}.btn-theme-toggle .icon-light{display:var(--icon-light-display);align-items:center;justify-content:center}.header-actions{display:flex;gap:8px;flex-shrink:0}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.chat-messages{flex:1;overflow-y:auto;padding:24px 0;scroll-behavior:smooth}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px 20px;text-align:center;animation:fadeInUp .6s ease-out;position:relative;overflow:hidden}.welcome-icon{margin-bottom:24px;opacity:.9;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-title{font-size:clamp(28px,4vw,36px);font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px;position:relative;z-index:2}.welcome-subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:36px;max-width:480px;position:relative;z-index:2}.welcome-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:560px;width:100%;position:relative;z-index:2}.suggestion-chip{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.suggestion-chip svg{flex-shrink:0;color:var(--accent);opacity:.7}.suggestion-chip:hover{background:var(--bg-hover);border-color:var(--border-active);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.message{display:flex;gap:16px;padding:20px 24px;max-width:820px;margin:0 auto;width:100%;animation:fadeInUp .35s ease-out;position:relative}.message:hover .message-actions{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:600}.message.user .message-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.message.assistant .message-avatar{background:var(--accent-dim);color:var(--accent)}.message-body{flex:1;min-width:0}.message-role{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.message.user .message-role{color:#8b5cf6}.message.assistant .message-role{color:var(--accent)}.message-content{font-size:14px;line-height:1.75;color:var(--text-primary);word-break:break-word}.message-content p{margin-bottom:12px}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:600;color:var(--text-primary)}.message-content em{font-style:italic;color:var(--text-secondary)}.message-content ul,.message-content ol{margin:8px 0 12px 20px}.message-content li{margin-bottom:4px}.message-content h1,.message-content h2,.message-content h3,.message-content h4{color:var(--text-primary);margin:16px 0 8px;font-weight:700}.message-content h1{font-size:20px}.message-content h2{font-size:18px}.message-content h3{font-size:16px}.message-content h4{font-size:14px}.message-content a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--transition-fast)}.message-content a:hover{border-bottom-color:var(--accent)}.message-actions{display:flex;align-items:center;gap:6px;margin-top:10px;opacity:0;transition:opacity var(--transition-fast)}.message-action-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-fast)}.message-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.message-action-btn.active{background:var(--accent-dim);border-color:var(--border-active);color:var(--accent)}.message-meta{font-size:11px;color:var(--text-muted);margin-top:6px;display:none}.message:hover .message-meta{display:block}.message-content code:not([class*=lang-]){background:#2beede1a;border:1px solid rgba(43,238,222,.15);padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--accent)}.code-block{position:relative;margin:12px 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:var(--bg-code)}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#7f7fa00d;border-bottom:1px solid var(--border)}.code-lang{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.btn-copy{display:flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-family:inherit;font-size:11px;cursor:pointer;transition:all var(--transition-fast)}.btn-copy:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.btn-copy.copied{color:var(--accent);border-color:var(--accent)}.code-block pre{padding:16px;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6;color:var(--text-primary);tab-size:2}.code-block .keyword{color:#c792ea}.code-block .string{color:#c3e88d}.code-block .number{color:#f78c6c}.code-block .comment{color:#546e7a;font-style:italic}.code-block .function{color:#82aaff}.code-block .class-name{color:#ffcb6b}.code-block .operator,.code-block .punctuation{color:#89ddff}.code-block .tag{color:#f07178}.code-block .attr,.code-block .type{color:#ffcb6b}[data-theme=light] .code-block .keyword{color:#9333ea}[data-theme=light] .code-block .string{color:#16a34a}[data-theme=light] .code-block .number{color:#ea580c}[data-theme=light] .code-block .comment{color:#64748b}[data-theme=light] .code-block .function{color:#2563eb}.thinking-container{display:flex;flex-direction:column;gap:8px;padding:16px 20px;background:linear-gradient(135deg,var(--accent-dim),rgba(26,138,255,.06));border:1px solid rgba(43,238,222,.12);border-radius:var(--radius-md);position:relative;overflow:hidden;animation:thinkingFadeIn .4s ease-out}.thinking-container:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(43,238,222,.06) 40%,rgba(43,238,222,.12) 50%,rgba(43,238,222,.06) 60%,transparent 100%);animation:shimmer 2s infinite ease-in-out}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes thinkingFadeIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.thinking-pulse{animation:avatarPulse 1.5s ease-in-out infinite}@keyframes avatarPulse{0%,to{box-shadow:0 0 #2beede4d}50%{box-shadow:0 0 0 8px #2beede00}}.thinking-dots{display:flex;align-items:center;gap:5px}.thinking-dots span{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-dots span:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}.thinking-text{display:flex;align-items:center;gap:2px;font-size:14px;font-weight:500;color:var(--accent)}.thinking-label{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.thinking-ellipsis .dot{display:inline-block;animation:ellipsisFade 1.4s infinite;opacity:0;color:var(--accent);-webkit-text-fill-color:var(--accent);font-weight:700}.thinking-ellipsis .dot-1{animation-delay:0s}.thinking-ellipsis .dot-2{animation-delay:.2s}.thinking-ellipsis .dot-3{animation-delay:.4s}@keyframes ellipsisFade{0%,20%{opacity:0}40%{opacity:1}60%,to{opacity:0}}.thinking-subtext{font-size:12px;color:var(--text-muted);line-height:1.5}.message.streaming .message-content>*:last-child:after{content:"â–";display:inline;color:var(--accent);animation:cursorPulse 1s ease-in-out infinite;font-weight:400;margin-left:1px;vertical-align:baseline}@keyframes cursorPulse{0%,to{opacity:1}50%{opacity:.3}}.message.streaming .message-content{will-change:contents}.chat-input-area{padding:12px 24px 16px;border-top:1px solid var(--border);background:var(--bg-primary);flex-shrink:0}.input-container{max-width:820px;margin:0 auto}.input-wrapper{display:flex;align-items:flex-end;gap:10px;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-wrapper:focus-within{border-color:var(--border-active);box-shadow:0 0 0 3px #2beede14}.message-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.5;resize:none;max-height:160px;min-height:24px;padding:2px 0}.message-input::placeholder{color:var(--text-muted)}.btn-send{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient);border:none;border-radius:var(--radius-sm);color:#080810;cursor:pointer;flex-shrink:0;transition:all var(--transition-fast);opacity:.4}.btn-send:not(:disabled){opacity:1}.btn-send:not(:disabled):hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.btn-send:disabled{cursor:not-allowed}.input-hint{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px}.input-hint kbd{padding:1px 5px;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;font-family:inherit;font-size:10px}.upload-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.upload-overlay.hidden{display:none}.upload-modal{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary)}.upload-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)}}.message-error{color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.2);padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;margin-top:4px}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:500;pointer-events:auto;min-width:180px;max-width:360px;opacity:0;transform:translateY(12px) scale(.95);transition:opacity .25s ease,transform .25s ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid transparent;box-shadow:var(--shadow-md)}.toast.toast-visible{opacity:1;transform:translateY(0) scale(1)}.toast.toast-hiding{opacity:0;transform:translateY(-8px) scale(.95)}.toast-success{background:#22c55e26;border-color:#22c55e4d;color:#4ade80}.toast-error{background:#f8717126;border-color:#f871714d;color:#f87171}.toast-info{background:#2beede1f;border-color:#2beede40;color:var(--accent)}.toast-icon{display:flex;align-items:center;flex-shrink:0}@media(max-width:768px){:root{--sidebar-width: 280px}.sidebar{position:fixed;top:0;left:0;height:100%;box-shadow:var(--shadow-lg)}.sidebar.collapsed{transform:translate(-100%);width:var(--sidebar-width)}.welcome-suggestions{grid-template-columns:1fr}.welcome-title{font-size:22px}.message{padding:16px}.chat-input-area{padding:8px 12px 12px}.chat-title{font-size:13px}}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:15}.sidebar-overlay.visible{display:block}@media(max-width:768px){.sidebar:not(.collapsed)~.sidebar-overlay{display:block}}.header-auth-buttons{display:flex;align-items:center;gap:8px}.header-auth-buttons.hidden,.header-user-menu.hidden{display:none}.btn-header-login{padding:7px 18px;background:var(--accent-gradient);border:none;border-radius:var(--radius-full);color:#080810;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-header-login:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-glow)}.header-user-menu{position:relative}.header-user-btn{width:36px;height:36px;border-radius:var(--radius-full);border:2px solid var(--border-active);background:var(--bg-card);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.header-user-btn:hover{border-color:var(--accent);box-shadow:0 0 0 3px #2beede26}.header-avatar-placeholder{color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:100%;height:100%}.header-user-btn img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:500;overflow:hidden;opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility .2s}.user-dropdown.hidden{opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);pointer-events:none}.user-dropdown-header{padding:14px 16px;display:flex;flex-direction:column;gap:2px}.dropdown-user-name{font-size:14px;font-weight:600;color:var(--text-primary)}.dropdown-user-email{font-size:12px;color:var(--text-secondary)}.user-dropdown-divider{height:1px;background:var(--border);margin:0}.user-dropdown-item{display:flex;align-items:center;gap:10px;padding:11px 16px;width:100%;background:none;border:none;font-family:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease,transform .15s ease;position:relative}.user-dropdown-item.hidden{display:none}.user-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(2px)}.user-dropdown-item:active{transform:scale(.98)}.user-dropdown-logout:hover{background:#f8717114;color:#f87171;transform:translate(2px)}.login-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.login-modal.hidden{display:none}.login-modal-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.login-modal-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:40px 36px;background:var(--bg-card);border:1px solid rgba(43,238,222,.15);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 60px #2beede0f;max-width:400px;width:90%;animation:fadeInUp .25s ease-out}.login-modal-close{position:absolute;top:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;transition:all var(--transition-fast);padding:0}.login-modal-close:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.login-modal-logo{margin-bottom:18px;animation:float 3s ease-in-out infinite}.login-modal-title{font-size:22px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px;text-align:center}.login-modal-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:28px;text-align:center;line-height:1.5}.google-btn-container{display:flex;justify-content:center;min-height:44px;margin-bottom:16px}.login-error{color:#f87171;font-size:13px;margin-bottom:10px;text-align:center}.login-modal-footer{font-size:11px;color:var(--text-muted);text-align:center;margin-top:4px}.user-avatar img{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.btn-logout{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-logout:hover{background:#f871711a;border-color:#f871714d;color:#f87171}.session-actions-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;opacity:0;padding:0}.session-item:hover .session-actions-btn,.session-item:focus .session-actions-btn{opacity:1}.session-actions-btn:hover{background:var(--bg-active);color:var(--text-primary)}.session-context-menu{position:absolute;right:8px;top:100%;margin-top:4px;min-width:160px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;padding:4px;animation:contextMenuIn .15s ease-out;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}@keyframes contextMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.session-context-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;transition:all var(--transition-fast);text-align:left}.session-context-item:hover{background:var(--bg-hover);color:var(--text-primary)}.session-context-item svg{flex-shrink:0;opacity:.7}.session-context-item:hover svg{opacity:1}.session-context-delete:hover{background:#f871711a;color:#f87171}.session-context-delete:hover svg{color:#f87171}.session-rename-input{width:100%;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-active);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:500;outline:none;box-shadow:0 0 0 3px #2beede1a;animation:renameIn .15s ease-out}@keyframes renameIn{0%{box-shadow:0 0 #2beede00}to{box-shadow:0 0 0 3px #2beede1a}}.confirm-dialog{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;animation:dialogBackdropIn .2s ease-out}.confirm-dialog.hidden{display:none}.confirm-dialog-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-dialog-card{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;max-width:400px;width:90%;box-shadow:var(--shadow-lg);text-align:center;animation:dialogCardIn .25s cubic-bezier(.16,1,.3,1)}@keyframes dialogBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes dialogCardIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:#f871711f;border-radius:var(--radius-full);color:#f87171}.confirm-dialog-title{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.confirm-dialog-message{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.confirm-dialog-actions{display:flex;gap:10px;justify-content:center}.btn-confirm-cancel{flex:1;padding:10px 20px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-confirm-cancel:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.btn-confirm-delete{flex:1;padding:10px 20px;background:#f8717126;border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-sm);color:#f87171;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-confirm-delete:hover{background:#f8717140;border-color:#f8717180;box-shadow:0 0 16px #f8717126}.welcome-orbs{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.18;animation:orbFloat 8s ease-in-out infinite}.orb-1{width:300px;height:300px;background:radial-gradient(circle,#2beede,transparent 70%);top:-10%;left:20%;animation-duration:8s}.orb-2{width:250px;height:250px;background:radial-gradient(circle,#1a8aff,transparent 70%);bottom:5%;right:15%;animation-duration:10s;animation-delay:-3s}.orb-3{width:200px;height:200px;background:radial-gradient(circle,#a78bfa,transparent 70%);top:30%;left:60%;animation-duration:12s;animation-delay:-5s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,15px) scale(.95)}75%{transform:translate(15px,25px) scale(1.02)}}[data-theme=light] .orb{opacity:.12}.welcome-icon{position:relative;z-index:2}.suggestion-chip:nth-child(1){--chip-accent: #2beede}.suggestion-chip:nth-child(2){--chip-accent: #a78bfa}.suggestion-chip:nth-child(3){--chip-accent: #f97316}.suggestion-chip:nth-child(4){--chip-accent: #f472b6}.suggestion-chip{background:linear-gradient(var(--bg-card),var(--bg-card)) padding-box,linear-gradient(135deg,var(--chip-accent),transparent 80%) border-box;border:1px solid transparent}.suggestion-chip svg{color:var(--chip-accent);opacity:.85}.suggestion-chip:hover{background:linear-gradient(var(--bg-hover),var(--bg-hover)) padding-box,linear-gradient(135deg,var(--chip-accent),var(--accent) 80%) border-box;border:1px solid transparent;box-shadow:0 4px 20px #00000026,0 0 15px color-mix(in srgb,var(--chip-accent) 15%,transparent)}.suggestion-chip:hover svg{opacity:1}.btn-send.btn-stop-mode{background:#f8717133;opacity:1;border:1px solid rgba(248,113,113,.4);animation:stopPulse 1.5s ease-in-out infinite}.btn-send.btn-stop-mode svg{color:#f87171}.btn-send.btn-stop-mode:hover{background:#f8717159;box-shadow:0 0 16px #f8717133;transform:scale(1.05)}@keyframes stopPulse{0%,to{box-shadow:0 0 #f8717140}50%{box-shadow:0 0 0 6px #f8717100}}.scroll-to-bottom-btn{position:absolute;bottom:100px;left:50%;transform:translate(-50%) translateY(20px);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-md);z-index:10;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),transform var(--transition-normal),visibility var(--transition-normal);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.scroll-to-bottom-btn.visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.scroll-to-bottom-btn:hover{background:var(--accent-dim);border-color:var(--border-active);color:var(--accent);box-shadow:var(--shadow-glow)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.orb{display:none}}@media(hover:none)and (pointer:coarse){.message-actions{opacity:.6}.message:hover .message-actions{opacity:1}.session-actions-btn{width:36px;height:36px;opacity:.5}.btn-copy{padding:6px 12px;font-size:12px}.message-action-btn{padding:6px 10px;min-height:36px}.session-item .session-actions-btn{opacity:.5}}@media(max-width:480px){.welcome-title{font-size:22px}.welcome-subtitle{font-size:13px;margin-bottom:24px}.welcome-suggestions{grid-template-columns:1fr;gap:8px}.suggestion-chip{padding:12px 14px;font-size:12px}.chat-header{padding:0 12px;gap:8px}.chat-title{font-size:12px;max-width:100px}.model-selector-btn{font-size:10px;padding:3px 8px}.message{padding:12px;gap:10px}.message-avatar{width:28px;height:28px}.message-content{font-size:13px}.chat-input-area{padding:6px 8px 10px}.input-wrapper{padding:8px 10px}.input-hint{font-size:10px}.scroll-to-bottom-btn{bottom:80px;width:36px;height:36px}.orb-1{width:200px;height:200px}.orb-2{width:150px;height:150px}.orb-3{width:120px;height:120px}.btn-sidebar-toggle,.btn-icon{width:32px;height:32px}.header-actions{gap:4px}}@media(max-width:1024px)and (min-width:769px){:root{--sidebar-width: 260px}.message{max-width:700px;padding:18px 20px}.input-container{max-width:700px}.welcome-suggestions{max-width:480px}}@media(min-width:1440px){.message,.input-container{max-width:900px}.welcome-title{font-size:40px}.welcome-subtitle{font-size:16px;max-width:520px}.welcome-suggestions{max-width:620px;gap:16px}.suggestion-chip{padding:16px 20px;font-size:14px}}
