[data-theme=dark-purple]{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a26;--bg-card:#16162280;--bg-hover:#1e1e2e;--text-primary:#e8e6f0;--text-secondary:#9896a8;--text-tertiary:#5c5a6e;--accent:#7c6aff;--accent-soft:#7c6aff1f;--accent-glow:#7c6aff40;--accent-border:#7c6aff2e;--color-green:#4ade80;--color-orange:#fb923c;--color-red:#f87171;--color-blue:#60a5fa;--border-subtle:#ffffff08;--border-light:#ffffff0f;--shadow:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--scrollbar-thumb:#2a2a3e;--scrollbar-thumb-hover:#3a3a52}[data-theme=warm-amber]{--bg-primary:#141210;--bg-secondary:#1a1714;--bg-tertiary:#221e18;--bg-card:#1a171480;--bg-hover:#2a2420;--text-primary:#e8dcc8;--text-secondary:#a89878;--text-tertiary:#6e6050;--accent:#e8a849;--accent-soft:#e8a8491f;--accent-glow:#e8a84940;--accent-border:#e8a8492e;--color-green:#4ade80;--color-orange:#fb923c;--color-red:#f87171;--color-blue:#60a5fa;--border-subtle:#ffffff08;--border-light:#ffffff0f;--shadow:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--scrollbar-thumb:#2e2820;--scrollbar-thumb-hover:#403830}[data-theme=cool-cyan]{--bg-primary:#0a1018;--bg-secondary:#0f1824;--bg-tertiary:#162030;--bg-card:#0f182480;--bg-hover:#1a2840;--text-primary:#d4e0f0;--text-secondary:#8098b8;--text-tertiary:#506878;--accent:#38b0c8;--accent-soft:#38b0c81f;--accent-glow:#38b0c840;--accent-border:#38b0c82e;--color-green:#4ade80;--color-orange:#fb923c;--color-red:#f87171;--color-blue:#60a5fa;--border-subtle:#ffffff08;--border-light:#ffffff0f;--shadow:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--scrollbar-thumb:#1e2e40;--scrollbar-thumb-hover:#2e3e52}[data-theme=paper-warmth]{--bg-primary:#f5f0e8;--bg-secondary:#ebe5d8;--bg-tertiary:#e3dccb;--bg-card:#ebe5d8b3;--bg-hover:#ddd6c4;--text-primary:#3a3020;--text-secondary:#706050;--text-tertiary:#9a8a70;--accent:#b07030;--accent-soft:#b0703014;--accent-glow:#b0703026;--accent-border:#b0703033;--color-green:#508040;--color-orange:#c08030;--color-red:#a04030;--color-blue:#3060a0;--border-subtle:#3a30200f;--border-light:#3a30201a;--shadow:0 1px 3px #3a302014;--shadow-md:0 4px 12px #3a30201f;--scrollbar-thumb:#d5cfc0;--scrollbar-thumb-hover:#c0b8a8}:root{--font-display:Georgia, "Songti SC", "STSong", serif;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--topbar-height:56px;--sidebar-width:260px;--feedlist-width:340px;--radius:8px;--radius-lg:12px;--radius-pill:20px;--transition-fast:.15s ease;--transition:.2s ease;--transition-slow:.3s ease}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{opacity:.85}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius);transition:border-color var(--transition);outline:none;padding:8px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{grid-template-columns:var(--sidebar-width) var(--feedlist-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;height:100vh;display:grid;overflow:hidden}.resize-handle{cursor:col-resize;z-index:20;-webkit-user-select:none;user-select:none;background:0 0;grid-row:2;width:4px;transition:background .15s;position:relative}.resize-handle:hover,.resize-handle:active{background:var(--accent-border)}.topbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-logo{font-family:var(--font-display);background:linear-gradient(135deg, var(--accent), #a78bfa);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800}.topbar-logo-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:2px;animation:2s ease-in-out infinite pulse;display:inline-block}.topbar-center{flex:1;justify-content:center;max-width:400px;margin:0 auto;display:flex}.topbar-search{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-pill);width:260px;transition:border-color var(--transition);align-items:center;gap:8px;padding:8px 16px;display:flex}.topbar-search:focus-within{border-color:var(--accent-border)}.topbar-search-icon{color:var(--text-tertiary);pointer-events:none;flex-shrink:0}.topbar-search-input{color:var(--text-primary);cursor:text;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0;font-size:13px}.topbar-search-input::placeholder{color:var(--text-tertiary)}.topbar-search-kbd{font-family:var(--font-mono);background:var(--bg-hover);color:var(--text-tertiary);border:1px solid var(--border-light);border-radius:4px;padding:2px 6px;font-size:10px}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-ai-badge{border-radius:var(--radius-pill);border:1px solid var(--accent-border);background:linear-gradient(135deg, var(--accent-soft), transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--accent);align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;display:flex}.topbar-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.topbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar-menu-btn{display:none}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-subtle);flex-direction:column;grid-area:2/1;display:flex;overflow:hidden}.sidebar-section{padding:8px 12px}.sidebar-section-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px 6px;font-size:11px;font-weight:600}.sidebar-nav-item{border-radius:var(--radius);width:100%;color:var(--text-secondary);transition:all var(--transition-fast);text-align:left;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex;position:relative}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav-item--active{background:var(--accent-soft);color:var(--text-primary);font-weight:500}.sidebar-nav-item--active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:3px;position:absolute;top:4px;bottom:4px;left:0}.sidebar-nav-icon{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.sidebar-nav-item--active .sidebar-nav-icon{color:var(--accent)}.sidebar-nav-count{font-family:var(--font-mono);color:var(--text-tertiary);margin-left:auto;font-size:11px}.sidebar-cat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sidebar-divider{background:var(--border-subtle);height:1px;margin:4px 12px}.sidebar-stats{border-top:1px solid var(--border-subtle);margin-top:auto;padding:12px 16px}.sidebar-stats-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sidebar-stat{flex-direction:column;gap:2px;display:flex}.sidebar-stat-value{font-family:var(--font-mono);color:var(--text-primary);font-size:16px;font-weight:600}.sidebar-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.sidebar-footer{border-top:1px solid var(--border-subtle);padding:12px}.sidebar-manage-btn{border-radius:var(--radius);background:var(--accent);color:#fff;width:100%;transition:opacity var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:500;display:flex}.sidebar-manage-btn:hover{opacity:.9}.feedlist{background:var(--bg-primary);border-right:1px solid var(--border-subtle);flex-direction:column;grid-area:2/2;display:flex;overflow:hidden}.feedlist-header{border-bottom:1px solid var(--border-subtle);padding:16px 20px 12px}.feedlist-title{color:var(--text-primary);margin-bottom:10px;font-size:15px;font-weight:600}.filter-tabs{gap:6px;display:flex}.filter-tab{border-radius:var(--radius-pill);color:var(--text-secondary);transition:all var(--transition-fast);padding:5px 12px;font-size:11px;font-weight:500}.filter-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-tab--active{background:var(--accent-soft);color:var(--accent)}.feedlist-scroll{flex:1;padding:4px 0;overflow-y:auto}.feed-card{text-align:left;border-bottom:1px solid var(--border-subtle);width:100%;transition:all var(--transition-fast);animation:.3s forwards fadeSlideIn;animation-delay:calc(var(--i,0) * 20ms);opacity:0;color:var(--text-primary);padding:14px 20px;display:block;position:relative}.feed-card:hover{background:var(--bg-hover)}.feed-card--active{background:var(--accent-soft)}.feed-card-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.feed-card-source-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.feed-card-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:14px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.feed-card--unread .feed-card-title{font-weight:600}.feed-card-meta{color:var(--text-tertiary);align-items:center;gap:8px;font-size:11px;display:flex}.feed-card-source,.feed-card-time{font-family:var(--font-mono);font-size:10px}.feed-card-dot{background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:3px;height:3px}.feed-card-unread-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.feed-card-ai-badge{color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.article-view{flex-direction:column;grid-area:2/3;min-width:0;display:flex;overflow-y:auto}.article-placeholder{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:14px;display:flex}.article-header{padding:20px 40px 0}.article-back-btn{border-radius:var(--radius);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:6px;margin-bottom:16px;padding:6px 12px;font-size:13px;display:inline-flex}.article-back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.article-source{align-items:center;gap:10px;margin-bottom:16px;display:flex}.article-source-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.article-source-info{flex-direction:column;gap:2px;display:flex}.article-source-name{color:var(--text-primary);font-size:13px;font-weight:500}.article-source-time{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11px}.article-content{width:100%;max-width:720px;margin:0 auto;padding:0 40px 48px}.article-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:20px;font-size:28px;font-weight:700;line-height:1.4}.article-actions{gap:8px;margin-bottom:24px;display:flex}.article-action-btn{border-radius:var(--radius);border:1px solid var(--border-light);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;display:flex}.article-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-border)}.article-action-btn--active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.ai-summary{background:linear-gradient(135deg, var(--accent-soft), transparent);border:1px solid var(--accent-border);border-radius:var(--radius-lg);margin-bottom:24px;padding:20px 24px;position:relative;overflow:hidden}.ai-summary:before{content:"";background:linear-gradient(90deg, var(--accent), #a78bfa, transparent);height:2px;position:absolute;top:0;left:0;right:0}.ai-summary-label{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.ai-summary-text{color:var(--text-primary);font-size:14px;line-height:1.7}.ai-summary-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.sentiment-badge{border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.sentiment-badge--positive{color:var(--color-green);background:#4ade801a}.sentiment-badge--negative{color:var(--color-red);background:#f871711a}.sentiment-badge--neutral{color:var(--color-blue);background:#60a5fa1a}.keyword-tag{border-radius:var(--radius-pill);background:var(--bg-hover);color:var(--text-secondary);padding:3px 10px;font-size:11px}.article-body{color:var(--text-primary);font-size:15px;line-height:1.85}.article-body img{border-radius:var(--radius);max-width:100%;height:auto;margin:16px 0}.article-body a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.article-body pre,.article-body code{font-family:var(--font-mono);background:var(--bg-tertiary);border-radius:4px}.article-body pre{margin:16px 0;padding:16px;overflow-x:auto}.article-body code{padding:2px 6px;font-size:.9em}.article-body blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:16px 0;padding-left:16px}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{margin:24px 0 12px;line-height:1.3}.article-body p{margin-bottom:12px}.article-original-link{border-radius:var(--radius);background:var(--bg-tertiary);color:var(--accent);align-items:center;gap:6px;margin-top:32px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.article-original-link:hover{opacity:.9}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border-radius:var(--radius-lg);width:90%;max-width:560px;max-height:80vh;box-shadow:var(--shadow-md);border:1px solid var(--border-light);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{font-size:16px;font-weight:600}.modal-close-btn{color:var(--text-secondary);transition:color var(--transition-fast);padding:4px}.modal-close-btn:hover{color:var(--text-primary)}.modal-body{flex:1;padding:16px 20px;overflow-y:auto}.skeleton{border-bottom:1px solid var(--border-subtle);padding:14px 20px}.skeleton-line{background:var(--bg-hover);border-radius:4px;animation:1.5s ease-in-out infinite pulse}.sidebar-overlay{z-index:90;background:#00000080;position:fixed;inset:0}.sidebar-mobile{z-index:100;background:var(--bg-secondary);width:280px;box-shadow:var(--shadow-md);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar-mobile--open{transform:translate(0)}.sidebar-mobile .sidebar{border-right:none;height:100%;display:flex!important}@media (width<=1100px){.app-layout{grid-template-columns:300px 1fr!important}.sidebar{display:none}.feedlist{grid-column:1}.article-view{grid-column:2}.resize-handle:first-of-type{display:none}.topbar-menu-btn{display:flex}}@media (width<=860px){.feed-card{padding:12px 16px}.feedlist-header{padding:12px 16px 0}}@media (width<=640px){.app-layout{grid-template-rows:var(--topbar-height) 1fr;grid-template-columns:1fr!important}.resize-handle{display:none}.feedlist{flex-direction:column;grid-column:1;display:flex}.article-view{grid-column:1;display:none}.app-layout--detail .feedlist{display:none}.app-layout--detail .article-view{display:flex}.topbar{padding:0 16px}.topbar-search{width:160px;padding:6px 12px}.topbar-search-kbd{display:none}.feed-card{min-height:64px;padding:14px 16px}.feed-card-title{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.feedlist-header{padding:12px 16px 0}.feedlist-title{font-size:16px}.article-header{padding:16px 16px 0}.article-title{font-size:20px;line-height:1.3}.article-content{padding:0 16px env(safe-area-inset-bottom,32px)}.article-actions{gap:8px;padding:12px 16px}.article-actions .btn{padding:8px 14px;font-size:13px}.ai-card{margin:0 16px 16px}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:90vh;position:fixed;bottom:0;left:0;right:0;max-width:100%!important}.modal-overlay{align-items:flex-end}.filter-tabs{gap:4px}.filter-tab{padding:5px 12px;font-size:12px}.sidebar-mobile{width:80vw;max-width:300px}.chat-drawer{border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:85vh;top:auto;bottom:0;right:0;width:100vw!important}.chat-fab{bottom:80px}}.chat-fab{background:var(--accent);color:#fff;cursor:pointer;width:48px;height:48px;box-shadow:0 4px 16px var(--accent-glow);z-index:200;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:32px;right:24px}.chat-fab:hover{box-shadow:0 6px 24px var(--accent-glow);transform:scale(1.08)}.chat-fab--active{background:var(--bg-tertiary);color:var(--accent)}.chat-drawer{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:380px;height:calc(100vh - 130px);max-height:680px;box-shadow:var(--shadow-md);z-index:199;flex-direction:column;display:flex;position:fixed;bottom:96px;right:24px;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;display:flex}.chat-mode-tabs{background:var(--bg-tertiary);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.chat-mode-tab{border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 12px;font-size:12px;font-weight:500;transition:all .15s}.chat-mode-tab--active{background:var(--accent);color:#fff}.chat-mode-tab--disabled{opacity:.4;cursor:not-allowed}.chat-article-title{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.chat-header-actions{gap:4px;margin-left:auto;display:flex}.chat-icon-btn{width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.chat-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-icon-btn--active{background:var(--accent-soft);color:var(--accent)}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:13px;display:flex}.chat-empty-icon{color:var(--accent);opacity:.6}.chat-message{flex-direction:column;gap:4px;display:flex}.chat-message--user{align-items:flex-end}.chat-message--ai{align-items:flex-start}.chat-bubble{border-radius:var(--radius-md);word-break:break-word;max-width:88%;padding:10px 14px;font-size:13px;line-height:1.6}.chat-message--ai .chat-bubble p{margin:0 0 8px}.chat-message--ai .chat-bubble p:last-child{margin-bottom:0}.chat-message--ai .chat-bubble h1,.chat-message--ai .chat-bubble h2,.chat-message--ai .chat-bubble h3{color:var(--text-primary);margin:10px 0 4px;font-size:13px;font-weight:600}.chat-message--ai .chat-bubble ul,.chat-message--ai .chat-bubble ol{margin:4px 0 8px;padding-left:18px}.chat-message--ai .chat-bubble li{margin-bottom:3px}.chat-message--ai .chat-bubble code{font-family:var(--font-mono,monospace);background:var(--bg-primary);border-radius:3px;padding:1px 4px;font-size:12px}.chat-message--ai .chat-bubble pre{background:var(--bg-primary);border-radius:var(--radius-sm);margin:6px 0;padding:10px 12px;overflow-x:auto}.chat-message--ai .chat-bubble pre code{background:0 0;padding:0}.chat-message--ai .chat-bubble a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.chat-message--ai .chat-bubble blockquote{border-left:3px solid var(--accent-border);color:var(--text-secondary);margin:6px 0;padding:4px 10px;font-style:italic}.chat-message--ai .chat-bubble strong{font-weight:600}.chat-message--ai .chat-bubble hr{border:none;border-top:1px solid var(--border-subtle);margin:8px 0}.chat-message--user .chat-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-message--ai .chat-bubble{background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:4px}.chat-cursor{color:var(--accent);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.chat-node-label{color:var(--accent);padding:0 4px;font-size:11px}.chat-quick-prompts{border-top:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 16px;display:flex}.chat-quick-btn{border:1px solid var(--border-light);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 10px;font-size:11px;transition:all .15s}.chat-quick-btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent);background:var(--accent-soft)}.chat-quick-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-area{border-top:1px solid var(--border-subtle);flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.chat-input{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);resize:none;flex:1;min-height:36px;max-height:120px;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.chat-input:focus{border-color:var(--accent-border);outline:none}.chat-input::placeholder{color:var(--text-tertiary)}.chat-send-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .15s;display:flex}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn--stop{background:var(--color-red);font-size:14px}.chat-citations{max-width:88%;margin-top:4px}.chat-citations-toggle{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;gap:4px;padding:2px 4px;font-size:11px;transition:color .15s;display:flex}.chat-citations-toggle:hover{color:var(--accent)}.chat-citations-list{flex-direction:column;gap:3px;margin:4px 0 0;padding:0;list-style:none;display:flex}.chat-citations-list a{color:var(--accent);align-items:flex-start;gap:5px;font-size:11px;line-height:1.4;text-decoration:none;display:flex}.chat-citations-list a:hover{text-decoration:underline}.chat-citations-list a svg{flex-shrink:0;margin-top:2px}.chat-history{flex:1;padding:8px;overflow-y:auto}.chat-history-empty{height:100%;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.chat-history-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.chat-history-item{border-radius:var(--radius-sm);align-items:center;gap:4px;transition:background .12s;display:flex}.chat-history-item:hover{background:var(--bg-hover)}.chat-history-item-body{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:8px 10px;display:flex;overflow:hidden}.chat-history-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:13px;overflow:hidden}.chat-history-meta{color:var(--text-tertiary);font-size:11px}.chat-history-delete{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,color .12s;display:flex}.chat-history-item:hover .chat-history-delete{opacity:1}.chat-history-delete:hover{color:var(--color-red)}.chat-panel{border-left:1px solid var(--border-subtle);background:var(--bg-secondary);flex-direction:column;grid-area:2/4;display:flex;overflow:hidden}.selection-tooltip{z-index:300;align-items:center;display:flex;position:fixed;transform:translate(-50%)}.selection-tooltip-btn{background:var(--bg-primary);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-md);white-space:nowrap;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s;display:flex}.selection-tooltip-btn:hover{background:var(--accent-soft)}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:20px;width:360px;max-width:90vw;padding:48px 40px;display:flex}.login-logo{align-items:center;gap:10px;display:flex}.login-subtitle{color:var(--text-tertiary);margin-top:-8px;font-size:13px}.login-field{width:100%}.login-input{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius);width:100%;color:var(--text-primary);text-align:center;padding:12px 16px;font-size:14px}.login-input:focus{border-color:var(--accent);outline:none}.login-error{color:var(--color-red);margin-top:-8px;font-size:13px}.login-btn{border-radius:var(--radius);background:var(--accent);color:#fff;width:100%;transition:opacity var(--transition-fast);padding:12px;font-size:14px;font-weight:600}.login-btn:hover{opacity:.9}.login-btn:disabled{opacity:.5;cursor:not-allowed}
