.topbar{height:56px;background-color:var(--color-surface-primary);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;padding:0 20px;flex-shrink:0;z-index:var(--z-dropdown);position:relative}.topbar-left{display:flex;align-items:center;gap:8px;position:absolute;left:20px}.topbar-logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:16px}.topbar-logo .logo-mark{display:flex;align-items:center;justify-content:center}.topbar-logo .logo-text{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.topbar-nav{display:flex;align-items:center;gap:2px}.topbar-nav-item{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:13px;font-weight:500;transition:all .15s ease;position:relative;white-space:nowrap}.topbar-nav-item:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.topbar-nav-item--active{color:var(--color-accent);background-color:transparent}.topbar-nav-item--active:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:20px;height:3px;background-color:var(--color-accent);border-radius:2px 2px 0 0}.topbar-nav-item .nav-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.topbar-right{display:flex;align-items:center;gap:12px;position:absolute;right:20px}.login-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-body);transition:all .2s;white-space:nowrap}.login-btn:hover{background:var(--color-accent);color:#fff}.user-menu{position:relative}.user-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;cursor:pointer;border:none;transition:opacity .2s}.user-avatar:hover{opacity:.85}.avatar-initials{font-size:13px;font-weight:600}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:8px;min-width:160px;box-shadow:var(--shadow-strong);z-index:var(--z-sticky);overflow:hidden}.dropdown-header{padding:12px 16px;border-bottom:1px solid var(--color-border)}.dropdown-username{font-size:14px;font-weight:500;color:var(--color-text-primary)}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:background .2s;font-family:var(--font-body)}.dropdown-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-topmost);background:#0009}.login-modal{background:var(--color-bg-primary);border:1px solid var(--color-border);width:400px;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:32px}.login-modal-header{text-align:center;margin-bottom:24px}.login-modal-header h2{margin:0 0 8px;font-size:24px;color:var(--color-text-primary)}.login-modal-subtitle{color:var(--color-text-secondary);font-size:14px}.login-form{display:flex;flex-direction:column;gap:16px}.form-group label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.form-group input{padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:var(--color-bg-secondary);color:var(--color-text-primary);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-accent)}.form-group input:disabled{background:var(--color-bg-secondary);cursor:not-allowed}.login-error{color:var(--color-status-failed);background:#ef44441a;padding:10px 12px;border-radius:8px;font-size:14px}.login-submit{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--color-accent);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.login-submit:hover:not(:disabled){background:var(--color-accent-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-loading{display:flex;align-items:center;gap:6px}.login-switch{text-align:center;font-size:14px;color:var(--color-text-secondary);margin-top:8px}.switch-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:14px;font-weight:500;padding:0}.switch-btn:hover{text-decoration:underline}.layout{display:flex;flex-direction:column;height:100vh;width:100vw;background-color:var(--color-bg-primary)}.layout-body{flex:1;min-height:0;display:flex;flex-direction:column}.rui-section{margin:8px 0}.rui-section-label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.rui-card-grid{display:flex;gap:10px;flex-wrap:wrap}.rui-mini-card{flex:1;min-width:220px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;background:var(--color-surface-primary);transition:box-shadow .15s}.rui-mini-card:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-soft)}.rui-mini-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rui-icon{font-size:18px}.rui-name{font-size:14px;font-weight:600;color:var(--color-text-primary)}.rui-desc{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px;line-height:1.4}.rui-meta-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rui-badge{font-size:11px;padding:2px 10px;border-radius:99px;font-weight:500}.rui-badge-lang{background:var(--color-bg-tertiary);color:var(--color-text-muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}.rui-date{font-size:11px;color:var(--color-text-muted);margin-left:auto}.rui-actions{display:flex;gap:6px;margin-top:8px}.rui-btn-sm{font-size:11px;padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-primary);cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-body);transition:all .15s}.rui-btn-sm:hover{background:var(--color-bg-secondary)}.rui-btn-danger{border-color:transparent}.rui-btn-danger:hover{background:#fef2f2;color:var(--color-status-failed)}.rui-tag{font-size:10px;padding:2px 8px;border-radius:99px;background:var(--color-bg-tertiary);color:var(--color-text-muted);font-weight:500;margin-left:auto}.rui-success-card{border:1px solid rgba(5,150,105,.2);border-radius:var(--radius-lg);padding:14px;background:#0596690a;display:flex;align-items:center;gap:12px}.rui-success-icon{font-size:24px}.rui-success-title{font-size:14px;font-weight:600;color:var(--color-status-completed)}.rui-success-meta{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.rui-updated-card{border:1px solid rgba(37,99,235,.15);border-radius:var(--radius-lg);padding:14px;background:#2563eb0a;display:flex;align-items:center;gap:12px}.rui-updated-icon{font-size:20px}.rui-updated-title{font-size:14px;font-weight:600;color:var(--color-status-running)}.rui-updated-meta{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.rui-deleted-card{border:1px solid rgba(220,38,38,.15);border-radius:var(--radius-lg);padding:14px;background:#dc26260a;display:flex;align-items:center;gap:12px}.rui-deleted-icon{font-size:20px}.rui-deleted-title{font-size:14px;font-weight:600;color:var(--color-status-failed)}.thinking-block{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:8px 0;overflow:hidden}.thinking-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--color-text-muted);font-family:var(--font-body);transition:background .15s}.thinking-header:hover{background:var(--color-bg-subtle)}.thinking-chevron{transition:transform .2s ease;flex-shrink:0;color:var(--color-text-muted)}.thinking-chevron.rotated{transform:rotate(90deg)}.thinking-label{font-weight:500}.thinking-dots{display:inline-flex;gap:4px;margin-left:4px}.thinking-dots .dot{width:5px;height:5px;border-radius:50%;background:var(--color-accent);animation:pulse-dot 1.4s infinite}.thinking-dots .dot:nth-child(2){animation-delay:.2s}.thinking-dots .dot:nth-child(3){animation-delay:.4s}@keyframes pulse-dot{0%,to{opacity:.2}50%{opacity:1}}.thinking-content{padding:0 14px 12px}.thinking-content pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-body);font-size:13px;margin:0;color:var(--color-text-secondary);line-height:1.6}.tool-call-card{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:8px 0;overflow:hidden;transition:border-color .2s}.tool-call-card--failed{border-color:#dc26264d}.tool-call-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-call-header:hover{background:var(--color-bg-subtle)}.tool-icon{font-size:15px}.tool-name{font-size:13px;font-weight:500;color:var(--color-text-primary)}.tool-status{font-size:11px;color:var(--color-text-muted);margin-left:auto}.tool-call-body{padding:12px 16px 16px;border-top:1px solid var(--color-border-subtle);background:var(--color-bg-primary)}.tool-section-label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.tool-section{margin:4px 0 12px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;background:var(--color-bg-secondary);padding:10px 12px;border-radius:var(--radius-sm);font-family:var(--font-mono);line-height:1.5;color:var(--color-text-secondary)}.tool-error-msg{color:var(--color-status-failed)}.tool-running-indicator{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:12px;color:var(--color-accent)}.text-success{color:var(--color-status-completed)}.text-error{color:var(--color-status-failed)}.status-strip{display:flex;align-items:center;gap:8px;padding:6px 0;margin-bottom:6px;font-size:12px;color:var(--color-text-muted);animation:statusFadeIn .3s ease-out}.status-strip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-strip--thinking .status-strip-dot{background:var(--color-accent);animation:statusPulse 1.5s ease-in-out infinite}.status-strip--executing .status-strip-dot{background:#f59e0b;animation:statusPulse .8s ease-in-out infinite}.status-strip--generating .status-strip-dot{background:#10b981;animation:statusPulse 1.2s ease-in-out infinite}.status-strip-label{font-weight:500;letter-spacing:.3px}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes statusFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.knowledge-sources{margin:8px 0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-primary);overflow:hidden}.ks-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;font-weight:500;color:var(--color-text-secondary);transition:background .15s}.ks-header:hover{background:var(--color-bg-subtle)}.ks-header-icon{font-size:14px}.ks-header-text{flex:1}.ks-chunk-list{border-top:1px solid var(--color-border-subtle);padding:10px 14px;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.ks-chunk-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:10px 12px;background:var(--color-bg-secondary)}.ks-chunk-meta{display:flex;align-items:center;gap:6px;margin-bottom:6px}.ks-file-icon{color:var(--color-text-muted);flex-shrink:0}.ks-file-name{font-size:12px;font-weight:500;color:var(--color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ks-score{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;flex-shrink:0}.score-high{background:#0596691a;color:var(--color-status-completed)}.score-mid{background:#d977061a;color:var(--color-status-pending)}.score-low{background:#9ca3af26;color:var(--color-text-muted)}.ks-chunk-content{margin:0;padding:8px 10px;background:var(--color-surface-primary);border-left:3px solid var(--color-accent-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:12px;line-height:1.6;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.create-project-modal{max-width:520px}.create-project-modal .modal-body{display:flex;flex-direction:column;gap:18px;max-height:60vh;overflow-y:auto}.create-project-modal .form-group{display:flex;flex-direction:column;gap:6px}.create-project-modal .form-group label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.create-project-modal .form-group input,.create-project-modal .form-group textarea{padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:var(--color-bg-secondary);color:var(--color-text-primary);outline:none;transition:border-color .15s;font-family:var(--font-body);box-sizing:border-box;width:100%}.create-project-modal .form-group input:focus,.create-project-modal .form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.create-project-modal .form-group textarea{resize:vertical;min-height:64px}.create-project-modal .form-group input::-moz-placeholder,.create-project-modal .form-group textarea::-moz-placeholder{color:var(--color-text-muted)}.create-project-modal .form-group input::placeholder,.create-project-modal .form-group textarea::placeholder{color:var(--color-text-muted)}.tools-checklist{display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto;padding:2px 0}.tool-checkbox{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;background:var(--color-bg-secondary)}.tool-checkbox:hover{border-color:var(--color-accent-muted);background:var(--color-bg-hover)}.tool-checkbox:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-subtle)}.tool-checkbox input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--color-accent)}.tool-info{display:flex;flex-direction:column;gap:2px}.tool-label{font-size:13px;font-weight:600;color:var(--color-text-primary)}.tool-desc{font-size:12px;color:var(--color-text-tertiary);line-height:1.4}.hint{font-size:12px;color:var(--color-text-muted);padding:4px 0}.form-error{font-size:13px;color:var(--color-status-failed);padding:10px 14px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px}.ps-header{padding:12px 12px 8px;border-bottom:1px solid var(--color-border)}.ps-header-top{display:flex;align-items:center;gap:8px}.ps-project-info{display:flex;flex-direction:column;min-width:0;flex:1}.ps-project-name{font-size:14px;font-weight:700;color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-project-path{font-size:10px;color:var(--color-text-muted);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.ps-meta{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.ps-meta-badge{font-size:10px;padding:2px 8px;border-radius:99px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-weight:500}.ps-status-active{background:#22c55e1a;color:var(--color-status-completed, #22c55e)}.ps-status-archived{background:#ef44441a;color:var(--color-status-failed, #ef4444)}.ps-export-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;margin-left:auto}.ps-export-btn:hover{background:var(--color-bg-secondary);color:var(--color-accent)}.ps-body{flex:1;overflow-y:auto;overflow-x:hidden}.ps-section{border-bottom:1px solid var(--color-border)}.ps-section-hdr{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .1s}.ps-section-hdr:hover{background:var(--color-bg-hover)}.ps-section-hdr>span{flex:1}.ps-section-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer}.ps-section-action:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.ps-section-body{padding:4px 8px 8px}.ps-subtle-label{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:8px 0 4px 4px}.ps-subtle-label:first-child{margin-top:0}.ft-tree{font-size:12px}.ft-row{display:flex;align-items:center;gap:4px;padding:3px 4px;border-radius:4px;cursor:default;transition:background .1s}.ft-row:hover{background:var(--color-bg-secondary)}.ft-dir{cursor:pointer;color:var(--color-text-primary);font-weight:500}.ft-file{color:var(--color-text-secondary)}.ft-chevron{flex-shrink:0;width:14px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.ft-icon{flex-shrink:0;font-size:13px}.ft-icon-dir{color:var(--color-accent)}.ft-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-size{font-size:10px;color:var(--color-text-muted);flex-shrink:0}.ft-loading,.ft-empty,.ft-error{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:11px;color:var(--color-text-muted)}.ft-error{color:var(--color-status-failed)}.ps-activity-stat{display:flex;align-items:baseline;gap:6px;padding:4px 8px}.ps-activity-val{font-size:18px;font-weight:700;color:var(--color-text-primary);font-family:var(--font-display)}.ps-activity-lbl{font-size:11px;color:var(--color-text-muted)}.ps-activity-session{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--color-text-secondary);transition:background .1s}.ps-activity-session:hover{background:var(--color-bg-secondary)}.ps-activity-session.active{background:var(--color-accent-subtle);color:var(--color-accent)}.ps-activity-time{font-size:10px;color:var(--color-text-muted);margin-left:auto}.ps-settings{padding:4px}.ps-tools-grid{display:flex;flex-direction:column;gap:3px}.ps-tool-chip{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:12px;color:var(--color-text-secondary);transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ps-tool-chip:hover{border-color:var(--color-accent-muted)}.ps-tool-chip.checked{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent)}.ps-tool-chip input{display:none}.ps-tool-label{flex:1}.ps-prompt-input{width:100%;resize:vertical;min-height:60px;padding:8px 10px;border:1px solid var(--color-border);border-radius:6px;font-size:11px;font-family:var(--font-mono);line-height:1.5;background:var(--color-bg-secondary);color:var(--color-text-primary);margin-top:4px}.ps-prompt-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}.ps-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.ps-settings-msg{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-status-failed)}.ps-settings-msg.success{color:var(--color-status-completed)}.ps-save-btn{display:flex;align-items:center;gap:4px;padding:6px 14px;border:none;border-radius:6px;background:var(--color-accent);color:#fff;font-size:12px;font-weight:500;cursor:pointer;font-family:var(--font-body);transition:background .15s}.ps-save-btn:hover{background:var(--color-accent-hover)}.ps-save-btn:disabled{opacity:.5;cursor:default}.ps-chats{padding-top:0}.ps-chats .session-new-btn{margin:4px 4px 8px;width:calc(100% - 8px)}.confirmation-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.confirmation-dialog{background:var(--color-bg);border-radius:12px;padding:24px;max-width:400px;width:90%;text-align:center}.confirmation-icon{color:#f59e0b;margin-bottom:16px}.confirmation-title{font-size:18px;font-weight:600;margin:0 0 8px}.confirmation-message{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.confirmation-actions{display:flex;gap:12px;justify-content:center}.btn-cancel,.btn-confirm{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-cancel{background:var(--color-bg-subtle);border:1px solid var(--color-border)}.btn-confirm{background:#ef4444;color:#fff;border:none}.butler-shell{display:flex;height:100%;overflow:hidden}.butler-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--color-bg-primary)}.main-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);background:var(--color-surface-primary);padding:0 16px;flex-shrink:0}.main-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;color:var(--color-text-secondary);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-family:var(--font-body);transition:all .15s;margin-bottom:-1px}.main-tab:hover{color:var(--color-text-primary);background:var(--color-bg-subtle)}.main-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.project-header{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface-primary);flex-shrink:0}.project-back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s}.project-back-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.project-name{font-size:14px;font-weight:600;color:var(--color-text-primary)}.session-nav{width:260px;flex-shrink:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column;background:var(--color-surface-primary);transition:width .2s ease,opacity .2s ease}.session-nav.collapsed{width:0;overflow:hidden;opacity:0;pointer-events:none}.session-nav-header{padding:16px;display:flex;align-items:center;justify-content:space-between}.session-nav-title{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--color-text-primary);letter-spacing:-.02em}.session-nav-toggle{width:28px;height:28px;border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:14px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.session-nav-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.sidebar-toggle-btn{position:fixed;top:68px;left:12px;z-index:var(--z-dropdown);width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-primary);color:var(--color-text-secondary);cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-soft)}.session-nav.collapsed~.sidebar-toggle-btn,.butler-shell .sidebar-toggle-btn{display:none}.butler-shell:has(.session-nav.collapsed) .sidebar-toggle-btn{display:flex}.project-context-header{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.back-to-butler-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0}.back-to-butler-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.project-context-info{display:flex;flex-direction:column;min-width:0}.project-context-name{font-size:14px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-context-path{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono)}.add-project-btn{width:26px;height:26px;border:1px dashed var(--color-border-strong);border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.add-project-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.project-list{padding:0 8px 8px;border-bottom:1px solid var(--color-border);margin-bottom:4px}.project-list-empty{padding:4px}.project-create-inline{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-family:var(--font-body);transition:all .15s}.project-create-inline:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.project-sidebar-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--color-text-secondary);margin-bottom:1px;transition:all .15s}.project-sidebar-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.project-item-icon{flex-shrink:0;color:var(--color-accent);opacity:.7}.project-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-new-btn{margin:8px 12px 12px;padding:10px 14px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-family:var(--font-body);text-align:left;transition:all .15s}.session-new-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.session-list{flex:1;overflow-y:auto;padding:4px 8px}.session-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--color-text-secondary);margin-bottom:2px;transition:all .15s}.session-item:hover{background:var(--color-bg-secondary)}.session-item.active{background:var(--color-accent-subtle);color:var(--color-accent)}.session-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-actions{display:flex;gap:4px;opacity:0}.session-item:hover .session-actions{opacity:1}.session-actions button{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:12px;color:var(--color-text-muted);border-radius:4px}.session-actions button:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.message-list{flex:1;overflow-y:auto;padding:24px}.message{margin-bottom:28px;max-width:768px;margin-left:auto;margin-right:auto}.message-sender{display:flex;align-items:center;gap:8px;margin-bottom:6px}.sender-avatar{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-accent-subtle);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--color-accent);font-weight:700;font-family:var(--font-display)}.sender-name{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.message-bubble{padding:14px 18px;font-size:14px;line-height:1.7;color:var(--color-text-primary)}.message-bubble-assistant{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)}.message-bubble-user{background:var(--color-accent-subtle);border:1px solid var(--color-accent-muted);border-radius:var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-lg);color:var(--color-accent);text-align:right}.message-user{display:flex;justify-content:flex-end}.message-bubble p{margin:0 0 8px}.message-bubble p:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{padding-left:20px;margin:8px 0}.message-bubble li{margin-bottom:4px}.message-bubble a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.message-bubble a:hover{color:var(--color-accent-hover)}.message-bubble h1,.message-bubble h2,.message-bubble h3,.message-bubble h4{margin:12px 0 6px;font-weight:600;line-height:1.3}.message-bubble h3{font-size:15px}.message-bubble hr{border:none;border-top:1px solid var(--color-border);margin:12px 0}.message-bubble blockquote{border-left:3px solid var(--color-accent);margin:8px 0;padding:4px 12px;color:var(--color-text-secondary)}.message-bubble table{border-collapse:collapse;width:100%;margin:8px 0;font-size:14px}.message-bubble th{background:var(--color-bg-secondary);text-align:left;padding:8px 12px;border:1px solid var(--color-border);font-weight:600}.message-bubble td{padding:6px 12px;border:1px solid var(--color-border)}.message-bubble tr:nth-child(2n) td{background:var(--color-bg-tertiary, rgba(0,0,0,.02))}.message-bubble code{font-family:var(--font-mono);font-size:13px;background:var(--color-bg-secondary);padding:2px 6px;border-radius:4px;color:var(--color-accent)}.message-bubble pre{background:var(--color-bg-secondary);padding:12px 16px;border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.5;margin:8px 0}.message-bubble pre code{background:none;padding:0;color:inherit}.streaming-cursor{display:inline-block;width:2px;height:16px;background:var(--color-accent);animation:blink 1s step-end infinite;vertical-align:text-bottom;margin-left:2px}@keyframes blink{50%{opacity:0}}.butler-input-area{border-top:1px solid var(--color-border);max-width:768px;margin:0 auto;width:100%;padding:16px 24px 20px;background:var(--color-bg-primary)}.model-selector{position:relative;margin-bottom:10px}.model-selector-btn{display:flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-primary);cursor:pointer;font-size:12px;color:var(--color-text-secondary);font-family:var(--font-body)}.model-selector-btn:hover{background:var(--color-bg-secondary)}.model-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:4px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);min-width:220px;max-height:260px;overflow-y:auto;z-index:var(--z-dropdown);padding:4px}.model-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--color-text-primary);border-radius:var(--radius-sm);font-family:var(--font-body)}.model-option:hover{background:var(--color-bg-secondary)}.model-option--selected{background:var(--color-accent-subtle)}.model-dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.chat-input-container{display:flex;gap:8px;align-items:flex-end}.chat-input{flex:1;resize:none;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 18px;font-size:14px;font-family:var(--font-body);line-height:1.5;background:var(--color-surface-primary);color:var(--color-text-primary);min-height:48px;max-height:160px}.chat-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.chat-input::-moz-placeholder{color:var(--color-text-muted)}.chat-input::placeholder{color:var(--color-text-muted)}.chat-input-actions{display:flex;gap:4px}.btn-attach{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-primary);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.btn-attach:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-attach:disabled{opacity:.5;cursor:default}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .6s linear infinite}.btn-send{padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;border:none;background:var(--color-accent);color:var(--color-surface-primary);font-family:var(--font-body);transition:background .15s}.btn-send:hover{background:var(--color-accent-hover)}.btn-send:disabled{opacity:.5;cursor:default}.btn-stop{padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--color-status-failed);background:transparent;color:var(--color-status-failed);font-family:var(--font-body)}.welcome-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;animation:fadeIn .4s ease-out}.welcome-icon{font-size:48px;margin-bottom:16px}.welcome-title{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--color-text-primary);margin:0 0 6px;letter-spacing:-.02em}.welcome-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0 0 28px;line-height:1.6;max-width:560px}.welcome-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px;text-align:left;max-width:720px;width:100%}@media (max-width: 768px){.welcome-capabilities{grid-template-columns:repeat(2,1fr);max-width:560px}}.capability-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;background:var(--color-surface-primary);cursor:pointer;transition:border-color .2s}.capability-card:hover{border-color:var(--color-accent-muted)}.capability-icon{font-size:20px;margin-bottom:6px}.capability-card h3{font-family:var(--font-display);font-size:14px;font-weight:600;margin:0 0 3px;color:var(--color-text-primary)}.capability-card p{font-size:12px;color:var(--color-text-secondary);line-height:1.4;margin:0}.welcome-suggestions{margin-bottom:28px;max-width:720px;width:100%}.suggestions-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:10px}.suggestions-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.suggestion-chip{padding:8px 16px;border:1px solid var(--color-border);border-radius:99px;background:var(--color-surface-primary);font-size:13px;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-body);transition:all .15s}.suggestion-chip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.todo-panel{padding:12px 24px;border-top:1px solid var(--color-border);max-width:768px;margin:0 auto;width:100%}.todo-header{font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.todo-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.todo-subject{flex:1}.status-completed .todo-subject{text-decoration:line-through;color:var(--color-text-muted)}.rotate-180{transform:rotate(180deg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-shell{flex:1;overflow-y:auto;padding:24px 32px}.page-shell-inner{max-width:1200px;margin:0 auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .2s ease-out}.modal{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:640px;box-shadow:var(--shadow-strong);animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;border-top:1px solid var(--color-border)}.btn-cancel{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-body);transition:all .15s}.btn-cancel:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-primary{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:var(--color-accent);border:none;color:#fff;font-family:var(--font-body);transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.modal-content{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:640px;box-shadow:var(--shadow-strong);animation:slideUp .3s ease-out}.modal--sm,.modal--md,.modal--lg,.modal--xl{width:100%;max-height:90vh;overflow-y:auto}.modal--sm{max-width:480px}.modal--md{max-width:640px}.modal--lg{max-width:900px}.modal--xl{max-width:1200px}.filters-bar{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;width:280px;transition:border-color .2s ease}.search-box:focus-within{border-color:var(--color-accent)}.search-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--color-text-primary);outline:none}.search-clear{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease}.category-filters{display:flex;gap:8px;flex-wrap:wrap}.category-chip{padding:8px 14px;border:1px solid var(--color-border);background:var(--color-surface-primary);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.category-chip:hover{border-color:var(--color-accent-muted);color:var(--color-text-primary)}.category-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.view-toggle{display:flex;gap:4px;margin-left:auto;padding:4px;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.toggle-btn:hover{color:var(--color-text-primary)}.toggle-btn.active{background:var(--color-surface-primary);color:var(--color-accent);box-shadow:var(--shadow-soft)}.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.agents-grid--list{display:flex;flex-direction:column;gap:12px}.agent-card{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease}.agent-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.agents-grid--list .agent-card{flex-direction:row;align-items:center;padding:12px 16px}.agent-card-avatar{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agents-grid--list .agent-card-avatar{margin-right:12px}.agent-card-status{margin-bottom:12px}.agents-grid--list .agent-card-status{margin-bottom:0;margin-right:12px}.status-badge{display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.status-badge--idle{background:#0596691a;color:var(--color-status-completed)}.status-badge--busy{background:#2563eb1a;color:var(--color-status-running)}.status-badge--error{background:#dc26261a;color:var(--color-status-failed)}.status-badge--offline{background:var(--color-bg-secondary);color:var(--color-text-muted)}.agent-card-status{display:none}.agent-card-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.agent-tool-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:6px;color:var(--color-text-secondary);cursor:default}.agent-tool-badge:hover{background:var(--color-accent-subtle);border-color:var(--color-accent-muted);color:var(--color-accent)}.agent-tool-more{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 8px;background:var(--color-bg-secondary);border-radius:6px;font-size:11px;color:var(--color-text-muted)}.agent-card-hint{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-accent-subtle);border-radius:6px;font-size:11px;color:var(--color-accent);width:-moz-fit-content;width:fit-content}.agent-card-name{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0}.agents-grid--list .agent-card-name{min-width:100px;margin-bottom:0}.agent-card-header{display:flex;align-items:center;gap:10px;flex:1}.agent-card-date{font-size:11px;color:var(--color-text-muted);margin-left:auto}.agents-grid--list .agent-card-date{margin-left:auto}.agents-grid--list .agent-card{gap:12px}.agents-grid--list .agent-card-tools,.agents-grid--list .agent-card-hint{margin-top:0}.agent-card-desc{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.agents-grid--list .agent-card-desc{flex:1;margin-bottom:0;-webkit-line-clamp:1}.agent-card-category,.agents-grid--list .agent-card-category{display:none}.agent-card-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--color-border-subtle)}.agents-grid--list .agent-card-footer{margin-left:auto;padding-top:0;border-top:none;flex-shrink:0}.agent-card-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.agent-card-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.agent-card-btn--danger:hover{background:var(--color-status-failed);color:#fff}.agent-card-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;text-align:center;color:var(--color-text-muted);gap:16px}.empty-state p{margin:0;font-size:15px;color:var(--color-text-secondary)}.agents-stats{display:flex;gap:8px;margin-top:20px;font-size:13px;color:var(--color-text-muted)}.agent-form-wide{display:flex;flex-direction:column;gap:0}.form-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--color-text-muted)}.form-layout-two-col{display:grid;grid-template-columns:1fr 380px;gap:24px;min-height:480px}.form-col{display:flex;flex-direction:column}.form-col--main{gap:20px}.form-col--tools{background:var(--color-surface-secondary);border-radius:var(--radius-lg);padding:16px;overflow-y:auto;max-height:520px}.form-section-block{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group--inline{flex-direction:row;align-items:center;flex-wrap:wrap}.form-label--checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label{font-weight:500;color:var(--color-text-primary)}.form-label{font-size:13px;font-weight:500;color:var(--color-text-primary);display:flex;align-items:center;gap:4px}.form-label .required{color:var(--color-status-failed)}.form-input,.form-textarea,.form-select{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-surface-primary);transition:border-color .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-accent)}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--color-text-muted)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.form-textarea--prompt{min-height:100px;font-family:var(--font-mono);font-size:13px;line-height:1.6}.form-select{cursor:pointer}.form-hint{font-size:11px;color:var(--color-text-muted);text-align:right}.form-hint-inline{font-size:11px;color:var(--color-text-muted);margin-left:8px}.form-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent)}.logo-input-wrapper{display:flex;align-items:center;gap:12px}.logo-preview{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.logo-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.logo-placeholder{color:var(--color-text-muted)}.logo-input{flex:1}.form-section{border-top:1px solid var(--color-border);padding-top:16px}.form-section-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px;display:block}.tools-panel{display:flex;flex-direction:column;gap:12px}.tools-panel-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.tools-panel-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.tools-panel-count{font-size:12px;color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:2px 8px;border-radius:10px}.tools-category{display:flex;flex-direction:column;gap:8px}.tools-category-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.tools-category-items{display:flex;flex-wrap:wrap;gap:6px}.tool-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-primary);cursor:pointer;padding:6px 10px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .15s ease}.tool-item:hover{border-color:var(--color-accent-muted);background:var(--color-accent-subtle)}.tool-item input{cursor:pointer;accent-color:var(--color-accent)}.tool-item:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-subtle)}.tool-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;color:var(--color-text-muted);font-size:13px}.knowledge-items{display:flex;flex-wrap:wrap;gap:8px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--color-border)}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.agent-card{animation:slideUp .4s ease-out}.agent-card:nth-child(1){animation-delay:0ms}.agent-card:nth-child(2){animation-delay:50ms}.agent-card:nth-child(3){animation-delay:.1s}.agent-card:nth-child(4){animation-delay:.15s}.agent-card:nth-child(5){animation-delay:.2s}.agent-card:nth-child(6){animation-delay:.25s}.agent-card:nth-child(7){animation-delay:.3s}.agent-card:nth-child(8){animation-delay:.35s}@media (max-width: 768px){.form-layout,.tool-groups{grid-template-columns:1fr}}.header-actions{display:flex;gap:12px}.search-bar{display:flex;align-items:center;gap:12px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 18px;margin-bottom:24px;transition:all .2s ease}.search-bar:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.search-icon{color:var(--color-text-muted);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:15px;outline:none}.search-input::-moz-placeholder{color:var(--color-text-muted)}.search-input::placeholder{color:var(--color-text-muted)}.search-clear{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.search-clear:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px;color:var(--color-text-muted)}.knowledge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.knowledge-card{display:flex;align-items:flex-start;gap:16px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:all .25s ease;position:relative;animation:slideUp .4s ease-out}.knowledge-card:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.knowledge-card.selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.kb-icon{width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent-subtle) 0%,var(--color-accent-muted) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-accent);flex-shrink:0}.kb-info{flex:1;min-width:0}.kb-name{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 6px}.kb-description{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px;line-height:1.5}.kb-meta{display:flex;gap:16px}.kb-actions{position:relative}.action-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-strong);min-width:140px;z-index:var(--z-dropdown);animation:slideDown .2s ease-out}.action-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:transparent;font-size:13px;color:var(--color-text-primary);cursor:pointer;text-align:left;transition:background .15s ease}.action-menu button:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.action-menu button:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.action-menu button:hover{background:var(--color-bg-secondary)}.action-menu button.danger{color:var(--color-status-failed)}.action-menu button.danger:hover{background:#dc26261a}.empty-results{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--color-text-muted)}.empty-results p{margin:16px 0 20px;font-size:14px}.knowledge-stats{display:flex;gap:8px;margin-top:20px;font-size:13px;color:var(--color-text-muted)}.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-surface-primary);outline:none;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--color-text-muted)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:80px}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.upload-zone:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.upload-zone p{margin:16px 0 4px;font-size:14px;color:var(--color-text-primary)}.upload-zone span{font-size:12px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.knowledge-detail{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);animation:slideUp .3s ease-out}.detail-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:80px;color:var(--color-text-muted)}.detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px;color:var(--color-text-muted)}.detail-header{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--color-border)}.detail-header .back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);background:var(--color-surface-primary);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.detail-header .back-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-strong)}.detail-header h2{flex:1;font-size:18px;font-weight:600;margin:0}.detail-toolbar{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.detail-toolbar .search-bar.small{flex:1;padding:10px 16px;margin-bottom:0;background:var(--color-surface-primary)}.detail-content{padding:24px}.detail-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 20px;line-height:1.6}.detail-stats{display:flex;gap:20px;padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.detail-stats .stat-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary)}.detail-stats .stat-item .ready{color:var(--color-status-success)}.detail-stats .stat-item .failed{color:var(--color-status-failed)}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.document-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .2s ease;animation:slideUp .3s ease-out}.document-card:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-small)}.doc-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface-primary);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0}.doc-info{flex:1;min-width:0}.doc-name{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{font-size:12px;color:var(--color-text-muted);margin:0}.doc-status{flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500}.status-badge.ready{background:#22c55e26;color:var(--color-status-success)}.status-badge.indexing{background:#eab30826;color:var(--color-status-warning)}.status-badge.failed{background:#dc262626;color:var(--color-status-failed)}.doc-actions{position:relative;flex-shrink:0}.upload-zone.has-file{border-color:var(--color-accent);background:var(--color-accent-subtle)}.upload-progress-bar{width:200px;height:4px;background:var(--color-border);border-radius:2px;margin-top:12px;overflow:hidden}.upload-progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-secondary, #94a3b8);gap:12px}.error-state p{margin:0;font-size:15px}.error-detail{font-size:13px!important;color:var(--text-tertiary, #64748b);max-width:400px;word-break:break-all}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:8px 12px;border-radius:6px;font-size:13px;margin-top:12px}.detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:12px}.detail-error p{margin:0;font-size:15px;color:var(--text-secondary, #94a3b8)}.upload-advanced{margin-top:16px;border-top:1px solid var(--color-border);padding-top:12px}.upload-advanced-toggle{display:flex;align-items:center;gap:6px;padding:6px 0;background:none;border:none;font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease}.upload-advanced-toggle:hover{color:var(--color-text-primary)}.upload-advanced-fields{margin-top:12px}.form-row{display:flex;gap:16px}.form-group-compact{flex:1;min-width:0}.form-group-compact label{display:block;font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-group-compact input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-surface-primary);outline:none;transition:all .2s ease}.form-group-compact input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-group-compact input::-moz-placeholder{color:var(--color-text-muted)}.form-group-compact input::placeholder{color:var(--color-text-muted)}.field-hint{margin:8px 0 0;font-size:12px;color:var(--color-text-muted)}.field-error{margin:8px 0 0;font-size:12px;color:var(--color-status-failed)}.chunk-summary{display:flex;align-items:center;gap:8px;margin-bottom:16px}.chunk-count-badge{display:inline-flex;align-items:center;padding:4px 12px;background:var(--color-accent);color:#fff;border-radius:20px;font-size:13px;font-weight:600}.chunk-more-hint{font-size:12px;color:var(--color-text-muted)}.empty-chunks{text-align:center;color:var(--color-text-muted);padding:24px;font-size:14px}.chunk-list{display:flex;flex-direction:column;gap:10px}.chunk-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px}.chunk-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.chunk-id{font-size:11px;font-family:monospace;color:var(--color-text-muted)}.chunk-length{font-size:11px;color:var(--color-text-muted)}.chunk-content{margin:0;font-size:13px;line-height:1.6;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word}.chunk-result{margin-top:16px;padding:16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.chunk-result-stats{display:flex;align-items:center;gap:12px;margin-bottom:12px}.chunk-stat{font-size:13px;color:var(--color-text-secondary)}.chunk-dry-run-tag{font-size:11px;padding:2px 8px;background:#eab30826;color:var(--color-status-warning);border-radius:var(--radius-sm);font-weight:500}.chunk-preview-list{display:flex;flex-direction:column;gap:8px}.chunk-preview-item{display:flex;gap:10px;padding:10px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.chunk-preview-num{font-size:11px;font-weight:600;color:var(--color-text-muted);flex-shrink:0;margin-top:2px}.chunk-preview-item p{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.strategy-radio-group{display:flex;flex-direction:column;gap:8px}.strategy-radio-group.horizontal{flex-direction:row;gap:16px}.strategy-radio{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-primary);cursor:pointer}.strategy-radio input[type=radio]{width:16px;height:16px;accent-color:var(--color-accent)}.chunk-management-body{display:flex;flex:1;min-height:0;background:var(--color-bg-primary)}.chunk-management-left{flex:0 0 380px;display:flex;flex-direction:column;border-right:1px solid var(--color-border-subtle);background:var(--color-surface-primary);overflow-y:auto;min-height:0}.chunk-existing-section{background:linear-gradient(to bottom,var(--color-surface-secondary) 0%,var(--color-surface-primary) 100%);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.chunk-section-toggle{width:100%;padding:18px 20px;border:none;background:transparent;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s ease}.chunk-section-toggle:hover{background:#00000005}.chunk-section-title{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--color-text-primary)}.chunk-section-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-accent-subtle);border-radius:var(--radius-md);color:var(--color-accent)}.chunk-existing-section .chunk-count-badge{display:inline-flex;align-items:center;padding:3px 10px;background:var(--color-accent);color:#fff;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em}.toggle-chevron{transition:transform .25s ease;color:var(--color-text-muted)}.toggle-chevron.collapsed{transform:rotate(-90deg)}.chunk-tags{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px 20px}.chunk-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000a}.chunk-tag:hover{border-color:var(--color-accent-muted);background:var(--color-accent-subtle);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.chunk-tag.selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:500;box-shadow:0 2px 8px #6366f14d}.chunk-tag.selected .chunk-tag-num{opacity:.8}.chunk-tag-more{color:var(--color-text-muted);background:var(--color-bg-secondary);border-color:var(--color-border-subtle);font-style:italic}.chunk-tag-more:hover{border-color:var(--color-text-muted);background:var(--color-bg-secondary);transform:none;box-shadow:none}.chunk-loading,.chunk-error{padding:16px 20px;font-size:13px;color:var(--color-text-muted)}.chunk-settings-section{padding:24px 20px;flex-shrink:0;border-bottom:1px solid var(--color-border-subtle)}.chunk-settings-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:20px;font-family:var(--font-display)}.chunk-settings-title:before{content:"";display:block;width:4px;height:16px;background:var(--color-accent);border-radius:2px}.chunk-settings-section .form-row{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.chunk-settings-section .form-group-compact{flex:1;min-width:0}.chunk-settings-section .form-group-compact label{display:block;font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.chunk-settings-section .form-group-compact input{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-surface-primary);outline:none;transition:all .2s ease}.chunk-settings-section .form-group-compact input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.strategy-radio-group.horizontal{display:flex;gap:8px}.strategy-radio{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;padding:8px 14px;border-radius:var(--radius-md);transition:all .2s ease;background:var(--color-bg-secondary);border:1px solid transparent}.strategy-radio:hover{background:var(--color-accent-subtle)}.strategy-radio input[type=radio]{width:16px;height:16px;accent-color:var(--color-accent);margin:0}.strategy-radio:has(input:checked){background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent);font-weight:500}.chunk-settings-section .semantic-options,.chunk-settings-section .recursive-options{min-height:auto;margin-top:0;padding:16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);transition:all .3s ease}.chunk-settings-section .semantic-options.hidden,.chunk-settings-section .recursive-options.hidden{display:none}.chunk-settings-section .field-error{margin-top:12px;font-size:12px;color:var(--color-status-failed);padding:8px 12px;background:#dc262614;border-radius:var(--radius-sm)}.chunk-settings-actions{display:flex;gap:10px;margin-top:20px}.chunk-settings-actions .btn-secondary{flex:1;justify-content:center;padding:12px 16px;font-size:13px;background:var(--color-surface-primary);border:1px solid var(--color-border)}.chunk-settings-actions .btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-accent-muted)}.chunk-settings-actions .btn-primary{flex:2;justify-content:center;padding:12px 16px;font-size:13px;font-weight:600}.chunk-settings-section .form-error{margin-top:12px;padding:10px 14px;background:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-md);color:var(--color-status-failed);font-size:13px}.chunk-management-right{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--color-bg-secondary)}.chunk-preview-area{flex:1;display:flex;flex-direction:column;background:var(--color-surface-primary);border-radius:var(--radius-lg);margin:20px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--color-border-subtle);overflow:hidden}.chunk-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(to bottom,var(--color-surface-primary) 0%,var(--color-bg-secondary) 100%)}.chunk-preview-header span{font-size:13px;font-weight:600;color:var(--color-text-primary)}.chunk-preview-meta{display:flex;gap:10px;align-items:center}.chunk-stat{font-size:12px;color:var(--color-text-muted);padding:4px 10px;background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.chunk-dry-run-tag{font-size:11px;padding:3px 8px;background:#eab30826;color:var(--color-status-warning);border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.chunk-preview-list{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.chunk-preview-item{display:flex;gap:14px;padding:14px 16px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease}.chunk-preview-item:hover{border-color:var(--color-accent-muted);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.chunk-preview-num{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;background:linear-gradient(135deg,var(--color-accent) 0%,#818cf8 100%);color:#fff;border-radius:var(--radius-md);font-size:12px;font-weight:700;flex-shrink:0}.chunk-preview-item p{margin:0;font-size:13px;line-height:1.65;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.chunk-preview-more{text-align:center;font-size:13px;color:var(--color-text-muted);padding:16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-top:8px}.chunk-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;color:var(--color-text-muted);text-align:center}.chunk-preview-empty svg{margin-bottom:12px;opacity:.5}.chunk-preview-empty p{margin:0;font-size:14px}.btn-danger-outline{display:flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;color:var(--color-status-failed);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger-outline:hover{background:#dc262614;border-color:var(--color-status-failed)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.tabs{display:flex;gap:4px;margin-bottom:24px;padding:4px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);width:-moz-fit-content;width:fit-content}.tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.tab:hover{color:var(--color-text-primary)}.tab.active{background:var(--color-surface-primary);color:var(--color-text-primary);box-shadow:var(--shadow-soft)}.tab-count{font-size:11px;font-weight:600;padding:2px 6px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.tab.active .tab-count{background:var(--color-accent-subtle);color:var(--color-accent)}.plugins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.plugin-card{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;transition:all .25s ease;animation:slideUp .4s ease-out}.plugin-card:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.plugin-card.installed{border-color:#0596694d}.plugin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.plugin-icon{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.install-badge{font-size:11px;font-weight:500;padding:4px 8px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-muted)}.install-badge.installed{background:#0596691a;color:var(--color-status-completed)}.plugin-name{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 6px}.plugin-description{font-size:13px;color:var(--color-text-secondary);margin:0 0 14px;line-height:1.5}.plugin-footer{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--color-border-subtle)}.plugin-version{font-size:12px;font-weight:500;color:var(--color-text-muted);font-family:var(--font-mono)}.plugin-category{font-size:11px;font-weight:500;padding:3px 8px;background:var(--color-bg-secondary);color:var(--color-text-muted);border-radius:var(--radius-sm);text-transform:capitalize}.plugin-btn{width:100%;padding:10px;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.plugin-btn.install{background:var(--color-accent);color:#fff}.plugin-btn.install:hover{background:var(--color-accent-hover)}.plugin-btn.uninstall{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.plugin-btn.uninstall:hover{background:#dc26261a;color:var(--color-status-failed);border-color:var(--color-status-failed)}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.form-group input{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-surface-primary);outline:none;transition:all .2s ease}.form-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-group input::-moz-placeholder{color:var(--color-text-muted)}.form-group input::placeholder{color:var(--color-text-muted)}.radio-group{display:flex;gap:12px}.radio-label{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.radio-label input{display:none}.radio-label:hover{border-color:var(--color-accent-muted)}.radio-label.active{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent)}.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--color-surface-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-border-strong)}.tool-header{display:flex;justify-content:flex-end;margin-bottom:24px}.tool-list{display:flex;flex-direction:column;gap:16px}.tool-group{margin-top:32px;margin-bottom:32px}.tool-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;margin-bottom:12px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.tool-group-header:hover{border-color:var(--color-accent-muted);background:var(--color-bg-secondary)}.tool-group-title-wrapper{display:flex;align-items:center;gap:10px}.tool-group-title{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:0;padding-left:0}.tool-count-badge{font-size:11px;font-weight:600;padding:3px 8px;background:var(--color-bg-tertiary);color:var(--color-text-muted);border-radius:var(--radius-sm)}.collapse-icon{color:var(--color-text-muted);transition:transform .25s ease}.collapse-icon.collapsed{transform:rotate(-90deg)}.tool-header-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tool-header-row h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.tool-desc{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px}.tool-meta{display:flex;align-items:center;gap:12px}.source-badge{font-size:11px;font-weight:500;padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.tool-card.user .source-badge{background:var(--color-accent-subtle);color:var(--color-accent-primary)}.lang-tag{font-size:11px;font-weight:500;padding:3px 8px;background:var(--color-bg-secondary);color:var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-mono);text-transform:uppercase}.script-textarea{width:100%;min-height:300px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:monospace;font-size:13px;resize:vertical;background:var(--color-bg-primary);color:var(--color-text-primary);flex:1}.script-textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.skill-list{display:flex;flex-direction:column;gap:16px}.form-textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-surface-primary);outline:none;transition:all .2s ease;resize:vertical;font-family:inherit}.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-textarea::-moz-placeholder{color:var(--color-text-muted)}.form-textarea::placeholder{color:var(--color-text-muted)}.skill-editor-top{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.skill-editor-top-field{min-width:0;margin-bottom:0}.skill-editor-top-field input{width:100%;box-sizing:border-box}.skill-editor-divider{height:1px;background:var(--color-border);margin:16px 0}.skill-editor-main{display:grid;grid-template-columns:3fr 2fr;gap:20px;min-height:480px;height:55vh;min-width:0}.skill-editor-left,.skill-editor-right{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.skill-editor-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-shrink:0}.skill-editor-section-title{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.skill-editor-hint{font-size:11px;color:var(--color-text-muted)}.skill-editor-toggle{display:flex;gap:2px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:2px}.skill-toggle-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.skill-toggle-btn:hover{color:var(--color-text-primary)}.skill-toggle-btn.active{background:var(--color-surface-primary);color:var(--color-text-primary);box-shadow:var(--shadow-soft)}.skill-editor-content{flex:1;min-height:0;min-width:0}.skill-md-textarea{width:100%;height:100%;min-height:0;min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono, monospace);font-size:13px;line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-primary);resize:none;box-sizing:border-box;outline:none}.skill-md-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.skill-md-preview{height:100%;min-height:0;overflow-y:auto;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);font-size:13px;line-height:1.6;color:var(--color-text-primary);box-sizing:border-box}.skill-md-preview h1{font-size:1.4em;margin-top:0}.skill-md-preview h2{font-size:1.2em}.skill-md-preview code{background:var(--color-bg-secondary);padding:2px 6px;border-radius:3px;font-size:.9em}.skill-md-preview pre{background:var(--color-bg-secondary);padding:12px;border-radius:var(--radius-md);overflow-x:auto}.skill-md-preview pre code{background:none;padding:0}.skill-file-tree{flex-shrink:1;overflow-y:auto;min-height:0;max-height:45%;padding-right:4px}.skill-file-tree-folder{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-text-primary)}.skill-file-tree-folder span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-tree-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.skill-file-tree-action:hover{background:var(--color-bg-secondary);color:var(--color-accent)}.skill-file-tree-children{padding-left:24px}.skill-file-tree-file{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:all .1s ease}.skill-file-tree-file:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.skill-file-tree-file.selected{background:var(--color-accent-subtle);color:var(--color-accent)}.skill-file-tree-file span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-file-tree-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;opacity:0;transition:all .1s ease;flex-shrink:0}.skill-file-tree-file:hover .skill-file-tree-delete{opacity:1}.skill-file-tree-delete:hover{color:var(--color-status-failed);background:#dc26261a}.skill-file-tree-empty{padding:8px;font-size:12px;color:var(--color-text-muted);font-style:italic}.skill-file-editor{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.skill-file-editor-body{flex:1;min-height:0;min-width:0}.skill-file-textarea{width:100%;height:100%;min-height:0;min-width:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono, monospace);font-size:12px;line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-primary);resize:none;box-sizing:border-box;outline:none}.skill-file-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.skill-file-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);box-sizing:border-box}.skill-editor-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;margin-top:16px;border-top:1px solid var(--color-border);flex-shrink:0}.mcp-dialog-body{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}.mcp-dialog-left,.mcp-dialog-right{display:flex;flex-direction:column;gap:16px}.radio-group-vertical{display:flex;flex-direction:column;gap:8px}.radio-group-vertical .radio-label{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:border-color .2s,background .2s}.radio-group-vertical .radio-label.active{border-color:var(--color-primary);background:var(--color-primary-light)}.env-var-row{display:grid;grid-template-columns:1fr 1fr 32px;gap:8px;margin-bottom:8px}.env-var-row input{width:100%;box-sizing:border-box}.mcp-test-result{margin-top:8px;padding:12px;border-radius:6px;font-size:14px}.mcp-test-result.testing{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.mcp-test-result.success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.mcp-test-result.error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.test-result-header{font-weight:600;margin-bottom:4px}.test-result-msg{font-size:13px;opacity:.85}.test-result-tools{margin-top:8px}.tools-label{font-weight:600;font-size:13px;margin-bottom:6px}.tool-item{display:flex;gap:8px;padding:4px 0;font-size:13px}.tool-name{font-weight:600;white-space:nowrap;color:inherit}.tool-desc{opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--color-border);margin-top:16px}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:13px;padding:4px 0}.btn-icon{background:none;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-text-secondary)}.meta-hint{font-size:12px;color:var(--color-text-muted);font-style:italic}.settings-nav{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--color-bg-secondary);border-radius:var(--radius-lg)}.settings-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;font-size:14px;color:var(--color-text-secondary);transition:all .2s ease;text-align:left}.settings-nav-item:hover{background:var(--color-hover);color:var(--color-text-primary)}.settings-nav-item.active{background:var(--color-bg-primary);color:var(--color-accent-primary);font-weight:500;box-shadow:var(--shadow-soft);border-left:3px solid var(--color-accent-primary)}.model-card-row .card-icon{color:var(--color-accent)}.status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-connected{background:var(--color-status-completed)}.status-error{background:var(--color-status-failed)}.status-unknown{background:var(--color-text-muted)}.model-feedback{font-size:12px;margin:0 0 8px}.feedback-success{color:var(--color-status-completed)}.feedback-error{color:var(--color-status-failed)}.action-btn.default-btn-active{color:#d4a574}.action-btn.default-btn-active:hover{background:#d4a5741a}.builtin-badge{display:flex;align-items:center;color:#8b5cf6;font-size:12px;gap:4px;flex-shrink:0}.builtin-tag{display:inline-flex;align-items:center;gap:4px;color:#8b5cf6}.spin{animation:spin 1s linear infinite}.models-tab{display:flex;flex-direction:column;gap:24px;animation:slideUp .4s ease-out}.sub-tabs{display:flex;gap:8px;padding:4px;background:var(--color-bg-secondary);border-radius:var(--radius-md);width:-moz-fit-content;width:fit-content}.sub-tab{padding:8px 16px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.sub-tab:hover{color:var(--color-text-primary)}.sub-tab.active{background:var(--color-bg-primary);color:var(--color-accent);box-shadow:var(--shadow-soft)}.models-loading{display:flex;flex-direction:column;gap:16px}.skeleton-card{height:72px;background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-lg)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.settings-header{margin-bottom:24px}.settings-container{display:grid;grid-template-columns:220px 1fr;gap:24px}.settings-content{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:24px;min-height:500px;animation:slideUp .4s ease-out}.settings-section{margin-bottom:32px}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--color-text-primary)}.section-header h2{font-size:18px;font-weight:600;margin:0}.section-header svg{color:var(--color-accent)}.settings-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;transition:background .2s ease}.setting-item:hover{background:var(--color-bg-secondary)}.setting-info{display:flex;flex-direction:column;gap:4px}.setting-info label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.setting-info p{font-size:13px;color:var(--color-text-muted);margin:0}.setting-divider{height:1px;background:var(--color-border-subtle);margin:0}.toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);border-radius:24px;transition:.3s ease}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s ease;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider{background-color:var(--color-accent)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.setting-control{flex-shrink:0}.range-control{display:flex;align-items:center;gap:10px}.range-control input[type=range]{width:140px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-border);border-radius:2px;outline:none;cursor:pointer}.range-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent);cursor:pointer;-webkit-transition:transform .15s ease;transition:transform .15s ease}.range-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.range-value{font-size:13px;font-weight:600;color:var(--color-accent);min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.number-control input[type=number]{width:64px;padding:6px 10px;font-size:14px;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;outline:none;transition:border-color .2s ease}.number-control input[type=number]:focus{border-color:var(--color-accent)}.number-control input[type=number]::-webkit-inner-spin-button,.number-control input[type=number]::-webkit-outer-spin-button{opacity:1;height:28px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.header-left{display:flex;flex-direction:column;gap:4px}.page-title{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:12px}.time-range-selector{display:flex;gap:4px;padding:4px;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.range-btn{padding:8px 16px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.range-btn:hover{color:var(--color-text-primary)}.range-btn.active{background:var(--color-surface-primary);color:var(--color-text-primary);box-shadow:var(--shadow-soft)}.refresh-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);background:var(--color-surface-primary);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.refresh-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;animation:slideUp .4s ease-out}.stat-card:nth-child(1){animation-delay:0ms}.stat-card:nth-child(2){animation-delay:50ms}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:nth-child(4){animation-delay:.15s}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-accent-subtle);display:flex;align-items:center;justify-content:center;color:var(--color-accent);flex-shrink:0}.stat-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.stat-value{font-size:24px;font-weight:700;color:var(--color-text-primary);font-family:var(--font-display);line-height:1.2}.stat-label{font-size:13px;color:var(--color-text-secondary)}.stat-change{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm)}.stat-change.positive{background:#0596691a;color:var(--color-status-completed)}.stat-change.negative{background:#dc26261a;color:var(--color-status-failed)}.charts-row{display:grid;grid-template-columns:1fr 380px;gap:24px;margin-bottom:32px}.chart-card{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;animation:slideUp .5s ease-out}.chart-card.wide{grid-column:1}.chart-header{display:flex;flex-direction:column;gap:4px;padding:20px 24px 16px;border-bottom:1px solid var(--color-border-subtle)}.chart-header h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.chart-subtitle{font-size:13px;color:var(--color-text-muted)}.chart-body{padding:24px}.bar-chart{display:flex;justify-content:space-between;align-items:flex-end;height:200px;gap:12px;padding-bottom:8px}.bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%}.bar-container{display:flex;align-items:flex-end;gap:4px;height:160px}.bar{width:24px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;position:relative;transition:all .3s ease}.bar:hover{opacity:.85}.bar.tasks-bar{background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-hover) 100%)}.bar.success-bar{background:linear-gradient(180deg,var(--color-status-completed) 0%,rgba(5,150,105,.6) 100%);width:8px}.bar-value{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:11px;font-weight:600;color:var(--color-text-secondary)}.bar-label{font-size:12px;color:var(--color-text-muted);margin-top:auto}.chart-legend{display:flex;gap:24px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border-subtle)}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.tasks{background:var(--color-accent)}.legend-dot.success{background:var(--color-status-completed)}.agent-stats-list{display:flex;flex-direction:column;gap:12px}.agent-stat-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);transition:all .2s ease}.agent-stat-item:hover{background:var(--color-bg-tertiary)}.agent-info{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary)}.agent-name{font-size:14px;font-weight:500;color:var(--color-text-primary)}.agent-metrics{display:flex;gap:16px}.metric{font-size:13px;font-weight:600;font-family:var(--font-mono)}.metric.calls{color:var(--color-text-primary)}.metric.success{color:var(--color-status-completed)}.metric.time{color:var(--color-text-muted)}.bottom-row{display:grid;grid-template-columns:1fr 320px;gap:24px}.activity-card,.quick-stats-card{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px 24px;animation:slideUp .6s ease-out}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--color-text-primary)}.card-header h3{font-size:16px;font-weight:600;margin:0}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;align-items:flex-start;gap:12px}.activity-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--color-border-strong)}.activity-dot.success{background:var(--color-status-completed)}.activity-dot.warning{background:#f59e0b}.activity-info{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-text{font-size:14px;color:var(--color-text-primary)}.activity-time{font-size:12px;color:var(--color-text-muted)}.quick-stats{display:flex;flex-direction:column;gap:16px}.quick-stat{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.quick-label{font-size:14px;color:var(--color-text-secondary)}.quick-value{font-size:14px;font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-row,.bottom-row{grid-template-columns:1fr}}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr}.page-header{flex-direction:column;gap:16px}.header-actions{width:100%;justify-content:space-between}}.profile-header{margin-bottom:32px}.page-title{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px;letter-spacing:-.02em}.page-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0}.profile-card{display:flex;gap:24px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;margin-bottom:24px;animation:slideUp .4s ease-out}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:12px}.avatar-large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-muted) 0%,var(--color-accent) 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #c45d354d}.avatar-large span{font-size:32px;font-weight:600;color:#fff}.profile-info{flex:1;display:flex;flex-direction:column;gap:8px}.profile-name-row{display:flex;align-items:center;gap:12px}.profile-info h2{font-size:22px;font-weight:600;color:var(--color-text-primary);margin:0}.profile-email{font-size:14px;color:var(--color-text-secondary);margin:0}.profile-meta{display:flex;gap:16px;margin-top:4px}.meta-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:slideUp .5s ease-out}.stat-item:nth-child(1){animation-delay:50ms}.stat-item:nth-child(2){animation-delay:.1s}.stat-item:nth-child(3){animation-delay:.15s}.stat-item .stat-value{font-size:28px;font-weight:700;color:var(--color-text-primary);font-family:var(--font-display)}.stat-item .stat-label{font-size:13px;color:var(--color-text-muted)}.settings-section{margin-bottom:24px;animation:slideUp .6s ease-out}.section-title{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.settings-list{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary);cursor:pointer;transition:background .2s ease;width:100%;border:none;background:transparent;text-align:left}.setting-row:last-child{border-bottom:none}.setting-row:hover{background:var(--color-bg-secondary)}.setting-row.danger:hover{background:#dc262614;color:var(--color-status-failed)}.setting-left{display:flex;align-items:center;gap:12px}.setting-left span{font-size:14px;font-weight:500}.setting-arrow{color:var(--color-text-muted)}.setting-group{border-bottom:1px solid var(--color-border-subtle)}.setting-group:last-child{border-bottom:none}.setting-group-header{display:flex;align-items:center;gap:12px;padding:16px 20px;color:var(--color-text-primary);font-size:14px;font-weight:500}.setting-group-header svg{color:var(--color-accent);flex-shrink:0}.setting-group-body{padding:0 20px 8px 48px}.setting-group-body .setting-sub-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.setting-group-body .setting-sub-item+.setting-sub-item{border-top:1px solid var(--color-border-subtle)}.setting-sub-info{display:flex;flex-direction:column;gap:2px}.setting-sub-info label{font-size:13px;font-weight:500;color:var(--color-text-primary)}.setting-sub-info p{font-size:12px;color:var(--color-text-muted);margin:0}.profile-page .toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer;flex-shrink:0}.profile-page .toggle input{opacity:0;width:0;height:0}.profile-page .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);border-radius:24px;transition:.3s ease}.profile-page .toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s ease;box-shadow:0 1px 3px #0003}.profile-page .toggle input:checked+.toggle-slider{background-color:var(--color-accent)}.profile-page .toggle input:checked+.toggle-slider:before{transform:translate(20px)}.profile-page .setting-select{padding:8px 36px 8px 12px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-text-primary);background:var(--color-surface-primary);cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C45D35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-small)}.profile-page .setting-select:hover{border-color:var(--color-accent);box-shadow:var(--shadow-small)}.profile-page .setting-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.profile-page .setting-select option{padding:8px 12px;background:var(--color-surface-primary);color:var(--color-text-primary)}.profile-page .setting-input{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-primary);background:var(--color-surface-primary);outline:none;width:70px;text-align:center}.profile-page .setting-select:focus,.profile-page .setting-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}@media (max-width: 640px){.profile-card{flex-direction:column;align-items:center;text-align:center}.profile-name-row,.profile-meta{justify-content:center}.stats-row{grid-template-columns:1fr}}.preview-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.preview-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px;color:var(--color-text-secondary);font-size:14px}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.preview-empty-icon{color:var(--color-text-muted);margin-bottom:16px;opacity:.5}.preview-empty h3{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.preview-empty p{font-size:13px;color:var(--color-text-secondary);margin:0 0 20px;max-width:360px;line-height:1.5}.preview-error{font-size:12px;color:var(--color-status-failed);margin-bottom:12px;padding:6px 12px;background:#ef444414;border-radius:6px}.preview-start-btn{display:flex;align-items:center;gap:6px;padding:10px 24px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font-body);transition:background .15s}.preview-start-btn:hover{background:var(--color-accent-hover)}.preview-start-btn:disabled{opacity:.5;cursor:default}.preview-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-primary);flex-shrink:0}.preview-url{flex:1;font-size:12px;font-family:var(--font-mono);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-actions{display:flex;gap:4px}.preview-tb-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;text-decoration:none;transition:all .1s}.preview-tb-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.preview-tb-stop:hover{background:#ef44441a;color:var(--color-status-failed)}.preview-iframe{flex:1;border:none;background:#fff;width:100%}:root{--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-small: 0 1px 4px rgba(26, 24, 21, .04);--shadow-md: 0 4px 12px rgba(26, 24, 21, .08);--shadow-lg: 0 8px 24px rgba(26, 24, 21, .12);--color-bg: var(--color-bg-primary);--color-bg-subtle: var(--color-bg-secondary);--color-bg-hover: var(--color-bg-tertiary);--color-text: var(--color-text-primary);--color-text-tertiary: var(--color-text-muted);--color-hover: var(--color-bg-secondary);--color-error: var(--color-status-failed);--color-focus-ring: var(--color-accent);--color-accent-primary: var(--color-accent);--text-secondary: var(--color-text-secondary);--text-tertiary: var(--color-text-muted);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 1000;--z-toast: 2000;--z-topmost: 9999}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--font-display: "Outfit", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--font-mono: "JetBrains Mono", Consolas, monospace;--color-bg-primary: #FAFAF8;--color-bg-secondary: #F2F0EC;--color-bg-tertiary: #E8E5DF;--color-surface-primary: #FFFFFF;--color-surface-secondary: #F7F6F3;--color-surface-elevated: #FFFFFF;--color-border: #E2DED6;--color-border-subtle: #F0EDE8;--color-border-strong: #C9C4BA;--color-text-primary: #1A1815;--color-text-secondary: #5C5850;--color-text-muted: #9A958C;--color-accent: #C45D35;--color-accent-hover: #A84D2C;--color-accent-subtle: #FAF0EC;--color-accent-muted: #E8D5CC;--color-status-pending: #D97706;--color-status-running: #2563EB;--color-status-completed: #059669;--color-status-failed: #DC2626;--shadow-soft: 0 2px 8px rgba(26, 24, 21, .06);--shadow-medium: 0 4px 16px rgba(26, 24, 21, .08);--shadow-strong: 0 8px 32px rgba(26, 24, 21, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-moz-selection{background-color:var(--color-accent-muted);color:var(--color-text-primary)}::selection{background-color:var(--color-accent-muted);color:var(--color-text-primary)}.animate-fade-in{animation:fadeIn .4s ease-out}.animate-slide-up{animation:slideUp .4s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:0ms}.stagger-2{animation-delay:60ms}.stagger-3{animation-delay:.12s}.stagger-4{animation-delay:.18s}.stagger-5{animation-delay:.24s}.card-list{display:flex;flex-direction:column;gap:16px}.card-base{display:flex;align-items:flex-start;gap:16px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;transition:all .2s ease;animation:slideUp .3s ease-out}.card-base:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-soft)}.card-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-accent);flex-shrink:0}.card-info{flex:1;min-width:0}.card-info h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.card-info p{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.4}.card-actions{display:flex;gap:8px}.card-header-row{display:flex;align-items:center;gap:12px;margin-bottom:6px}.card-desc{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px}.card-meta{display:flex;align-items:center;gap:12px}.meta-tag{font-size:11px;font-weight:500;padding:3px 8px;background:var(--color-bg-secondary);color:var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-mono)}.section-header{display:flex;justify-content:flex-end;margin-bottom:24px}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:4px 8px;border-radius:var(--radius-sm)}.status-connected{background:#0596691a;color:var(--color-status-completed)}.status-disconnected{background:var(--color-bg-secondary);color:var(--color-text-muted)}.status-error{background:#dc26261a;color:var(--color-status-failed)}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.action-btn.danger:hover{background:#dc26261a;color:var(--color-status-failed)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--color-text-muted);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.empty-state p{margin:16px 0 20px;font-size:14px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;box-shadow:var(--shadow-lg);animation:toast-in .3s ease}.toast--success{background:var(--color-status-completed);color:#fff}.toast--error{background:var(--color-status-failed);color:#fff}.toast--info{background:var(--color-status-running);color:#fff}.toast button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;opacity:.7;cursor:pointer;padding:2px;margin-left:auto}.toast button:hover{opacity:1}@keyframes toast-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}
