*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#1e1e2e;--bg-surface:#252536;--bg-hover:#2e2e44;--bg-active:#3b3b5c;--text:#cdd6f4;--text-dim:#88a;--accent:#89b4fa;--accent-hover:#74a8f7;--danger:#f38ba8;--danger-hover:#e07090;--warning:#fab387;--success:#a6e3a1;--border:#3b3b5c;--radius:8px;--sidebar-w:280px;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html,body{height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text);overflow:hidden}body{display:flex}#root{width:100%;height:100%;display:flex}ul,ol{margin-left:21px}a{color:#001f46}.assistant a{color:#fff}*{scrollbar-color:var(--border) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@media (width<=768px){:root{--sidebar-w:100vw}#system-msg-panel,#memories-panel,#documents-panel,.tools-popover{-webkit-overflow-scrolling:touch;max-height:70vh!important;overflow-y:auto!important}#sidebar-container{z-index:100;transform:translateX(-100% / 100 * 100);width:var(--sidebar-w);transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}#sidebar-container.open{transform:translate(0)}#sidebar{border-right:none;height:100%;width:100%!important;min-width:100%!important}#main-panel{width:100vw;height:100dvh}.message{max-width:90%;font-size:1rem}button,.folder-header,#chat-list li,.action-btn{min-height:44px}#chat-form,.chat-input-bar{padding:10px}.chat-input-row{gap:8px}#chat-input{font-size:16px}#btn-send{padding:10px 15px}#chat-title{display:none}.sidebar-overlay{z-index:90;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto}.mobile-header{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:56px;padding:8px 16px;display:flex}.mobile-menu-btn{color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:1.5rem;display:flex}.chat-messages-container{padding-bottom:20px}.empty-chat-view{text-align:center;padding:24px}.empty-chat-view h1{font-size:1.5rem}.modal-content{flex-direction:column;display:flex;border:none!important;border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important}.template-selector{flex-direction:column;height:100%;display:flex;width:100%!important}.template-grid{flex:1;grid-template-columns:1fr!important;max-height:none!important;padding:16px!important}.template-card{padding:16px!important}.template-variables{flex-direction:column;height:100%;display:flex;width:100%!important;max-width:100%!important}.template-variables-form{flex:1;overflow-y:auto;padding:16px!important}.modal-header{padding:24px 16px 16px!important}.modal-body{padding:0 16px!important}.modal-footer{gap:12px;padding:16px!important}.modal-footer button{width:100%;margin:0!important}.template-card{flex-direction:row!important;width:100%!important;padding:16px!important}.template-card-info{flex:1}}@media (width>=769px){.mobile-header,.mobile-menu-btn{display:none!important}.sidebar-overlay{display:none}#sidebar-container{width:var(--sidebar-w);min-width:var(--sidebar-w);display:flex}}#sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;width:100%;min-width:0;height:100vh;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.sidebar-header h2{color:var(--text);flex:1;font-size:1rem;font-weight:600}.sidebar-close-btn{display:none;color:var(--text)!important;background:0 0!important;padding:0!important;font-size:1.5rem!important}@media (width<=768px){.sidebar-close-btn{display:flex}}.sidebar-header button,.sidebar-section button{background:var(--accent);color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;padding:4px 12px;font-size:.85rem;font-weight:600;transition:background .15s}.sidebar-header button:hover,.sidebar-section button:hover{background:var(--accent-hover)}.chat-search{padding:4px 10px 8px}.chat-search-inner{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex}.chat-search-inner:focus-within{border-color:var(--accent)}.chat-search-icon{opacity:.5;flex-shrink:0;font-size:.85rem}.chat-search input{width:100%;color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:6px 4px;font-size:.85rem}.chat-search input:focus{border-color:#0000}.chat-search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:.8rem;line-height:1}.chat-search-clear:hover{color:var(--text);background:var(--bg-hover)}#chat-list,#tool-list{flex:1;list-style:none;overflow-y:auto}#chat-list li,#tool-list li{cursor:pointer;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;transition:background .1s;display:flex;overflow:hidden}#chat-list li:hover,#tool-list li:hover{background:var(--bg-hover)}#chat-list li.active,#tool-list li.active{background:var(--bg-active);border-left:3px solid var(--accent)}.sidebar-header-actions{gap:4px;display:flex}.folder-section{border-bottom:1px solid var(--border);border-left:3px solid var(--folder-color,transparent);transition:background .15s}.folder-section.folder-dragging{opacity:.4}.folder-drop-indicator{background:var(--accent);border-radius:1px;height:2px;margin:0 8px}.folder-section.drag-over{background:color-mix(in srgb, var(--folder-color,var(--accent)) 8%, transparent)}.folder-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-dim);align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:color .15s;display:flex}.folder-section:hover{background:color-mix(in srgb, var(--folder-color,var(--accent)) 6%, transparent)}.folder-header:hover{color:var(--text)}.folder-icon{flex-shrink:0;font-size:.9rem}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.folder-count{color:var(--text-dim);background:var(--bg-primary);border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:.75rem}.folder-rename-input{border:1px solid var(--accent);background:var(--bg-primary);color:var(--text);border-radius:4px;outline:none;flex:1;padding:2px 6px;font-size:.85rem}.folder-chats{margin:0;padding:0;list-style:none}.folder-chats li{padding-left:32px!important}.unfiled-chats{margin:0;padding:0;list-style:none}#tool-list li .tool-indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px}#tool-list li .tool-indicator.enabled{background:var(--success)}#tool-list li .tool-indicator.disabled{background:var(--danger)}.sidebar-section{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px 8px;display:flex}.sidebar-section .section-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.sidebar-section .section-header:hover h3{color:var(--text)}.collapse-chevron{color:var(--text-dim);font-size:.75rem;transition:transform .2s;display:inline-block}.collapse-chevron.collapsed{transform:rotate(-90deg)}.sidebar-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:.8rem;transition:color .15s}.sidebar-section ul{max-height:200px;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:12px 16px;position:relative}.sidebar-footer select{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px;font-size:.85rem}#main-panel{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.view{flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.view.active{display:flex}#chat-header{border-bottom:1px solid var(--border);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}#chat-title{font-size:1rem;font-weight:600}.chat-header-actions{gap:4px;display:flex}.chat-welcome{opacity:.85;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:12px;padding:48px 24px 32px;display:flex;overflow-y:auto}.chat-welcome-icon{margin-bottom:4px;font-size:3rem;line-height:1}.chat-welcome-title{color:var(--text);text-align:center;font-size:1.2rem;font-weight:600}.chat-welcome-text{color:var(--text-dim);text-align:center;opacity:.7;max-width:280px;font-size:.9rem;line-height:1.5}.chat-welcome-hint{color:var(--text-dim);margin-top:4px;font-size:.85rem;display:none}.chat-welcome-section{text-align:left;flex-direction:column;gap:6px;width:100%;max-width:340px;margin-top:12px;display:flex}.chat-welcome-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:0 2px;font-size:.75rem;font-weight:600}.chat-welcome-list{flex-direction:column;gap:4px;display:flex}.chat-welcome-list--indented{border-left:2px solid var(--border);padding-left:12px}.chat-welcome-project-header{cursor:pointer;width:100%;color:var(--text);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;align-items:center;gap:8px;padding:4px 2px;font-size:.75rem;font-weight:600;display:flex}.chat-welcome-project-header:hover .chat-welcome-section-label{color:var(--accent)}.chat-welcome-project-arrow{color:var(--text-dim);margin-left:auto;font-size:1rem;line-height:1}.chat-welcome-project-type{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--bg-surface);opacity:.7;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:500}.chat-welcome-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:.88rem;transition:background .15s;display:flex}.chat-welcome-item:hover{background:var(--bg-hover)}.chat-welcome-item-icon{flex-shrink:0;font-size:1rem}.chat-welcome-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=768px){.no-chat #chat-header{display:none}.chat-welcome-hint{display:block}}#system-msg-panel{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 20px;transition:max-height .2s,padding .2s;display:flex}#system-msg-panel.collapsed{display:none}#system-msg-input{resize:vertical;background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);outline:none;padding:10px 14px;font-size:.88rem;line-height:1.4;transition:border-color .15s}#system-msg-input:focus{border-color:var(--accent)}.system-msg-actions{justify-content:flex-end;gap:8px;display:flex}.system-msg-model-row{align-items:center;gap:10px;display:flex}.system-msg-model-row label{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.system-msg-model-row select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:6px 10px;font-size:.85rem;transition:border-color .15s}.system-msg-model-row select:focus{border-color:var(--accent)}.icon-btn{cursor:pointer;color:var(--text);border-radius:var(--radius);background:0 0;border:none;padding:6px 10px;font-size:1.2rem;transition:background .15s,color .15s,transform .15s,opacity .15s}.icon-btn:hover{background:var(--bg-hover);color:var(--accent)}.chat-messages-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}#chat-messages{flex-direction:column;flex:1;gap:18px;width:100%;height:100%;padding:32px 20px 20px;display:flex;overflow-y:auto}.chat-block{content-visibility:auto;contain-intrinsic-size:auto 80px}.context-summary-banner{border-radius:var(--radius);color:var(--text-dim);background:#cba6f71a;border:1px solid #cba6f74d;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;font-size:.85rem;display:flex}.context-summary-banner .summary-icon{font-size:1.1rem}.context-summary-banner .summary-text{flex:1;min-width:200px}.context-summary-banner .summary-details{width:100%;margin-top:4px}.context-summary-banner .summary-details summary{cursor:pointer;color:var(--accent);-webkit-user-select:none;user-select:none;padding:4px 0;font-size:.8rem}.context-summary-banner .summary-details summary:hover{text-decoration:underline}.context-summary-banner .summary-content{border-radius:var(--radius);background:#00000026;max-height:200px;margin-top:8px;padding:10px;font-size:.82rem;line-height:1.5;overflow-y:auto}.message{border-radius:var(--radius);word-wrap:break-word;flex-shrink:0;max-width:95%;padding:12px 16px;font-size:.92rem;line-height:1.55}.message.user{background:var(--accent);color:var(--bg);border-bottom-right-radius:2px;margin-left:auto;margin-right:0}.message.assistant{background:var(--bg-surface);border:1px solid var(--border);border-bottom-left-radius:2px;margin-left:0;margin-right:auto}.msg-copy-btn{color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;margin-top:6px;padding:2px 6px;font-size:.75rem;transition:opacity .15s,color .15s;display:block}.message.assistant:hover .msg-copy-btn{opacity:1}.msg-copy-btn:hover{color:var(--accent)}.message p{margin:.4em 0}.message code{background:var(--bg);font-family:var(--font-mono);border-radius:3px;padding:1px 5px;font-size:.85em}.message pre{background:var(--bg);border-radius:var(--radius);margin:.5em 0;padding:10px;overflow-x:auto}.message pre code{background:0 0;padding:0}.message.user code,.message.user pre{background:#00000026}.message.user pre code{background:0 0;padding:0}.message table{border-collapse:collapse;width:100%;margin:.75em 0 24px;font-size:.9em;display:block;overflow-x:auto}.message table th,.message table td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:7px 12px}.message table th{background:var(--bg-hover);color:var(--text);font-weight:600}.message table tr:nth-child(2n) td{background:var(--bg-hover)}.message table tr:hover td{background:var(--bg-active)}.message.user table th,.message.user table td{border-color:#0003}.message.user table th{color:var(--bg);background:#0003}.message.user table tr:nth-child(2n) td{background:#0000001a}.tool-card{border-radius:6px;flex-shrink:0;width:100%;max-width:92%;margin:0 auto;font-size:.82rem;overflow:hidden}.tool-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 12px;display:flex}.tool-card-icon{flex-shrink:0;font-size:.85rem}.tool-card-label{text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.75rem;font-weight:600}.tool-card-name{font-family:var(--font-mono);opacity:.8;flex-shrink:0;font-size:.78rem}.tool-card-summary{font-family:var(--font-mono);opacity:.5;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.75rem;overflow:hidden}.tool-card-toggle{opacity:.4;flex-shrink:0;margin-left:auto;font-size:.7rem;transition:transform .2s}.tool-card.collapsed .tool-card-toggle{transform:rotate(-90deg)}.tool-card.collapsed .tool-card-body{display:none}.tool-card-body{padding:0 12px 8px}.tool-card-row{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.tool-card-key{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);flex-shrink:0;min-width:70px;font-size:.72rem}.tool-card-val{font-family:var(--font-mono);font-size:.82rem}.tool-card-val.fn-name{color:var(--accent);font-weight:600;font-family:var(--font-mono);flex-shrink:0;font-size:.8rem}.tool-card-json,.tool-card-output{background:var(--bg);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:4px;margin:2px 0 0;padding:8px 10px;font-size:.78rem;line-height:1.4;overflow-x:auto}.tool-call-card{background:#fac8500a;border:1px dashed #fac85059}.tool-call-card .tool-card-header{color:#fac850}.tool-call-card .tool-card-json{color:var(--text);border:1px solid #fac85026}.tool-result-card{background:#a6e3a10a;border:1px solid #a6e3a14d}.tool-result-card .tool-card-header{color:var(--success)}.tool-result-card .tool-card-output{color:var(--text);border:1px solid #a6e3a126}.tool-card-markdown{color:var(--text);padding:6px 10px 2px;font-size:.85rem;line-height:1.55;overflow-x:auto}.tool-card-markdown p{margin:0 0 6px}.tool-card-markdown ul,.tool-card-markdown ol{margin:0 0 6px;padding-left:1.4em}.tool-card-markdown code{font-family:var(--font-mono);background:var(--bg);border-radius:3px;padding:1px 4px;font-size:.8em}.tool-card-markdown pre{background:var(--bg);border-radius:4px;padding:8px;overflow-x:auto}.tool-card-markdown h1,.tool-card-markdown h2,.tool-card-markdown h3{color:var(--accent);margin:6px 0 4px;font-size:.95em}.tool-card-list{color:var(--text);margin:0;padding:6px 10px 4px 28px;font-size:.85rem;line-height:1.6;list-style:outside}.tool-card-list li{margin-bottom:2px}.tool-card-questions{padding:6px 8px 4px;list-style:none}.tool-card-questions li{margin-bottom:4px}.tool-question-btn{text-align:left;width:100%;color:var(--accent);cursor:pointer;background:#89b4fa14;border:1px solid #89b4fa40;border-radius:6px;padding:6px 10px;font-size:.83rem;transition:background .15s,border-color .15s;display:block}.tool-question-btn:hover{background:#89b4fa2e;border-color:#89b4fa80}.tool-question-btn:before{content:"▶ ";opacity:.6;font-size:.65em}.tool-card-json-view{font-family:var(--font-mono);background:var(--bg);white-space:pre;color:var(--text);border-radius:4px;padding:8px 10px;font-size:.78rem;line-height:1.4;overflow-x:auto}.tool-card-table-wrap{padding:6px 4px;overflow-x:auto}.tool-card-table{border-collapse:collapse;width:100%;color:var(--text);font-size:.8rem}.tool-card-table th{color:var(--success);text-align:left;white-space:nowrap;background:#a6e3a11a;border-bottom:1px solid #a6e3a14d;padding:5px 10px;font-weight:600}.tool-card-table td{vertical-align:top;border-bottom:1px solid #ffffff0f;padding:4px 10px}.tool-card-table tr:last-child td{border-bottom:none}.tool-card-table tr:hover td{background:#ffffff08}.tool-card-html-preview{background:#fff;line-height:0}.tool-card-html-iframe{border:none;width:100%;height:420px;display:block}.message.error{border:1px solid var(--danger);color:var(--text);border-radius:var(--radius);background:#f38ba814;align-items:flex-start;gap:12px;max-width:600px;margin-left:auto;margin-right:auto;padding:16px;font-size:.9rem;display:flex}.message.error .error-icon{flex-shrink:0;font-size:1.5rem}.message.error .error-content{flex:1;min-width:0}.message.error .error-content strong{color:var(--danger);margin-bottom:4px;display:block}.message.error .error-content p{color:var(--text-dim);word-break:break-word;margin:0;font-size:.85rem}.message.error .error-retry-btn{border-color:var(--danger);color:var(--danger);flex-shrink:0;align-self:center}.message.error .error-retry-btn:hover{background:var(--danger);color:var(--bg)}.chat-empty-hint{color:var(--text-dim);text-align:center;flex:1;justify-content:center;align-items:center;padding:32px 16px;font-size:.85rem;display:flex}.response-actions{flex-shrink:0;justify-content:flex-start;gap:8px;padding:4px 0 2px;display:flex}.tool-pending-markdown-preview{max-height:500px;overflow-y:auto}.tool-pending-doc-title{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:.95rem;font-weight:600}.resp-btn{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius);cursor:pointer;background:0 0;padding:4px 12px;font-size:.78rem;transition:background .15s,color .15s,border-color .15s}.resp-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--accent)}.resp-btn-undo:hover{border-color:var(--danger);color:var(--danger)}.typing-indicator{color:var(--text-dim);font-size:.85rem;font-style:italic;display:inline-block}.typing-indicator:after{content:"▋";animation:.7s step-end infinite blink}@keyframes blink{50%{opacity:0}}.tool-pending-card{background:#89b4fa0f;border:1px dashed #89b4fa66}.tool-pending-card .tool-card-header{color:var(--accent)}.tool-pending-card .tool-card-json{color:var(--text);border:1px solid #89b4fa33}.pending-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:10px 0;display:flex}.pending-actions-buttons{justify-content:center;gap:10px;display:flex}.pending-actions .action-btn{padding:8px 20px;font-size:.88rem;font-weight:600}.action-btn.interrupt{color:#89b4fa;background:#89b4fa1f;border:1px solid #89b4fa4d}.action-btn.interrupt:hover,.action-btn.interrupt.active{background:#89b4fa38;border-color:#89b4fa80}.interrupt-input-area{align-items:flex-end;gap:8px;width:100%;max-width:600px;display:flex}.interrupt-input{background:var(--surface0);color:var(--text);resize:none;border:1px solid #89b4fa4d;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:.88rem}.interrupt-input:focus{border-color:#89b4fa99;box-shadow:0 0 0 2px #89b4fa26}.interrupt-send{flex-shrink:0;height:fit-content;padding:8px 16px!important}.tool-card-actions{gap:4px;margin-left:auto;margin-right:4px;display:inline-flex}.tool-action-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s}.tool-action-btn.tool-approve{color:#a6e3a1;background:#a6e3a126;border-color:#a6e3a14d}.tool-action-btn.tool-approve:hover{background:#a6e3a14d;border-color:#a6e3a180}.tool-action-btn.tool-deny{color:#f38ba8;background:#f38ba826;border-color:#f38ba84d}.tool-action-btn.tool-deny:hover{background:#f38ba84d;border-color:#f38ba880}.tool-group{background:#fac8500a;border:1px dashed #fac85040;border-radius:6px;flex-shrink:0;width:100%;max-width:92%;margin:0 auto;font-size:.82rem;overflow:hidden}.tool-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#fac850;align-items:center;gap:6px;padding:6px 12px;display:flex}.tool-group-summary{flex:1;font-size:.8rem;font-weight:600}.tool-group.collapsed .tool-group-body{display:none}.tool-group.collapsed .tool-card-toggle{transform:rotate(-90deg)}.tool-group-body{flex-direction:column;gap:4px;padding:4px 8px 8px;display:flex}.tool-group-body .tool-card{max-width:100%;margin:0}#tool-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}#tool-header h2{margin:0;font-size:1.2rem}.toggle{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:flex}.toggle input[type=checkbox]{accent-color:var(--accent)}.tool-actions{gap:8px;margin-left:auto;display:flex}.action-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;padding:6px 14px;font-size:.85rem;transition:background .15s}.action-btn:hover{background:var(--bg-hover)}.action-btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.action-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.spinner-inline{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.action-btn.danger{color:var(--danger);border-color:var(--danger)}.action-btn.danger:hover{background:#f38ba81a}#tool-status{align-items:center;min-height:28px;padding:0 20px;font-size:.82rem;display:flex}#tool-status.success{color:var(--success)}#tool-status.error{color:var(--danger)}.tool-editor-form,.tool-code-row{flex-direction:column;flex:1;min-height:0;display:flex}.tool-code-row #editor-container{flex:1;min-height:200px}.function-list{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;max-height:200px;padding:8px;display:flex;overflow-y:auto}.function-item{background:var(--surface-hover);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:all .15s;display:flex}.function-item:hover{background:#89b4fa1a}.function-item.enabled{border-left:3px solid var(--success)}.function-item.disabled{border-left:3px solid var(--muted);opacity:.7}.function-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0}.function-name{font-family:var(--font-mono);color:var(--text);font-size:.9rem;font-weight:600}.function-params{font-family:var(--font-mono);color:var(--muted);font-size:.8rem}.function-doc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin-left:auto;font-size:.8rem;overflow:hidden}.function-list-hint{color:var(--muted);margin-top:4px;font-size:.75rem}#editor-container{flex:1;min-height:0;padding:0;overflow:auto}#editor-container .CodeMirror,#editor-container .cm-editor{height:100%;font-family:var(--font-mono);font-size:.9rem}.tools-popover{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-direction:column;gap:10px;max-height:50vh;padding:12px 16px;display:flex;overflow-y:auto}.tools-popover-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.tools-popover-header h3{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.tools-popover-count{color:var(--text-dim);background:var(--bg);border-radius:10px;padding:2px 8px;font-size:.78rem}.tools-popover-actions{gap:6px;display:flex}.tools-popover-actions .action-btn.small{padding:3px 10px;font-size:.75rem}.tools-popover-loading,.tools-popover-empty{color:var(--text-dim);padding:8px 0;font-size:.85rem}.tools-popover-list{flex-direction:column;gap:8px;display:flex}.tools-popover-group{flex-direction:column;gap:2px;display:flex}.tools-popover-group-name{color:var(--accent);align-items:center;gap:6px;padding:4px 0 2px;font-size:.8rem;font-weight:600;display:flex}.tools-popover-auto-tag{text-transform:uppercase;background:var(--success);color:#1e1e2e;border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:500}.tools-popover-auto-tag.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,opacity .15s}.tools-popover-auto-tag.clickable:hover{opacity:.85}.tools-popover-auto-tag.off{background:var(--text-muted);color:#1e1e2e;opacity:.6}.tools-popover-auto-tag .override-dot{color:var(--warning,#f9e2af);margin-left:2px;font-weight:700}.tools-popover-fn{border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:8px;padding:5px 8px;transition:background .15s;display:flex}.tools-popover-fn:hover{background:var(--bg-hover)}.tools-popover-fn.disabled{opacity:.55}.tools-popover-fn input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.tools-popover-fn-info{flex-direction:column;gap:1px;min-width:0;display:flex}.tools-popover-fn-name{font-family:var(--font-mono);color:var(--text);font-size:.82rem;font-weight:600}.tools-popover-fn-params{font-family:var(--font-mono);color:var(--text-dim);font-size:.72rem}.tools-popover-fn-doc{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-style:italic;overflow:hidden}#streaming-indicator{background:linear-gradient(135deg,#89b4fa26,#89b4fa0d);border:1px solid #89b4fa4d;border-radius:20px;align-items:center;gap:10px;margin-left:16px;padding:6px 14px;animation:2s ease-in-out infinite pulse-border;display:flex}#streaming-indicator.hidden{display:none}.streaming-dots{gap:4px;display:flex}.streaming-dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite bounce}.streaming-dots span:first-child{animation-delay:0s}.streaming-dots span:nth-child(2){animation-delay:.2s}.streaming-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes pulse-border{0%,to{border-color:#89b4fa4d;box-shadow:0 0 8px #89b4fa1a}50%{border-color:#89b4fa99;box-shadow:0 0 16px #89b4fa4d}}.streaming-text{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.stop-btn{color:#f38ba8;cursor:pointer;background:#f38ba826;border:1px solid #f38ba880;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;min-height:24px;margin-left:4px;padding:0;font-size:10px;line-height:1;transition:all .15s;display:flex}.stop-btn:hover{background:#f38ba859;border-color:#f38ba8;box-shadow:0 0 8px #f38ba84d}.rag-status-indicator{cursor:help;border-radius:12px;align-items:center;gap:6px;margin-left:8px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.rag-status-indicator.active{color:#a6e3a1;background:#a6e3a126;border:1px solid #a6e3a166}.rag-status-indicator.inactive{color:#f9e2af;background:#f9e2af1a;border:1px solid #f9e2af4d}.context-status-indicator{cursor:help;color:#89b4fa;background:#89b4fa1a;border:1px solid #89b4fa4d;border-radius:12px;align-items:center;gap:6px;margin-left:8px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.context-status-indicator.has-summary{color:#cba6f7;background:#cba6f726;border:1px solid #cba6f766}.context-status-indicator.summarized{color:#a6e3a1;background:#a6e3a133;border:1px solid #a6e3a180;animation:.5s ease-out summarize-pulse}@keyframes summarize-pulse{0%{transform:scale(1);box-shadow:0 0 #a6e3a166}50%{transform:scale(1.05);box-shadow:0 0 12px 4px #a6e3a14d}to{transform:scale(1);box-shadow:0 0 #a6e3a100}}#btn-send.streaming{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);position:relative;overflow:hidden}#btn-send.streaming:hover{background:var(--bg-hover);border-color:var(--red);color:var(--red)}.stop-icon{font-size:.8rem;line-height:1}#btn-send.streaming:after{content:"";background:linear-gradient(90deg,#0000,#89b4fa33,#0000);width:100%;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{to{left:100%}}.message.assistant.streaming{border-color:var(--accent);position:relative;box-shadow:0 0 12px #89b4fa26}.message.assistant.streaming:before{content:"";border-radius:var(--radius);border:1px solid var(--accent);pointer-events:none;animation:2s ease-in-out infinite pulse-border;position:absolute;inset:-1px}.thinking-placeholder{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;max-width:300px;margin-left:0;margin-right:auto;padding:16px 20px;display:flex}.thinking-placeholder .thinking-icon{font-size:1.2rem;animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.thinking-placeholder .thinking-text{color:var(--text-dim);font-size:.88rem}.thinking-placeholder .thinking-text:after{content:"";animation:1.5s steps(4,end) infinite ellipsis}@keyframes ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}#chat-form,.chat-input-bar{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:6px;padding:12px 20px;display:flex}.chat-input-row{align-items:flex-end;gap:10px;display:flex}.chat-input-bar-error{color:var(--danger);border-radius:var(--radius);background:#ff55551a;padding:6px 12px;font-size:.85rem}.hidden-file-input{display:none}.attach-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:52px;min-height:52px;max-height:52px;font-size:1.4rem;transition:background .15s,border-color .15s;display:flex}.attach-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.attach-btn:disabled{opacity:.5;cursor:not-allowed}.attached-files{flex-wrap:wrap;gap:6px;display:flex}.attached-file-pill{color:var(--accent);background:#89b4fa26;border:1px solid #89b4fa59;border-radius:14px;align-items:center;gap:6px;max-width:220px;padding:4px 8px 4px 10px;font-size:.78rem;display:inline-flex}.attached-file-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.attached-file-remove{color:var(--accent);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:-2px;margin-right:-2px;padding:0 2px;font-size:1.1rem;line-height:1;transition:opacity .15s;display:flex}.attached-file-remove:hover{opacity:1;background:#89b4fa33}.attached-file-pill.pending{opacity:.45;pointer-events:none;border-style:dashed}.attach-progress{align-items:center;gap:8px;width:100%;margin-top:4px;display:flex}.attach-progress-bar{background:var(--bg);border-radius:3px;flex:1;height:6px;overflow:hidden}.attach-progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.attach-progress-text{color:var(--text-dim);white-space:nowrap;font-size:.72rem}.diarize-prompt-overlay{z-index:20;justify-content:center;padding:0 16px;display:flex;position:absolute;bottom:60px;left:0;right:0}.diarize-prompt{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;padding:16px 20px;box-shadow:0 4px 16px #0006}.diarize-prompt p{color:var(--text);margin:0 0 8px;font-size:.88rem;line-height:1.5}.diarize-prompt p:last-of-type{color:var(--text-dim)}.diarize-prompt-actions{gap:8px;margin-top:12px;display:flex}.attachment-card{background:#89b4fa0f;border:1px solid #89b4fa4d;margin-top:10px;margin-bottom:10px}.attachment-card .tool-card-header{color:var(--accent);padding:8px 14px}.attachment-card .tool-card-body{padding:4px 14px 14px}.attachment-card .tool-card-output{color:var(--text);border:1px solid #89b4fa26;max-height:300px;padding:12px;overflow-y:auto}#chat-input{resize:none;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);outline:none;flex:1;max-height:240px;padding:10px 14px;font-size:.92rem;line-height:1.4;transition:border-color .15s;overflow-y:auto}#chat-input:focus{border-color:var(--accent)}#btn-send{background:var(--accent);width:52px;min-height:52px;max-height:52px;color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;padding:0;font-size:1.2rem;font-weight:600;transition:background .15s;display:flex}#btn-send.streaming:hover{background:var(--bg-hover)}#btn-send:disabled{opacity:.5;cursor:not-allowed}.questions-panel{border-radius:var(--radius);background:#89b4fa0f;border:1px solid #89b4fa4d;flex-direction:column;flex-shrink:0;gap:14px;width:100%;max-width:560px;margin:0 auto;padding:18px 20px 16px;display:flex}.questions-panel-progress{align-items:center;gap:6px;display:flex}.questions-panel-dot{background:var(--overlay1);border-radius:50%;width:7px;height:7px;transition:background .15s}.questions-panel-dot.active{background:var(--accent)}.questions-panel-dot.done{background:#89b4fa73}.questions-panel-step-label{color:var(--subtext1);margin-left:auto;font-size:.75rem}.questions-panel-question{color:var(--text);font-size:1rem;font-weight:600;line-height:1.45}.questions-panel-options{flex-direction:column;gap:7px;display:flex}.questions-panel-option-btn{text-align:left;background:var(--surface0);border:2px groove var(--border);width:100%;color:var(--text);border-radius:var(--radius);cursor:pointer;padding:9px 14px;font-family:inherit;font-size:.875rem;transition:background .14s,border-color .14s;display:block}.questions-panel-option-btn:hover{color:var(--accent);background:#89b4fa1f;border-color:#89b4fa80}.questions-panel-option-btn.selected{border-color:var(--accent);color:var(--accent);background:#89b4fa2e;font-weight:600}.questions-panel-option-btn.other{color:var(--subtext1)}.questions-panel-option-btn.other:hover,.questions-panel-option-btn.other.selected{color:var(--accent);border-color:var(--accent);background:#89b4fa1a}.questions-panel-textarea{box-sizing:border-box;background:var(--surface0);border:1px solid var(--overlay1);width:100%;color:var(--text);border-radius:var(--radius);resize:vertical;padding:9px 12px;font-family:inherit;font-size:.875rem;transition:border-color .15s}.questions-panel-textarea:focus{border-color:var(--accent);outline:none}.questions-panel-actions{justify-content:flex-end;gap:8px;display:flex}#documents-panel{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-direction:column;gap:12px;max-height:50vh;padding:16px 20px;display:flex;overflow-y:auto}#documents-panel.collapsed{display:none}.documents-header{flex-direction:column;gap:2px;display:flex}.documents-header h3{color:var(--text);margin:0;font-size:1rem;font-weight:600}.documents-hint{color:var(--text-dim);font-size:.78rem}.documents-upload{flex-direction:column;gap:8px;display:flex}#doc-content-input{resize:vertical;background:var(--bg);width:100%;min-height:80px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);outline:none;padding:10px 14px;font-size:.88rem;line-height:1.4;transition:border-color .15s}#doc-content-input:focus{border-color:var(--accent)}.doc-input-row{align-items:center;gap:8px;display:flex}#doc-name-input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:8px 12px;font-size:.85rem}#doc-name-input:focus{border-color:var(--accent)}.doc-file-upload{align-items:center;gap:8px;display:flex}.file-label{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:6px 12px;font-size:.82rem;transition:background .15s,border-color .15s;display:inline-block}.file-label:hover{background:var(--bg-active);border-color:var(--accent)}#doc-file-input{display:none}#documents-list{flex-direction:column;gap:6px;max-height:180px;display:flex;overflow-y:auto}.no-docs{text-align:center;color:var(--text-dim);padding:12px;font-size:.85rem;font-style:italic}.doc-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:8px 12px;transition:border-color .15s;display:flex}.doc-item:hover{border-color:var(--accent)}.doc-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.doc-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.doc-item-meta{color:var(--text-dim);font-size:.75rem}.doc-item-actions{align-items:center;gap:8px;display:flex}.doc-toggle{width:36px;height:20px;display:inline-block;position:relative}.doc-toggle input{opacity:0;width:0;height:0}.doc-toggle-slider{cursor:pointer;background-color:var(--border);border-radius:20px;transition:all .3s;position:absolute;inset:0}.doc-toggle-slider:before{content:"";background-color:var(--text);border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;bottom:3px;left:3px}.doc-toggle input:checked+.doc-toggle-slider{background-color:var(--accent)}.doc-toggle input:checked+.doc-toggle-slider:before{transform:translate(16px)}.doc-delete-btn{cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px;font-size:1rem;transition:opacity .15s}.doc-delete-btn:hover{opacity:1}.documents-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.documents-actions .toggle{color:var(--text);align-items:center;gap:6px;font-size:.85rem;display:flex}.documents-actions .toggle input{accent-color:var(--accent)}.kb-chat-section,.kb-management-section{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px}.kb-section-header{color:var(--text-dim);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;display:flex}.kb-section-header .action-btn.small{padding:4px 8px;font-size:.75rem}#chat-linked-kbs{flex-wrap:wrap;gap:6px;min-height:28px;margin-bottom:8px;display:flex}.linked-kb-tag{background:var(--accent);color:var(--bg);border-radius:12px;align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;font-weight:500;display:flex}.unlink-kb-btn{color:var(--bg);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.unlink-kb-btn:hover{opacity:1}.no-linked-kbs{color:var(--text-dim);font-size:.8rem;font-style:italic}.kb-link-row{gap:8px;display:flex}.kb-link-row select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1;padding:6px 10px;font-size:.85rem}#kb-list{flex-direction:column;gap:4px;max-height:150px;display:flex;overflow-y:auto}.kb-item{background:var(--bg);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 10px;transition:background .15s;display:flex}.kb-item:hover{background:var(--bg-hover)}.kb-item-info{flex-direction:column;gap:2px;display:flex}.kb-item-name{color:var(--text);font-size:.9rem;font-weight:500}.kb-item-meta{color:var(--text-dim);font-size:.75rem}.kb-open-btn{cursor:pointer;opacity:.6;background:0 0;border:none;font-size:1rem}.kb-open-btn:hover{opacity:1}#kb-detail-panel{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}#kb-detail-panel.hidden{display:none}.kb-detail-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.kb-detail-header input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1;padding:6px 10px;font-size:.95rem;font-weight:500}.action-btn.danger.small{padding:4px 8px;font-size:.75rem}#kb-documents-list{flex-direction:column;gap:4px;max-height:200px;margin-top:8px;display:flex;overflow-y:auto}#kb-view-header{border-bottom:1px solid var(--border);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.kb-view-header-left{align-items:center;gap:12px;display:flex}.kb-view-header-left h2{margin:0;font-size:1.1rem;font-weight:600}#kb-view-content{flex:1;display:flex;overflow:hidden}#kb-list-panel{border-right:1px solid var(--border);background:var(--bg);width:320px;min-width:280px;overflow-y:auto}#kb-view-list{flex-direction:column;gap:8px;padding:12px;display:flex}.kb-list-item{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex}.kb-list-item:hover{border-color:var(--accent);background:var(--bg-hover)}.kb-list-item.active{border-color:var(--accent);background:var(--bg-active);box-shadow:0 0 0 2px #89b4fa33}.kb-list-icon{background:#89b4fa1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.3rem;display:flex}.kb-list-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kb-list-name{color:var(--text);font-size:.92rem;font-weight:600}.kb-list-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}#kb-editor-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.kb-editor-header{border-bottom:1px solid var(--border);background:var(--bg-surface);padding:16px 24px}.kb-editor-header h3{margin:0;font-size:1rem;font-weight:600}.kb-editor-form{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.kb-doc-list{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow-y:auto}.kb-editor-actions{border-top:1px solid var(--border);gap:10px;margin-top:auto;padding-top:12px;display:flex}.doc-edit-btn{cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px;font-size:1rem;transition:opacity .15s}.doc-edit-btn:hover{opacity:1}.doc-item.editing{border-color:var(--accent);box-shadow:0 0 0 2px #89b4fa33}.doc-editor{background:var(--bg-surface);border:1px solid var(--accent);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.doc-editor-header{justify-content:space-between;align-items:center;display:flex}.doc-editor-header h4{color:var(--accent);margin:0;font-size:.95rem;font-weight:600}.doc-editor textarea{resize:vertical;min-height:200px}.doc-editor-actions{gap:10px;display:flex}.manage-list{margin:0;padding:0;list-style:none}.manage-list li{color:var(--text);cursor:pointer;border-radius:var(--radius);padding:6px 12px;font-size:.88rem;transition:background .15s}.manage-list li:hover{background:var(--bg-hover);color:var(--accent)}.modal{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.hidden{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;position:absolute;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;max-width:90vw;max-height:85vh;animation:.2s ease-out modal-appear;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{text-align:center;border-bottom:1px solid var(--border);padding:32px 36px 20px}.modal-header h2{color:var(--text);margin:0 0 8px;font-size:1.5rem;font-weight:700}.modal-subtitle{color:var(--text-dim);margin:0;font-size:.92rem}.modal-footer{border-top:1px solid var(--border);justify-content:center;gap:16px;padding:20px 36px 24px;display:flex}.chat-settings-modal{flex-direction:column;width:720px;max-width:90vw;display:flex}.chat-settings-modal-header{border-bottom:1px solid var(--border);align-items:center;padding:0 12px 0 0;display:flex}.chat-settings-modal-tabs{flex:1;gap:0;display:flex;overflow-x:auto}.chat-settings-tab{color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:14px 18px;font-size:.88rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex}.chat-settings-tab:hover{color:var(--text);background:var(--bg-hover)}.chat-settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.chat-settings-tab-icon{font-size:1.1rem}.chat-settings-tab-label{font-size:.85rem}.chat-settings-close{flex-shrink:0;margin-left:8px}.chat-settings-modal-body{max-height:70vh;overflow-y:auto}.chat-settings-modal-body #system-msg-panel.embedded{border-bottom:none}.chat-settings-modal-body .tools-popover.embedded{border-bottom:none;max-height:none}.chat-settings-modal-body #documents-panel.embedded{border-bottom:none}.chat-settings-modal-body #memories-panel.embedded,.chat-settings-modal-body #skills-panel.embedded{border-bottom:none;max-height:none}@media (width<=768px){.chat-settings-modal{width:95vw}.chat-settings-tab{padding:12px}.chat-settings-tab-label{display:none}.chat-settings-tab-icon{font-size:1.3rem}}.template-selector{width:720px}.template-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:16px;max-height:480px;padding:28px 36px;display:grid;overflow-y:auto}.template-card{background:var(--bg);border:2px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;gap:16px;height:100%;padding:20px 22px;transition:all .2s;display:flex}.template-card:hover{border-color:var(--tpl-color,var(--accent));background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.template-card-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.6rem;display:flex}.template-card-info{flex-direction:column;gap:6px;min-width:0;display:flex}.template-card-name{color:var(--text);font-size:1rem;font-weight:600}.template-card-desc{color:var(--text-dim);font-size:.82rem;line-height:1.4}.template-grid .template-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}.template-card-variables{color:var(--accent);font-size:.78rem}.template-card-workshop{border-style:dashed}.template-workshop-container{width:720px}.template-workshop-preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:200px;margin:0 36px;padding:14px 18px;overflow-y:auto}.template-workshop-preview-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.75rem;font-weight:600}.template-workshop-preview-text{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:.85rem;font-family:var(--font-mono);margin:0;line-height:1.5}.template-variables{flex-direction:column;max-width:620px;display:flex}.template-variables-form{flex-direction:column;flex:1;gap:16px;padding:24px 36px;display:flex;overflow-y:auto}.template-variable-field{flex-direction:column;gap:6px;display:flex}.template-variable-label{color:var(--text);font-size:.85rem;font-weight:600}.template-variable-field input,.template-variable-field textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:var(--font-sans);resize:vertical;outline:none;padding:10px 14px;transition:border-color .15s}.template-variable-field input:focus,.template-variable-field textarea:focus{border-color:var(--accent)}.template-model-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:var(--font-sans);outline:none;width:100%;padding:10px 14px;transition:border-color .15s}.template-model-select:focus{border-color:var(--accent)}.template-model-row{border-top:1px solid var(--border);align-items:center;gap:16px;padding:14px 36px;display:flex}.template-model-row-label{color:var(--text);white-space:nowrap;font-size:.85rem;font-weight:600}.template-model-row .template-model-select{flex:1;width:auto}.project-config-section{flex-direction:column;gap:8px;display:flex}.template-mini-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:320px;padding:4px;display:grid;overflow-y:auto}.template-mini-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;transition:all .15s;display:flex}.template-mini-card:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.template-mini-card.selected{background:var(--accent-muted);border-color:var(--accent)}.template-mini-icon{font-size:1.3rem}.template-mini-name{color:var(--text-secondary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.75rem;overflow:hidden}.template-mini-card.selected .template-mini-name{color:var(--text)}.project-config-info{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.project-config-info p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.project-config-info code{background:var(--bg-tertiary);color:var(--accent);border-radius:3px;padding:2px 5px;font-size:.8rem}#template-header{border-bottom:1px solid var(--border);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.template-header-left{align-items:center;gap:12px;display:flex}.template-header-left h2{margin:0;font-size:1.1rem;font-weight:600}#template-manager-content{flex:1;display:flex;overflow:hidden}#template-list-panel{border-right:1px solid var(--border);background:var(--bg);width:320px;min-width:280px;overflow-y:auto}#template-list{flex-direction:column;gap:8px;padding:12px;display:flex}.template-list-item{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex}.template-list-item:hover{border-color:var(--accent);background:var(--bg-hover)}.template-list-item.active{border-color:var(--accent);background:var(--bg-active);box-shadow:0 0 0 2px #89b4fa33}.template-list-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.3rem;display:flex}.template-list-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.template-list-name{color:var(--text);font-size:.92rem;font-weight:600}.template-list-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.template-edit-btn{cursor:pointer;opacity:0;background:0 0;border:none;padding:6px;font-size:1rem;transition:opacity .15s}.template-list-item:hover .template-edit-btn{opacity:.6}.template-edit-btn:hover{opacity:1!important}#template-editor-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}#template-editor-panel.hidden{display:none}.template-editor-header{border-bottom:1px solid var(--border);background:var(--bg-surface);padding:16px 24px}.template-editor-header h3{margin:0;font-size:1rem;font-weight:600}.template-editor-form{flex-direction:column;flex:1;gap:18px;padding:20px 24px;display:flex;overflow-y:auto}.form-row{flex-direction:column;gap:6px;display:flex}.form-row label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.form-row input[type=text],.form-row textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-row input[type=text]:focus,.form-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #89b4fa26}.form-row textarea{resize:vertical;min-height:120px;line-height:1.5}.form-row-inline{flex-direction:row;gap:20px}.form-col{flex-direction:column;flex:1;gap:6px;display:flex}.icon-picker-wrapper{flex-direction:column;gap:8px;display:flex}.icon-input{text-align:center;width:60px;font-size:1.4rem}.icon-suggestions{flex-wrap:wrap;gap:4px;display:flex}.icon-suggestions button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;width:32px;height:32px;font-size:1rem;transition:all .15s}.icon-suggestions button:hover{border-color:var(--accent);background:var(--bg-hover);transform:scale(1.1)}.color-picker-wrapper{flex-direction:column;gap:8px;display:flex}.color-picker-wrapper input[type=color]{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;width:60px;height:36px;padding:2px}.color-presets{flex-wrap:wrap;gap:4px;display:flex}.color-presets button{cursor:pointer;border:2px solid #0000;border-radius:6px;width:24px;height:24px;transition:all .15s}.color-presets button:hover{border-color:var(--text);transform:scale(1.15)}.template-editor-actions{border-top:1px solid var(--border);gap:10px;margin-top:auto;padding-top:12px;display:flex}.template-editor-actions .action-btn{padding:10px 18px;font-weight:600}.action-btn.saved{animation:.4s saveFlash;background:var(--success)!important;border-color:var(--success)!important}@keyframes saveFlash{0%{transform:scale(1)}40%{transform:scale(1.1)}to{transform:scale(1)}}.form-row label{align-items:center;gap:.5rem;display:flex}.pw-open-btn{color:var(--accent);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;margin-left:auto;padding:2px 10px;font-size:.75rem;font-weight:600;transition:background .15s,color .15s}.pw-open-btn:hover{background:var(--accent);color:#11111b}.pw-open-btn:disabled{opacity:.4;cursor:not-allowed}.new-template-choice{width:100%;max-width:520px}.new-template-choice-cards{flex-direction:column;gap:12px;padding:24px 32px;display:flex}.new-template-choice-card{background:var(--bg);border:2px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;gap:18px;padding:20px 22px;transition:all .18s;display:flex}.new-template-choice-card:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 16px #00000040}.new-template-choice-icon{text-align:center;flex-shrink:0;width:48px;font-size:2rem}.new-template-choice-info{flex-direction:column;gap:4px;display:flex}.new-template-choice-name{color:var(--text);font-size:1rem;font-weight:600}.new-template-choice-desc{color:var(--text-dim);font-size:.82rem;line-height:1.4}.login-backdrop{background:var(--bg);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:380px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #0006}.login-title{color:var(--text);margin-bottom:.25rem;font-size:1.35rem;font-weight:600}.login-subtitle{color:var(--text-dim);margin-bottom:1rem;font-size:.85rem}.login-error{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);background:#f38ba81f;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem}.login-label{color:var(--text-dim);margin-top:.75rem;margin-bottom:.25rem;font-size:.8rem;font-weight:500}.login-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:.6rem .75rem;font-size:.95rem;transition:border-color .15s}.login-input:focus{border-color:var(--accent)}.login-btn{background:var(--accent);color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;margin-top:1.25rem;padding:.65rem;font-size:.95rem;font-weight:600;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-toggle{color:var(--accent);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:.75rem;font-size:.82rem}.login-toggle:hover{text-decoration:underline}.ollama-wait-card{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:400px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #0006}.ollama-wait-icon{justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.ollama-wait-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:2.5rem;height:2.5rem;animation:.9s linear infinite ollama-spin;display:block}@keyframes ollama-spin{to{transform:rotate(360deg)}}.ollama-wait-title{color:var(--text);font-size:1.25rem;font-weight:600}.ollama-wait-subtitle{color:var(--text-dim);max-width:300px;font-size:.875rem;line-height:1.5}.ollama-wait-error{color:var(--danger);font-size:.8rem}.ollama-wait-hint{color:var(--text-dim);font-size:.8rem}.ollama-wait-cmd{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:var(--accent);margin-top:.75rem;padding:.55rem 1.25rem;font-size:.875rem}.logout-btn{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;margin-bottom:.5rem;padding:.45rem .75rem;font-size:.82rem;transition:background .15s,color .15s}.logout-btn:hover{background:var(--bg-hover);color:var(--danger);border-color:var(--danger)}#shop-view{flex-direction:column;height:100%;display:flex;overflow:hidden}#shop-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.shop-status{text-align:center;flex-shrink:0;padding:8px 20px;font-size:.85rem}.shop-status.success{color:var(--success);background:#a6e3a118}.shop-status.error{color:var(--danger);background:#f38ba818}.shop-filters{border-bottom:1px solid var(--border);flex-shrink:0;gap:6px;padding:12px 20px;display:flex}.shop-filter-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:20px;padding:6px 14px;font-size:.82rem;transition:all .15s}.shop-filter-btn:hover{background:var(--bg-hover);color:var(--text)}.shop-filter-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.shop-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start;gap:16px;padding:20px;display:grid;overflow-y:auto}.shop-empty{text-align:center;color:var(--text-dim);grid-column:1/-1;padding:60px 20px;font-size:.95rem}.shop-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;transition:border-color .15s,box-shadow .15s;display:flex}.shop-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.shop-card-header{align-items:center;gap:8px;display:flex}.shop-card-type{flex-shrink:0;font-size:1.3rem}.shop-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.shop-card-desc{color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.shop-card-meta{color:var(--text-dim);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.shop-card-downloads{color:var(--accent);font-weight:600}.shop-card-actions{gap:6px;margin-top:4px;display:flex}.shop-card-actions .action-btn{flex:1;padding:6px 10px;font-size:.8rem}.action-btn.danger-subtle{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius);cursor:pointer;background:0 0;flex:0;padding:6px 10px;font-size:.8rem;transition:all .15s}.action-btn.danger-subtle:hover{border-color:var(--danger);color:var(--danger);background:#f38ba812}.shop-card-own{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 4%, var(--bg-surface))}.shop-card-badge{letter-spacing:.02em;border-radius:10px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:.68rem;font-weight:600}.shop-card-badge.own{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.shop-gallery-modal{flex-direction:column;min-width:min(700px,90vw);max-width:800px;max-height:80vh;padding:0;display:flex;overflow:hidden}.shop-gallery-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.shop-gallery-header h3{margin:0;font-size:1.1rem}.shop-gallery-subtitle{color:var(--text-dim);margin:0;padding:4px 24px 0;font-size:.82rem}.shop-gallery-tabs{gap:4px;padding:16px 24px 0;display:flex}.shop-gallery-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:8px 16px;font-size:.85rem;transition:all .15s}.shop-gallery-tab:hover{background:var(--bg-hover);color:var(--text)}.shop-gallery-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.shop-gallery-grid{flex-direction:column;flex:1;gap:8px;padding:16px 24px 24px;display:flex;overflow-y:auto}.shop-gallery-empty{text-align:center;color:var(--text-dim);padding:40px 20px;font-size:.9rem}.shop-gallery-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s;display:flex}.shop-gallery-card.published{border-color:var(--success);background:color-mix(in srgb, var(--success) 4%, var(--bg))}.shop-gallery-card-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.shop-gallery-card-icon{flex-shrink:0;font-size:1.4rem}.shop-gallery-card-text{flex-direction:column;min-width:0;display:flex}.shop-gallery-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.shop-gallery-card-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.shop-gallery-card-status{flex-shrink:0;align-items:center;gap:8px;display:flex}.shop-gallery-badge{white-space:nowrap;border-radius:10px;padding:3px 10px;font-size:.72rem;font-weight:600}.shop-gallery-badge.published{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.shop-gallery-badge.unpublished{background:color-mix(in srgb, var(--text-dim) 10%, transparent);color:var(--text-dim)}.shop-gallery-card-status .action-btn{padding:5px 12px;font-size:.78rem}.user-menu-btn{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;transition:background .15s,border-color .15s;display:flex}.user-menu-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.user-avatar{background:var(--accent);width:28px;height:28px;color:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.user-menu-chevron{color:var(--text-dim);font-size:.7rem;transition:transform .2s}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);z-index:100;animation:.12s ease-out menu-appear;position:absolute;bottom:calc(100% + 6px);left:16px;right:16px;overflow:hidden;box-shadow:0 -4px 20px #0006}@keyframes menu-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sidebar-footer{position:relative}.user-menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;transition:background .15s;display:flex}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item.active{background:var(--bg-active);color:var(--accent)}.user-menu-item.danger:hover{color:var(--danger);background:#f38ba81a}.user-menu-divider{background:var(--border);height:1px;margin:2px 0}#admin-view{flex-direction:column;height:100%;display:flex;overflow:hidden}#admin-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;padding:12px 20px;display:flex}#admin-header h2{margin:0;font-size:1.1rem;font-weight:600}.admin-tabs{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;gap:0;display:flex}.admin-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:.88rem;transition:color .15s,border-color .15s,background .15s}.admin-tab:hover{color:var(--text);background:var(--bg-hover)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-content{flex:1;padding:24px;overflow-y:auto}.admin-panel{max-width:800px}.admin-panel h3{margin:0 0 16px;font-size:1.1rem;font-weight:600}.admin-panel h4{color:var(--text-dim);margin:0 0 10px;font-size:.95rem;font-weight:600}.admin-status{border-radius:var(--radius);margin-bottom:16px;padding:8px 14px;font-size:.85rem}.admin-status.success{border:1px solid var(--success);color:var(--success);background:#a6e3a11a}.admin-status.error{border:1px solid var(--danger);color:var(--danger);background:#f38ba81a}.admin-actions{border-top:1px solid var(--border);gap:10px;margin-top:20px;padding-top:16px;display:flex}.form-hint{color:var(--text-dim);margin-top:2px;font-size:.78rem}.danger-zone{border:1px solid var(--danger);border-radius:var(--radius);background:#f38ba80d;margin-top:2rem;padding:1.25rem}.danger-zone h3{color:var(--danger);margin:0 0 .5rem}.danger-zone p{color:var(--text-dim);margin:0 0 1rem;font-size:.85rem;line-height:1.5}.admin-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-panel-header h3{margin:0}.admin-user-list{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;margin-bottom:4px;display:flex;overflow:hidden}.admin-user-row{background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 12px;display:flex}.admin-user-row:last-child{border-bottom:none}.admin-user-row:hover{background:var(--bg-hover)}.admin-user-row-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.admin-user-row-top{align-items:baseline;gap:8px;min-width:0;display:flex}.admin-user-row-username{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.87rem;font-weight:600;overflow:hidden}.admin-user-row-displayname{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;font-size:.77rem;overflow:hidden}.admin-user-row-id{color:var(--text-dim);opacity:.55;flex-shrink:0;font-size:.7rem}.admin-user-row-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.admin-user-row-date{color:var(--text-dim);white-space:nowrap;font-size:.74rem}.admin-user-row-actions{flex-shrink:0;gap:4px;display:flex}.admin-badge{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);border-radius:12px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.admin-badge.admin{border-color:var(--success);color:var(--success);background:#a6e3a126}.admin-badge.creator{border-color:var(--warning,#fab387);color:var(--warning,#fab387);background:#fab38726}.admin-badge.active{border-color:var(--success);color:var(--success);background:#a6e3a126}.admin-badge.disabled{border-color:var(--danger);color:var(--danger);background:#f38ba826}.admin-user-actions{align-items:center;gap:6px;display:flex}.admin-user-modal{width:420px;max-width:95vw}.admin-user-modal-body{flex-direction:column;gap:4px;padding:20px 24px;display:flex}.admin-user-modal-meta{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;margin-bottom:16px;padding-bottom:14px;display:flex}.admin-user-modal-name{color:var(--text);font-size:1rem;font-weight:700}.admin-user-modal-display{color:var(--text-dim);font-size:.85rem}.admin-settings-grid{flex-direction:column;gap:16px;display:flex}.admin-settings-section{margin-bottom:28px}.admin-settings-section:last-of-type{margin-bottom:0}.admin-setting-row{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:20px;padding:12px 16px;display:flex}.admin-setting-info{flex-direction:column;flex:1;gap:2px;display:flex}.admin-setting-info label{color:var(--text);font-size:.9rem;font-weight:600}.admin-setting-row input[type=text],.admin-setting-row input[type=number]{background:var(--bg-surface);width:280px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:.85rem}.system-msg-options{align-items:center;gap:12px;padding:4px 0;display:flex}.memories-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:flex}.memories-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.agent-system-prompt-display{border:1px solid var(--border);background:var(--bg-code);border-radius:6px;margin-top:4px;overflow:hidden}.agent-system-prompt-header{color:var(--accent);background:var(--bg-surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 10px;font-size:.8rem;font-weight:600;display:flex}.agent-system-prompt-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.85rem}.agent-system-prompt-clear:hover{color:var(--danger);background:var(--bg-hover)}.agent-system-prompt-content{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:120px;padding:8px 10px;font-size:.82rem;overflow-y:auto}#memories-panel{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;max-height:400px;padding:12px 20px;display:flex;overflow-y:auto}.memories-header{justify-content:space-between;align-items:center;display:flex}.memories-header h3{color:var(--text);margin:0;font-size:.95rem}.memories-add-row{align-items:flex-start;gap:8px;display:flex}.memories-add-row textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-family:var(--font-sans);resize:vertical;outline:none;flex:1;min-height:48px;padding:6px 10px}.memories-add-row textarea:focus{border-color:var(--accent)}.memories-empty{color:var(--text-muted);text-align:center;padding:12px 0;font-size:.85rem}.memories-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.memory-item{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:8px;padding:6px 8px;display:flex}.memory-content{color:var(--text);word-break:break-word;flex:1;font-size:.85rem}.memory-actions{flex-shrink:0;gap:2px;display:flex}.memory-actions .icon-btn:not(.memory-priority-active){opacity:.45}.memory-actions .icon-btn:not(.memory-priority-active):hover{opacity:.8}.memory-edit-row{flex:1;gap:6px;display:flex}.memory-edit-row input{background:var(--bg);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);outline:none;flex:1;padding:4px 8px;font-size:.85rem}.memory-priority-active{filter:none;opacity:1;color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:var(--radius);transform:scale(1.15)rotate(-20deg)}.memory-priority-active:hover{background:color-mix(in srgb, var(--accent) 28%, transparent)}.memory-mindmap-overlay{top:0;left:var(--sidebar-w);z-index:210;background:var(--bg);contain:strict;flex-direction:column;display:flex;position:fixed;bottom:0;right:0}@media (width<=768px){.memory-mindmap-overlay{left:0}}.memory-mindmap-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;display:flex}.memory-mindmap-title{color:var(--text);align-items:center;gap:8px;font-size:.92rem;font-weight:700;display:flex}.memory-mindmap-title svg{color:var(--accent);flex-shrink:0}.memory-mindmap-count{color:var(--text-dim);background:var(--bg-hover);border:1px solid var(--border);border-radius:20px;margin-left:2px;padding:1px 8px;font-size:.78rem;font-weight:400}.memory-mindmap-controls{align-items:center;gap:4px;display:flex}.mindmap-ctrl-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:4px 10px;font-size:.88rem;line-height:1;transition:background .12s,border-color .12s}.mindmap-ctrl-btn:hover{background:var(--bg-active);border-color:var(--accent)}.mindmap-ctrl-zoom-label{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;color:var(--text-dim)}.mindmap-ctrl-close{margin-left:6px;font-size:.82rem}.mindmap-ctrl-divider{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 4px}.mindmap-threshold-label{color:var(--text-dim);-webkit-user-select:none;user-select:none;cursor:default;align-items:center;gap:6px;font-size:.8rem;display:flex}.mindmap-threshold-slider{cursor:pointer;width:90px;height:4px;accent-color:var(--accent);background:0 0}.mindmap-threshold-value{font-variant-numeric:tabular-nums;color:var(--accent);text-align:right;min-width:34px;font-size:.76rem}.memory-mindmap-wrapper{cursor:grab;background-image:radial-gradient(circle, color-mix(in srgb, var(--border) 60%, transparent) 1px, transparent 1px);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;background-position:50%;background-size:26px 26px;flex:1;position:relative;overflow:hidden}.memory-mindmap-wrapper.panning{cursor:grabbing}.memory-mindmap-canvas{transform-origin:0 0;will-change:transform;width:3000px;height:3000px;position:absolute;top:0;left:0}.memory-mindmap-svg{pointer-events:none;position:absolute;inset:0;overflow:visible}.memory-mindmap-node{background:var(--bg-surface);border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;z-index:2;border-radius:18px;flex-direction:column;gap:4px;min-width:100px;max-width:210px;padding:10px 14px;transition:border-color .14s,box-shadow .14s,transform .1s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 14px #00000059}.memory-mindmap-node:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent), 0 4px 20px #0006;z-index:10}.memory-mindmap-node:active{cursor:grabbing}.memory-mindmap-node.mm-priority{border-color:color-mix(in srgb, var(--accent) 65%, transparent);background:color-mix(in srgb, var(--accent) 7%, var(--bg-surface));box-shadow:0 0 12px color-mix(in srgb, var(--accent) 20%, transparent), 0 2px 14px #00000059}.memory-mindmap-node.mm-selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent), 0 4px 20px #0006}.mm-node-pin{opacity:.85;font-size:.7rem;line-height:1}.mm-node-text{color:var(--text);word-break:break-word;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.memory-mindmap-hint{background:var(--bg-surface);border-top:1px solid var(--border);color:var(--text-dim);text-align:center;flex-shrink:0;padding:4px 14px;font-size:.73rem}.memory-mindmap-empty{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.mindmap-empty-icon{opacity:.5;font-size:2.8rem}.memory-mindmap-empty p{color:var(--text-dim);margin:0;font-size:.95rem}.mindmap-empty-hint{color:var(--text-dim);opacity:.7;font-size:.8rem!important}.memory-mindmap-detail-modal{width:520px;max-width:92vw}.mm-detail-body{flex-direction:column;gap:14px;padding:20px 28px 4px;display:flex}.mm-detail-content{color:var(--text);white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:14px 16px;font-size:.95rem;line-height:1.65}.mm-detail-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:.78rem;display:flex}.mm-detail-badge{border-radius:20px;padding:2px 8px;font-size:.72rem;font-weight:600}.mm-badge-priority{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent)}.mm-detail-search-section{flex-direction:column;gap:10px;display:flex}.mm-find-btn{align-self:flex-start;font-size:.83rem}.mm-search-results{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.mm-no-results{color:var(--text-dim);margin:0;padding:12px 14px;font-size:.82rem}.mm-results-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0;padding:8px 14px 4px;font-size:.76rem}.mm-results-list{margin:0;padding:0 0 4px;list-style:none}.mm-result-item{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:8px 14px;transition:background .1s;display:flex}.mm-result-item:hover{background:var(--bg-hover)}.mm-result-title{color:var(--accent);font-size:.85rem;font-weight:600}.mm-result-preview{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.mm-hub-node{background:color-mix(in srgb, var(--accent) 14%, var(--bg-surface));border:2px solid color-mix(in srgb, var(--accent) 50%, transparent);z-index:5;width:56px;height:56px;box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 8%, transparent), 0 4px 20px #0006;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.mm-open-btn{cursor:pointer;border-radius:var(--radius);color:var(--text-dim);background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:2px 5px;font-size:.82rem;transition:color .12s,background .12s;display:flex}.mm-open-btn:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.mm-open-btn svg{flex-shrink:0;width:15px;height:15px}.mm-topic-hub{border:2px solid var(--topic-color,var(--accent));background:color-mix(in srgb, var(--topic-color,var(--accent)) 14%, var(--bg-surface));box-shadow:0 0 0 5px color-mix(in srgb, var(--topic-color,var(--accent)) 10%, transparent), 0 3px 16px #0006;cursor:grab;-webkit-user-select:none;user-select:none;z-index:4;text-align:center;border-radius:24px;max-width:160px;padding:7px 14px;transition:box-shadow .14s;position:absolute;transform:translate(-50%,-50%)}.mm-topic-hub:hover{box-shadow:0 0 0 7px color-mix(in srgb, var(--topic-color,var(--accent)) 20%, transparent), 0 4px 20px #00000080}.mm-topic-hub:active{cursor:grabbing}.mm-topic-label{color:var(--topic-color,var(--accent));white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;text-transform:uppercase;max-width:140px;font-size:.76rem;font-weight:700;display:block;overflow:hidden}.memory-mindmap-node{border-color:color-mix(in srgb, var(--node-accent,var(--border)) 55%, var(--border))}.memory-mindmap-node:hover{border-color:var(--node-accent,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb, var(--node-accent,var(--accent)) 22%, transparent), 0 4px 20px #0006}.mm-cluster-badge{background:color-mix(in srgb, var(--accent) 18%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent);border-radius:20px;padding:1px 8px;font-size:.72rem;font-weight:500}.mm-cluster-loading{color:var(--text-dim);padding:4px 8px;font-size:.82rem;animation:1.4s ease-in-out infinite mm-pulse}@keyframes mm-pulse{0%,to{opacity:1}50%{opacity:.45}}.mm-cluster-error{color:var(--error,#f38ba8);cursor:help;padding:2px 6px;font-size:.8rem}.mm-recluster-btn{font-size:.8rem}.mm-recluster-btn:disabled{opacity:.45;cursor:not-allowed}.mm-detail-topic{color:var(--text-dim);margin:0;font-size:.82rem}.mm-detail-topic strong{font-weight:600}#skills-panel{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-direction:column;gap:10px;max-height:480px;padding:12px 20px;display:flex;overflow-y:auto}.skills-header{justify-content:space-between;align-items:center;display:flex}.skills-header h3{color:var(--text);margin:0;font-size:.95rem}.skills-description{color:var(--text-dim);margin:0;font-size:.8rem;line-height:1.4}.skills-description code{background:var(--bg-hover);border-radius:3px;padding:1px 4px;font-size:.78rem}.skills-add-section{flex-direction:column;gap:6px;display:flex}.skills-name-input{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;outline:none;padding:6px 10px;font-size:.85rem}.skills-name-input:focus{border-color:var(--accent)}.skills-content-input{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;font-family:var(--font-mono);resize:vertical;box-sizing:border-box;outline:none;padding:6px 10px}.skills-content-input:focus{border-color:var(--accent)}.skills-empty{color:var(--text-dim);text-align:center;padding:12px 0;font-size:.85rem}.skills-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.skill-item{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.skill-row{align-items:center;gap:6px;padding:6px 8px;display:flex}.skill-expand-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:.7rem}.skill-expand-btn:hover{color:var(--text)}.skill-name{color:var(--text);word-break:break-word;flex:1;font-size:.85rem}.skill-id{color:var(--text-dim);font-size:.75rem;font-family:var(--font-mono);flex-shrink:0}.skill-actions{flex-shrink:0;gap:2px;display:flex}.skill-actions .icon-btn{opacity:.45}.skill-actions .icon-btn:hover{opacity:.8}.skill-content-preview{border-top:1px solid var(--border);background:var(--bg-hover);max-height:200px;padding:8px 10px;overflow-y:auto}.skill-content-preview pre{font-size:.78rem;font-family:var(--font-mono);color:var(--text-dim);white-space:pre-wrap;word-break:break-word;margin:0}.skill-edit-section{flex-direction:column;gap:6px;padding:8px;display:flex}.skill-edit-actions{gap:6px;display:flex}.project-view{flex-direction:column;height:100%;padding:0 0 20px;display:flex;overflow-y:auto}.project-top-row{border-bottom:1px solid var(--border);display:block}.project-top-left{border-left:4px solid var(--accent);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.project-top-right{display:none}.project-header-top{align-items:center;gap:8px;display:flex}.project-icon-input{text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:34px;height:34px;color:var(--text);cursor:pointer;font-size:1.2rem}.project-name-input{color:var(--text);background:0 0;border:none;border-bottom:2px solid #0000;outline:none;flex:1;padding:4px 0;font-size:1.15rem;font-weight:700}.project-name-input:focus{border-bottom-color:var(--accent)}.project-color-input{cursor:pointer;background:0 0;border:none;border-radius:50%;width:26px;height:26px;padding:0}.project-description{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);resize:vertical;background:0 0;outline:none;flex:1;padding:8px 10px;font-size:.88rem}.project-description:focus{border-color:var(--accent)}.project-prompt-toolbar{align-items:center;gap:6px;display:flex}.project-lock-btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-dim);background:0 0;padding:4px 8px;font-size:.9rem;transition:background .15s,color .15s}.project-lock-btn:hover{background:var(--bg-hover)}.project-lock-btn.locked{color:var(--text-dim);opacity:.7}.project-model-select,.project-template-select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:5px 8px;font-size:.82rem}.project-model-select:disabled,.project-template-select:disabled{opacity:.4;cursor:not-allowed}.project-template-clone select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:5px 8px;font-size:.82rem}.project-system-prompt{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:80px;color:var(--text);font-family:var(--font-mono);resize:vertical;outline:none;flex:1;padding:10px 12px;font-size:.83rem}.project-system-prompt:focus{border-color:var(--accent)}.project-system-prompt.prompt-locked{opacity:.6;cursor:default;background:var(--bg-surface)}.project-chat-input-bar{border-bottom:1px solid var(--border);background:var(--bg-surface);align-items:flex-end;gap:8px;padding:12px 20px;display:flex}.project-chat-input-bar-v2{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:6px;padding:12px 20px;display:flex}.project-chat-input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);resize:none;outline:none;flex:1;min-height:40px;max-height:900px;padding:10px 14px;font-size:.9rem;line-height:1.4;overflow-y:auto}.project-chat-input:focus{border-color:var(--accent)}.project-chat-send{background:var(--accent);width:44px;height:44px;color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.project-chat-send:hover{opacity:.85}.project-chat-start-btn{background:var(--bg);color:var(--text);border:2px dashed var(--tpl-color,var(--accent));border-radius:var(--radius);cursor:pointer;flex:1;padding:12px 20px;font-size:.9rem;font-weight:500;transition:all .15s}.project-chat-start-btn:hover{background:var(--bg-hover);border-style:solid}.project-recent-chats{flex-direction:column;gap:3px;padding:8px 16px 4px;display:flex}.project-recent-chat-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:7px 12px;transition:background .15s,border-color .15s;display:flex}.project-recent-chat-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.project-recent-chat-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;overflow:hidden}.project-recent-chat-date{color:var(--text-dim);flex-shrink:0;font-size:.75rem}.project-block{border-bottom:1px solid var(--border)}.project-block-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 20px;display:flex}.project-block-header:hover{background:var(--bg-hover)}.project-block-header h3{margin:0;font-size:.93rem;font-weight:600}.project-block-body{flex-direction:column;gap:16px;padding:0 20px 16px;display:flex}.project-setting{justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem;display:flex}.project-setting select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;font-size:.85rem}.project-kb-section h4,.project-chat-list-section h4,.project-tools-section h4,.project-memories-section h4{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-size:.85rem;font-weight:600}.project-kb-list{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.project-kb-item{background:var(--bg);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:6px 10px;font-size:.88rem;display:flex}.project-kb-item small{color:var(--text-dim)}.project-kb-add{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:100%;padding:6px 10px;font-size:.85rem}select optgroup{color:var(--text-secondary,#888);font-size:.8rem;font-style:normal;font-weight:600}select optgroup option{color:var(--text);font-weight:400}.project-doc-list{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.project-doc-item{background:var(--bg);border-radius:var(--radius);border:1px solid #0000;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.88rem;transition:border-color .15s;display:flex}.project-doc-item:hover{background:var(--bg-hover)}.project-doc-item.editing{border-color:var(--accent);box-shadow:0 0 0 2px #89b4fa33}.project-doc-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.project-doc-item-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.project-doc-item-meta{color:var(--text-dim);font-size:.78rem}.project-doc-item-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.project-doc-edit-btn{cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px;font-size:1rem;transition:opacity .15s}.project-doc-edit-btn:hover{opacity:1}.project-doc-add{flex-direction:column;gap:6px;display:flex}.project-doc-name-input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:6px 10px;font-size:.85rem}.project-doc-name-input:focus{border-color:var(--accent)}.project-doc-content-input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;outline:none;padding:6px 10px;font-family:inherit;font-size:.85rem}.project-doc-content-input:focus{border-color:var(--accent)}.project-doc-actions{gap:6px;display:flex}.project-doc-actions button{background:var(--accent);color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;padding:6px 14px;font-size:.85rem;font-weight:600}.project-doc-actions button:disabled{opacity:.4;cursor:default}.project-doc-upload-btn{background:var(--bg-light);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:6px 14px;font-size:.85rem;font-weight:600}.project-remove-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1rem}.project-remove-btn:hover{color:var(--danger);background:#f38ba826}.project-edit-btn{color:var(--text-dim);cursor:pointer;opacity:.45;background:0 0;border:none;padding:2px 6px;font-size:.85rem;transition:opacity .15s,transform .15s,background .15s}.project-edit-btn:hover{color:var(--accent);opacity:.8}.project-edit-btn.memory-priority-active{opacity:1;background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:var(--radius);transform:scale(1.15)rotate(-20deg)}.project-chat-list{flex-direction:column;gap:2px;display:flex}.project-chat-item{background:var(--bg);border-radius:var(--radius);align-items:center;gap:8px;padding:7px 10px;font-size:.88rem;display:flex}.project-chat-title{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-chat-title:hover{color:var(--accent)}.project-chat-date{color:var(--text-dim);font-size:.78rem}.project-chat-score{color:var(--accent);text-align:right;min-width:36px;font-size:.75rem;font-weight:600}.project-chat-search-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.project-chat-search-input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:7px 10px;font-size:.85rem}.project-chat-search-input:focus{border-color:var(--accent)}.project-chat-search-clear{color:var(--text-dim);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:4px 6px;font-size:.85rem;line-height:1}.project-chat-search-clear:hover{color:var(--text);background:var(--bg-hover)}.project-memory-search-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.project-memory-search{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:8px 12px;font-size:.85rem}.project-memory-search:focus{border-color:var(--accent)}.project-memory-search-count{color:var(--text-dim);white-space:nowrap;font-size:.8rem}.project-memory-list{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.project-memory-item{background:var(--bg);border-radius:var(--radius);align-items:center;gap:6px;padding:6px 10px;font-size:.88rem;display:flex}.project-memory-text{text-overflow:ellipsis;flex:1;overflow:hidden}.project-memory-edit{background:var(--bg);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);outline:none;flex:1;padding:4px 8px;font-size:.85rem}.project-memory-add{align-items:flex-start;gap:6px;display:flex}.project-memory-add textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-family:var(--font-sans);resize:vertical;outline:none;flex:1;min-height:48px;padding:6px 10px}.project-memory-add textarea:focus{border-color:var(--accent)}.project-memory-add button{background:var(--accent);color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;padding:6px 14px;font-size:.85rem;font-weight:600}.project-memory-add button:disabled{opacity:.4;cursor:default}.memory-edit-modal{width:560px}.memory-edit-modal-body{padding:24px 36px}.memory-edit-modal-textarea{background:var(--bg);width:100%;min-height:150px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.92rem;font-family:var(--font-sans);resize:vertical;box-sizing:border-box;outline:none;padding:12px 14px;line-height:1.5}.memory-edit-modal-textarea:focus{border-color:var(--accent)}.project-tools-actions{align-items:center;gap:8px;margin-bottom:8px;display:flex}.project-tools-count{color:var(--text-dim);margin-left:auto;font-size:.8rem}.project-tool-list{flex-direction:column;gap:8px;display:flex}.project-empty{color:var(--text-dim);padding:4px 0;font-size:.85rem;font-style:italic}.project-bottom-bar{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;margin-top:auto;padding:14px 20px;display:flex}.project-features-list{flex-direction:column;gap:2px;display:flex}.project-feature-item{border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.project-feature-item:hover{background:var(--bg-hover)}.project-feature-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.project-feature-item>div{flex-direction:column;gap:2px;display:flex}.project-feature-name{color:var(--text-primary);font-size:.88rem;font-weight:600}.project-feature-desc{color:var(--text-muted);font-size:.78rem;line-height:1.4}.project-toggle{cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:flex}.project-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.project-apply-btn{background:var(--bg-hover);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;margin-left:auto;padding:7px 14px;font-size:.82rem}.project-apply-btn:hover{background:var(--bg-active)}.project-delete-btn{color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);cursor:pointer;background:0 0;padding:7px 14px;font-size:.82rem}.project-delete-btn:hover:not(:disabled){background:#f38ba81a}.project-delete-btn:disabled{opacity:.4;cursor:not-allowed}.project-delete-confirm{color:var(--danger);align-items:center;gap:8px;font-size:.82rem;display:flex}.project-delete-confirm input{border:1px solid var(--danger);border-radius:var(--radius);background:var(--bg);color:var(--fg);width:120px;padding:5px 8px;font-size:.82rem}.project-cancel-btn{color:var(--fg-dim);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:7px 14px;font-size:.82rem}.project-cancel-btn:hover{background:var(--bg-hover)}.folder-header.active{background:var(--bg-active)}.workflow-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.workflow-header{border-bottom:1px solid var(--border);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.workflow-header-left{align-items:center;gap:10px;display:flex}.workflow-header-left h2{margin:0;font-size:1.1rem;font-weight:600}.workflow-header-icon{font-size:1.3rem}.workflow-header-actions{gap:8px;display:flex}.workflow-input{border-bottom:1px solid var(--border);background:var(--bg-surface);align-items:center;gap:8px;padding:12px 20px;display:flex}.workflow-input-file-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:8px 12px;font-size:1rem}.workflow-input-file-btn:hover{background:var(--bg-hover)}.workflow-input-text{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1;padding:10px 14px;font-size:.9rem}.workflow-input-text:focus{border-color:var(--accent);outline:none}.workflow-empty{color:var(--text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px;display:flex}.workflow-empty h2,.workflow-empty h3{color:var(--text);margin:0}.workflow-empty p{margin:0;font-size:.9rem}.workflow-loading{text-align:center;color:var(--text-secondary);padding:40px}.workflow-list{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.workflow-list-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .15s;display:flex}.workflow-list-item:hover{border-color:var(--accent);background:var(--bg-hover)}.workflow-list-item-info{flex-direction:column;gap:2px;display:flex}.workflow-list-item-name{color:var(--text);font-weight:600}.workflow-list-item-meta{color:var(--text-secondary);font-size:.8rem}.workflow-editor{flex:1;display:flex;overflow:hidden}.workflow-canvas{background:var(--bg);background-image:radial-gradient(circle, var(--border) 1px, transparent 1px);background-size:20px 20px;flex:1;min-height:400px;position:relative;overflow:auto}.workflow-canvas-empty{color:var(--text-tertiary);font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workflow-connections{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.workflow-connection-line{fill:none;stroke:var(--accent);stroke-width:2px;opacity:.6}.workflow-step-node{background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius);cursor:move;-webkit-user-select:none;user-select:none;width:200px;transition:border-color .15s,box-shadow .15s;position:absolute}.workflow-step-node:hover{border-color:var(--text-tertiary)}.workflow-step-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.workflow-step-node-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:10px 12px;font-size:.85rem;font-weight:600}.workflow-step-node-body{color:var(--text-secondary);padding:8px 12px;font-size:.8rem;line-height:1.4}.workflow-step-node-deps{color:var(--accent);border-top:1px solid var(--border);padding:6px 12px;font-size:.75rem}.workflow-step-editor{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;width:350px;display:flex;overflow:hidden}.workflow-step-editor-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.workflow-step-editor-header h3{margin:0;font-size:1rem}.workflow-step-editor-content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.workflow-step-editor-footer{border-top:1px solid var(--border);justify-content:space-between;padding:12px 16px;display:flex}.field-hint{color:var(--text-tertiary);margin-top:4px;font-size:.75rem}.workflow-step-deps-list{flex-direction:column;gap:6px;padding:8px 0;display:flex}.workflow-step-dep-item{cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.workflow-step-dep-item input{margin:0}.workflow-step-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.workflow-step-checkbox input{margin:0}.workflow-runs{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px 16px}.workflow-runs h3{color:var(--text-secondary);margin:0 0 10px;font-size:.9rem}.workflow-runs-list{gap:8px;display:flex;overflow-x:auto}.workflow-run-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;flex-shrink:0;gap:2px;min-width:120px;padding:8px 12px;display:flex}.workflow-run-item:hover{border-color:var(--text-tertiary)}.workflow-run-item.selected{border-color:var(--accent)}.workflow-run-status{text-transform:capitalize;font-size:.8rem;font-weight:600}.workflow-run-item.status-completed .workflow-run-status{color:var(--success)}.workflow-run-item.status-running .workflow-run-status{color:var(--accent)}.workflow-run-item.status-failed .workflow-run-status{color:var(--danger)}.workflow-run-item.status-paused .workflow-run-status{color:var(--warning)}.workflow-run-time,.workflow-run-date{color:var(--text-tertiary);font-size:.75rem}.workflow-run-input{color:var(--text-secondary);margin-top:4px;font-size:.75rem}.workflow-run-details{flex-direction:column;gap:12px;max-height:70vh;padding:16px;display:flex;overflow-y:auto}.workflow-run-details p{margin:0}.workflow-run-output{background:var(--bg);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;max-height:300px;padding:12px;font-size:.85rem;overflow-y:auto}.workflow-step-output{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.workflow-step-output h4{margin:0 0 8px;font-size:.9rem}.workflow-running-badge{background:var(--accent);color:#fff;border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.workflow-input-area{border-bottom:1px solid var(--border);background:var(--bg-surface);padding:12px 20px}.workflow-input-file-btn.has-file{background:var(--accent-muted);border-color:var(--accent)}.workflow-input-file-info{background:var(--bg-tertiary);border-radius:var(--radius);align-items:center;gap:8px;margin-top:8px;padding:6px 10px;font-size:.8rem;display:flex}.workflow-input-file-remove{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1rem}.workflow-input-file-remove:hover{color:var(--danger)}.workflow-error-banner{background:var(--danger-muted,#f443361a);border-bottom:1px solid var(--danger);color:var(--danger);justify-content:space-between;align-items:center;padding:10px 20px;font-size:.85rem;display:flex}.workflow-error-banner button{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem}.workflow-live-panel{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;width:350px;display:flex;overflow:hidden}.workflow-live-panel-header{border-bottom:1px solid var(--border);padding:12px 16px}.workflow-live-panel-header h3{margin:0;font-size:.95rem}.workflow-live-panel-content{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.workflow-live-step{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s}.workflow-live-step:hover{border-color:var(--text-tertiary)}.workflow-live-step.running{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted)}.workflow-live-step.completed{border-color:var(--success)}.workflow-live-step.failed{border-color:var(--danger)}.workflow-live-step-header{align-items:center;gap:8px;padding:10px 12px;display:flex}.workflow-live-step-indicator{text-align:center;width:20px;font-size:.9rem}.workflow-live-step-indicator.running{animation:1s linear infinite spin}.workflow-live-step-indicator.completed{color:var(--success)}.workflow-live-step-indicator.failed{color:var(--danger)}.workflow-live-step-name{flex:1;font-size:.85rem;font-weight:500}.workflow-live-step-expand{color:var(--text-tertiary);font-size:.75rem}.workflow-live-step-output{padding:0 12px 12px}.workflow-live-step-output pre{background:var(--bg-tertiary);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;max-height:200px;margin:0;padding:10px;font-size:.8rem;overflow-y:auto}.workflow-step-node.running{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.workflow-step-node.completed{border-color:var(--success)}.workflow-step-node.failed{border-color:var(--danger)}.workflow-step-node-running-indicator{border:2px solid var(--accent);border-radius:calc(var(--radius) + 2px);pointer-events:none;animation:1.5s infinite running-pulse;position:absolute;inset:-2px}@keyframes running-pulse{0%,to{opacity:1}50%{opacity:.3}}.workflow-step-node-icon{margin-right:4px}.workflow-step-pause-badge{opacity:.7;margin-left:auto;font-size:.75rem}.workflow-step-node-model{color:var(--text-tertiary);padding:4px 12px 8px;font-size:.7rem}.workflow-canvas-empty{text-align:center;color:var(--text-tertiary);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workflow-canvas-empty-icon{opacity:.5;margin-bottom:12px;font-size:3rem}.workflow-canvas-empty h3{color:var(--text-secondary);margin:0 0 8px;font-size:1.1rem}.workflow-canvas-empty p{margin:0;font-size:.9rem}.workflow-run-item-header{align-items:center;gap:6px;display:flex}.workflow-run-status-dot{background:var(--text-tertiary);border-radius:50%;width:8px;height:8px}.workflow-run-status-dot.status-completed{background:var(--success)}.workflow-run-status-dot.status-running{background:var(--accent);animation:1s infinite pulse}.workflow-run-status-dot.status-failed{background:var(--danger)}.workflow-run-status-dot.status-paused{background:var(--warning)}.settings-section{border-bottom:1px solid var(--border);padding:10px 0}.settings-section:last-child{border-bottom:none}.settings-section-title{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.78rem;font-weight:600}.settings-grid{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}@media (width<=700px){.settings-grid{grid-template-columns:1fr}}.settings-slider-field,.settings-number-field{flex-direction:column;gap:4px;display:flex}.settings-label{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.settings-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:500}.settings-slider-row{align-items:center;gap:6px;display:flex}.settings-slider-row input[type=range]{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;flex:1;height:4px}.settings-slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:transform .1s}.settings-slider-row input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.settings-slider-row input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.settings-slider-row input[type=number],.settings-number-field input[type=number]{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-variant-numeric:tabular-nums;outline:none;flex:1;min-width:0;padding:5px 8px;font-size:.82rem;transition:border-color .15s}.settings-slider-row input[type=number]:focus,.settings-number-field input[type=number]:focus{border-color:var(--accent)}.settings-reset-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;flex-shrink:0;padding:3px 7px;font-size:.85rem;transition:color .15s,border-color .15s}.settings-reset-btn:hover{color:var(--accent);border-color:var(--accent)}.settings-toggles{flex-direction:column;gap:8px;display:flex}.settings-toggle-item{border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.settings-toggle-item:hover{background:var(--bg-hover)}.settings-toggle-item input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin-top:2px}.settings-toggle-item>div{flex-direction:column;gap:2px;display:flex}.settings-toggle-name{color:var(--text);font-size:.85rem;font-weight:500}.settings-toggle-desc{color:var(--text-muted);font-size:.78rem;line-height:1.3}.settings-memory-options{flex-direction:column;gap:6px;padding:6px 10px 8px 36px;display:flex}.settings-inline-label{color:var(--text-dim);align-items:center;gap:8px;font-size:.82rem;display:flex}.settings-inline-label span{min-width:120px}.settings-inline-label select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;flex:1;padding:3px 6px;font-size:.82rem}.workflow-paused-panel{background:var(--bg-secondary);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:400px;display:flex;overflow:hidden}.workflow-paused-panel-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg, #ffc1071a, var(--bg-secondary));padding:16px}.workflow-paused-panel-title{align-items:center;gap:8px;display:flex}.workflow-paused-icon{font-size:1.3rem}.workflow-paused-panel-title h3{color:var(--warning);margin:0;font-size:1rem}.workflow-paused-hint{color:var(--text-secondary);margin-top:8px;font-size:.8rem;display:block}.workflow-paused-panel-content{flex:1;padding:16px;overflow-y:auto}.workflow-paused-section{margin-bottom:20px}.workflow-paused-section h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:.85rem}.workflow-paused-steps{flex-direction:column;gap:8px;display:flex}.workflow-paused-step{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.workflow-paused-step-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.workflow-paused-step-status{color:var(--success);font-size:.9rem}.workflow-paused-step-name{font-size:.85rem;font-weight:500}.workflow-paused-step-badge{background:var(--warning);color:#000;text-transform:uppercase;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:.7rem;font-weight:600}.workflow-paused-step-content{padding:12px}.workflow-paused-output{background:var(--bg-tertiary);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);max-height:300px;margin:0;padding:12px;font-size:.8rem;overflow-y:auto}.workflow-paused-step-actions{gap:8px;margin-top:12px;display:flex}.workflow-paused-edit{flex-direction:column;gap:12px;display:flex}.workflow-paused-edit-textarea{background:var(--bg-primary);border:2px solid var(--accent);border-radius:var(--radius);width:100%;min-height:200px;color:var(--text-primary);font-family:var(--font-mono);resize:vertical;padding:12px;font-size:.8rem}.workflow-paused-edit-textarea:focus{box-shadow:0 0 0 3px var(--accent-muted);outline:none}.workflow-paused-edit-actions{justify-content:flex-end;gap:8px;display:flex}.workflow-paused-regenerate{background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius);padding:16px}.workflow-paused-regenerate h4{color:var(--accent);margin-bottom:8px}.workflow-paused-regenerate-hint{color:var(--text-secondary);margin:0 0 12px;font-size:.8rem}.workflow-paused-regenerate-textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);resize:vertical;margin-bottom:12px;padding:12px;font-size:.85rem}.workflow-paused-regenerate-textarea:focus{border-color:var(--accent);outline:none}.workflow-paused-regenerate-textarea::placeholder{color:var(--text-tertiary)}.workflow-paused-regenerate-actions{justify-content:flex-end;gap:8px;display:flex}.workflow-paused-pending{opacity:.7}.workflow-paused-pending-list{flex-direction:column;gap:6px;display:flex}.workflow-paused-pending-step{background:var(--bg-tertiary);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-secondary);align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.workflow-paused-pending-icon{color:var(--text-tertiary)}.workflow-paused-panel-footer{border-top:1px solid var(--border);background:var(--bg-tertiary);flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.workflow-paused-panel-footer .action-btn{justify-content:center;width:100%;padding:12px;font-size:.95rem}.workflow-paused-footer-hint{color:var(--text-tertiary);text-align:center;font-size:.75rem}.workflow-run-modal{z-index:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg,16px);flex-direction:column;width:90vw;max-width:900px;height:80vh;max-height:700px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.workflow-run-modal-header{border-bottom:1px solid var(--border);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.workflow-run-modal-title{align-items:center;gap:12px;display:flex}.workflow-run-modal-date{color:var(--text-secondary);font-size:.85rem}.workflow-run-modal-input{background:var(--bg-primary);border-bottom:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:12px;padding:12px 20px;font-size:.85rem;display:flex}.workflow-run-file-tag{background:var(--bg-tertiary);border-radius:var(--radius);padding:4px 10px;font-size:.8rem}.workflow-run-input-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.workflow-run-modal-tabs{background:var(--bg-primary);border-bottom:1px solid var(--border);gap:2px;padding:0 20px;display:flex;overflow-x:auto}.workflow-run-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 16px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.workflow-run-tab:hover{color:var(--text);background:var(--bg-hover)}.workflow-run-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.workflow-run-tab-status{font-size:.9rem}.workflow-run-tab.status-completed .workflow-run-tab-status{color:var(--success)}.workflow-run-tab.status-failed .workflow-run-tab-status{color:var(--danger)}.workflow-run-modal-content{background:var(--bg-primary);flex:1;padding:20px;overflow:auto}.workflow-run-modal-output{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0;padding:16px;font-size:.85rem;line-height:1.6}.workflow-run-modal-error{background:var(--danger-muted,#f443361a);border:1px solid var(--danger);border-radius:var(--radius);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--danger);margin:0;padding:16px;font-size:.85rem;line-height:1.6}.workflow-run-modal-empty{color:var(--text-tertiary);text-align:center;padding:40px;font-size:.9rem}.workflow-run-modal-footer{border-top:1px solid var(--border);background:var(--bg-tertiary);justify-content:flex-end;padding:16px 20px;display:flex}.workflow-run-details-meta{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.workflow-run-status-badge{text-transform:capitalize;border-radius:12px;padding:4px 12px;font-size:.8rem;font-weight:600}.workflow-run-status-badge.status-completed{background:var(--success-muted,#4caf5026);color:var(--success)}.workflow-run-status-badge.status-running{background:var(--accent-muted);color:var(--accent)}.workflow-run-status-badge.status-failed{background:var(--danger-muted,#f4433626);color:var(--danger)}.workflow-run-status-badge.status-paused{background:var(--warning-muted,#ffc10726);color:var(--warning)}.workflow-run-details-times{color:var(--text-secondary);flex-direction:column;align-items:flex-end;gap:2px;font-size:.8rem;display:flex}.workflow-run-details-section{padding:12px 0}.workflow-run-details-section h4{color:var(--text-secondary);margin:0 0 10px;font-size:.9rem}.workflow-run-file-badge{background:var(--bg-tertiary);border-radius:var(--radius);padding:6px 12px;font-size:.85rem;display:inline-block}.workflow-run-steps-list{flex-direction:column;gap:8px;display:flex}.workflow-run-step-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.workflow-run-step-header{cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.workflow-run-step-header:hover{background:var(--bg-hover)}.workflow-run-step-status{text-align:center;width:18px;font-size:.9rem}.workflow-run-step-status.status-completed{color:var(--success)}.workflow-run-step-status.status-failed{color:var(--danger)}.workflow-run-step-status.status-running{color:var(--accent)}.workflow-run-step-name{flex:1;font-size:.85rem;font-weight:500}.workflow-run-step-expand{color:var(--text-tertiary);font-size:.75rem}.workflow-run-details-actions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:16px;display:flex}.workflow-step-node{width:220px}.notes-view{height:100%;display:flex;overflow:hidden}.notes-empty{color:var(--text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px;display:flex}.notes-empty h2{color:var(--text);margin:0}.notes-empty p{margin:0;font-size:.9rem}.notes-tree-panel{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;width:260px;display:flex;overflow:hidden}.notes-tree-header{border-bottom:1px solid var(--border);border-left:4px solid var(--accent);align-items:center;gap:8px;padding:12px 14px;display:flex}.notes-tree-header h3{flex:1;margin:0;font-size:1rem;font-weight:600}.notes-tree-project-icon{font-size:1.2rem}.notes-settings-modal{max-width:420px}.notes-settings-icon-input{text-align:center;width:48px;font-size:1.2rem}.notes-settings-color-row{align-items:center;gap:10px;display:flex}.notes-settings-color-preview{font-size:.9rem;font-weight:600}.notes-settings-divider{background:var(--border);height:1px;margin:8px 0}.notes-settings-danger-zone{flex-direction:column;gap:8px;display:flex}.notes-settings-danger-label{color:var(--danger);font-size:.82rem;font-weight:600}.notes-settings-delete-btn{width:100%;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);cursor:pointer;text-align:center;background:0 0;padding:7px 12px;font-size:.82rem}.notes-settings-delete-btn:hover:not(:disabled){background:#f38ba81a}.notes-settings-delete-btn:disabled{opacity:.4;cursor:not-allowed}.notes-delete-confirm{color:var(--danger);flex-direction:column;gap:8px;font-size:.82rem;display:flex}.notes-delete-confirm input{border:1px solid var(--danger);border-radius:var(--radius);background:var(--bg);color:var(--fg);box-sizing:border-box;width:100%;padding:5px 8px;font-size:.82rem}.notes-delete-confirm-actions{gap:6px;display:flex}.notes-delete-confirm-actions .notes-settings-delete-btn{flex:1}.notes-tree-content{flex:1;padding:8px;overflow-y:auto}.notes-loading{text-align:center;color:var(--text-secondary);padding:16px;font-size:.85rem}.notes-tree-empty{text-align:center;color:var(--text-tertiary);padding:16px;font-size:.8rem}.note-tree-item{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;transition:background .15s,opacity .15s;display:flex}.note-tree-drag-handle{cursor:grab;opacity:.3;flex-shrink:0;padding:0 2px;font-size:.7rem}.note-tree-drag-handle:hover{opacity:.8}.note-tree-drag-handle:active{cursor:grabbing}.note-tree-item.dragging-overlay{background:var(--bg-hover);z-index:1000;cursor:grabbing;width:250px;box-shadow:0 4px 12px #0000004d}.note-tree-drop-line{background:var(--accent);pointer-events:none;border-radius:1px;height:2px;margin:0 4px}.note-tree-item.drop-inside{background:var(--accent-muted);outline:1px solid var(--accent);outline-offset:-1px;border-radius:var(--radius)}.note-tree-draggable-container{flex-direction:column;gap:1px;display:flex}.note-tree-item:hover{background:var(--bg-hover)}.notes-root-drop-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-dim);background:#ffffff05;margin:8px 0;padding:10px;font-size:.8rem;transition:all .2s}.notes-root-drop-zone.over{border-color:var(--accent);background:var(--accent-muted);color:var(--text);transform:scale(1.02)}.note-tree-item.selected{background:var(--accent-muted)}.note-tree-item.folder{font-weight:500}.note-tree-icon{flex-shrink:0}.note-tree-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.note-tree-delete{opacity:0;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.9rem;transition:opacity .15s,color .15s}.note-tree-item:hover .note-tree-delete{opacity:1}.note-tree-delete:hover{color:var(--danger)}.notes-editor-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.notes-editor-empty{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.notes-editor-empty h3{color:var(--text);margin:0}.notes-editor-empty p{margin:0;font-size:.9rem}.notes-editor-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-direction:column;gap:0;display:flex}.notes-editor-header-row{align-items:center;gap:12px;padding:10px 16px;display:flex}.notes-editor-tags-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:0;padding:6px 16px 8px;display:flex}.notes-tag-badge{background:var(--accent-muted);border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.notes-tag-badge-remove{color:var(--accent);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:.85rem;line-height:1;transition:opacity .15s}.notes-tag-badge-remove:hover{opacity:1}.notes-add-tag-btn{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;padding:2px 10px;font-size:.75rem;transition:border-color .15s,color .15s}.notes-add-tag-btn:hover{border-color:var(--accent);color:var(--accent)}.notes-tag-suggestions{flex-direction:column;gap:8px;margin-top:4px;display:flex}.notes-tag-suggestions-list{flex-wrap:wrap;gap:6px;display:flex}.notes-tag-suggestion{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;padding:3px 10px;font-size:.8rem;transition:background .15s,border-color .15s}.notes-tag-suggestion:hover{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.notes-title-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;flex:1;padding:6px 10px;font-size:1rem;font-weight:600}.notes-title-input:focus{border-color:var(--accent)}.notes-editor-actions{align-items:center;gap:10px;display:flex}.notes-unsaved{color:var(--warning);font-size:.75rem}.notes-editor-textarea{background:var(--bg);color:var(--text);font-family:var(--font-mono);resize:none;border:none;outline:none;flex:1;padding:16px;font-size:.9rem;line-height:1.6}.notes-mobile-toggle{display:none!important}.notes-tree-panel-overlay{display:none}@media (width<=768px){.notes-tree-panel-overlay{z-index:45;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;display:block;position:fixed;inset:56px 0 0}.notes-tree-panel-overlay.open{opacity:1;pointer-events:auto}.notes-tree-panel{z-index:50;width:280px;transition:transform .3s;position:fixed;top:56px;bottom:0;left:0;transform:translate(-100%);box-shadow:10px 0 20px #0000004d}.notes-tree-panel.open{transform:translate(0)}.notes-editor-header-row{gap:8px;padding:8px 12px}.notes-editor-tags-row{padding:4px 12px 8px}.notes-title-input{font-size:.95rem}.notes-editor-actions .action-btn{padding:6px 12px;font-size:.85rem}.notes-unsaved{font-size:.7rem}.notes-editor-textarea{padding:12px;font-size:1rem}.notes-mobile-toggle{background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius);width:36px;height:36px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:flex!important}.notes-empty{padding:24px}.notes-empty h2{font-size:1.25rem}}.ws-view{flex-direction:row;height:100%;min-height:0;display:flex;overflow:hidden}.ws-left-panel{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;width:220px;min-width:160px;max-width:300px;display:flex;overflow:hidden}.ws-files-section{border-bottom:1px solid var(--border);flex-direction:column;min-height:80px;max-height:50%;display:flex;overflow:hidden}.ws-chats-section{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ws-section-header{flex-shrink:0;align-items:center;gap:4px;padding:8px 10px 6px;display:flex}.ws-section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:.75rem;font-weight:600}.ws-icon-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:.9rem;line-height:1;transition:background .12s,color .12s;display:flex}.ws-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.ws-icon-btn:disabled{opacity:.4;cursor:default}.ws-empty-hint{color:var(--text-dim);padding:8px 10px 10px;font-size:.75rem}.ws-item-list{flex:1;margin:0;padding:2px 0 6px;list-style:none;overflow-y:auto}.ws-item{cursor:pointer;border-radius:4px;align-items:center;gap:5px;margin:1px 4px;padding:5px 10px;transition:background .1s;display:flex}.ws-item:hover{background:var(--bg-hover)}.ws-item.selected{background:var(--bg-active);color:var(--accent)}.ws-item-icon{flex-shrink:0;font-size:.85rem}.ws-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.ws-rename-input{background:var(--bg);border:1px solid var(--accent);color:var(--text);border-radius:3px;outline:none;flex:1;min-width:0;padding:1px 5px;font-size:.78rem}.ws-item-action{color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;padding:0 1px;font-size:.85rem;line-height:1;transition:opacity .1s,color .1s}.ws-item:hover .ws-item-action{opacity:1}.ws-item-action:hover{color:var(--accent)}.ws-item-action-danger:hover{color:var(--danger)}.ws-add-menu-wrap{position:relative}.ws-add-menu{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);z-index:100;flex-direction:column;min-width:150px;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #0003}.ws-add-menu-item{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 12px;font-size:.82rem;transition:background .1s}.ws-add-menu-item:hover{background:var(--bg-hover)}.ws-paste-modal{flex-direction:column;width:540px;max-width:90vw;display:flex}.ws-paste-modal-body{flex-direction:column;gap:12px;padding:20px 28px;display:flex}.ws-paste-name{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:8px 12px;font-size:.9rem;transition:border-color .15s}.ws-paste-name:focus{border-color:var(--accent)}.ws-paste-textarea{font-size:.85rem;font-family:var(--font-mono,monospace);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);resize:vertical;outline:none;min-height:220px;max-height:50vh;padding:10px 12px;transition:border-color .15s}.ws-paste-textarea:focus{border-color:var(--accent)}.ws-chat-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.ws-chat-header{border-bottom:1px solid var(--border);background:var(--bg-surface);align-items:center;gap:10px;padding:10px 16px;display:flex}.ws-chat-title{font-size:.95rem;font-weight:600}.ws-view-file-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;padding:3px 10px;font-size:.78rem;transition:background .12s}.ws-view-file-btn:hover{background:var(--bg-active);color:var(--text)}.ws-chat-messages{flex:1;min-height:0;overflow-y:auto}.ws-chat-loading{color:var(--text-dim);text-align:center;padding:24px;font-size:.85rem}.ws-viewer-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ws-viewer-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:min(90vw,900px);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.ws-viewer-header{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.ws-viewer-path{font-family:var(--font-mono);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.ws-viewer-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1.1rem;transition:background .12s,color .12s}.ws-viewer-close:hover{background:var(--bg-hover);color:var(--danger)}.ws-viewer-content{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text);background:var(--bg);flex:1;margin:0;padding:16px;font-size:.8rem;line-height:1.6;overflow:auto}.ws-editor-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ws-editor-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.ws-editor-back-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:4px 10px;font-size:.82rem;transition:background .12s,color .12s}.ws-editor-back-btn:hover{background:var(--bg-hover);color:var(--text)}.ws-editor-path{font-family:var(--font-mono);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.82rem;overflow:hidden}.ws-editor-path-editable{cursor:text;border-radius:var(--radius-sm);padding:2px 4px;transition:background .1s}.ws-editor-path-editable:hover{background:var(--bg-hover)}.ws-editor-name-input{font-family:var(--font-mono);color:var(--accent);background:var(--bg-input,var(--bg-2));border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none;flex:1;min-width:0;padding:2px 6px;font-size:.82rem}.ws-editor-unsaved{color:var(--text-dim);flex-shrink:0;font-size:.75rem}.ws-editor-download-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;margin-right:8px;padding:4px 14px;font-size:.82rem;font-weight:600;transition:border-color .12s,color .12s}.ws-editor-download-btn:hover{border-color:var(--accent);color:var(--accent)}.ws-editor-save-btn{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:4px 14px;font-size:.82rem;font-weight:600;transition:background .12s,opacity .12s}.ws-editor-save-btn:disabled{opacity:.45;cursor:default}.ws-editor-save-btn:not(:disabled):hover{background:var(--accent-hover)}.ws-editor-textarea{resize:none;width:100%;min-height:0;font-family:var(--font-mono);color:var(--text);background:var(--bg);box-sizing:border-box;white-space:pre;overflow-wrap:normal;border:none;outline:none;flex:1;padding:16px 20px;font-size:.82rem;line-height:1.7;overflow:auto}.ws-editor-textarea--wrap{white-space:pre-wrap;overflow-wrap:break-word;overflow-x:hidden}.ws-editor-preview{box-sizing:border-box;min-height:0;color:var(--text);background:var(--bg);flex:1;padding:24px 32px;line-height:1.7;overflow:auto}.ws-editor-mode-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:4px 12px;font-size:.82rem;font-weight:600;transition:border-color .12s,color .12s,background .12s}.ws-editor-mode-btn:hover{border-color:var(--accent);color:var(--accent)}.ws-editor-mode-btn.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.ws-editor-codemirror{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ws-editor-codemirror .cm-editor{height:100%;font-size:.82rem;font-family:var(--font-mono);flex:1}.ws-editor-codemirror .cm-scroller{height:100%;overflow:auto}.ws-diff-card{border:1px solid var(--border);border-radius:var(--radius);font-size:.82rem;overflow:hidden}.ws-diff-card.ws-diff-approved{border-color:var(--success)}.ws-diff-card.ws-diff-rejected{border-color:var(--danger);opacity:.7}.ws-diff-meta{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.ws-diff-path{font-family:var(--font-mono);color:var(--accent);font-size:.78rem;font-weight:600}.ws-diff-desc{color:var(--text-dim);flex:1;font-size:.8rem}.ws-diff-actions{gap:8px;display:flex}.ws-diff-approve,.ws-diff-reject{border-radius:var(--radius);cursor:pointer;border:none;padding:5px 14px;font-size:.78rem;font-weight:600;transition:opacity .12s}.ws-diff-approve{background:var(--success);color:#fff}.ws-diff-reject{background:var(--danger);color:#fff}.ws-diff-approve:disabled,.ws-diff-reject:disabled{opacity:.5;cursor:default}.ws-diff-badge{border-radius:4px;padding:3px 10px;font-size:.76rem;font-weight:600}.ws-diff-badge-approved{background:color-mix(in srgb, var(--success) 20%, transparent);color:var(--success)}.ws-diff-badge-rejected{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}.ws-diff-loading{color:var(--text-dim);padding:10px;font-size:.8rem}.ws-diff-hunks{background:var(--bg);overflow-x:auto}.ws-diff-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.78rem}.ws-diff-line-added{background:color-mix(in srgb, var(--success) 15%, transparent)}.ws-diff-line-removed{background:color-mix(in srgb, var(--danger) 15%, transparent)}.ws-diff-line-context{background:0 0}.ws-diff-gutter{width:18px;color:var(--text-dim);text-align:center;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);padding:1px 6px}.ws-diff-line-added .ws-diff-gutter{color:var(--success)}.ws-diff-line-removed .ws-diff-gutter{color:var(--danger)}.ws-diff-text{padding:1px 10px}.ws-diff-text pre{white-space:pre-wrap;word-break:break-all;margin:0}.ws-project-bar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;padding:8px 10px 6px;display:flex}.ws-project-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;font-weight:700;overflow:hidden}.ws-status-bar{border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:6px 8px;display:flex}.ws-status-badge{color:var(--accent);white-space:nowrap;background:#89b4fa1f;border:1px solid #89b4fa40;border-radius:10px;padding:2px 7px;font-size:.68rem;font-weight:600}.ws-status-badge-rag{color:var(--success);background:#a6e3a11f;border-color:#a6e3a140}.ws-config-overlay{z-index:300;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ws-config-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:min(92vw,520px);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.ws-config-header{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.ws-config-title{font-size:.95rem;font-weight:700}.ws-config-body{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.ws-config-field{flex-direction:column;gap:6px;display:flex}.ws-config-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.ws-config-hint{color:var(--text-dim);font-size:.75rem;line-height:1.4}.ws-config-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-sizing:border-box;outline:none;width:100%;padding:6px 10px;font-size:.85rem;transition:border-color .15s}.ws-config-input:focus{border-color:var(--accent)}.ws-config-name-row{align-items:center;gap:8px;display:flex}.ws-config-name-row .ws-config-input{flex:1}.ws-config-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;outline:none;padding:6px 10px;font-size:.85rem;transition:border-color .15s}.ws-config-select:focus{border-color:var(--accent)}.ws-config-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);resize:vertical;outline:none;min-height:80px;padding:8px 10px;font-size:.8rem;transition:border-color .15s}.ws-config-textarea:focus{border-color:var(--accent)}.ws-config-row{border-top:1px solid var(--border);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}.ws-config-row-text{flex-direction:column;flex:1;gap:3px;display:flex}.ws-toggle{cursor:pointer;flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.ws-toggle input{opacity:0;width:0;height:0;position:absolute}.ws-toggle-track{background:var(--border);border-radius:20px;transition:background .2s;position:absolute;inset:0}.ws-toggle-track:after{content:"";background:var(--text-dim);border-radius:50%;width:14px;height:14px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.ws-toggle input:checked+.ws-toggle-track{background:var(--accent)}.ws-toggle input:checked+.ws-toggle-track:after{background:#fff;transform:translate(16px)}.ws-kb-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ws-kb-item{background:var(--bg-hover);border:1px solid var(--border);border-radius:5px;align-items:center;gap:7px;padding:5px 8px;font-size:.82rem;display:flex}.ws-kb-item-linked{border-color:#89b4fa4d}.ws-kb-icon{flex-shrink:0;font-size:.9rem}.ws-kb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ws-kb-action{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:1rem;line-height:1;transition:color .12s}.ws-kb-unlink{color:var(--text-dim)}.ws-kb-unlink:hover{color:var(--danger)}.ws-kb-link{color:var(--text-dim)}.ws-kb-link:hover{color:var(--success)}.ws-kb-add-section{flex-direction:column;gap:4px;display:flex}.ws-config-footer{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.ws-config-cancel{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;padding:6px 16px;font-size:.85rem;transition:background .12s,color .12s}.ws-config-cancel:hover{background:var(--bg-hover);color:var(--text)}.ws-config-save{background:var(--accent);border-radius:var(--radius);color:#1e1e2e;cursor:pointer;border:none;padding:6px 20px;font-size:.85rem;font-weight:700;transition:background .12s}.ws-config-save:hover{background:var(--accent-hover)}.ws-config-footer-right{gap:8px;margin-left:auto;display:flex}.ws-config-delete{border-radius:var(--radius);color:var(--danger);cursor:pointer;background:0 0;border:1px solid #f38ba859;padding:6px 14px;font-size:.82rem;transition:background .12s,border-color .12s}.ws-config-delete:hover{border-color:var(--danger);background:#f38ba81f}.ws-config-delete-confirm{color:var(--danger);margin-right:auto;font-size:.82rem;font-weight:600}.ws-config-delete-confirm-btn{background:var(--danger);border-radius:var(--radius);color:#1e1e2e;cursor:pointer;border:none;padding:6px 16px;font-size:.85rem;font-weight:700;transition:background .12s}.ws-config-delete-confirm-btn:hover{background:var(--danger-hover)}.ws-mobile-toggle{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .12s,color .12s;display:none}.ws-mobile-toggle:hover{background:var(--bg-hover);color:var(--text)}.ws-sidebar-overlay{z-index:199;background:#00000073;display:none;position:fixed;inset:0}.ws-sidebar-overlay.open{display:block}@media (width<=640px){.ws-mobile-toggle{display:flex}.ws-left-panel{z-index:200;width:260px;min-width:0;max-width:85vw;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.ws-left-panel.open{transform:translate(0)}.ws-editor-header{flex-wrap:wrap;gap:6px}.ws-editor-path,.ws-editor-name-input{order:10;width:100%}}.ws-folder-item{color:var(--text-dim);-webkit-user-select:none;user-select:none}.ws-folder-item:hover{color:var(--text)}.ws-folder-arrow{width:10px;color:var(--text-dim);flex-shrink:0;font-size:.65rem;line-height:1}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:8px;max-width:420px;display:flex;position:fixed;top:16px;right:16px}.toast{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);color:var(--text);pointer-events:auto;word-break:break-word;align-items:flex-start;gap:10px;padding:12px 16px;font-size:.9rem;line-height:1.4;animation:.25s ease-out toast-slide-in;display:flex;box-shadow:0 4px 16px #0006}@keyframes toast-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:700;line-height:1;display:flex}.toast-error .toast-icon{background:var(--danger);color:var(--bg)}.toast-warning .toast-icon{background:var(--warning);color:var(--bg)}.toast-success .toast-icon{background:var(--success);color:var(--bg)}.toast-info .toast-icon{background:var(--accent);color:var(--bg)}.toast-message{flex:1;min-width:0}.toast-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:1.1rem;line-height:1}.toast-close:hover{color:var(--text)}@media (width<=600px){.toast-container{max-width:none;top:8px;left:8px;right:8px}}.dialog-overlay{z-index:10001;background:#0000008c;justify-content:center;align-items:center;animation:.15s ease-out dialog-fade-in;display:flex;position:fixed;inset:0}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}.dialog-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:90vw;min-width:340px;max-width:460px;padding:24px;animation:.15s ease-out dialog-scale-in;box-shadow:0 8px 32px #00000080}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dialog-message{color:var(--text);word-break:break-word;margin-bottom:16px;font-size:.95rem;line-height:1.5}.dialog-input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-size:.9rem;font-family:var(--font-sans);outline:none;margin-bottom:16px;padding:8px 12px}.dialog-input:focus{border-color:var(--accent)}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-btn{border-radius:var(--radius);border:1px solid var(--border);font-size:.85rem;font-family:var(--font-sans);cursor:pointer;padding:8px 18px;transition:background .15s,border-color .15s}.dialog-btn-cancel{background:var(--bg);color:var(--text-dim)}.dialog-btn-cancel:hover{background:var(--bg-hover);color:var(--text)}.dialog-btn-confirm{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.dialog-btn-confirm:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.dialog-btn-danger{background:var(--danger);border-color:var(--danger)}.dialog-btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.search-view{flex-direction:column;flex:1;gap:20px;padding:16px;display:flex;overflow-y:auto}.search-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding-bottom:4px;display:flex}.search-tab{border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:5px 10px;font-size:.82rem;font-weight:500;transition:background .12s,color .12s;display:flex}.search-tab:hover{background:var(--bg-hover);color:var(--text)}.search-tab.active{background:var(--bg-active);color:var(--accent)}.search-tab-count{background:var(--bg-hover);color:var(--text-dim);font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 5px;font-size:.7rem;font-weight:600}.search-tab.active .search-tab-count{background:var(--bg-surface);color:var(--accent)}.search-view-status{color:var(--text-dim);text-align:center;padding:40px 0;font-size:.9rem}.search-streaming-indicator{color:var(--text-dim);opacity:.7;align-self:center;margin-left:auto;font-size:.75rem;animation:1.2s ease-in-out infinite search-pulse}@keyframes search-pulse{0%,to{opacity:.4}50%{opacity:.9}}.search-view-empty{color:var(--text-dim);flex-direction:column;align-items:center;gap:10px;padding:60px 0;display:flex}.search-view-empty-icon{opacity:.5;font-size:2rem}.search-view-empty p{font-size:.9rem}.search-section{flex-direction:column;gap:4px;display:flex}.search-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:0 4px 6px;font-size:.72rem;font-weight:600}.search-result-list{flex-direction:column;gap:2px;list-style:none;display:flex}.search-result-item{border-radius:var(--radius);cursor:pointer;background:var(--bg-surface);align-items:flex-start;gap:10px;padding:10px 12px;transition:background .12s;display:flex}.search-result-item:hover{background:var(--bg-hover)}.search-result-icon{flex-shrink:0;margin-top:1px;font-size:1.1rem;line-height:1}.search-result-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.search-result-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-result-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.search-result-folder{color:var(--text-dim);background:var(--bg-active);white-space:nowrap;border-radius:99px;flex-shrink:0;padding:1px 6px;font-size:.72rem}.search-result-snippet{color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.search-result-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.search-tag{background:var(--bg-active);color:var(--accent);border-radius:99px;padding:1px 7px;font-size:.7rem}.search-group{flex-direction:column;display:flex}.search-group-header{border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;width:100%;padding:7px 10px;font-size:.84rem;font-weight:500;transition:background .12s;display:flex}.search-group-header:hover{background:var(--bg-hover)}.search-group-chevron{color:var(--text-dim);flex-shrink:0;width:10px;font-size:.6rem}.search-group-icon{flex-shrink:0;font-size:1rem;line-height:1}.search-group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.search-group-count{color:var(--text-dim);background:var(--bg-active);font-variant-numeric:tabular-nums;border-radius:99px;flex-shrink:0;padding:1px 6px;font-size:.7rem;font-weight:600}.search-group-items{padding-left:22px}.search-similarity-badge{color:var(--text-dim);background:var(--bg-active);font-variant-numeric:tabular-nums;border-radius:99px;flex-shrink:0;align-self:center;padding:2px 6px;font-size:.7rem;font-weight:600}.artifact-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.artifact-card-header{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.artifact-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:500;overflow:hidden}.artifact-card-lang,.artifact-item-lang{border-radius:3px;flex-shrink:0;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.artifact-lang-html{color:#e87832;background:#e355002e}.artifact-lang-jsx{color:#61dafb;background:#61dafb1f}.artifact-card-actions{gap:.5rem;display:flex}.artifact-card-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;padding:.3rem .65rem;font-size:.8rem;transition:background .15s,color .15s}.artifact-card-btn:hover{background:var(--bg-active)}.artifact-card-btn.primary{background:var(--accent);border-color:var(--accent);color:#1e1e2e;font-weight:500}.artifact-card-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.artifact-card-btn.published{background:var(--success);border-color:var(--success);color:#1e1e2e;cursor:default;font-weight:500}.artifact-card-btn:disabled{opacity:.5;cursor:not-allowed}.artifact-card-preview{background:#fff;line-height:0}.artifact-card-iframe{border:none;width:100%;height:420px;display:block}#artifacts-view{max-width:900px;margin:0 auto;padding:1.5rem 2rem}.artifacts-view-header h2{color:var(--text);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.artifacts-view-tabs{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.artifacts-tab{border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:.4rem .8rem;font-size:.875rem;transition:background .15s,color .15s}.artifacts-tab:hover{background:var(--bg-hover);color:var(--text)}.artifacts-tab.active{color:var(--accent);background:var(--bg-active)}.artifacts-empty,.artifacts-loading{color:var(--text-dim);padding:2rem 0;font-size:.9rem}.artifacts-list{flex-direction:column;gap:.5rem;display:flex}.artifact-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.artifact-item.expanded{border-color:var(--accent)}.artifact-item-main{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.artifact-item-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.artifact-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.artifact-item-date{color:var(--text-dim);flex-shrink:0;font-size:.8rem}.artifact-item-actions{flex-shrink:0;gap:.4rem;display:flex}.artifact-action-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;padding:.3rem .65rem;font-size:.8rem;transition:background .15s,color .15s,border-color .15s}.artifact-action-btn:hover{background:var(--bg-active);color:var(--text)}.artifact-action-btn.active{background:var(--bg-active);color:var(--accent);border-color:var(--accent)}.artifact-action-btn.primary{background:var(--accent);border-color:var(--accent);color:#1e1e2e;font-weight:500}.artifact-action-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.artifact-action-btn.danger{color:var(--danger)}.artifact-action-btn.danger:hover{background:var(--danger);color:#1e1e2e;border-color:var(--danger)}.artifact-action-btn.small{padding:.15rem .4rem;font-size:.75rem}.artifact-action-btn:disabled{opacity:.5;cursor:not-allowed}.artifact-item-share-panel{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.artifact-share-row{flex-direction:column;gap:.5rem;display:flex}.artifact-share-label{color:var(--text-dim);font-size:.8rem}.artifact-share-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.artifact-public-link{align-items:center;gap:.5rem;display:flex}.artifact-link-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1;padding:.35rem .6rem;font-size:.8rem}.artifact-share-input-row{gap:.5rem;display:flex}.artifact-share-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1;padding:.4rem .6rem;font-size:.875rem}.artifact-share-input:focus{border-color:var(--accent);outline:none}.artifact-share-error{color:var(--danger);font-size:.8rem}.artifact-shared-with{flex-direction:column;gap:.4rem;display:flex}.artifact-share-list{flex-direction:column;gap:.3rem;list-style:none;display:flex}.artifact-share-item{background:var(--bg-surface);border-radius:var(--radius);color:var(--text);justify-content:space-between;align-items:center;padding:.3rem .6rem;font-size:.875rem;display:flex}.code-block-wrapper{margin:.5em 0;position:relative}.code-block-wrapper pre{margin:0}.copy-code-btn{z-index:2;background:var(--bg-surface);border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;transition:opacity .15s,color .15s,background .15s;display:inline-flex;position:absolute;top:8px;right:8px}.code-block-wrapper:hover .copy-code-btn{opacity:1}.copy-code-btn:hover{color:var(--text);background:var(--bg-hover)}.copy-code-btn.copied{opacity:1;color:var(--success)}.pw-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.pw-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(760px,100%);height:min(82vh,720px);display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.pw-header{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:.75rem;padding:.85rem 1.1rem;display:flex}.pw-title{color:var(--text);white-space:nowrap;flex:1;font-size:.95rem;font-weight:600}.pw-model-select{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;outline:none;max-width:240px;padding:.35rem .6rem;font-size:.82rem}.pw-model-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #89b4fa26}.pw-prompt-bar{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.pw-prompt-bar-summary{color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.45rem 1rem;font-size:.8rem;display:flex}.pw-prompt-bar-summary:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.pw-prompt-bar-length{color:var(--text-dim);font-size:.75rem}.pw-prompt-bar-content{font-family:var(--font-mono,monospace);color:var(--text);white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--border);background:var(--bg-surface);max-height:200px;margin:0;padding:.6rem 1rem;font-size:.78rem;line-height:1.55;overflow-y:auto}.pw-messages{flex-direction:column;flex:1;gap:.8rem;padding:1rem;display:flex;overflow-y:auto}.pw-empty{text-align:center;color:var(--text-dim);max-width:340px;margin:auto;font-size:.88rem;line-height:1.6}.pw-empty p{margin:.4rem 0}.pw-message{flex-shrink:0;max-width:82%;display:flex}.pw-message-user{align-self:flex-end}.pw-message-assistant{align-self:flex-start}.pw-message-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:.65rem .9rem;font-size:.9rem;line-height:1.55}.pw-message-user .pw-message-bubble{background:var(--accent);color:#11111b;border-bottom-right-radius:4px}.pw-message-assistant .pw-message-bubble{background:var(--bg);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.pw-proposal-card{background:var(--bg);border:1px solid var(--accent);border-radius:12px;align-self:stretch;overflow:hidden}.pw-proposal-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:#89b4fa0f;padding:.6rem 1rem;font-size:.78rem;font-weight:700}.pw-proposal-text{font-family:var(--font-mono,monospace);color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:220px;margin:0;padding:.85rem 1rem;font-size:.83rem;line-height:1.6;overflow-y:auto}.pw-proposal-actions{border-top:1px solid var(--border);gap:.5rem;padding:.65rem 1rem;display:flex}.pw-streaming-dot{align-self:flex-start;gap:5px;padding:.5rem .75rem;display:flex}.pw-streaming-dot span{background:var(--text-dim);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite pw-bounce}.pw-streaming-dot span:nth-child(2){animation-delay:.2s}.pw-streaming-dot span:nth-child(3){animation-delay:.4s}@keyframes pw-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.pw-input-area{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:flex-end;gap:.6rem;padding:.75rem;display:flex}.pw-input{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);resize:none;outline:none;flex:1;padding:.6rem .85rem;font-size:.9rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.pw-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #89b4fa26}.pw-input:disabled{opacity:.6}.pw-send-btn{flex-shrink:0;align-self:flex-end;padding:.6rem 1.1rem}.pw-diff-card{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;align-self:stretch;font-size:.82rem;overflow:hidden}.pw-diff-card.pw-diff-accepted{border-color:var(--success)}.pw-diff-card.pw-diff-rejected{border-color:var(--danger);opacity:.65}.pw-diff-header{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .85rem;display:flex}.pw-diff-title{color:var(--text);font-size:.8rem;font-weight:600}.pw-diff-stats{font-size:.75rem;font-weight:700;font-family:var(--font-mono,monospace);gap:.4rem;display:flex}.pw-diff-added{color:var(--success)}.pw-diff-removed{color:var(--danger)}.pw-diff-actions{gap:.4rem;margin-left:auto;display:flex}.pw-diff-accept-btn,.pw-diff-reject-btn{border-radius:var(--radius);cursor:pointer;border:none;padding:4px 12px;font-size:.77rem;font-weight:600;transition:opacity .12s}.pw-diff-accept-btn{background:var(--success);color:#fff}.pw-diff-reject-btn{background:var(--danger);color:#fff}.pw-diff-accept-btn:hover,.pw-diff-reject-btn:hover{opacity:.85}.pw-diff-badge{border-radius:4px;margin-left:auto;padding:3px 10px;font-size:.75rem;font-weight:600}.pw-diff-badge-accepted{background:color-mix(in srgb, var(--success) 20%, transparent);color:var(--success)}.pw-diff-badge-rejected{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}.pw-diff-hunks{background:var(--bg);max-height:300px;overflow:auto}.pw-diff-table{border-collapse:collapse;width:100%;font-family:var(--font-mono,monospace);font-size:.78rem}.talk-mode-bar{background:var(--bg-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;display:flex}.talk-mode-label{flex-shrink:0;align-items:center;gap:6px;display:flex}.talk-mode-icon{font-size:1rem;line-height:1}.talk-mode-title{color:var(--accent);letter-spacing:.03em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:.8rem;font-weight:600}.talk-mode-status{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;overflow:hidden}.talk-mode-interim{color:var(--text);font-style:italic}.talk-mode-controls{flex-shrink:0;align-items:center;gap:6px;display:flex}.talk-mode-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;line-height:1;transition:background .15s,border-color .15s,opacity .15s;display:flex}.talk-mode-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.talk-mode-btn:disabled{opacity:.4;cursor:not-allowed}.talk-mode-btn.active{border-color:var(--accent);background:#89b4fa26}.talk-mode-btn.mic-btn.active{animation:1.2s ease-in-out infinite talk-mode-pulse}@keyframes talk-mode-pulse{0%,to{box-shadow:0 0 #89b4fa66}50%{box-shadow:0 0 0 5px #89b4fa00}}.talk-mode-btn.speaker-btn.active{border-color:var(--accent);background:#89b4fa26;animation:1.5s ease-in-out infinite talk-mode-pulse}.talk-mode-btn.speaker-btn.muted{opacity:.5}.talk-mode-btn.auto-turn-btn{gap:4px;width:auto;padding:0 8px;font-size:.85rem}.auto-turn-label{letter-spacing:.02em;white-space:nowrap;font-size:.7rem;font-weight:600}.talk-mode-btn.close-btn{color:var(--text-dim);font-size:.75rem}.talk-mode-btn.close-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:#ff555514}.talk-mode-btn.talk-mode-stop-btn{width:auto;color:var(--danger,#f38ba8);border-color:var(--danger,#f38ba8);background:#f38ba81a;gap:4px;padding:0 10px;font-size:.78rem;font-weight:600;animation:1.5s ease-in-out infinite talk-mode-pulse}.talk-mode-btn.talk-mode-stop-btn:hover:not(:disabled){border-color:var(--danger,#f38ba8);background:#f38ba838}.talk-mode-no-stt{color:var(--text-dim);opacity:.6;padding:0 4px;font-size:.78rem}.talk-mode-voice-chooser{flex-shrink:0;align-items:center;gap:4px;display:flex;position:relative}.talk-mode-voice-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);height:28px;color:var(--text-dim);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;max-width:340px;padding:0 10px;font-size:.75rem;transition:background .15s,border-color .15s,color .15s;display:flex;overflow:hidden}.talk-mode-voice-name{text-overflow:ellipsis;overflow:hidden}.talk-mode-voice-btn:hover{border-color:var(--accent);color:var(--text);background:var(--bg-hover)}.talk-mode-voice-reset{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:.75rem;line-height:1;transition:color .15s}.talk-mode-voice-reset:hover{color:var(--danger)}.icon-btn.active{color:var(--accent);border-color:var(--accent);background:#89b4fa1f}.meeting-view{background:var(--bg);height:100%;color:var(--text);flex-direction:row;display:flex;overflow:hidden}.meeting-sidebar{border-right:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;width:260px;min-width:200px;max-width:320px;display:flex;overflow:hidden}.meeting-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.meeting-sidebar-header-btns{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.meeting-settings-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;transition:background .12s,color .12s;display:flex}.meeting-settings-btn:hover{background:var(--bg-active);color:var(--text)}.meeting-settings-btn-active{border-color:var(--accent);color:var(--accent);background:#cba6f726}.meeting-memories-panel{flex-direction:column;flex:1;padding:.5rem 0;display:flex;overflow:hidden}.meeting-memories-list{flex-direction:column;flex:1;gap:.5rem;padding:0 .75rem;display:flex;overflow-y:auto}.meeting-memory-item{background:var(--bg-hover);border:1px solid var(--border);border-radius:7px;flex-direction:column;gap:.3rem;padding:.55rem .65rem;display:flex}.meeting-memory-text{color:var(--text);word-break:break-word;margin:0;font-size:.82rem;line-height:1.5}.meeting-memory-actions{justify-content:flex-end;gap:.2rem;display:flex}.meeting-memory-btn{cursor:pointer;color:var(--text-dim);opacity:.5;background:0 0;border:none;border-radius:4px;padding:.1rem .25rem;font-size:.8rem;transition:opacity .12s,background .12s}.meeting-memory-item:hover .meeting-memory-btn{opacity:1}.meeting-memory-btn:hover{background:var(--bg-active)}.meeting-memory-btn-pinned{color:var(--accent)!important;opacity:1!important}.meeting-memory-btn-danger:hover{color:var(--danger);background:#f38ba833}.meeting-memory-edit{flex-direction:column;gap:.3rem;display:flex}.meeting-memories-add{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.4rem;padding:.6rem .75rem;display:flex}.meeting-sidebar-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:700;overflow:hidden}.meeting-new-btn{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.2rem;font-weight:700;line-height:1;display:flex}.meeting-new-btn:hover{filter:brightness(1.12)}.meeting-new-form{border-bottom:1px solid var(--border);flex-shrink:0;padding:.65rem .85rem}.meeting-list{flex:1;padding:.35rem 0;overflow-y:auto}.meeting-list-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid #0000;align-items:center;gap:.4rem;padding:.55rem .9rem;transition:background .12s,border-color .12s;display:flex}.meeting-list-item:hover{background:var(--bg-hover)}.meeting-list-item.active{border-left-color:var(--accent);background:#89b4fa1a}.meeting-list-item-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.meeting-list-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.meeting-list-item-meta{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.meeting-list-item-delete{color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.15rem .3rem;font-size:.8rem;transition:opacity .12s,background .12s,color .12s}.meeting-list-item:hover .meeting-list-item-delete{opacity:1}.meeting-list-item-delete:hover{color:var(--danger);background:#f38ba833}.meeting-transcript-pane{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.meeting-transcript-empty{justify-content:center;align-items:center}.meeting-transcript-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex}.meeting-transcript-title-wrap{flex:1;align-items:baseline;gap:.6rem;min-width:0;display:flex}.meeting-transcript-title-btn{color:var(--text);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:360px;padding:0;font-size:1rem;font-weight:700;overflow:hidden}.meeting-transcript-title-btn:hover{color:var(--accent);text-decoration:underline}.meeting-transcript-date{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:.75rem}.meeting-rename-row{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.meeting-rename-input{background:var(--bg-hover);border:1px solid var(--accent);color:var(--text);border-radius:6px;flex:1;min-width:0;padding:.35rem .65rem;font-size:.95rem;font-weight:600}.meeting-rename-input:focus{outline:none}.meeting-header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.meeting-status-msg{color:var(--text-dim);padding:0 .25rem;font-size:.82rem}.meeting-controls{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex}.meeting-record-btn{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;transition:background .15s;display:flex}.meeting-record-btn:hover{background:var(--bg-active)}.meeting-record-btn.recording{border-color:var(--danger);color:var(--danger);background:#f38ba833}.meeting-record-pulse{background:var(--danger);opacity:0;border-radius:50%;width:10px;height:10px;display:inline-block}.meeting-record-btn.recording .meeting-record-pulse{animation:1.1s infinite meeting-pulse}@keyframes meeting-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}.meeting-no-stt{color:var(--danger);margin:0;font-size:.85rem}.meeting-speaker-selector{border-left:1px solid var(--border);flex-direction:column;flex:1;gap:.3rem;min-width:0;padding-left:1rem;display:flex}.meeting-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.75rem;font-weight:600}.meeting-speaker-chips-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.meeting-chip{border:1px solid var(--border);background:var(--bg-hover);color:var(--text);cursor:pointer;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;transition:background .12s}.meeting-chip:hover{background:var(--bg-active)}.meeting-chip.active{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.meeting-chip[style]:not(.active):not(:hover){border-color:var(--chip-color,var(--border));color:var(--chip-color,var(--text))}.meeting-chip[style].active{background:var(--chip-color,var(--accent));border-color:var(--chip-color,var(--accent));color:var(--bg)}.meeting-add-speaker{align-items:center;gap:.35rem;margin-left:.15rem;display:flex}.meeting-speaker-input{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);border-radius:6px;width:130px;padding:.3rem .6rem;font-size:.82rem}.meeting-speaker-input:focus{border-color:var(--accent);outline:none}.meeting-interim{border:1px dashed var(--accent);color:var(--text-dim);background:#89b4fa1f;border-radius:8px;flex-shrink:0;margin:.5rem 1.25rem;padding:.5rem .85rem;font-size:.88rem}.meeting-interim-label{color:var(--accent);margin-right:.4rem;font-weight:600}.meeting-interim-text{font-style:italic}.meeting-transcript{flex-direction:column;flex:1;gap:.6rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.meeting-empty{color:var(--text-dim);text-align:center;margin-top:2rem;font-size:.9rem}.meeting-segment{background:var(--bg-surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:.6rem .85rem;transition:border-color .15s}.meeting-segment:hover{border-color:var(--bg-active)}.meeting-segment-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.meeting-segment-speaker-wrap{flex:1;position:relative}.meeting-segment-speaker-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.03em;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:700}.meeting-segment-speaker-btn:hover{text-decoration:underline}.meeting-segment-time{color:var(--text-dim);white-space:nowrap;font-size:.72rem}.meeting-segment-actions{gap:.25rem;display:flex}.meeting-segment-action-btn{cursor:pointer;color:var(--text-dim);opacity:0;background:0 0;border:none;border-radius:4px;padding:.15rem .3rem;font-size:.8rem;transition:opacity .12s,background .12s}.meeting-segment:hover .meeting-segment-action-btn{opacity:1}.meeting-segment-action-btn:hover{background:var(--bg-active);color:var(--text)}.meeting-segment-action-btn.meeting-segment-delete:hover{color:var(--danger);background:#f38ba833}.meeting-segment-text{color:var(--text);margin:0;font-size:.9rem;line-height:1.55}.meeting-segment-edit{flex-direction:column;gap:.4rem;margin-top:.25rem;display:flex}.meeting-segment-textarea{background:var(--bg-hover);border:1px solid var(--accent);width:100%;color:var(--text);resize:vertical;box-sizing:border-box;border-radius:6px;padding:.4rem .6rem;font-size:.88rem}.meeting-segment-textarea:focus{outline:none}.meeting-segment-edit-actions{gap:.4rem;display:flex}.meeting-speaker-menu{z-index:100;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.2rem;min-width:160px;padding:.35rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 16px #0000004d}.meeting-speaker-menu-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:5px;width:100%;padding:.35rem .5rem;font-size:.83rem;font-weight:600}.meeting-speaker-menu-item:hover{background:var(--bg-active)}.meeting-speaker-clear{border-top:1px solid var(--border);margin-top:.2rem;padding-top:.4rem;color:var(--text-dim)!important;font-weight:400!important}.meeting-speaker-new{border-top:1px solid var(--border);gap:.3rem;padding-top:.3rem;display:flex}.meeting-speaker-new-input{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);border-radius:5px;flex:1;min-width:0;padding:.3rem .5rem;font-size:.8rem}.meeting-speaker-new-input:focus{border-color:var(--accent);outline:none}.meeting-speaker-new-btn{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:5px;padding:.3rem .55rem;font-size:.8rem;font-weight:600}.meeting-btn{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.38rem .8rem;font-size:.82rem;transition:background .12s}.meeting-btn:hover:not(:disabled){background:var(--bg-active)}.meeting-btn:disabled{opacity:.5;cursor:not-allowed}.meeting-btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.meeting-btn-primary:hover:not(:disabled){filter:brightness(1.1);background:var(--accent)}.meeting-btn-danger{color:var(--danger);border-color:var(--danger);background:#f38ba826}.meeting-btn-danger:hover:not(:disabled){background:#f38ba84d}.meeting-mobile-toggle{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .12s,color .12s;display:none}.meeting-mobile-toggle:hover{background:var(--bg-active);color:var(--text)}.meeting-mobile-toggle-empty{position:absolute;top:.75rem;left:.75rem}.meeting-sidebar-overlay{z-index:199;background:#00000073;display:block;position:fixed;inset:0}@media (width<=640px){.meeting-mobile-toggle{display:flex}.meeting-sidebar-overlay{display:block}.meeting-sidebar{z-index:200;background:var(--bg-surface);width:280px;min-width:0;max-width:85vw;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.meeting-sidebar.open{transform:translate(0)}.meeting-transcript-pane{position:relative}.meeting-transcript-header{gap:.5rem;padding:.55rem .75rem}.meeting-header-actions{flex-wrap:wrap;gap:.4rem}.meeting-controls{flex-wrap:wrap;gap:.5rem}.meeting-transcript-empty{position:relative}}.meeting-memories-pane{border-left:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;width:280px;min-width:240px;max-width:340px;display:flex;overflow:hidden}.meeting-memories-pane-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.meeting-memories-pane-title{color:var(--text);font-size:.92rem;font-weight:700}.regen-result-modal{flex-direction:column;width:520px;max-width:94vw;max-height:80vh;display:flex}.regen-result-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem .8rem;display:flex}.regen-result-title{color:var(--text);font-size:1.05rem;font-weight:700}.regen-result-body{flex-direction:column;flex:1;gap:1rem;padding:1rem 1.4rem;display:flex;overflow-y:auto}.regen-result-empty{color:var(--text-dim);text-align:center;margin:1rem 0;font-size:.9rem}.regen-result-section{flex-direction:column;gap:.4rem;display:flex}.regen-result-section-title{text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem;font-size:.82rem;font-weight:700}.regen-added{color:var(--success,#a6e3a1)}.regen-updated{color:var(--accent)}.regen-removed{color:var(--danger,#f38ba8)}.regen-result-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.regen-result-item{color:var(--text);background:var(--bg-hover);border-left:3px solid #0000;border-radius:7px;padding:.45rem .7rem;font-size:.875rem;line-height:1.5}.regen-result-item-added{border-left-color:var(--success,#a6e3a1);background:#a6e3a112}.regen-result-item-updated{border-left-color:var(--accent);background:#cba6f712}.regen-result-item-removed{border-left-color:var(--danger,#f38ba8);color:var(--text-dim);background:#f38ba812}.regen-result-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;padding:.8rem 1.4rem;display:flex}.prompt-label-row{align-items:center;gap:.5rem;display:flex}.podcast-list{flex-direction:column;gap:3px;display:flex}.podcast-list-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;width:100%;padding:7px 12px;transition:background .15s,border-color .15s;display:flex}.podcast-list-item:hover{background:var(--bg-hover);border-color:var(--accent)}.podcast-list-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;overflow:hidden}.podcast-list-item-meta{color:var(--text-dim);flex-shrink:0;font-size:.75rem}.podcast-chat{background:var(--bg);height:100%;color:var(--text);flex-direction:column;display:flex;overflow:hidden}.podcast-chat-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:.75rem;padding:.65rem 1.25rem;display:flex}.podcast-back-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:.3rem .65rem;font-size:.82rem;transition:background .12s}.podcast-back-btn:hover{background:var(--bg-hover)}.podcast-chat-header-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.podcast-chat-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.podcast-chat-focus{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.podcast-chat-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.podcast-tts-toggle{cursor:pointer;color:var(--text-dim);align-items:center;gap:.25rem;font-size:.9rem;display:flex}.podcast-tts-toggle input{accent-color:var(--accent)}.podcast-chat-messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.podcast-chat-empty{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;display:flex}.podcast-chat-empty p{margin:0}.podcast-chat-empty-hint{font-size:.82rem}.podcast-message{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);max-width:85%;padding:.65rem .85rem;animation:.2s ease-out podcast-msg-in}@keyframes podcast-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.podcast-message-host{border-left:3px solid #89b4fa;align-self:flex-start}.podcast-message-cohost{border-left:3px solid #fab387;align-self:flex-end}.podcast-message-user{text-align:center;background:#a6e3a114;border-left:3px solid #a6e3a1;align-self:center;max-width:70%}.podcast-message-error{border-color:var(--danger);text-align:center;max-width:70%;color:var(--danger);background:#f38ba81a;align-self:center}.podcast-message-streaming{border-style:dashed}.podcast-message-header{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.podcast-message-speaker{color:var(--text);font-size:.78rem;font-weight:700}.podcast-message-voice{color:var(--text-dim);font-size:.7rem;font-style:italic}.podcast-streaming-indicator{color:var(--accent);font-size:.72rem;animation:1.2s ease-in-out infinite podcast-pulse}.podcast-message-retrying{opacity:.85;border-style:dashed}.podcast-retrying-indicator{color:var(--warning,#e8a838);font-size:.72rem;animation:1.2s ease-in-out infinite podcast-pulse}.podcast-retry-detail{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.podcast-retry-violation{background:color-mix(in srgb, var(--warning,#e8a838) 15%, transparent);color:var(--warning,#e8a838);text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:.7rem;display:inline-block}.podcast-segment-badge{border-radius:var(--radius);background:var(--bg-hover);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;padding:4px 8px;font-size:.72rem;display:flex}.podcast-segment-turn{color:var(--accent);font-weight:600}.podcast-segment-label{background:var(--bg-active);color:var(--text);border-radius:4px;padding:1px 6px}.podcast-segment-words{color:var(--text-dim);font-family:var(--font-mono);font-size:.68rem}.podcast-segment-countdown{color:var(--danger);background:#f38ba826;border-radius:4px;padding:1px 6px;font-weight:600}.podcast-phase-label{color:var(--accent);font-size:.78rem;font-weight:500;animation:1.2s ease-in-out infinite podcast-pulse}@keyframes podcast-pulse{0%,to{opacity:1}50%{opacity:.4}}.podcast-message-content{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:.88rem;line-height:1.6}.podcast-message-actions{opacity:0;gap:.35rem;margin-left:auto;transition:opacity .15s;display:flex}.podcast-message:hover .podcast-message-actions{opacity:1}.podcast-msg-play-btn,.podcast-msg-replay-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;padding:.15rem .45rem;font-size:.72rem;transition:background .12s,color .12s}.podcast-msg-play-btn:hover,.podcast-msg-replay-btn:hover{background:var(--bg-hover);color:var(--text)}.podcast-msg-play-btn.playing{color:var(--accent);border-color:var(--accent);opacity:1}.podcast-message-replaying{outline:2px solid var(--accent);outline-offset:-1px}.podcast-replay-bar{border:1px solid var(--accent);border-radius:var(--radius);background:#89b4fa1a;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .75rem;display:flex}.podcast-replay-label{color:var(--accent);font-size:.82rem;font-weight:600}.podcast-replay-actions{gap:.35rem;display:flex}.podcast-replay-actions button{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background:0 0;padding:.25rem .55rem;font-size:.9rem;transition:background .12s}.podcast-replay-actions button:hover{background:var(--bg-hover)}.podcast-controls{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.75rem 1.25rem;display:flex}.podcast-controls-main{justify-content:center;gap:.5rem;display:flex}.podcast-workshop-btn,.podcast-start-btn,.podcast-stop-btn,.podcast-reset-btn{border-radius:var(--radius);cursor:pointer;border:none;padding:.6rem 2rem;font-size:.9rem;font-weight:600;transition:filter .12s}.podcast-workshop-btn{background:var(--bg-surface);color:var(--text);border:1px solid var(--border)}.podcast-workshop-btn:hover{background:var(--bg-hover)}.podcast-start-btn{background:var(--accent);color:var(--bg)}.podcast-start-btn:hover{filter:brightness(1.12)}.podcast-reset-btn{background:var(--bg-surface);color:var(--warning);border:1px solid var(--border)}.podcast-reset-btn:hover{background:var(--bg-hover)}.podcast-prep-indicator{background:color-mix(in srgb, var(--success) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));border-radius:var(--radius);color:var(--success);margin-top:.8rem;padding:.4rem .8rem;font-size:.82rem}.podcast-voice-row{align-items:center;gap:.5rem;display:flex}.podcast-voice-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;overflow:hidden}.podcast-voice-preview-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-dim);padding:.35rem .6rem;font-size:.82rem;transition:background .12s,color .12s}.podcast-voice-preview-btn:hover{background:var(--bg-active);color:var(--text)}.podcast-voice-reset-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:.8rem;line-height:1;transition:color .15s}.podcast-voice-reset-btn:hover{color:var(--danger)}.voice-preview-modal{flex-direction:column;min-width:440px;max-width:600px;max-height:80vh;display:flex}.voice-preview-controls{flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:0 1.25rem;display:flex}.voice-preview-filter{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);color:var(--text);padding:.5rem .75rem;font-size:.9rem}.voice-preview-text{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);color:var(--text);resize:vertical;min-height:2.5rem;font-size:.85rem;font-family:var(--font-sans);padding:.5rem .75rem}.voice-preview-list{flex:1;min-height:120px;max-height:45vh;padding:0 1.25rem;overflow-y:auto}.voice-preview-group{margin-bottom:.75rem}.voice-preview-group-label{text-transform:uppercase;color:var(--text-dim);letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:.35rem;padding:.25rem 0;font-size:.7rem;font-weight:700}.voice-preview-item{border-radius:var(--radius);justify-content:space-between;align-items:center;padding:.4rem .5rem;transition:background .1s;display:flex}.voice-preview-item:hover{background:var(--bg-hover)}.voice-preview-item.active{background:color-mix(in srgb, var(--accent) 15%, transparent)}.voice-preview-item-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.voice-preview-item-name{color:var(--text);align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;display:flex}.voice-preview-current-badge{text-transform:uppercase;color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:4px;padding:.1rem .4rem;font-size:.65rem;font-weight:600}.voice-preview-item-meta{color:var(--text-dim);font-size:.75rem}.voice-preview-item-actions{flex-shrink:0;gap:.35rem;display:flex}.voice-preview-play-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.3rem .5rem;font-size:.85rem;transition:background .12s}.voice-preview-play-btn:hover{background:var(--bg-active)}.voice-preview-play-btn.playing{background:var(--accent);color:var(--bg);border-color:var(--accent)}.voice-preview-select-btn{background:var(--accent);color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;padding:.3rem .65rem;font-size:.8rem;font-weight:600;transition:filter .12s}.voice-preview-select-btn:hover:not(:disabled){filter:brightness(1.12)}.voice-preview-select-btn:disabled{opacity:.5;cursor:default}.voice-preview-fav-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;flex-shrink:0;padding:.15rem .25rem;font-size:1rem;line-height:1;transition:color .15s,transform .15s}.voice-preview-fav-btn:hover{color:#f5c542;transform:scale(1.2)}.voice-preview-fav-btn.favorited{color:#f5c542}.podcast-stop-btn{background:var(--danger);color:#fff}.podcast-stop-btn:hover{filter:brightness(1.12)}.podcast-message-deleted{opacity:.35;pointer-events:none;text-decoration:line-through;position:relative}.podcast-message-deleted .podcast-message-actions{pointer-events:auto}.podcast-message-edited{border-left:3px solid var(--accent)}.podcast-msg-edit-btn,.podcast-msg-delete-btn,.podcast-msg-undo-btn,.podcast-msg-action-btn{cursor:pointer;border-radius:var(--radius);color:var(--text-dim);background:0 0;border:none;padding:.15rem .35rem;font-size:.8rem}.podcast-msg-edit-btn:hover,.podcast-msg-action-btn:hover{background:var(--bg-hover);color:var(--text)}.podcast-msg-action-btn:disabled{opacity:.4;cursor:default}.podcast-msg-delete-btn:hover{background:var(--danger);color:#fff}.podcast-msg-undo-btn{color:var(--accent);font-size:.75rem}.podcast-msg-undo-btn:hover{background:var(--bg-hover)}.podcast-edit-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.podcast-edit-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:min(640px,90vw);max-height:80vh;display:flex;box-shadow:0 8px 32px #0006}.podcast-edit-modal-header{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.podcast-edit-modal-close{color:var(--text-dim);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:.2rem .4rem;font-size:1rem}.podcast-edit-modal-close:hover{background:var(--bg-hover);color:var(--text)}.podcast-edit-modal-textarea{background:var(--bg);width:100%;color:var(--text);font-size:.88rem;line-height:1.6;font-family:var(--font-sans);resize:vertical;box-sizing:border-box;border:none;outline:none;flex:1;min-height:200px;padding:.75rem 1rem}.podcast-edit-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.podcast-ai-modal{width:min(480px,90vw)}.podcast-ai-modal-body{flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.podcast-ai-modal-label{color:var(--text-dim);font-size:.82rem}.podcast-ai-modal-body .podcast-edit-modal-textarea{flex:none;min-height:80px}.podcast-editing-bar{background:var(--bg-surface);border:1px solid var(--accent);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.podcast-editing-hint{color:var(--text-dim);font-size:.8rem}.podcast-editing-actions{gap:.5rem;display:flex}.podcast-editing-actions .primary{background:var(--accent);color:var(--bg)}.podcast-editing-actions .primary:hover:not(:disabled){background:var(--accent-hover)}.podcast-steer-bar{gap:.5rem;display:flex}.podcast-steer-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;flex:1;padding:.5rem .75rem;font-size:.85rem;transition:border-color .15s}.podcast-steer-input:focus{border-color:var(--accent)}.podcast-steer-input::placeholder{color:var(--text-dim)}.podcast-steer-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background:0 0;padding:.4rem .7rem;font-size:1rem;transition:background .12s}.podcast-steer-btn:hover:not(:disabled){background:var(--bg-hover)}.podcast-steer-btn:disabled{opacity:.4;cursor:default}.podcast-creating-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.podcast-creating-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;gap:1rem;padding:2rem 2.5rem;display:flex;box-shadow:0 8px 32px #0006}.podcast-creating-text{color:var(--text-dim);margin:0;font-size:.95rem}.podcast-setup-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.podcast-setup-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:1.25rem;width:460px;max-width:90vw;padding:2rem 2.5rem;display:flex;box-shadow:0 8px 32px #0006}.podcast-setup-title{color:var(--text);text-align:center;margin:0;font-size:1.3rem}.podcast-setup-subtitle{color:var(--text-dim);text-align:center;margin:0;font-size:.88rem;line-height:1.5}.podcast-setup-voices{flex-direction:column;gap:1rem;display:flex}.podcast-setup-voice-group{flex-direction:column;gap:.4rem;display:flex}.podcast-setup-label{color:var(--text);font-size:.85rem;font-weight:600}.podcast-setup-voice-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);text-align:left;cursor:pointer;padding:.6rem 1rem;font-size:.85rem;transition:border-color .15s,color .15s}.podcast-setup-voice-btn:hover{border-color:var(--accent);color:var(--text)}.podcast-setup-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.podw-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.podw-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(760px,100%);height:min(82vh,720px);display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.podw-header{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:.75rem;padding:.85rem 1.1rem;display:flex}.podw-title{color:var(--text);white-space:nowrap;flex:1;font-size:.95rem;font-weight:600}.podw-model-select{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;outline:none;max-width:240px;padding:.35rem .6rem;font-size:.82rem}.podw-model-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #89b4fa26}.podw-script-bar{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.podw-script-bar-summary{color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.82rem;font-weight:500;display:flex}.podw-script-bar-summary:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.podw-script-bar-length{color:var(--text-dim);font-size:.75rem;font-weight:400}.podw-script-bar-content{color:var(--text);white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--border);background:var(--bg-surface);max-height:40vh;margin:0;padding:.85rem 1.1rem;font-size:.85rem;line-height:1.7;overflow-y:auto}.podw-messages{flex-direction:column;flex:1;gap:.8rem;padding:1rem;display:flex;overflow-y:auto}.podw-empty{text-align:center;color:var(--text-dim);max-width:380px;margin:auto;font-size:.88rem;line-height:1.6}.podw-empty p{margin:.4rem 0}.podw-focus-hint{color:var(--accent);margin-top:.6rem;font-size:.85rem}.podw-message{flex-shrink:0;max-width:82%;display:flex}.podw-message-user{align-self:flex-end}.podw-message-assistant{align-self:flex-start}.podw-message-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:.65rem .9rem;font-size:.9rem;line-height:1.55}.podw-message-user .podw-message-bubble{background:var(--accent);color:#11111b;border-bottom-right-radius:4px}.podw-message-assistant .podw-message-bubble{background:var(--bg);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.podw-tool-card{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;align-self:stretch;font-size:.82rem;overflow:hidden}.podw-tool-call{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.podw-tool-result{border-color:color-mix(in srgb, var(--success) 30%, var(--border))}.podw-tool-header{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.45rem .85rem;display:flex}.podw-tool-icon{font-size:.85rem}.podw-tool-name{color:var(--text);font-size:.8rem;font-weight:600}.podw-tool-args{font-family:var(--font-mono,monospace);color:var(--text-dim);white-space:pre-wrap;word-break:break-word;background:var(--bg);max-height:120px;margin:0;padding:.5rem .85rem;font-size:.78rem;line-height:1.5;overflow-y:auto}.podw-tool-content{font-family:var(--font-mono,monospace);color:var(--text);white-space:pre-wrap;word-break:break-word;background:var(--bg);max-height:200px;margin:0;padding:.6rem .85rem;font-size:.78rem;line-height:1.5;overflow-y:auto}.podw-tool-pending{border-color:color-mix(in srgb, var(--warning,#e8a820) 50%, var(--border))}.podw-pending-waiting .podw-tool-header{background:color-mix(in srgb, var(--warning,#e8a820) 8%, var(--bg-surface))}.podw-pending-approved{border-color:var(--success);opacity:.7}.podw-pending-rejected{border-color:var(--danger);opacity:.7}.podw-pending-actions{gap:.35rem;margin-left:auto;display:flex}.podw-pending-approve,.podw-pending-reject{cursor:pointer;border:none;border-radius:4px;padding:.15rem .5rem;font-size:.78rem;font-weight:600}.podw-pending-approve{background:var(--success);color:#fff}.podw-pending-approve:hover{filter:brightness(1.1)}.podw-pending-reject{background:var(--danger);color:#fff}.podw-pending-reject:hover{filter:brightness(1.1)}.podw-pending-badge{border-radius:3px;margin-left:auto;padding:.1rem .4rem;font-size:.72rem;font-weight:600}.podw-pending-badge-approved{color:var(--success)}.podw-pending-badge-rejected{color:var(--danger)}.podw-pending-bar{background:color-mix(in srgb, var(--warning,#e8a820) 8%, var(--bg-surface));border-top:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem .85rem;font-size:.82rem;display:flex}.podw-pending-label{color:var(--text-dim);font-weight:500}.podw-pending-bar-actions{gap:.4rem;margin-left:auto;display:flex}.podw-pending-approve-all,.podw-pending-reject-all{cursor:pointer;border:none;border-radius:4px;padding:.3rem .7rem;font-size:.78rem;font-weight:600}.podw-pending-approve-all{background:var(--success);color:#fff}.podw-pending-approve-all:hover{filter:brightness(1.1)}.podw-pending-reject-all{background:var(--danger);color:#fff}.podw-pending-reject-all:hover{filter:brightness(1.1)}.podw-diff-card{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;align-self:stretch;font-size:.82rem;overflow:hidden}.podw-diff-card.podw-diff-approved{border-color:var(--success)}.podw-diff-card.podw-diff-rejected{border-color:var(--danger);opacity:.7}.podw-diff-meta{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.podw-diff-desc{color:var(--text);flex:1;font-size:.82rem;font-weight:600}.podw-diff-actions{gap:8px;display:flex}.podw-diff-approve,.podw-diff-reject{border-radius:var(--radius);cursor:pointer;border:none;padding:5px 14px;font-size:.78rem;font-weight:600;transition:opacity .12s}.podw-diff-approve{background:var(--success);color:#fff}.podw-diff-reject{background:var(--danger);color:#fff}.podw-diff-approve:disabled,.podw-diff-reject:disabled{opacity:.5;cursor:default}.podw-diff-badge{border-radius:4px;padding:3px 10px;font-size:.76rem;font-weight:600}.podw-diff-badge-approved{background:color-mix(in srgb, var(--success) 20%, transparent);color:var(--success)}.podw-diff-badge-rejected{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}.podw-diff-hunks{background:var(--bg);overflow-x:auto}.podw-diff-table{border-collapse:collapse;width:100%;font-family:var(--font-mono,monospace);font-size:.78rem}.podw-diff-line-added{background:color-mix(in srgb, var(--success) 15%, transparent)}.podw-diff-line-removed{background:color-mix(in srgb, var(--danger) 15%, transparent)}.podw-diff-line-context{background:0 0}.podw-diff-gutter{width:18px;color:var(--text-dim);text-align:center;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);padding:1px 6px}.podw-diff-line-added .podw-diff-gutter{color:var(--success)}.podw-diff-line-removed .podw-diff-gutter{color:var(--danger)}.podw-diff-text{padding:1px 10px}.podw-diff-text pre{white-space:pre-wrap;word-break:break-all;margin:0}.podw-diff-new-label{color:var(--text-dim);padding:10px 14px;font-size:.8rem;font-style:italic}.podw-streaming-dot{align-self:flex-start;gap:5px;padding:.5rem .75rem;display:flex}.podw-streaming-dot span{background:var(--text-dim);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite podw-bounce}.podw-streaming-dot span:nth-child(2){animation-delay:.2s}.podw-streaming-dot span:nth-child(3){animation-delay:.4s}@keyframes podw-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.podw-input-area{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:flex-end;gap:.6rem;padding:.75rem;display:flex}.podw-input{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);resize:none;outline:none;flex:1;padding:.6rem .85rem;font-size:.9rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.podw-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #89b4fa26}.podw-input:disabled{opacity:.6}.podw-send-btn{flex-shrink:0;align-self:flex-end;padding:.6rem 1.1rem}.flow-editor-header-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.flow-mode-toggle{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;white-space:nowrap;padding:.3rem .7rem;font-size:.78rem;transition:background .15s,color .15s}.flow-mode-toggle:hover{background:var(--bg-surface);color:var(--text)}.flow-mode-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.flow-json-editor{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.flow-json-toolbar{justify-content:flex-end;gap:.5rem;display:flex}.flow-json-textarea{background:var(--bg);min-height:300px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;tab-size:2;white-space:pre;flex:1;padding:.75rem;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.82rem;line-height:1.5;overflow-x:auto}.flow-json-textarea:focus{border-color:var(--accent);outline:none}.flow-json-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:var(--radius);padding:.4rem .6rem;font-size:.8rem}.flow-empty{text-align:center;color:var(--text-dim);border:1px dashed var(--border);border-radius:var(--radius);padding:1.5rem;font-size:.85rem}.flow-turn-list{flex-direction:column;gap:.5rem;display:flex}.flow-turn-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);border-left:3px solid var(--accent);overflow:hidden}.flow-card-host{border-left-color:var(--accent)}.flow-card-cohost{border-left-color:#a78bfa}.flow-card-header{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.flow-card-num{color:var(--text-dim);min-width:1.5rem;font-size:.75rem;font-weight:600}.flow-card-speaker{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:.25rem .4rem;font-size:.8rem}.flow-card-label-preview{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.82rem;overflow:hidden}.flow-card-label-row{border-bottom:1px solid var(--border);padding:.4rem .75rem}.flow-card-label{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);resize:vertical;background:0 0;min-height:2.4rem;padding:.35rem .5rem;font-family:inherit;font-size:.82rem;line-height:1.35}.flow-card-label::placeholder{color:var(--text-dim);opacity:.6}.flow-card-actions{gap:.15rem;display:flex}.flow-card-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;font-size:.75rem;display:flex}.flow-card-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.flow-card-btn:disabled{opacity:.3;cursor:default}.flow-card-remove:hover:not(:disabled){color:#ef4444;background:#ef44441a;border-color:#ef444480}.flow-card-body{flex-wrap:wrap;gap:.6rem;padding:.5rem .75rem;display:flex}.flow-card-body label{flex-direction:column;gap:.15rem;min-width:70px;display:flex}.flow-card-body label>span:first-child{color:var(--text-dim);font-size:.7rem;font-weight:500}.flow-card-body input[type=number]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);width:75px;padding:.3rem .4rem;font-size:.8rem}.flow-card-endings{flex:1;min-width:100px}.flow-card-endings input[type=text]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);width:100%;padding:.3rem .4rem;font-size:.8rem}.flow-add-buttons{gap:.5rem;display:flex}.flow-fallbacks{gap:1rem;margin-top:.5rem;display:flex}.flow-fallback-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex:1;padding:.75rem}.flow-fallback-section h4{color:var(--text);margin:0 0 .25rem;font-size:.85rem}.flow-fallback-grid{gap:.5rem;margin-top:.4rem;display:flex}.flow-fallback-grid label{flex-direction:column;flex:1;gap:.15rem;display:flex}.flow-fallback-grid label>span{color:var(--text-dim);font-size:.7rem;font-weight:500}.flow-fallback-grid input[type=number]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);width:100%;padding:.3rem .4rem;font-size:.8rem}.flow-general{gap:1rem;display:flex}.flow-general label{flex-direction:column;gap:.15rem;display:flex}.flow-general label>span:first-child{color:var(--text-dim);font-size:.8rem;font-weight:500}.flow-general input[type=number]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);width:80px;padding:.4rem .5rem;font-size:.85rem}.flow-header-actions{align-items:center;gap:.5rem;display:flex}.flow-presets-wrap{position:relative}.flow-presets-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);z-index:50;width:260px;max-height:320px;padding:.4rem 0;position:absolute;top:calc(100% + .35rem);right:0;overflow-y:auto;box-shadow:0 6px 20px #00000040}.flow-presets-save-row{gap:.35rem;padding:.4rem .6rem;display:flex}.flow-presets-name-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1;min-width:0;padding:.3rem .5rem;font-size:.8rem}.flow-presets-name-input:focus{border-color:var(--accent);outline:none}.flow-presets-save-btn{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:.3rem .6rem;font-size:.78rem}.flow-presets-save-btn:disabled{opacity:.4;cursor:default}.flow-presets-save-btn.full{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);padding:.4rem}.flow-presets-save-btn.full:hover{background:var(--bg-hover)}.flow-presets-divider{background:var(--border);height:1px;margin:.3rem 0}.flow-presets-empty{text-align:center;color:var(--text-dim);padding:.6rem;font-size:.78rem}.flow-presets-item{align-items:center;gap:.25rem;padding:0 .35rem 0 0;display:flex}.flow-presets-load-btn{color:var(--text);cursor:pointer;text-align:left;border-radius:var(--radius);background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.4rem .6rem;font-size:.82rem;display:flex}.flow-presets-load-btn:hover{background:var(--bg-hover)}.flow-presets-turns-count{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:.7rem}.flow-presets-del-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:.7rem;line-height:1}.flow-presets-del-btn:hover{color:#ef4444;background:#ef44441a}@media (width<=640px){.flow-fallbacks,.flow-card-body{flex-direction:column}.flow-card-body input[type=number]{width:100%}}.flow-editor-modal{flex-direction:column;width:680px;max-width:95vw;max-height:85vh;display:flex;overflow:hidden}.flow-editor-header{border-bottom:1px solid var(--border);padding:1.25rem 1.5rem .75rem}.flow-editor-header h2{color:var(--text);margin:0 0 .25rem;font-size:1.15rem}.flow-editor-loading{color:var(--text-dim);justify-content:center;align-items:center;padding:3rem;display:flex}.flow-editor-body{flex-direction:column;flex:1;gap:1.5rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.flow-editor-speakers{gap:1.25rem;display:flex}.flow-editor-speakers .flow-turn-section{flex:1;min-width:0}.flow-turn-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.flow-turn-section h4{color:var(--text);margin:0 0 .75rem;font-size:.95rem}.flow-turn-grid{flex-direction:column;gap:.6rem;display:flex}.flow-turn-grid label{flex-direction:column;gap:.2rem;display:flex}.flow-turn-grid label>span:first-child{color:var(--text-dim);font-size:.8rem;font-weight:500}.flow-turn-grid input[type=number],.flow-turn-grid input[type=text]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);width:100%;padding:.4rem .5rem;font-size:.85rem}.flow-hint{color:var(--text-dim);opacity:.7;font-size:.7rem}.flow-checkbox{color:var(--text-dim);cursor:pointer;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.82rem;display:flex}.flow-checkbox input[type=checkbox]{accent-color:var(--accent)}.flow-editor-global{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.flow-editor-global h4{color:var(--text);margin:0 0 .75rem;font-size:.95rem}.flow-editor-global .flow-turn-grid{flex-direction:row;gap:1rem}.flow-editor-global .flow-turn-grid label{flex:1}.flow-editor-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding:.75rem 1.5rem;display:flex}@media (width<=640px){.flow-editor-speakers,.flow-editor-global .flow-turn-grid{flex-direction:column}}.server-down-overlay{z-index:10000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#11111bd9;justify-content:center;align-items:center;animation:.3s server-down-fadein;display:flex;position:fixed;inset:0}@keyframes server-down-fadein{0%{opacity:0}to{opacity:1}}.server-down-card{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:400px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #0006}.server-down-icon{justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.server-down-spinner{border:3px solid var(--border);border-top-color:var(--danger);border-radius:50%;width:2.5rem;height:2.5rem;animation:.9s linear infinite ollama-spin;display:block}.server-down-title{color:var(--text);font-size:1.25rem;font-weight:600}.server-down-subtitle{color:var(--text-dim);max-width:300px;font-size:.875rem;line-height:1.5}.server-down-hint{color:var(--text-dim);font-size:.8rem}
