:root{--bg-primary: #e5e7eb;--bg-secondary: #f8fafc;--bg-card: #d1d5db;--bg-hover: #e2e8f0;--border: #cbd5e1;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--accent: #06b6d4;--accent-hover: #22d3ee;--accent-glow: rgba(6,182,212,.16);--success: #34d399;--warning: #fbbf24;--error: #f87171;--info: #60a5fa;--sidebar-width: 220px;--radius: 10px;--radius-sm: 6px;--msg-user-bg: #f97316;--msg-agent-bg: #ffffff;--msg-user-text: #ffffff;--msg-agent-text: #111827;--stream-dot: #ffffff}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow:hidden;height:100vh}.app-layout{display:flex;height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 0;flex-shrink:0;overflow:hidden;transition:width .25s cubic-bezier(.22,1,.36,1),opacity .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.sidebar.sidebar-collapsed{width:0!important;min-width:0!important;padding:0;border-right:none;opacity:0;transform:translate(-100%);pointer-events:none}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:0 14px 14px;border-bottom:1px solid var(--border);margin-bottom:0}.brand-icon{font-size:1.4rem;color:var(--accent);flex-shrink:0}.brand-text{font-weight:700;font-size:.9rem;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section-label{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.btn-icon-tiny{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;transition:all .15s}.btn-icon-tiny:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-open-btn{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);cursor:pointer;padding:10px 4px;transition:all .15s}.sidebar-open-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-empty{display:flex;align-items:center;justify-content:center;padding:24px 10px;color:var(--text-muted);font-size:.78rem;font-style:italic}.sidebar-load-more{display:none;justify-content:center;padding:8px 0;color:var(--text-muted)}.sidebar-load-more.visible{display:flex}.sidebar-load-more .spinner{animation:spin .9s linear infinite}.sidebar-footer{padding:8px 8px 0;border-top:1px solid var(--border);margin-top:4px}.sidebar-new-investigation{padding:8px 8px 4px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-new-investigation .nav-item-new{color:var(--accent)}.sidebar-new-investigation .nav-item-new:hover{background:var(--accent-glow);color:var(--accent)}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.82rem;font-weight:500;transition:all .15s ease;white-space:nowrap;overflow:hidden;position:relative}.nav-item svg{flex-shrink:0}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent)}.sidebar-alert-item{padding-right:28px!important}.sidebar-alert-text{overflow:hidden;text-overflow:ellipsis;font-family:Consolas,SF Mono,monospace;font-size:.76rem}.sidebar-alert-close{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;opacity:0;transition:all .15s}.sidebar-alert-item:hover .sidebar-alert-close{opacity:1}.sidebar-alert-close:hover{color:var(--error);background:#f871711a}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;gap:12px}.page-heading{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.top-bar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.top-bar-center{flex:1;display:flex;align-items:center;justify-content:center}.theme-toggle-btn{display:flex;align-items:center;gap:5px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:4px 10px;cursor:pointer;font-size:.72rem;color:var(--text-secondary);font-family:inherit;transition:border-color .2s,color .2s,background .2s;white-space:nowrap}.theme-toggle-btn:hover{border-color:var(--accent);color:var(--text-primary)}.theme-toggle-btn svg{flex-shrink:0}.clock{font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.content-area{flex:1;overflow:hidden;display:flex;flex-direction:column}.view-hidden{display:none!important}.view-active{display:flex;flex-direction:column;gap:14px;flex:1;overflow:hidden}.view-active:not(.view-chat-layout){overflow-y:auto;padding:16px 20px}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);gap:10px;min-width:0}.panel-header h2{font-size:.9rem;font-weight:700;white-space:nowrap}.panel-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.user-tag{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--accent-glow);color:var(--accent);letter-spacing:.03em}.input-area{padding:16px}.input-group{display:flex;align-items:center;gap:0;background:var(--bg-primary);border:1.5px solid var(--border);border-radius:var(--radius);padding:4px;transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-icon{display:flex;align-items:center;justify-content:center;padding:0 12px;color:var(--text-muted);flex-shrink:0}.alert-input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text-primary);font-size:.88rem;font-family:Consolas,SF Mono,Fira Code,monospace;padding:10px 4px;letter-spacing:.02em}.alert-input::placeholder{color:var(--text-muted);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif}.alert-input:disabled{opacity:.5}.input-hint{margin-top:10px;font-size:.78rem;color:var(--text-muted)}.input-shake{animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.input-highlight{animation:highlightPulse 1.5s ease}@keyframes highlightPulse{0%{background:#f9731640}to{background:none}}.btn-investigate{display:flex;align-items:center;gap:6px;padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:calc(var(--radius) - 2px);font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,opacity .15s ease;flex-shrink:0}.btn-investigate:hover:not(:disabled){background:var(--accent-hover)}.btn-investigate:disabled{opacity:.7;cursor:not-allowed}.hidden{display:none!important}.spinner{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-alert-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.chat-alert-info{display:flex;align-items:center;gap:10px;min-width:0}.btn-icon-sm{background:none;border:1px solid var(--border);color:var(--text-secondary);padding:5px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;transition:all .15s;flex-shrink:0}.btn-icon-sm:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-alert-badge{font-family:Consolas,SF Mono,Fira Code,monospace;font-size:.82rem;font-weight:700;padding:4px 12px;border-radius:20px;background:var(--accent-glow);color:var(--accent);letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.chat-alert-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-alert-label{font-size:.78rem;font-weight:600;color:var(--text-primary)}.chat-alert-user{font-size:.7rem;color:var(--text-muted)}.chat-alert-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.view-chat-layout{gap:0!important;background:var(--bg-card)}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.chat-msg{display:flex;gap:12px;align-items:flex-start;animation:msgSlideIn .3s cubic-bezier(.22,1,.36,1)}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-msg-user{flex-direction:row-reverse}.chat-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0;margin-top:2px}.chat-avatar-assistant{background:var(--accent-glow);color:var(--accent);border:1px solid rgba(6,182,212,.25)}.chat-avatar-user{background:#34d3991f;color:var(--success);border:1px solid rgba(52,211,153,.2)}.chat-bubble{max-width:80%;border-radius:12px;overflow:hidden;position:relative}.chat-bubble-assistant{background:var(--msg-agent-bg);border:1px solid var(--border);border-radius:4px 12px 12px}.chat-bubble-user{background:var(--msg-user-bg);border:1px solid var(--border);border-radius:12px 4px 12px 12px}.chat-source-tag{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-glow);padding:3px 10px;margin:10px 14px 0;border-radius:20px}.chat-text{margin:0;padding:12px 16px;font-family:Consolas,SF Mono,Fira Code,monospace;font-size:.82rem;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;background:none;border:none}.chat-bubble-user .chat-text{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.85rem;color:var(--msg-user-text)}.chat-bubble-assistant .chat-text{color:var(--msg-agent-text)}.chat-text strong{font-weight:700;color:var(--text-primary)}.chat-bubble-user .chat-text strong{color:var(--msg-user-text)}.chat-bubble-assistant .chat-text strong{color:var(--msg-agent-text)}.chat-text .chat-h1{display:block;font-size:1.05rem;font-weight:800;margin-top:.8em;margin-bottom:.3em;color:var(--accent);letter-spacing:-.02em;line-height:1.4}.chat-text .chat-h1:first-child{margin-top:0}.chat-text .chat-heading{display:block;font-size:.92rem;margin-top:.6em;margin-bottom:.2em;color:var(--accent-hover);letter-spacing:-.01em}.chat-text .chat-heading:first-child{margin-top:0}.msg-actions{display:flex;align-items:center;gap:4px;padding:2px 10px 8px;opacity:0;transition:opacity .15s ease}.chat-bubble:hover .msg-actions{opacity:1}.msg-actions-hidden{display:none!important}.msg-copy-btn{background:none;border:1px solid transparent;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:4px;display:flex;align-items:center;gap:4px;font-size:.68rem;transition:all .15s}.msg-copy-btn:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border)}.msg-copy-btn.msg-copy-success{color:var(--success)!important;border-color:#34d3994d}.chat-bubble-user .msg-actions{justify-content:flex-end}.chat-interrupted-bar{display:flex;align-items:center;gap:8px;padding:6px 14px 8px;flex-wrap:wrap}.chat-interrupted-badge{display:inline-block;font-size:.68rem;font-weight:600;color:var(--warning);background:#fbbf241a;border:1px solid rgba(251,191,36,.25);padding:3px 10px;border-radius:20px;letter-spacing:.02em}.chat-retry-btn{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:600;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(6,182,212,.25);padding:3px 10px;border-radius:20px;cursor:pointer;letter-spacing:.02em;transition:all .15s ease}.chat-retry-btn:hover{background:#06b6d429;border-color:var(--accent)}.chat-retry-btn:active{transform:scale(.96)}.chat-input-area{padding:12px 20px 14px;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.chat-input-group{display:flex;align-items:flex-end;gap:8px;background:var(--bg-primary);border:1.5px solid var(--border);border-radius:var(--radius);padding:6px 6px 6px 14px;transition:border-color .2s ease,box-shadow .2s ease}.chat-input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.chat-textarea{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text-primary);font-size:.85rem;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;padding:6px 0;resize:none;line-height:1.5;max-height:120px}.chat-textarea::placeholder{color:var(--text-muted)}.btn-send{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--accent);color:#fff;border:none;border-radius:calc(var(--radius) - 3px);cursor:pointer;flex-shrink:0;transition:background .15s ease,opacity .15s ease,transform .1s ease}.btn-send:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.btn-send:active:not(:disabled){transform:scale(.95)}.chat-input-hint{margin-top:6px;font-size:.7rem;color:var(--text-muted);text-align:center}.chat-input-hint kbd{display:inline-block;padding:1px 5px;font-size:.65rem;font-family:Consolas,SF Mono,monospace;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary)}.chat-stream-status{display:flex;align-items:center;gap:6px;padding:8px 16px 0;font-size:.72rem;font-weight:600;color:var(--stream-dot);letter-spacing:.03em}.chat-stream-status.hidden{display:none!important}.chat-stream-status-text{color:inherit}.alert-closed-badge{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--warning);background:#fbbf241a;border:1px solid rgba(251,191,36,.25);padding:4px 12px;border-radius:20px;letter-spacing:.02em;white-space:nowrap}.alert-closed-badge.hidden{display:none!important}.close-alert-bar{display:flex;align-items:center;gap:8px;padding:8px 14px 10px;border-top:1px solid var(--border);margin-top:4px}.btn-close-alert{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--warning);background:#fbbf2414;border:1px solid rgba(251,191,36,.25);padding:5px 14px;border-radius:20px;cursor:pointer;letter-spacing:.02em;transition:all .15s ease}.btn-close-alert:hover:not(:disabled){background:#fbbf242e;border-color:var(--warning)}.btn-close-alert:disabled{opacity:.6;cursor:not-allowed}.btn-close-alert:active:not(:disabled){transform:scale(.96)}.close-alert-done-badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--success);background:#34d3991a;border:1px solid rgba(52,211,153,.25);padding:4px 12px;border-radius:20px;letter-spacing:.02em}.btn-update-alert{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--info);background:#60a5fa14;border:1px solid rgba(96,165,250,.25);padding:5px 14px;border-radius:20px;cursor:pointer;letter-spacing:.02em;transition:all .15s ease}.btn-update-alert:hover:not(:disabled){background:#60a5fa2e;border-color:var(--info)}.btn-update-alert:disabled{opacity:.6;cursor:not-allowed}.btn-update-alert:active:not(:disabled){transform:scale(.96)}.update-alert-done-badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--info);background:#60a5fa1a;border:1px solid rgba(96,165,250,.25);padding:4px 12px;border-radius:20px;letter-spacing:.02em}.stream-status{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--success);letter-spacing:.03em}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--stream-dot);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.btn-icon{background:none;border:1px solid var(--border);color:var(--text-secondary);padding:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-icon-success{border-color:var(--success)!important;color:var(--success)!important;transition:border-color .2s ease,color .2s ease}.watcher-banner{background:linear-gradient(135deg,#06b6d41f,#34d39914);border:1px solid rgba(6,182,212,.3);border-radius:var(--radius);padding:0;animation:bannerSlideIn .35s ease}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.watcher-banner-content{display:flex;align-items:center;gap:12px;padding:12px 18px}.watcher-pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:watcherPulse 1.2s ease-in-out infinite}@keyframes watcherPulse{0%,to{transform:scale(1);box-shadow:0 0 #06b6d459}50%{transform:scale(1.1);box-shadow:0 0 0 6px #06b6d400}}.watcher-text{flex:1;font-size:.82rem;color:var(--text-primary)}.watcher-text strong{color:var(--accent);font-family:Consolas,SF Mono,monospace}.btn-sm{padding:6px 14px;font-size:.78rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.ws-status{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:.75rem;color:var(--text-muted)}.ws-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ws-dot.connected{background:var(--success);box-shadow:0 0 6px #34d39980}.ws-dot.disconnected{background:var(--error);box-shadow:0 0 6px #f8717180}.content-area::-webkit-scrollbar,.response-body::-webkit-scrollbar{width:6px}.content-area::-webkit-scrollbar-track,.response-body::-webkit-scrollbar-track{background:transparent}.content-area::-webkit-scrollbar-thumb,.response-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media(max-width:800px){:root{--sidebar-width: 52px}.sidebar{padding:12px 0}.sidebar-brand{padding:0 10px 14px;gap:0;justify-content:center}.brand-text{display:none}.brand-icon{font-size:1.3rem}.sidebar-section-label span{display:none}.sidebar-section-label{justify-content:center;padding:10px 6px 6px}.sidebar-nav{padding:0 6px}.nav-item{padding:8px;justify-content:center}.nav-item span{display:none}.nav-item svg{width:18px;height:18px}.sidebar-alert-close{display:none!important}.sidebar-footer span{display:none}.sidebar-footer .nav-item{justify-content:center}.top-bar{padding:12px 16px}.page-heading{font-size:1rem}.chat-messages{padding:12px 14px}.chat-input-area{padding:10px 14px 12px}.chat-bubble{max-width:90%}}@media(max-width:600px){:root{--sidebar-width: 0px}.sidebar{display:none}.top-bar,.chat-messages{padding:10px 12px}.chat-input-area{padding:8px 12px 10px}.chat-alert-meta{display:none}}.app-layout{opacity:0;transform:translateY(18px);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}body.app-entered .app-layout{opacity:1;transform:translateY(0)}.anim-stagger{opacity:0;transform:translateY(14px);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}body.app-entered .anim-stagger:nth-child(1){transition-delay:.06s}body.app-entered .anim-stagger:nth-child(2){transition-delay:.14s}body.app-entered .anim-stagger:nth-child(3){transition-delay:.22s}body.app-entered .anim-stagger:nth-child(4){transition-delay:.3s}body.app-entered .anim-stagger:nth-child(5){transition-delay:.38s}body.app-entered .anim-stagger{opacity:1;transform:translateY(0)}.top-bar{opacity:0;transform:translateY(-10px);transition:opacity .35s ease .05s,transform .35s ease .05s}body.app-entered .top-bar{opacity:1;transform:translateY(0)}body.app-entered .sidebar-brand .brand-icon{animation:brandPulse .6s ease .3s both}@keyframes brandPulse{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.btn-suggest-rule{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;font-size:.72rem;font-weight:600;cursor:pointer;border-radius:20px;border:1px solid rgba(249,115,22,.45);background:transparent;color:var(--accent-hover);letter-spacing:.02em;transition:all .15s ease}.btn-suggest-rule:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--text-primary)}.btn-suggest-rule:active{transform:scale(.96)}.suggest-rule-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease}.suggest-rule-overlay.visible{opacity:1;pointer-events:auto}.suggest-rule-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:min(680px,90vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;transform:translateY(12px) scale(.98);transition:transform .22s ease}.suggest-rule-overlay.visible .suggest-rule-modal{transform:translateY(0) scale(1)}.suggest-rule-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.suggest-rule-title{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:var(--text-primary);letter-spacing:.03em}.suggest-rule-title svg{color:var(--accent)}.suggest-rule-close-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s ease,background .15s ease}.suggest-rule-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.suggest-rule-body{flex:1;overflow-y:auto;padding:16px 20px;min-height:80px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.suggest-rule-body::-webkit-scrollbar{width:5px}.suggest-rule-body::-webkit-scrollbar-track{background:transparent}.suggest-rule-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.suggest-rule-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sr-section{display:flex;flex-direction:column;gap:12px}.sr-block{display:flex;flex-direction:column;gap:5px}.sr-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}.sr-textarea{font-family:Consolas,Fira Mono,monospace;font-size:.76rem;line-height:1.6;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:10px 12px;width:100%;box-sizing:border-box;outline:none;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word;transition:border-color .15s ease,color .15s ease}#sr-new-rule{color:var(--text-primary);border-color:#f9731659;border-left:3px solid var(--accent)}[id^=sr-similar-]{border-left:3px solid rgba(251,191,36,.6);color:var(--text-secondary)}#sr-disclaimer{font-style:italic;color:var(--text-muted);font-size:.72rem}.sr-textarea-editing{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-glow);color:var(--text-primary)!important;background:var(--bg-card)!important;resize:vertical!important;overflow:auto!important}.suggest-rule-edit-actions{display:flex;gap:8px;margin-top:10px}.btn-suggest-save{padding:6px 18px;font-size:.75rem;font-weight:600;border-radius:20px;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:background .15s ease}.btn-suggest-save:hover:not(:disabled){background:var(--accent-hover)}.btn-suggest-save:disabled{opacity:.55;cursor:not-allowed}.btn-suggest-cancel-edit{padding:6px 18px;font-size:.75rem;font-weight:600;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-suggest-cancel-edit:hover{background:var(--bg-hover);color:var(--text-primary)}.suggest-rule-loading{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:.8rem;padding:12px 0}.suggest-rule-error{color:var(--danger, #f87171);font-size:.8rem;margin:0}.suggest-rule-footer{display:flex;align-items:center;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border);flex-shrink:0}.btn-suggest-ask-again{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:.73rem;font-weight:600;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-suggest-ask-again:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-suggest-ask-again:disabled{opacity:.4;cursor:not-allowed}.btn-suggest-edit{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:.73rem;font-weight:600;border-radius:20px;border:1px solid rgba(249,115,22,.4);background:transparent;color:var(--accent-hover);cursor:pointer;transition:all .15s ease}.btn-suggest-edit:hover:not(:disabled){background:var(--accent-glow);border-color:var(--accent);color:var(--text-primary)}.btn-suggest-edit:disabled{opacity:.4;cursor:not-allowed}.btn-suggest-register{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:.73rem;font-weight:600;border-radius:20px;border:1px solid rgba(52,211,153,.3);background:transparent;color:var(--success);cursor:pointer;margin-left:auto;opacity:.65;transition:all .15s ease}.btn-suggest-register:hover{opacity:1;background:#34d3991a;border-color:var(--success)}.chat-suggestions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;overflow:hidden;max-height:0;opacity:0;pointer-events:none;flex-shrink:0;padding:0 20px;transition:max-height .3s ease,opacity .22s ease,padding-bottom .3s ease}.chat-suggestions.has-suggestions{max-height:260px;opacity:1;pointer-events:auto;padding-bottom:10px}.suggestion-pill{display:inline-block;background:transparent;border:1px solid rgba(249,115,22,.45);color:var(--accent-hover);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:400;line-height:1.35;cursor:pointer;transition:border-color .2s ease,color .2s ease;text-align:left;max-width:85%;white-space:normal;word-break:break-word;-webkit-user-select:none;user-select:none;animation:pillSlideIn .3s ease both}.suggestion-pill:hover{border-color:var(--accent-hover);color:var(--text-primary)}.suggestion-pill:active{opacity:.75;transform:scale(.98)}.chat-bg-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(55%,520px);max-height:70%;object-fit:contain;opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;filter:drop-shadow(0 0 24px rgba(249,115,22,.25));animation:chatLogoFade .8s ease both}@keyframes chatLogoFade{0%{opacity:0;transform:translate(-50%,-48%) scale(.98)}to{opacity:.06;transform:translate(-50%,-50%) scale(1)}}.view-chat-layout>.close-alert-bar,.view-chat-layout>.chat-meta-bar,.view-chat-layout>.chat-messages,.view-chat-layout>.chat-suggestions,.view-chat-layout>.chat-input-area{position:relative;z-index:1}.chat-meta-bar{display:flex;align-items:center;gap:8px;padding:6px 16px 8px;border-bottom:1px solid var(--border);flex-shrink:0;min-height:34px}.chat-bubble-assistant>.close-alert-bar{border-top:1px solid var(--border);margin-top:0;padding:8px 14px 10px;background:transparent}.view-chat-layout .chat-messages{background:transparent}@keyframes pillSlideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.streaming-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--stream-dot);margin:0 2px}.toast-custom{background:var(--bg-card)!important;color:var(--text-primary)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important}button.nav-item{background:none;font-family:inherit}.sr-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 20px;flex-shrink:0}.sr-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;padding:8px 14px;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.sr-tab:hover{color:var(--text-primary)}.sr-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-closed-chip{flex-shrink:0;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--warning, #fbbf24);background:#fbbf241a;border:1px solid rgba(251,191,36,.25);border-radius:4px;padding:1px 5px;line-height:1.4;white-space:nowrap}.close-alert-btn{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--warning);background:#fbbf2414;border:1px solid rgba(251,191,36,.25);padding:5px 14px;border-radius:20px;cursor:pointer;letter-spacing:.02em;transition:all .15s ease}.close-alert-btn:hover:not(:disabled){background:#fbbf242e;border-color:var(--warning)}.close-alert-btn:disabled{opacity:.6;cursor:not-allowed}.close-alert-btn:active:not(:disabled){transform:scale(.96)}.priority-badge{display:inline-flex;align-items:center;flex-shrink:0;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:2px 7px;line-height:1.4;white-space:nowrap}.priority-badge-high{color:var(--error);background:#f871711f;border:1px solid rgba(248,113,113,.3)}.priority-badge-medium{color:var(--warning);background:#fbbf241a;border:1px solid rgba(251,191,36,.25)}.priority-badge-low{color:var(--success);background:#34d3991a;border:1px solid rgba(52,211,153,.22)}.confirm-toast{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);min-width:260px;max-width:320px;box-shadow:0 10px 30px #00000040;font-size:.82rem}.confirm-toast-message{line-height:1.4}.confirm-toast-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-toast-btn{padding:5px 12px;font-size:.8rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .12s ease,border-color .12s ease}.confirm-toast-btn:hover{background:var(--bg-hover)}.confirm-toast-btn-yes{background:var(--accent);border-color:var(--accent);color:#fff}.confirm-toast-btn-yes:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.confirm-toast-btn-danger{background:var(--error);border-color:var(--error);color:#fff}.confirm-toast-btn-danger:hover{background:#ef4444;border-color:#ef4444}.sidebar-alert-row{position:relative;display:flex;align-items:center;width:100%}.sidebar-alert-delete{position:absolute;right:4px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease;background:transparent;border:0;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.sidebar-alert-row:hover .sidebar-alert-delete,.sidebar-alert-delete:focus-visible{opacity:1}.sidebar-alert-delete:hover{color:var(--error);background:var(--bg-hover)}.landing-root{position:relative;display:flex;align-items:center;justify-content:center;flex:1;overflow:hidden;background:var(--bg-primary)}.landing-network-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.7}.landing-scan-line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--brand-warm-rgb),.3),rgba(52,211,153,.15),transparent);animation:scanLine 6s linear infinite;pointer-events:none;z-index:1}@keyframes scanLine{0%{top:-2px;opacity:0}5%{opacity:1}95%{opacity:1}to{top:100%;opacity:0}}.landing-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:28px;max-width:520px;width:100%;padding:24px 20px}.landing-hero{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.landing-logo-ring{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.landing-logo-inner{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;color:var(--brand-warm);box-shadow:0 0 24px rgba(var(--brand-warm-rgb),.3),0 0 48px rgba(var(--brand-warm-rgb),.1);animation:logoPulse 3s ease-in-out infinite}@keyframes logoPulse{0%,to{box-shadow:0 0 24px rgba(var(--brand-warm-rgb),.3),0 0 48px rgba(var(--brand-warm-rgb),.1)}50%{box-shadow:0 0 32px rgba(var(--brand-warm-rgb),.45),0 0 64px rgba(var(--brand-warm-rgb),.15)}}.landing-logo-orbit{position:absolute;inset:-4px;border-radius:18px;border:1.5px solid transparent;border-top-color:#6366f180;border-right-color:#34d3994d;animation:orbitSpin 4s linear infinite}@keyframes orbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.landing-title{font-size:2.4rem;font-weight:900;letter-spacing:.08em;background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1;margin:0;text-shadow:0 0 40px var(--accent-glow)}.landing-tagline{font-size:.92rem;font-weight:600;color:var(--text-primary);letter-spacing:.02em;margin:2px 0 0;opacity:.9}.landing-icon-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}.landing-icon-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--accent-glow);border:1px solid rgba(var(--accent-rgb),.25);color:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.02em;transition:background .2s ease,transform .2s ease,border-color .2s ease}.landing-icon-chip svg{color:var(--brand-warm)}.landing-icon-chip:hover{background:rgba(var(--accent-rgb),.14);border-color:var(--accent);transform:translateY(-1px)}.landing-subtitle{font-size:.82rem;color:var(--text-secondary);max-width:340px;line-height:1.5;margin:0}.landing-user-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 12px;border-radius:20px;background:var(--accent-glow);color:var(--accent);letter-spacing:.03em;margin-top:2px}.landing-search-card{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease;box-shadow:0 4px 16px #00000014}.landing-search-card.focused{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),0 8px 32px #6366f11f}.landing-search-header{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:.78rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.landing-search-icon{color:var(--brand-warm)}.landing-search-body{padding:14px 16px}.landing-input-wrap{display:flex;align-items:center;gap:0;background:var(--bg-primary);border:1.5px solid var(--border);border-radius:var(--radius);padding:4px;transition:border-color .2s ease,box-shadow .2s ease}.landing-search-card.focused .landing-input-wrap{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.landing-input-icon{padding:0 12px;color:var(--text-muted);flex-shrink:0}.landing-input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text-primary);font-size:.85rem;font-family:Consolas,SF Mono,Fira Code,monospace;padding:10px 4px;letter-spacing:.02em}.landing-input::placeholder{color:var(--text-muted);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif}.landing-btn{display:flex;align-items:center;gap:6px;padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:calc(var(--radius) - 2px);font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,opacity .15s ease,transform .1s ease}.landing-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.02)}.landing-btn:active:not(:disabled){transform:scale(.98)}.landing-btn:disabled{opacity:.5;cursor:not-allowed}.landing-hint{margin-top:10px;font-size:.75rem;color:var(--text-muted)}.landing-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%}.landing-stat-card{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;transition:border-color .2s ease,background .2s ease,transform .2s ease;box-shadow:0 2px 8px #0000000a}.landing-stat-card:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-2px)}.landing-stat-icon{color:var(--accent);flex-shrink:0}.landing-stat-label{font-size:.76rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.landing-stat-desc{font-size:.68rem;color:var(--text-muted);margin-top:1px}.landing-root:before{content:"";position:absolute;top:15%;left:-5%;width:110%;height:1px;background:repeating-linear-gradient(90deg,transparent 0px,transparent 8px,rgba(var(--brand-warm-rgb),.08) 8px,rgba(var(--brand-warm-rgb),.08) 10px);animation:dataStream 20s linear infinite;pointer-events:none}.landing-root:after{content:"";position:absolute;bottom:20%;left:-5%;width:110%;height:1px;background:repeating-linear-gradient(90deg,transparent 0px,transparent 12px,rgba(52,211,153,.05) 12px,rgba(52,211,153,.05) 14px);animation:dataStream 25s linear infinite reverse;pointer-events:none}@keyframes dataStream{0%{transform:translate(-20px)}to{transform:translate(20px)}}@media(max-width:400px){.landing-content{gap:0;padding:14px;justify-content:center}.landing-hero,.landing-icon-row,.landing-stats{display:none}.landing-search-card{width:100%;animation:compactCardEnter .5s cubic-bezier(.22,1,.36,1) both}.landing-search-header{padding:8px 12px;font-size:.72rem}.landing-search-body{padding:12px}.landing-input{font-size:.78rem;padding:8px 4px}.landing-btn{padding:7px 12px;font-size:.75rem}.landing-hint{font-size:.68rem;margin-top:8px}.landing-network-canvas{opacity:.4}}@keyframes compactCardEnter{0%{opacity:0;transform:translateY(24px) scale(.96);box-shadow:0 0 rgba(var(--brand-warm-rgb),0)}60%{box-shadow:0 0 0 6px var(--accent-glow)}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 4px 16px #00000014}}@media(max-width:400px){.landing-search-card{position:relative}.landing-search-card:before{content:"";position:absolute;inset:-2px;border-radius:14px;background:linear-gradient(135deg,var(--accent),rgba(52,211,153,.4),var(--accent));background-size:200% 200%;z-index:-1;opacity:.25;animation:borderShimmer 4s ease-in-out infinite}}@keyframes borderShimmer{0%,to{background-position:0% 50%;opacity:.15}50%{background-position:100% 50%;opacity:.3}}@media(max-width:600px)and (min-width:401px){.landing-content{padding:16px 14px;gap:20px}.landing-title{font-size:1.25rem}.landing-stats{grid-template-columns:1fr}.landing-stat-card{padding:10px 12px}}
