@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #262624;--bg-secondary: #1e1e1c;--bg-tertiary: #2f2f2d;--bg-hover: #363634;--bg-active: #3d3d3b;--bg-user-msg: #2a2a28;--bg-code: #1a1a18;--bg-tool: rgba(255,255,255,.02);--border: #363634;--border-light: #3d3d3b;--text-primary: #f0ede8;--text-secondary: #9b9689;--text-muted: #6b675f;--text-code: #e2dfd8;--accent: #c96442;--accent-hover: #d97a58;--accent-dim: rgba(201,100,66,.12);--green: #6db86b;--red: #d16054;--yellow: #d4a948;--blue: #6ba3d4;--venice: #a855f7;--scrollbar: #3d3d3b;--scrollbar-hover: #555;--sidebar-width: 260px;--header-height: 48px;--input-max-height: 200px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius: 16px;--radius-sm: 10px;--transition: .15s ease}[data-theme=light]{--bg-primary: #faf8f5;--bg-secondary: #f2efe9;--bg-tertiary: #e8e5de;--bg-hover: #ddd9d0;--bg-active: #d2cec5;--bg-user-msg: #eae7e0;--bg-code: #f0ede8;--bg-tool: rgba(0,0,0,.02);--border: #ddd9d0;--border-light: #ccc8bf;--text-primary: #1a1917;--text-secondary: #6b6860;--text-muted: #9b9689;--text-code: #1a1917;--scrollbar: #ccc8bf;--scrollbar-hover: #aaa69d}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:14px;line-height:1.65;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.app-layout{display:flex;height:100%;width:100%}.sidebar{width:var(--sidebar-width);height:100%;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:transform var(--transition),width var(--transition);z-index:50}.sidebar-header{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height)}.sidebar-header h1{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.new-chat-btn{display:flex;align-items:center;gap:8px;padding:9px 14px;margin:4px 14px 8px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.new-chat-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.mirror-btn{background:transparent;border:1px solid var(--border);color:var(--yellow)}.mirror-btn:hover{background:var(--bg-hover);border-color:var(--yellow);transform:translateY(-1px)}.conversation-list{flex:1;overflow-y:auto;padding:4px 8px}.conv-group-label{padding:10px 10px 4px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.conv-item{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:1px 0;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);color:var(--text-secondary);font-size:13px}.conv-item:hover{background:var(--bg-hover);color:var(--text-primary)}.conv-item.active{background:var(--bg-active);color:var(--text-primary)}.conv-item .conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-item .conv-delete{opacity:0;transition:opacity var(--transition);padding:2px;border-radius:4px;color:var(--text-muted);flex-shrink:0;background:none;border:none;cursor:pointer}.conv-item:hover .conv-delete{opacity:1}.conv-item .conv-delete:hover{color:var(--red)}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:6px}.sidebar-footer button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;transition:all var(--transition)}.sidebar-footer button:hover{background:var(--bg-hover);color:var(--text-primary)}.main-content{flex:1;display:flex;flex-direction:column;height:100%;min-width:0}.chat-header{min-height:var(--header-height);padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.chat-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.chat-header-right{display:flex;align-items:center;gap:2px;flex-shrink:0}.chat-header button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;transition:all var(--transition);flex-shrink:0}.chat-header button:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-toggle-btn{display:flex!important}.header-title{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all var(--transition)}.header-title:hover{background:var(--bg-hover);color:var(--text-primary)}.rename-input{background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:4px;color:var(--text-primary);font-size:13px;padding:3px 8px;outline:none;font-family:var(--font-sans);width:200px}.chat-messages{flex:1;overflow-y:auto;padding:0;scroll-behavior:smooth}.chat-messages-inner{max-width:720px;margin:0 auto;padding:24px 20px 120px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted);padding:40px;text-align:center}.empty-state h2{font-size:20px;font-weight:600;color:var(--text-secondary)}.empty-state p{font-size:14px;max-width:380px;line-height:1.6}.message{padding:20px 0 8px}.message-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.message-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.message-avatar.user{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-light)}.message-avatar.assistant{background:var(--accent);color:#fff}.message-role{font-size:13px;font-weight:600}.message-time{font-size:11px;color:var(--text-muted)}.msg-copy-btn{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;opacity:0;transition:all var(--transition)}.message:hover .msg-copy-btn{opacity:1}.msg-copy-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.msg-copy-btn.copied{color:var(--green);opacity:1}.message-content{padding-left:36px;font-size:14px;line-height:1.7;word-break:break-word;color:var(--text-primary)}.message-content p{margin-bottom:10px}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:8px 0 8px 20px}.message-content li{margin-bottom:4px}.message-content h1,.message-content h2,.message-content h3{margin:16px 0 8px;font-weight:600}.message-content h1{font-size:20px}.message-content h2{font-size:17px}.message-content h3{font-size:15px}.message-content a{color:var(--accent);text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content table{border-collapse:collapse;margin:10px 0;width:100%;font-size:13px}.message-content th,.message-content td{border:1px solid var(--border);padding:6px 10px;text-align:left}.message-content th{background:var(--bg-tertiary);font-weight:600}.message-content code:not(pre code){background:var(--bg-code);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:12.5px;color:var(--text-code)}.msg-image{margin:12px 0}.msg-image img{max-width:100%;max-height:512px;border-radius:var(--radius-sm);border:1px solid var(--border)}.code-block{position:relative;margin:12px 0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-muted)}.code-block-copy{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:11px;display:flex;align-items:center;gap:4px;transition:all var(--transition)}.code-block-copy:hover{color:var(--text-primary);background:var(--bg-hover)}.code-block-copy.copied{color:var(--green)}.code-block pre{margin:0;padding:12px 16px;overflow-x:auto;background:var(--bg-code);font-family:var(--font-mono);font-size:12.5px;line-height:1.5;color:var(--text-code)}.tool-call{margin:8px 0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-tool)}.tool-call-header{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);transition:background var(--transition);-webkit-user-select:none;user-select:none}.tool-call-header:hover{background:var(--bg-hover)}.tool-call-header .tool-icon{color:var(--accent);flex-shrink:0}.tool-call-header .tool-name{font-family:var(--font-mono);font-size:12px;color:var(--accent)}.tool-call-header .tool-chevron{margin-left:auto;transition:transform var(--transition);color:var(--text-muted)}.tool-call-header .tool-chevron.open{transform:rotate(90deg)}.tool-call-body{padding:0 12px 10px;font-size:12px}.tool-call-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;margin-top:6px}.tool-call-input pre,.tool-call-output pre{margin:0;padding:8px 10px;background:var(--bg-code);border-radius:6px;font-family:var(--font-mono);font-size:11.5px;line-height:1.4;overflow-x:auto;color:var(--text-code);max-height:300px;overflow-y:auto}.thinking-block{margin:8px 0;border-radius:var(--radius-sm);overflow:hidden}.thinking-header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;font-size:12px;color:var(--text-muted);transition:background var(--transition);border-radius:var(--radius-sm)}.thinking-header:hover{background:var(--bg-hover)}.thinking-body{padding:8px 12px;font-size:12.5px;color:var(--text-secondary);border-top:1px solid var(--border);max-height:400px;overflow-y:auto;white-space:pre-wrap;font-family:var(--font-mono);line-height:1.5}.streaming-cursor{display:inline-block;width:2px;height:16px;background:var(--accent);border-radius:1px;margin-left:1px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{50%{opacity:0}}.streaming-status{display:inline-flex;align-items:center;gap:7px;padding:6px 14px 6px 10px;margin:10px 0 4px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:20px;font-size:12.5px;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.01em;box-shadow:0 1px 6px #0000001f;animation:statusFadeIn .2s ease-out}@keyframes statusFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.streaming-status-orb{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:orbPulse 1.6s ease-in-out infinite}@keyframes orbPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #c9644266}50%{opacity:.7;transform:scale(.85);box-shadow:0 0 0 4px #c9644200}}.streaming-status-label{color:var(--text-primary);font-weight:500;animation:labelSlide .3s ease-out}@keyframes labelSlide{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.streaming-status-sep{color:var(--text-muted);font-weight:300}.streaming-status-time{color:var(--text-muted);font-size:11.5px;font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:32px}.input-area{padding:0 20px 16px;flex-shrink:0}.input-area-inner{max-width:720px;margin:0 auto}.mirror-hint{display:flex;align-items:center;gap:6px;justify-content:center;padding:6px 0;font-size:12px;color:var(--yellow);opacity:.8}.attached-files{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.attached-file{display:flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--text-secondary)}.attached-file button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center}.attached-file button:hover{color:var(--red)}.input-wrapper{position:relative;display:flex;align-items:flex-end;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:20px;padding:10px 16px;transition:border-color var(--transition),box-shadow var(--transition);box-shadow:0 2px 12px #00000026}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 2px 16px #c964421a}.input-wrapper.uncensored{border-color:var(--venice);box-shadow:0 2px 16px #a855f726}.input-wrapper.imagen{border-color:var(--yellow);box-shadow:0 2px 16px #d4a94833}.input-wrapper.recording{border-color:var(--red);box-shadow:0 2px 16px #d1605433}.input-wrapper textarea{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;resize:none;max-height:var(--input-max-height);min-height:22px;padding:0}.input-wrapper textarea::placeholder{color:var(--text-muted)}.send-btn{background:var(--accent);border:none;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:8px;transition:all var(--transition)}.send-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.send-btn:disabled{opacity:.3;cursor:not-allowed}.stop-btn{background:var(--red)}.stop-btn:hover{background:#c44}.mic-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:6px;transition:all var(--transition)}.mic-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.mic-btn.active{color:var(--red);animation:micPulse 1.5s infinite}@keyframes micPulse{0%,to{opacity:1}50%{opacity:.5}}.input-toolbar{display:flex;align-items:center;gap:4px;padding:6px 4px 0;flex-wrap:wrap}.toolbar-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:6px;display:flex;align-items:center;transition:all var(--transition);font-size:12px}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:11px;color:var(--text-muted);padding:3px 8px;border-radius:6px;transition:all var(--transition);-webkit-user-select:none;user-select:none}.toolbar-toggle input{display:none}.toolbar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-toggle.active{color:var(--venice);background:#a855f71a}.toolbar-toggle.active.imagen{color:var(--yellow);background:#d4a9481a}.input-hint-inline{font-size:11px;color:var(--text-muted);margin-left:auto;opacity:.5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.search-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:560px;max-height:65vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.search-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.search-input-row input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:15px;font-family:var(--font-sans)}.search-input-row input::placeholder{color:var(--text-muted)}.search-results{flex:1;overflow-y:auto;padding:8px}.search-result-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition)}.search-result-item:hover{background:var(--bg-hover)}.search-result-title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.search-result-snippet{font-size:12px;color:var(--text-secondary);line-height:1.4}.search-result-snippet mark{background:var(--accent-dim);color:var(--accent);border-radius:2px;padding:0 2px}.export-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;min-width:160px;z-index:60;box-shadow:0 8px 24px #0006}.export-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer;border-radius:6px;transition:background var(--transition)}.export-menu button:hover{background:var(--bg-hover)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:500;flex-shrink:0}.status-badge.connected{background:#6db86b1f;color:var(--green)}.status-badge.disconnected{background:#d160541f;color:var(--red)}.status-badge.streaming{background:var(--accent-dim);color:var(--accent)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:20px}.login-card{width:100%;max-width:360px;padding:36px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius)}.login-card h1{font-size:20px;font-weight:600;margin-bottom:4px}.login-card p{font-size:13px;color:var(--text-muted);margin-bottom:24px}.login-card label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.login-card input{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;margin-bottom:16px;transition:border-color var(--transition)}.login-card input:focus{border-color:var(--accent)}.login-card .login-btn{width:100%;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition)}.login-card .login-btn:hover{background:var(--accent-hover)}.login-card .login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{color:var(--red);font-size:13px;margin-bottom:12px}.mirror-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:#c964421f;color:var(--accent);border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.03em;flex-shrink:0}.mirror-badge .live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:livePulse 2s infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}.settings-popover{position:absolute;top:calc(var(--header-height) + 4px);right:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:16px;min-width:220px;z-index:60;box-shadow:0 8px 24px #0006}.settings-popover h3{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.settings-popover select{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:6px 8px;font-size:13px;outline:none;width:100%;margin-top:4px}.toast-container{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);box-shadow:0 4px 16px #0000004d;animation:toastIn .2s ease-out;max-width:300px}.toast.success{border-left:3px solid var(--green)}.toast.error{border-left:3px solid var(--red)}.toast.info{border-left:3px solid var(--blue)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-strip{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:11px;flex-shrink:0;overflow-x:auto}.status-strip-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:4px;display:flex;align-items:center;transition:all var(--transition);flex-shrink:0}.status-strip-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.status-metric{display:flex;align-items:center;gap:5px;padding:3px 8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all var(--transition);white-space:nowrap;flex-shrink:0}.status-metric:hover{border-color:var(--accent);background:var(--bg-hover)}.status-metric-label{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.status-metric-value{color:var(--text-primary);font-weight:500;font-family:var(--font-mono);font-size:11px}.status-strip-metrics{display:flex;align-items:center;gap:6px;flex:1;overflow-x:auto}.status-bar-wrap{width:40px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.status-bar-fill{height:100%;border-radius:2px;transition:width .3s ease;background:var(--green)}.status-metric .status-bar-wrap .status-bar-fill{background:var(--green)}.status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.status-dot.dot-green{background:var(--green)}.status-dot.dot-red{background:var(--red)}.status-dots{display:flex;gap:3px;align-items:center}.status-queue-badge{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;background:var(--red);color:#fff;border-radius:7px;font-size:9px;font-weight:700;margin-left:3px;padding:0 3px}.quick-actions-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:480px;max-height:60vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.quick-actions-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.quick-actions-header input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:var(--font-sans)}.quick-actions-header input::placeholder{color:var(--text-muted)}.quick-actions-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex}.quick-actions-close:hover{color:var(--text-primary);background:var(--bg-hover)}.quick-actions-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.quick-actions-group{margin-bottom:4px}.quick-actions-list{flex:1;overflow-y:auto;padding:6px}.quick-actions-category{padding:6px 10px 2px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.quick-action-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition)}.quick-action-item:hover,.quick-action-item.selected{background:var(--bg-hover)}.quick-action-item:disabled{opacity:.5;cursor:not-allowed}.quick-action-item{background:none;border:none;width:100%;text-align:left}.quick-action-icon{color:var(--accent);flex-shrink:0;display:flex}.quick-action-text{display:flex;flex-direction:column;gap:1px}.quick-action-name{font-size:13px;color:var(--text-primary);font-weight:500}.quick-action-desc{font-size:11px;color:var(--text-muted)}.quick-action-loading{display:flex;align-items:center;justify-content:center;padding:20px;color:var(--text-muted);gap:8px;font-size:13px}.quick-action-loading .spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.action-result-card{margin:8px 0;padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);border-left:3px solid var(--accent)}.action-result-card .arc-header{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.action-result-card pre{margin:0;padding:8px 10px;background:var(--bg-code);border-radius:6px;font-family:var(--font-mono);font-size:11.5px;line-height:1.4;overflow-x:auto;color:var(--text-code);max-height:300px;overflow-y:auto}.action-result-card.error{border-left-color:var(--red)}.action-result-card.error .arc-header{color:var(--red)}.notification-bell-wrap{position:relative}.notification-bell-btn{position:relative;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;transition:all var(--transition)}.notification-bell-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-badge{position:absolute;top:1px;right:1px;min-width:14px;height:14px;background:var(--red);color:#fff;border-radius:7px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;padding:0 3px}.notification-panel{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:320px;max-height:400px;z-index:70;box-shadow:0 12px 36px #00000080;display:flex;flex-direction:column}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-primary)}.notification-clear-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:2px 6px;border-radius:4px}.notification-clear-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-list{flex:1;overflow-y:auto;padding:4px}.notification-item{display:flex;gap:8px;padding:8px 10px;border-radius:6px;border-left:3px solid var(--border);margin:2px 0;transition:background var(--transition);align-items:flex-start}.notification-item:hover{background:var(--bg-hover)}.notification-content{flex:1;min-width:0}.notification-text{font-size:12px;color:var(--text-primary);line-height:1.4;display:block}.notification-time{font-size:10px;color:var(--text-muted);margin-top:2px;display:block}.notification-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;flex-shrink:0;display:flex;opacity:0;transition:all var(--transition)}.notification-item:hover .notification-dismiss{opacity:1}.notification-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.notification-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:12px}.shortcuts-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:420px;box-shadow:0 20px 60px #00000080;overflow:hidden}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.shortcuts-header h2{font-size:14px;font-weight:600}.shortcuts-header button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex}.shortcuts-header button:hover{color:var(--text-primary);background:var(--bg-hover)}.shortcuts-list{padding:12px 16px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.shortcut-row:last-child{border-bottom:none}.shortcut-keys{display:flex;align-items:center;gap:2px}.shortcut-plus{color:var(--text-muted);font-size:10px;margin:0 2px}.shortcut-keys kbd{display:inline-block;padding:2px 6px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:11px;color:var(--text-primary);min-width:20px;text-align:center}.shortcut-desc{font-size:12px;color:var(--text-secondary)}.tool-summary{color:var(--text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tool-status-area{display:flex;align-items:center;gap:4px;flex-shrink:0}.tool-done{color:var(--green);font-size:10px}.tool-spinner{color:var(--accent);animation:spin 1s linear infinite}.tool-output-error pre{border-left:3px solid var(--red)}.tool-table-wrap{overflow-x:auto;margin:4px 0}.tool-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11px;line-height:1.3}.tool-table th,.tool-table td{padding:4px 8px;border:1px solid var(--border);text-align:left}.tool-table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.tool-table td{color:var(--text-code)}.tool-file-output{position:relative}.tool-file-pre{font-size:11px;line-height:1.5;counter-reset:line}.tool-badge.tool-badge-amber{background:#d4a94826;color:var(--yellow)}.tool-badge.tool-badge-blue{background:#6ba3d426;color:var(--blue)}.tool-diff{margin-top:6px}.tool-diff-old{padding:6px 10px;background:#d1605414;border-radius:4px 4px 0 0;border:1px solid rgba(209,96,84,.2);font-family:var(--font-mono);font-size:11.5px;line-height:1.4;white-space:pre-wrap;overflow-x:auto;color:var(--red);max-height:200px;overflow-y:auto}.tool-diff-new{padding:6px 10px;background:#6db86b14;border-radius:0 0 4px 4px;border:1px solid rgba(109,184,107,.2);border-top:none;font-family:var(--font-mono);font-size:11.5px;line-height:1.4;white-space:pre-wrap;overflow-x:auto;color:var(--green);max-height:200px;overflow-y:auto}.tool-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.tool-badge.edited{background:#d4a94826;color:var(--yellow)}.tool-badge.created{background:#6db86b26;color:var(--green)}.tool-copy-btn{position:absolute;top:6px;right:6px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;padding:3px 6px;border-radius:4px;font-size:10px;display:flex;align-items:center;gap:3px;opacity:0;transition:all var(--transition)}.tool-call-output:hover .tool-copy-btn{opacity:1}.tool-copy-btn:hover{color:var(--text-primary);border-color:var(--accent)}.tool-copy-btn.copied{color:var(--green)}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.chat-messages-inner{padding:16px 12px 120px}.message-content{padding-left:0}.input-area{padding:0 12px 14px}.input-wrapper{border-radius:16px}.header-title{display:none}.status-strip{padding:3px 8px;gap:4px}.status-metric{padding:2px 6px}.notif-panel{width:calc(100vw - 24px);right:12px}}@media(min-width:769px){.sidebar:not(.open){width:0;overflow:hidden;border-right:none}.sidebar.open{width:var(--sidebar-width)}.sidebar-backdrop{display:none}}
