*,:before,:after{box-sizing:border-box}html{height:100%}body{height:100%;margin:0}#root{height:100%}@keyframes orb-pulse{0%{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}to{opacity:.5;transform:scale(.95)}}.login-wrap{background:linear-gradient(135deg,#0a0a0f 0%,#0f0a1a 100%);justify-content:center;align-items:center;height:100dvh;padding:20px;display:flex;position:relative;overflow:hidden}[data-theme=light] .login-wrap{background:linear-gradient(135deg,#f0eeff 0%,#e8e0ff 100%)}.login-wrap:before{content:"";filter:blur(100px);pointer-events:none;background:#7c3aed33;border-radius:50%;width:350px;height:350px;animation:10s ease-in-out infinite alternate orb-pulse;position:absolute;top:-60px;left:-60px}.login-wrap:after{content:"";filter:blur(100px);pointer-events:none;background:#3b82f626;border-radius:50%;width:280px;height:280px;animation:14s ease-in-out infinite alternate orb-pulse;position:absolute;bottom:-40px;right:-40px}.login-box{-webkit-backdrop-filter:blur(30px);text-align:center;z-index:1;background:#0a0819bf;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:360px;padding:40px 32px;position:relative;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff14}[data-theme=light] .login-box{background:#ffffffbf;border:1px solid #7c3aed33;box-shadow:0 20px 60px #7c3aed26,inset 0 1px #ffffff80}.login-logo{color:var(--accent);margin-bottom:8px;font-size:40px}.login-title{color:var(--text);margin:0 0 4px;font-size:24px;font-weight:700}.login-sub{color:var(--text-muted);margin:0 0 32px;font-size:13px}.login-form{flex-direction:column;gap:12px;display:flex}.login-input{color:var(--text);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;outline:none;padding:12px 16px;font-family:inherit;font-size:16px;transition:border-color .3s,box-shadow .3s}[data-theme=light] .login-input{background:#ffffffb3;border:1px solid #7c3aed33}.login-input:focus{border-color:#7c3aed99;box-shadow:0 0 20px #7c3aed33}.login-error{color:#f87171;margin:0;font-size:13px}.login-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:8px;padding:14px;font-family:inherit;font-size:16px;font-weight:600;transition:background .2s}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.5;cursor:default}*{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg:#0a0a0f;--surface:#0f0a1a;--border:#ffffff14;--border-hover:#ffffff26;--accent:#7c3aed;--accent-hover:#9585ff;--text:#e8e8e8;--text-muted:#888;--user-bg:#7c3aed26;--assistant-bg:#ffffff0a;--inline-code-bg:#ffffff14;--activity-bg:#0006;--activity-border:#4ade8026;--activity-text:#4ade80;--activity-text-last:#86efac;--copy-btn-bg:#ffffff1a;--copy-btn-bg-hover:#fff3;--copy-btn-text:#ccc;--toast-bg:#1a2a1ad9;--toast-border:#4ade8040;--toast-text:#4ade80;--agent-running-bg:#4ade801a;--agent-running-text:#4ade80;--agent-done-bg:#7c3aed1f;--agent-done-text:#a78bfa;--agent-error-bg:#f871711a;--agent-error-text:#f87171;--msg-shadow:#0006;--radius:18px}[data-theme=light]{--bg:#f0eeff;--surface:#ffffffb3;--border:#7c3aed26;--border-hover:#7c3aed4d;--accent:#6b5ce7;--accent-hover:#7c6af7;--text:#1a1a2e;--text-muted:#6b6b80;--user-bg:#7c3aed1a;--assistant-bg:#fff9;--inline-code-bg:#7c3aed14;--activity-bg:#f0f4f0b3;--activity-border:#1a7a3a33;--activity-text:#1a7a3a;--activity-text-last:#0d5a28;--copy-btn-bg:#00000012;--copy-btn-bg-hover:#00000024;--copy-btn-text:#555;--toast-bg:#f0faf0d9;--toast-border:#a8d8a880;--toast-text:#1a7a3a;--agent-running-bg:#1a7a3a1a;--agent-running-text:#1a7a3a;--agent-done-bg:#6b5ce71a;--agent-done-text:#6b5ce7;--agent-error-bg:#c0392b14;--agent-error-text:#c0392b;--msg-shadow:#0000001f;--radius:18px}html,body,#root{width:100%;height:100%;position:fixed;overflow:hidden}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}.app{background:linear-gradient(135deg,#0a0a0f 0%,#0f0a1a 100%);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}[data-theme=light] .app{background:linear-gradient(135deg,#f0eeff 0%,#e8e0ff 100%)}.bg-orb{filter:blur(100px);pointer-events:none;z-index:0;animation:orb-pulse var(--orb-duration,12s) ease-in-out infinite alternate;border-radius:50%;position:absolute}.bg-orb-purple{--orb-duration:10s;background:#7c3aed2e;width:400px;height:400px;top:-80px;left:-80px}.bg-orb-blue{--orb-duration:14s;background:#3b82f61f;width:350px;height:350px;bottom:10%;right:-60px}.bg-orb-pink{--orb-duration:11s;background:#ec48991a;width:300px;height:300px;bottom:30%;left:20%}[data-theme=light] .bg-orb-purple{background:#7c3aed26}[data-theme=light] .bg-orb-blue{background:#3b82f61f}[data-theme=light] .bg-orb-pink{background:#ec48991a}.app>:not(.bg-orb){z-index:1;position:relative}.header{-webkit-backdrop-filter:blur(20px);z-index:50;background:#0a0a1499;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex;box-shadow:0 4px 30px #0000004d}[data-theme=light] .header{background:#ffffffd9;border-bottom:1px solid #7c3aed26;box-shadow:0 4px 30px #7c3aed14}.header-title{color:var(--accent);font-size:17px;font-weight:700}.header-sub{color:var(--text-muted);font-size:12px}.btn-logout{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:5px;padding:2px 4px;font-size:18px;transition:background .3s,color .3s,box-shadow .3s}.btn-logout:hover{color:#f87171;background:#f8717126;box-shadow:0 0 12px #f8717133}.messages{flex-direction:column;flex:1;gap:8px;padding:16px;transition:opacity .15s;display:flex;overflow-y:auto}.messages.fading{opacity:0}.empty{color:var(--text-muted);text-align:center;margin:auto}.msg{display:flex}.msg-user{justify-content:flex-end}.msg-assistant{justify-content:flex-start}.msg-bubble{border-radius:var(--radius);word-break:break-word;max-width:85%;padding:10px 14px;transition:box-shadow .3s}.msg-user .msg-bubble{-webkit-backdrop-filter:blur(10px);background:#7c3aed26;border:1px solid #7c3aed59;border-bottom-right-radius:4px;box-shadow:0 4px 20px #7c3aed26,inset 0 1px #ffffff1a}.msg-assistant .msg-bubble{-webkit-backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #ffffff14;border-bottom-left-radius:4px;box-shadow:0 4px 20px #0003}[data-theme=light] .msg-user .msg-bubble{background:#7c3aed1a;border:1px solid #7c3aed4d;box-shadow:0 4px 20px #7c3aed1a,inset 0 1px #ffffff80}[data-theme=light] .msg-assistant .msg-bubble{background:#fff9;border:1px solid #7c3aed1f;box-shadow:0 4px 20px #0000000f}.msg-status{text-align:center;color:var(--text-muted);padding:4px 0;font-size:12px}.cursor{animation:1s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes msg-appear{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.msg-new{animation:.3s msg-appear}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-list{flex-direction:column;gap:10px;padding:8px 0;display:flex}.skeleton-msg{display:flex}.skeleton-msg.skeleton-user{justify-content:flex-end}.skeleton-msg.skeleton-assistant{justify-content:flex-start}.skeleton-bubble{background:linear-gradient(90deg,#ffffff0d 0%,#ffffff1f 40%,#ffffff0d 80%) 0 0/800px 100%;border-radius:18px;height:42px;animation:1.4s linear infinite shimmer}[data-theme=light] .skeleton-bubble{background:linear-gradient(90deg,#7c3aed0f 0%,#7c3aed26 40%,#7c3aed0f 80%) 0 0/800px 100%;animation:1.4s linear infinite shimmer}@keyframes dot-pulse{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.typing-indicator{-webkit-backdrop-filter:blur(16px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:4px;width:fit-content;padding:10px 16px;display:flex;box-shadow:0 4px 20px #0003}[data-theme=light] .typing-indicator{background:#ffffffa6;border:1px solid #7c3aed26;box-shadow:0 4px 20px #7c3aed14}.typing-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dot-pulse}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.typing-wrap{justify-content:flex-start;display:flex}.msg-assistant p{margin-bottom:8px}.msg-assistant p:last-child{margin-bottom:0}.msg-assistant ul,.msg-assistant ol{margin-bottom:8px;padding-left:20px}.msg-assistant pre{border-radius:8px;margin:8px 0;font-size:13px;overflow-x:auto}.inline-code{background:var(--inline-code-bg);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.input-bar{-webkit-backdrop-filter:blur(10px);background:#ffffff0a;border-top:1px solid #ffffff14;flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}[data-theme=light] .input-bar{background:#fff9;border-top:1px solid #7c3aed1f}.input{color:var(--text);resize:none;field-sizing:content;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;outline:none;flex:1;max-height:160px;padding:10px 12px;font-family:inherit;font-size:15px;line-height:1.4;transition:border-color .3s,box-shadow .3s;overflow-y:auto}[data-theme=light] .input{background:#ffffffb3;border:1px solid #7c3aed33}.input:focus{border-color:#7c3aed99;box-shadow:0 0 20px #7c3aed33}.input:disabled{opacity:.5}.btn-icon{cursor:pointer;color:var(--text-muted);-webkit-backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;flex-shrink:0;padding:6px;font-size:20px;line-height:1;transition:background .3s,box-shadow .3s,color .3s,border-color .3s}.btn-icon:hover{color:var(--accent);background:#7c3aed40;border-color:#7c3aed66;box-shadow:0 0 18px #7c3aed59,inset 0 1px #ffffff1a}.btn-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;flex-shrink:0;padding:10px 16px;font-size:17px;transition:background .2s}.btn-send:hover:not(:disabled){background:var(--accent-hover)}.btn-send:disabled{opacity:.4;cursor:default}.header-actions{align-items:center;gap:4px;display:flex}.btn-agents{cursor:pointer;color:var(--text-muted);-webkit-backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:5px;padding:2px 4px;font-size:18px;transition:background .3s,box-shadow .3s,color .3s,border-color .3s;position:relative}.btn-agents:hover{color:var(--accent);background:#7c3aed40;border-color:#7c3aed66;box-shadow:0 0 18px #7c3aed59,inset 0 1px #ffffff1a}.btn-agents.active,.btn-agents.open{color:var(--accent);background:#7c3aed4d;border-color:#7c3aed80;box-shadow:0 0 25px #7c3aed73,inset 0 1px #ffffff1a}.agent-count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:0;right:0}.agents-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:#0009;align-items:flex-end;display:flex;position:fixed;inset:0}.agents-panel{-webkit-backdrop-filter:blur(30px);background:#0a0819d9;border:1px solid #ffffff14;border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-height:75vh;display:flex;overflow:hidden;box-shadow:0 -10px 40px #00000080}[data-theme=light] .agents-panel{background:#ffffffbf;border:1px solid #7c3aed26;box-shadow:0 -10px 40px #7c3aed1a}.agents-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 20px;font-size:16px;font-weight:600;display:flex}[data-theme=light] .agents-header{border-bottom:1px solid #7c3aed1f}.btn-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;font-size:18px}.agents-empty{text-align:center;color:var(--text-muted);padding:32px}.agents-list{padding:8px;overflow-y:auto}.agent-item{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:4px;padding:12px 14px;transition:background .3s,box-shadow .3s}.agent-item:hover{background:#ffffff12;border-color:#ffffff1a;box-shadow:0 0 20px #7c3aed1a}[data-theme=light] .agent-item{background:#ffffff80;border:1px solid #7c3aed1a}[data-theme=light] .agent-item:hover{background:#ffffffbf;box-shadow:0 0 20px #7c3aed1a}.agent-item-top{align-items:flex-start;gap:10px;display:flex}.agent-task{color:var(--text);flex:1;font-size:14px;line-height:1.4}.agent-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px}.agent-badge.running{background:var(--agent-running-bg);color:var(--agent-running-text);box-shadow:0 0 10px #4ade804d}.agent-badge.done{background:var(--agent-done-bg);color:var(--agent-done-text);box-shadow:0 0 10px #7c3aed4d}.agent-badge.error{background:var(--agent-error-bg);color:var(--agent-error-text);box-shadow:0 0 10px #f871714d}.agent-result{background:var(--bg);color:var(--text);border-radius:8px;max-height:200px;margin-top:10px;padding:10px;font-size:13px;overflow-y:auto}.toasts{z-index:200;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{background:var(--toast-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--toast-border);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;animation:.3s slideDown;display:flex;box-shadow:0 8px 32px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast-icon{color:var(--toast-text);flex-shrink:0;font-size:18px}.toast-title{color:var(--toast-text);font-size:13px;font-weight:600}.toast-task{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.file-download{background:var(--accent);color:#fff;border-radius:10px;align-items:center;gap:6px;margin:6px 0;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.file-download:hover{background:var(--accent-hover)}.btn-theme{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:10px;padding:4px 8px;font-size:18px;transition:background .3s,color .3s,box-shadow .3s}.btn-theme:hover{color:var(--accent);background:#7c3aed33;box-shadow:0 0 15px #7c3aed4d}.btn-voice-toggle{cursor:pointer;color:var(--text-muted);-webkit-backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:5px;padding:2px 4px;font-size:18px;transition:background .3s,color .3s,box-shadow .3s,border-color .3s}.btn-voice-toggle:hover{color:var(--accent);background:#7c3aed40;border-color:#7c3aed66;box-shadow:0 0 18px #7c3aed59,inset 0 1px #ffffff1a}.btn-voice-toggle.active{color:var(--accent);background:#7c3aed4d;border-color:#7c3aed80;box-shadow:0 0 25px #7c3aed73,inset 0 1px #ffffff1a}.btn-mic{cursor:pointer;color:var(--text-muted);touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:6px;font-size:22px;line-height:1;transition:background .15s,transform .1s}.btn-mic:hover{background:var(--border)}.btn-mic.listening{background:#f8717126;animation:.8s infinite pulse;transform:scale(1.2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin;display:block}.activity-log{-webkit-backdrop-filter:blur(10px);background:#0006;border-top:1px solid #4ade8026;flex-shrink:0;max-height:140px;padding:8px 12px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:12px;line-height:1.6;overflow-y:auto}[data-theme=light] .activity-log{background:#f0f4f0b3;border-top:1px solid #1a7a3a33}.activity-line{color:var(--activity-text);white-space:pre-wrap;word-break:break-all}.activity-line:last-child{color:var(--activity-text-last)}.activity-idle{color:#4ade8059!important}.activity-terminal-hint{float:right;color:#4ade8066;margin-top:-2px;font-size:16px;line-height:1;transition:color .2s}.activity-log:hover .activity-terminal-hint{color:#4ade80cc}.terminal-overlay{z-index:250;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.terminal-sheet{background:#0d1117;border-top:1px solid #4ade8033;border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-height:75vh;animation:.2s slide-up;display:flex;overflow:hidden}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.terminal-header{border-bottom:1px solid #4ade801f;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px 8px;display:flex}.terminal-title{color:#4ade80;align-items:center;gap:7px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;font-weight:600;display:flex}.terminal-dot{background:#4ade80;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px #4ade80}.terminal-output{color:#c9d1d9;white-space:pre;background:0 0;flex:1;margin:0;padding:12px 14px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:11px;line-height:1.55;overflow:auto}.terminal-scroll-btn{color:#4ade80;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#4ade8026;border:1px solid #4ade804d;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:background .15s;display:flex;position:absolute;bottom:12px;right:14px}.terminal-scroll-btn:hover{background:#4ade8040}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7c3aed66;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#7c3aed99}.header-left{align-items:center;gap:8px;display:flex}.session-name{color:var(--text-muted);background:var(--border);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:140px;padding:2px 8px;font-size:12px;transition:background .2s;overflow:hidden}.session-name:hover{background:var(--border-hover);color:var(--text)}.search-bar{-webkit-backdrop-filter:blur(15px);background:#0a0a1480;border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}[data-theme=light] .search-bar{background:#fff9;border-bottom:1px solid #7c3aed1f}.search-input{color:var(--text);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .3s,box-shadow .3s}[data-theme=light] .search-input{background:#ffffffb3;border:1px solid #7c3aed33}.search-input:focus{border-color:#7c3aed99;box-shadow:0 0 15px #7c3aed26}.search-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.btn-search-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px;font-size:16px}.btn-search-close:hover{background:var(--border)}mark.search-highlight{color:#c4b8ff;background:#7c6af759;border-radius:2px;padding:0 1px}.msg-search-match .msg-bubble{outline:1px solid #7c6af766}.code-block-wrapper{margin:8px 0;position:relative}.btn-copy-code{background:var(--copy-btn-bg);color:var(--copy-btn-text);cursor:pointer;z-index:2;border:none;border-radius:6px;padding:3px 8px;font-family:inherit;font-size:11px;line-height:1.4;transition:background .2s,color .2s;position:absolute;top:8px;right:8px}.btn-copy-code:hover{background:var(--copy-btn-bg-hover);color:var(--text)}.btn-copy-code.copied{color:#4ade80;background:#4ade8033}.msg-bubble{position:relative}.msg-menu{-webkit-backdrop-filter:blur(20px);z-index:50;background:#0a0819e6;border:1px solid #ffffff1a;border-radius:12px;min-width:190px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000080,0 0 0 1px #7c3aed1a}[data-theme=light] .msg-menu{background:#ffffffe6;border:1px solid #7c3aed26;box-shadow:0 8px 32px #7c3aed26}.msg-user .msg-menu{left:auto;right:0}.msg-assistant .msg-menu{left:0;right:auto}.msg-menu button{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;padding:10px 14px;font-family:inherit;font-size:13px;transition:background .15s;display:block}.msg-menu button:last-child{border-bottom:none}.msg-menu button:hover{background:var(--border)}.edit-area{flex-direction:column;gap:8px;display:flex}.edit-textarea{background:var(--bg);color:var(--text);border:1px solid var(--accent);resize:vertical;border-radius:8px;outline:none;min-height:60px;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.4}.edit-actions{gap:8px;display:flex}.btn-edit-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;transition:background .2s}.btn-edit-save:hover{background:var(--accent-hover)}.btn-edit-cancel{background:var(--border);color:var(--text-muted);cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;transition:background .2s}.btn-edit-cancel:hover{background:var(--border-hover)}.pin-indicator{font-size:14px;line-height:1;position:absolute;top:-8px;right:-4px}.msg-pinned .msg-bubble{border-color:#7c6af780!important}.pinned-item{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.pinned-role{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.pinned-text{color:var(--text);font-size:13px;line-height:1.4}.btn-unpin{background:var(--border);color:var(--text-muted);cursor:pointer;border:none;border-radius:6px;align-self:flex-start;margin-top:4px;padding:3px 8px;font-family:inherit;font-size:12px;transition:background .15s}.btn-unpin:hover{background:var(--border-hover);color:var(--text)}.sessions-panel{max-height:80vh}.btn-new-session{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:13px;transition:background .2s}.btn-new-session:hover{background:var(--accent-hover)}.session-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:10px 14px;transition:background .3s,box-shadow .3s;display:flex}.session-item:hover{background:#ffffff12;box-shadow:0 0 20px #7c3aed14}[data-theme=light] .session-item{background:#ffffff80;border:1px solid #7c3aed1a}[data-theme=light] .session-item:hover{background:#ffffffbf}.session-active{background:#7c3aed1f!important;border-color:#7c3aed4d!important}.session-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.session-active .session-title{color:var(--accent);font-weight:500}.session-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.session-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:3px 6px;font-size:14px;transition:background .15s}.session-btn:hover{background:var(--border)}.session-btn-del:hover{background:#f8717126}.session-rename{flex:1;align-items:center;gap:6px;display:flex}.session-rename-input{background:var(--bg);color:var(--text);border:1px solid var(--accent);border-radius:6px;outline:none;flex:1;padding:4px 8px;font-family:inherit;font-size:14px}.reply-preview{-webkit-backdrop-filter:blur(10px);border-top:1px solid #ffffff12;border-left:3px solid var(--accent);background:#0a0a1480;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}[data-theme=light] .reply-preview{background:#fff9;border-top:1px solid #7c3aed1f}.reply-preview-icon{color:var(--accent);flex-shrink:0}.reply-preview-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-style:italic;overflow:hidden}.reply-preview-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:14px;line-height:1;transition:background .15s,color .15s}.reply-preview-close:hover{background:var(--border);color:var(--text)}.settings-panel{max-height:85vh}.settings-content{padding:8px 12px}.settings-section{margin-bottom:8px}.settings-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:12px 4px 8px;font-size:11px;font-weight:700}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 4px;display:flex}.settings-label{color:var(--text);font-size:15px}.theme-switcher{background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;gap:6px;padding:3px;display:flex}[data-theme=light] .theme-switcher{background:#7c3aed0f;border:1px solid #7c3aed1f}.theme-pill{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:13px;transition:background .18s,color .18s;display:flex}.theme-pill:hover{background:var(--border);color:var(--text)}.theme-pill.active{background:var(--accent);color:#fff}.color-row{gap:8px}.color-picker-label{cursor:pointer;align-items:center;gap:8px;display:flex}.color-picker-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.color-picker-swatch{border:2px solid var(--border);cursor:pointer;border-radius:7px;flex-shrink:0;width:28px;height:28px;transition:border-color .18s,transform .15s;display:block}.color-picker-label:hover .color-picker-swatch{border-color:var(--accent);transform:scale(1.1)}.color-picker-value{color:var(--text-muted);letter-spacing:.03em;min-width:56px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.color-picker-label{position:relative}.color-picker-label input[type=color]{opacity:0;cursor:pointer;border:none;width:28px;height:28px;padding:0;position:absolute;top:0;left:0}.btn-reset-colors{background:var(--border);color:var(--text-muted);cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:13px;transition:background .18s,color .18s}.btn-reset-colors:hover{color:#f87171;background:#f871712e}.toggle-switch{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .2s;position:relative}.toggle-switch.on{background:var(--accent)}.toggle-switch:disabled{opacity:.4;cursor:not-allowed}.toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block;position:absolute;top:3px;left:3px}.toggle-switch.on .toggle-thumb{transform:translate(18px)}.notif-blocked-hint{color:#f87171;margin-left:4px;font-size:11px;font-weight:400}.img-preview-wrap{max-width:100%;margin:6px 0;display:inline-block}.msg-image{cursor:pointer;object-fit:contain;border:1px solid var(--border);border-radius:10px;max-width:100%;max-height:300px;transition:opacity .15s;display:block}.msg-image:hover{opacity:.9}.img-preview-label{color:var(--text-muted);text-align:center;margin-top:3px;font-size:11px}.pending-image-preview{-webkit-backdrop-filter:blur(10px);background:#0a0a1480;border-top:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;display:flex}[data-theme=light] .pending-image-preview{background:#fff9;border-top:1px solid #7c3aed1f}.pending-image-thumb{object-fit:cover;cursor:pointer;border:1px solid var(--border);border-radius:8px;flex-shrink:0;width:48px;height:48px;transition:opacity .15s}.pending-image-thumb:hover{opacity:.85}.pending-image-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.swipe-reply-icon{pointer-events:none;z-index:10;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.msg-assistant blockquote,.msg-user blockquote{border-left:3px solid var(--accent);color:var(--text-muted);background:#7c6af714;border-radius:0 8px 8px 0;margin:0 0 8px;padding:6px 12px;font-size:.92em;font-style:italic}.msg-user blockquote{background:#7c6af71f}.msg-assistant blockquote p,.msg-user blockquote p{margin:0}.agents-panel-big{max-height:90vh}.agents-tabs{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.agents-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 4px;font-family:inherit;font-size:13px;transition:color .15s,border-color .15s}.agents-tab:hover{color:var(--text)}.agents-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.agents-search-bar{border-bottom:1px solid var(--border);flex-shrink:0;padding:8px 12px}.agents-search-input{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px}.agents-search-input:focus{border-color:var(--accent)}.agent-timer{color:var(--agent-running-text);background:var(--agent-running-bg);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:11px}.agent-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.agent-btn{background:var(--border);color:var(--text-muted);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:12px;line-height:1.3;transition:background .15s,color .15s;display:inline-flex}.agent-btn:hover{background:var(--border-hover);color:var(--text)}.agent-btn-cancel{color:#f87171}.agent-btn-cancel:hover{color:#f87171;background:#f8717126}.agent-btn-restart{color:var(--accent)}.agent-btn-restart:hover{color:var(--accent);background:#7c6af726}.agent-btn-template{color:var(--text-muted)}.agent-log-panel{margin-top:8px}.agent-log-scroll{background:var(--activity-bg);border:1px solid var(--activity-border);border-radius:8px;max-height:200px;overflow-y:auto}.agent-log-pre{color:var(--activity-text);white-space:pre-wrap;word-break:break-all;margin:0;padding:8px 10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;line-height:1.5}.agent-badge.cancelled{color:var(--text-muted);background:#6b6b8026}.template-form{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px;display:flex}.tpl-input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.tpl-input:focus{border-color:var(--accent)}.tpl-textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:8px;outline:none;min-height:60px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.4}.tpl-textarea:focus{border-color:var(--accent)}.tpl-select{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.tpl-select:focus{border-color:var(--accent)}.btn-tpl-add{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;transition:background .2s;display:inline-flex}.btn-tpl-add:hover{background:var(--accent-hover)}.template-item{border-bottom:1px solid var(--border);padding:12px 14px}.tpl-title{color:var(--text);margin-bottom:3px;font-size:14px;font-weight:600}.tpl-task{color:var(--text-muted);margin-bottom:8px;font-size:12px;line-height:1.4}.tpl-actions{flex-wrap:wrap;gap:6px;display:flex}.schedule-item{border-bottom:1px solid var(--border);padding:12px 14px}.schedule-disabled{opacity:.5}.sch-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.sch-title{color:var(--text);font-size:14px;font-weight:600}.sch-cron{color:var(--accent);white-space:nowrap;background:#7c6af71a;border-radius:999px;padding:2px 7px;font-size:11px}.sch-task{color:var(--text-muted);margin-bottom:5px;font-size:12px;line-height:1.4}.sch-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:11px;display:flex}.global-search-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:60px;display:flex;position:fixed;inset:0}.global-search-panel{-webkit-backdrop-filter:blur(30px);background:#0a0819d9;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;width:min(640px,95vw);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 0 1px #7c3aed1a}[data-theme=light] .global-search-panel{background:#fffc;border:1px solid #7c3aed33;box-shadow:0 20px 60px #7c3aed26}.global-search-header{color:var(--text-muted);border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}[data-theme=light] .global-search-header{border-bottom:1px solid #7c3aed1f}.global-search-input{color:var(--text);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;font-size:15px}.global-search-input::placeholder{color:var(--text-muted)}.global-search-results{flex:1;padding:8px 0;overflow-y:auto}.global-search-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:14px}.global-search-group{margin-bottom:4px}.global-search-group-title{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;sticky:top;padding:8px 16px 4px;font-size:11px;font-weight:700}.global-search-item{cursor:pointer;align-items:baseline;gap:10px;padding:8px 16px;transition:background .12s;display:flex}.global-search-item:hover{background:var(--hover)}.global-search-role{color:var(--text-muted);flex-shrink:0;min-width:36px;font-size:11px;font-weight:600}.global-search-item--user .global-search-role{color:var(--accent)}.global-search-snippet{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.session-main{cursor:pointer;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.session-tags{flex-wrap:wrap;gap:4px;display:flex}.session-tag{color:var(--text);letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff1a;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}[data-theme=light] .session-tag{border:1px solid #00000014}.session-btn-summarize{width:26px;height:26px;color:var(--accent);justify-content:center;align-items:center;display:flex}.session-btn-summarize:hover{background:#7c3aed26!important}.session-btn-summarize:disabled{opacity:.5;cursor:default}.summary-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.summary-modal{-webkit-backdrop-filter:blur(24px);background:#0f0a1aeb;border:1px solid #7c3aed40;border-radius:20px;flex-direction:column;width:100%;max-width:480px;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 40px #7c3aed1a}[data-theme=light] .summary-modal{background:#ffffffeb;border:1px solid #7c3aed33;box-shadow:0 20px 60px #00000026,0 0 40px #7c3aed14}.summary-header{border-bottom:1px solid var(--border);color:var(--accent);flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.summary-body{color:var(--text);white-space:pre-wrap;padding:16px;font-size:14px;line-height:1.6;overflow-y:auto}.suggestions-bar{-webkit-backdrop-filter:blur(12px);background:#0a0a1466;border-top:1px solid #ffffff0f;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 12px;animation:.2s msg-appear;display:flex}[data-theme=light] .suggestions-bar{background:#fff9;border-top:1px solid #7c3aed1a}.suggestion-pill{color:var(--text);cursor:pointer;background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:20px;padding:5px 12px;font-family:inherit;font-size:13px;line-height:1.3;transition:background .15s,border-color .15s,transform .1s}.suggestion-pill:hover{background:#7c3aed38;border-color:#7c3aed73;transform:translateY(-1px)}.suggestion-pill:active{transform:scale(.97)}[data-theme=light] .suggestion-pill{background:#7c3aed12;border:1px solid #7c3aed33}[data-theme=light] .suggestion-pill:hover{background:#7c3aed26}.run-task-wrap{margin-top:10px;display:flex}.btn-run-task{color:var(--accent);cursor:pointer;background:#7c3aed1a;border:1px solid #7c3aed40;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-family:inherit;font-size:12px;transition:background .15s,border-color .15s;display:inline-flex}.btn-run-task:hover{background:#7c3aed33;border-color:#7c3aed66}[data-theme=light] .btn-run-task{background:#7c3aed12}.msg-time{text-align:right;color:var(--text-muted);opacity:.7;-webkit-user-select:none;user-select:none;margin-top:4px;font-size:10px;display:block}.image-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:300;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.image-modal-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex;position:absolute;top:16px;right:16px}.image-modal-img{object-fit:contain;border-radius:12px;max-width:100%;max-height:80vh;box-shadow:0 8px 40px #0009}.image-modal-label{color:#ffffffb3;text-align:center;margin-top:12px;font-size:13px}.provider-type-badge{color:var(--accent);white-space:nowrap;letter-spacing:.02em;background:#7c3aed2e;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600}.provider-dropdown{width:100%;position:relative}.provider-dropdown-trigger{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s;display:flex}.provider-dropdown-trigger:hover,.provider-dropdown-trigger.open{border-color:var(--accent);box-shadow:0 0 0 2px #7c3aed26}.provider-trigger-icon{flex-shrink:0;font-size:16px}.provider-trigger-name{flex:1;font-weight:500}.provider-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .25s}.provider-chevron.rotated{transform:rotate(180deg)}.provider-dropdown-menu{z-index:10;background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;margin-top:6px;animation:.18s dropdown-in;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000040,0 0 0 1px #7c3aed1a}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.provider-dropdown-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:11px 14px;transition:background .15s;display:flex}.provider-dropdown-item:last-child{border-bottom:none}.provider-dropdown-item:hover{background:#7c3aed14}.provider-dropdown-item.active{background:#7c3aed1a}.provider-item-icon{flex-shrink:0;font-size:16px}.provider-item-name{flex:1;font-size:14px;font-weight:500}.provider-item-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.provider-dropdown-item:hover .provider-item-actions{opacity:1}.provider-dropdown-add{border-top:1px solid var(--border)}.provider-add-btn{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:10px 14px;font-family:inherit;font-size:13px;transition:background .15s;display:flex}.provider-add-btn:hover{background:#7c3aed14}.provider-form{background:0 0;flex-direction:column;gap:0;display:flex}.provider-form-input,.provider-form-select{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;margin-bottom:6px;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .2s}.provider-form-input:focus,.provider-form-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #7c3aed26}[data-theme=light] .provider-form-input,[data-theme=light] .provider-form-select{background:#ffffffe6;border-color:#7c3aed33}.provider-form-actions{gap:8px;margin-top:2px;display:flex}
