*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#1e1e1e;--bg-sidebar:#252526;--bg-card:#2d2d30;--text-primary:#d4d4d4;--text-secondary:#858585;--accent-blue:#0e639c;--accent-cyan:#4ec9b0;--level-green:#4caf50;--level-yellow:#ff9800;--level-orange:#ff5722;--level-red:#f44336;--border:#3c3c3c;--font-sans:-apple-system, "SF Pro Text", sans-serif;--font-mono:"Cascadia Code", monospace}html,body,#app{width:100%;height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:2px;padding:4px 12px}button:hover{background:#3c3c3c}button.primary{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}button.primary:hover{background:#17b}select{font-family:inherit;font-size:inherit;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:2px;padding:4px 8px}input[type=text],textarea{font-family:inherit;font-size:inherit;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:2px;outline:none;padding:6px 8px}input[type=text]:focus,textarea:focus{border-color:var(--accent-blue)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#424242;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.app-layout[data-v-5e06f9d4]{flex-direction:column;height:100%;display:flex}.top-bar[data-v-5e06f9d4]{background:var(--bg-sidebar);border-bottom:1px solid var(--border);align-items:center;gap:24px;height:44px;min-height:44px;padding:0 16px;display:flex}.top-bar-left[data-v-5e06f9d4]{align-items:center;gap:10px;display:flex}.logo[data-v-5e06f9d4]{font-family:var(--font-mono);color:var(--accent-cyan);font-size:15px;font-weight:600}.project-name[data-v-5e06f9d4]{color:var(--text-secondary);font-size:12px}.top-bar-nav[data-v-5e06f9d4]{flex:1;justify-content:center;gap:2px;display:flex}.nav-tab[data-v-5e06f9d4]{color:var(--text-secondary);border-radius:2px;padding:4px 14px;font-size:13px;text-decoration:none;transition:color .15s,background .15s}.nav-tab[data-v-5e06f9d4]:hover{color:var(--text-primary);background:var(--bg-card);text-decoration:none}.nav-tab.active[data-v-5e06f9d4]{color:var(--text-primary);background:var(--bg-card)}.nav-sep[data-v-5e06f9d4]{color:var(--border);margin:0 4px;font-size:12px}.top-bar-right[data-v-5e06f9d4]{align-items:center;gap:8px;display:flex}.ws-dot[data-v-5e06f9d4]{border-radius:50%;width:8px;height:8px}.ws-dot.on[data-v-5e06f9d4]{background:var(--level-green)}.ws-dot.off[data-v-5e06f9d4]{background:var(--text-secondary)}.role-badge[data-v-5e06f9d4]{background:var(--accent-blue);color:#fff;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500}.username[data-v-5e06f9d4]{color:var(--text-secondary);font-size:12px}.logout-btn[data-v-5e06f9d4]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:2px 8px;font-size:11px}.logout-btn[data-v-5e06f9d4]:hover{color:var(--text-primary);border-color:var(--text-secondary)}.main-content[data-v-5e06f9d4]{flex:1;overflow:auto}.login-page[data-v-e82778a5]{background:var(--bg-primary);justify-content:center;align-items:center;height:100%;display:flex}.login-card[data-v-e82778a5]{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:6px;width:360px;padding:40px 32px 32px}.login-header[data-v-e82778a5]{flex-direction:column;align-items:center;gap:4px;margin-bottom:28px;display:flex}.login-header .logo[data-v-e82778a5]{font-family:var(--font-mono);color:var(--accent-cyan);font-size:24px;font-weight:600}.subtitle[data-v-e82778a5]{color:var(--text-secondary);font-size:12px}.login-form[data-v-e82778a5]{flex-direction:column;gap:16px;display:flex}.field[data-v-e82778a5]{flex-direction:column;gap:4px;display:flex}.field label[data-v-e82778a5]{color:var(--text-secondary);font-size:12px}.field input[data-v-e82778a5]{padding:8px 10px;font-size:14px}.error[data-v-e82778a5]{color:var(--level-red);background:#f443361a;border-radius:3px;padding:6px 8px;font-size:12px}.login-btn[data-v-e82778a5]{width:100%}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.skill-board[data-v-219da15a]{height:100%;padding:20px 24px;overflow:auto}.search-bar[data-v-219da15a]{margin-bottom:12px}.search-input[data-v-219da15a]{width:100%;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:4px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s}.search-input[data-v-219da15a]::placeholder{color:var(--text-secondary)}.search-input[data-v-219da15a]:focus{border-color:var(--accent-cyan)}.summary-row[data-v-219da15a]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.summary-line[data-v-219da15a]{color:var(--text-secondary);font-size:12px}.refresh-btn[data-v-219da15a]{border:1px solid var(--border);background:var(--panel-2);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:12px;line-height:1}.refresh-btn[data-v-219da15a]:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.refresh-btn[data-v-219da15a]:disabled{cursor:wait;opacity:.7}.section-header[data-v-219da15a]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:20px;margin-bottom:10px;display:flex}.section-header[data-v-219da15a]:first-of-type{margin-top:0}.section-toggle[data-v-219da15a]{color:var(--text-secondary);flex-shrink:0;width:14px;font-size:10px}.section-title[data-v-219da15a]{color:var(--text-primary);font-size:14px;font-weight:600}.section-count[data-v-219da15a]{background:var(--bg-sidebar);border:1px solid var(--border);color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);border-radius:10px;padding:1px 7px}.section-collapse-enter-active[data-v-219da15a]{max-height:2000px;transition:opacity .2s,max-height .25s;overflow:hidden}.section-collapse-leave-active[data-v-219da15a]{transition:opacity .15s,max-height .2s;overflow:hidden}.section-collapse-enter-from[data-v-219da15a],.section-collapse-leave-to[data-v-219da15a]{opacity:0;max-height:0}.skill-grid[data-v-219da15a]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.skill-card[data-v-219da15a]{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .2s;display:flex}.skill-card[data-v-219da15a]:hover{border-color:var(--accent-cyan)}.card-top[data-v-219da15a]{align-items:center;gap:8px;display:flex}.skill-emoji[data-v-219da15a]{flex-shrink:0;font-size:20px}.skill-name[data-v-219da15a]{color:var(--accent-cyan);font-size:15px;font-weight:600}.card-desc[data-v-219da15a]{color:var(--text-secondary);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-meta[data-v-219da15a]{color:var(--text-secondary);font-size:12px}.meta-sep[data-v-219da15a]{margin:0 4px}.card-bottom[data-v-219da15a]{align-items:center;margin-top:4px;display:flex}.branch-badge[data-v-219da15a]{font-size:11px;font-family:var(--font-mono);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);border-radius:2px;padding:2px 8px}.empty[data-v-219da15a]{text-align:center;color:var(--text-secondary);padding:40px 0}.detail-overlay[data-v-219da15a]{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.detail-panel[data-v-219da15a]{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:720px;max-width:90vw;max-height:80vh;display:flex;position:relative;box-shadow:0 20px 60px #0006}.modal-enter-active[data-v-219da15a]{transition:all .2s ease-out}.modal-leave-active[data-v-219da15a]{transition:all .15s ease-in}.modal-enter-from[data-v-219da15a],.modal-leave-to[data-v-219da15a]{opacity:0}.modal-enter-from .detail-panel[data-v-219da15a],.modal-leave-to .detail-panel[data-v-219da15a]{transform:scale(.95)}.close-btn[data-v-219da15a]{color:var(--text-secondary);cursor:pointer;z-index:1;background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.close-btn[data-v-219da15a]:hover{color:var(--text-primary)}.fm-block[data-v-219da15a]{border-bottom:1px solid var(--border);padding:16px 24px}.fm-error[data-v-219da15a]{color:#f44336;background:#f4433614;border-left:3px solid #f44336;border-radius:4px;padding:8px 12px;font-size:13px}.fm-header[data-v-219da15a]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.fm-emoji[data-v-219da15a]{flex-shrink:0;font-size:24px}.fm-name[data-v-219da15a]{color:var(--accent-cyan);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:17px;font-weight:600;overflow:hidden}.fm-version[data-v-219da15a]{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-sidebar);border:1px solid var(--border);border-radius:3px;padding:2px 6px}.fm-toggle[data-v-219da15a]{color:var(--text-secondary);flex-shrink:0;font-size:12px}.fm-body[data-v-219da15a]{margin-top:10px}.fm-desc[data-v-219da15a]{color:var(--text-secondary);margin-bottom:10px;font-size:13px;line-height:1.6}.fm-fields[data-v-219da15a]{flex-wrap:wrap;gap:8px 20px;display:flex}.fm-field[data-v-219da15a]{align-items:center;gap:6px;font-size:12px;display:flex}.fm-label[data-v-219da15a]{color:var(--text-secondary)}.fm-val[data-v-219da15a]{color:var(--text-primary)}.fm-val code[data-v-219da15a]{font-family:var(--font-mono);background:var(--bg-sidebar);border:1px solid var(--border);border-radius:3px;margin-right:4px;padding:1px 5px;font-size:11px}.detail-header[data-v-219da15a]{align-items:center;gap:12px;padding:20px 24px 0;display:flex}.detail-emoji[data-v-219da15a]{flex-shrink:0;font-size:28px}.detail-name[data-v-219da15a]{color:var(--accent-cyan);font-size:18px;font-weight:600}.detail-content[data-v-219da15a]{outline:none;flex:1;padding:16px 24px;overflow:auto}.loading[data-v-219da15a]{color:var(--text-secondary);font-size:13px}.skill-md[data-v-219da15a]{color:var(--text-primary);word-wrap:break-word;font-size:14px;line-height:1.7}.skill-md[data-v-219da15a] h1{color:var(--text-primary);border-bottom:1px solid var(--border);margin:20px 0 10px;padding-bottom:8px;font-size:22px;font-weight:700}.skill-md[data-v-219da15a] h2{color:var(--text-primary);margin:18px 0 8px;font-size:18px;font-weight:600}.skill-md[data-v-219da15a] h3{color:var(--text-primary);margin:14px 0 6px;font-size:15px;font-weight:600}.skill-md[data-v-219da15a] h4{color:var(--text-secondary);margin:12px 0 4px;font-size:14px;font-weight:600}.skill-md[data-v-219da15a] p{margin:8px 0}.skill-md[data-v-219da15a] a{color:var(--accent-cyan);text-decoration:none}.skill-md[data-v-219da15a] a:hover{text-decoration:underline}.skill-md[data-v-219da15a] code{font-family:var(--font-mono);background:var(--bg-sidebar);border-radius:3px;padding:2px 6px;font-size:13px}.skill-md[data-v-219da15a] pre{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:4px;margin:10px 0;padding:12px 16px;overflow-x:auto}.skill-md[data-v-219da15a] pre code{background:0 0;padding:0;font-size:13px;line-height:1.5}.skill-md[data-v-219da15a] ul,.skill-md[data-v-219da15a] ol{margin:8px 0;padding-left:24px}.skill-md[data-v-219da15a] li{margin:4px 0}.skill-md[data-v-219da15a] blockquote{border-left:3px solid var(--accent-cyan);color:var(--text-secondary);margin:10px 0;padding-left:12px}.skill-md[data-v-219da15a] table{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}.skill-md[data-v-219da15a] th,.skill-md[data-v-219da15a] td{border:1px solid var(--border);text-align:left;padding:6px 10px}.skill-md[data-v-219da15a] th{background:var(--bg-sidebar);font-weight:600}.skill-md[data-v-219da15a] tr:nth-child(2n){background:#ffffff05}.skill-md[data-v-219da15a] hr{border:none;border-top:1px solid var(--border);margin:16px 0}.skill-md[data-v-219da15a] img{border-radius:4px;max-width:100%}.detail-footer[data-v-219da15a]{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.nav-group[data-v-219da15a]{align-items:center;gap:6px;display:flex}.nav-btn[data-v-219da15a]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:14px;padding:3px 10px;font-size:12px;transition:all .15s}.nav-btn[data-v-219da15a]:hover:not(:disabled){border-color:var(--accent-cyan);color:var(--text-primary)}.nav-btn[data-v-219da15a]:disabled{opacity:.3;cursor:not-allowed}.nav-pos[data-v-219da15a]{color:var(--text-secondary);opacity:.6;font-size:11px;font-family:var(--font-mono);text-align:center;min-width:40px}.nav-divider[data-v-219da15a]{background:var(--border);width:1px;height:18px;margin-left:6px}.fm-collapse-enter-active[data-v-219da15a]{max-height:200px;transition:opacity .2s,max-height .25s;overflow:hidden}.fm-collapse-leave-active[data-v-219da15a]{transition:opacity .15s,max-height .2s;overflow:hidden}.fm-collapse-enter-from[data-v-219da15a],.fm-collapse-leave-to[data-v-219da15a]{opacity:0;max-height:0}.skill-md[data-v-219da15a] pre code.hljs{background:0 0;padding:0}.modal-overlay[data-v-8b1eefd6]{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-8b1eefd6]{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:6px;width:400px;max-width:90vw}.modal-header[data-v-8b1eefd6]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:600;display:flex}.close-btn[data-v-8b1eefd6]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;line-height:1}.close-btn[data-v-8b1eefd6]:hover{color:var(--text-primary);background:var(--bg-hover,#ffffff14)}.modal-body[data-v-8b1eefd6]{flex-direction:column;gap:12px;min-height:100px;padding:18px;display:flex}.ai-loading[data-v-8b1eefd6]{justify-content:center;align-items:center;gap:6px;padding:24px 0;display:flex}.ai-loading-text[data-v-8b1eefd6]{color:var(--text-secondary);font-size:12px}.tg-dot[data-v-8b1eefd6]{background:var(--text-secondary);opacity:.4;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite tg-typing-8b1eefd6;display:inline-block}.tg-dot[data-v-8b1eefd6]:nth-child(2){animation-delay:.2s}.tg-dot[data-v-8b1eefd6]:nth-child(3){animation-delay:.4s}@keyframes tg-typing-8b1eefd6{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.field[data-v-8b1eefd6]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-8b1eefd6]{color:var(--text-secondary);font-size:12px}.field textarea[data-v-8b1eefd6]{resize:vertical;width:100%;font-size:13px;line-height:1.5}.meta-row[data-v-8b1eefd6]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.meta-tag[data-v-8b1eefd6]{color:var(--accent-cyan,#00bcd4);background:#00bcd41a;border:1px solid #00bcd440;border-radius:10px;padding:2px 8px;font-size:11px}.meta-tag.path[data-v-8b1eefd6]{border-color:var(--border);color:var(--text-secondary);font-family:var(--font-mono);background:#ffffff0d}.regen-btn[data-v-8b1eefd6]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px}.regen-btn[data-v-8b1eefd6]:hover{color:var(--text-primary);border-color:var(--text-secondary)}.modal-footer[data-v-8b1eefd6]{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.modal-footer button[data-v-8b1eefd6]:disabled{opacity:.4;cursor:not-allowed}.chat-input-wrap[data-v-ff207772]{border-top:1px solid var(--border);background:var(--bg-sidebar);flex-direction:column;display:flex}.context-tags[data-v-ff207772]{flex-wrap:wrap;gap:4px;padding:6px 10px 0;display:flex}.ctx-tag[data-v-ff207772]{font-size:11px;font-family:var(--font-mono);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.ctx-tag.file[data-v-ff207772]{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.ctx-tag.skill[data-v-ff207772]{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.ctx-tag-remove[data-v-ff207772]{cursor:pointer;opacity:.6;font-size:10px}.ctx-tag-remove[data-v-ff207772]:hover{opacity:1}.ctx-tag.auto-tag[data-v-ff207772]{opacity:.75;cursor:default}.input-area[data-v-ff207772]{padding:8px 10px 0}.chat-textarea[data-v-ff207772]{resize:none;width:100%;font-family:var(--font-sans);box-sizing:border-box;border-radius:6px;min-height:48px;max-height:120px;padding:7px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.input-toolbar[data-v-ff207772]{align-items:center;gap:8px;padding:4px 10px 8px;display:flex}.trigger-buttons[data-v-ff207772]{gap:2px;display:flex}.trigger-btn[data-v-ff207772]{border:1px solid var(--border);width:26px;height:24px;color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}.trigger-btn[data-v-ff207772]:hover{background:var(--bg-card);color:var(--text-primary)}.char-count[data-v-ff207772]{color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);margin-left:auto}.send-btn[data-v-ff207772]{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;height:28px;padding:0 12px;font-size:12px;display:flex}.send-btn[data-v-ff207772]:disabled{background:var(--border);cursor:not-allowed}.steer-btn[data-v-ff207772]{color:#fcd34d;background:#f59e0b1f;border:1px solid #f59e0b52;border-radius:6px;flex-shrink:0;height:28px;padding:0 12px;font-size:12px}.steer-btn[data-v-ff207772]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-ff207772]{animation:1s linear infinite spin-ff207772;display:inline-block}@keyframes spin-ff207772{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cmd-popup{background:var(--bg-card,#2d2d30);border:1px solid var(--border,#3c3c3c);border-radius:8px;flex-direction:column;max-height:280px;display:flex;overflow:hidden;box-shadow:0 8px 24px #0006}.popup-list{flex:1;overflow-y:auto}.popup-item{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.popup-item.active,.popup-item:hover{background:#3b82f61f}.popup-item-icon{text-align:center;flex-shrink:0;width:20px;font-size:15px}.popup-item-info{flex:1;min-width:0}.popup-item-label{color:var(--text-primary,#d4d4d4);font-weight:500;display:block}.popup-item-desc{color:var(--text-secondary,#858585);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.popup-item-shortcut{color:var(--text-secondary,#858585);background:var(--bg-sidebar,#252526);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:11px}.popup-empty{text-align:center;color:var(--text-secondary,#858585);padding:12px;font-size:12px}.skill-group-header[data-v-5b3710e3]{display:none}.workspace[data-v-5b3710e3]{grid-template-rows:1fr 24px;grid-template-columns:220px 4px 1fr 4px 320px;height:100%;display:grid;overflow:hidden}.col-divider[data-v-5b3710e3]{cursor:col-resize;background:var(--border);z-index:10;grid-row:1/2;width:4px;transition:background .15s}.col-divider[data-v-5b3710e3]:hover,.col-divider[data-v-5b3710e3]:active{background:var(--accent-blue)}.file-tree[data-v-5b3710e3]{background:var(--bg-sidebar);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-direction:column;grid-row:1/2;display:flex;overflow-y:auto}.tree-header[data-v-5b3710e3]{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.tree-header-main[data-v-5b3710e3]{align-items:center;gap:8px;min-width:0;display:flex}.tree-title[data-v-5b3710e3]{color:var(--text-secondary);letter-spacing:.8px;font-size:10px;font-weight:600}.branch-badge[data-v-5b3710e3]{border:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-family:var(--font-mono);border-radius:2px;padding:1px 6px}.tree-refresh-btn[data-v-5b3710e3]{border:1px solid var(--border);background:var(--panel-2);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:11px;line-height:1;transition:background .12s,color .12s,border-color .12s}.tree-refresh-btn[data-v-5b3710e3]:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.tree-refresh-btn[data-v-5b3710e3]:disabled{cursor:wait;opacity:.7}.tree-body[data-v-5b3710e3]{flex:1;padding:4px 0;overflow-y:auto}.ft-section[data-v-5b3710e3]{margin-bottom:4px}.ft-section-label[data-v-5b3710e3]{letter-spacing:.6px;color:var(--text-secondary);opacity:.5;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:8px 12px 3px;font-size:10px;font-weight:600;display:flex}.ft-section-label[data-v-5b3710e3]:hover{opacity:.8}.ft-section-toggle[data-v-5b3710e3]{flex-shrink:0;width:10px;font-size:8px}.ft-section-count[data-v-5b3710e3]{opacity:.7;font-size:9px;font-family:var(--font-mono);margin-left:auto}.ft-skill-row[data-v-5b3710e3]{cursor:pointer;border-radius:3px;align-items:center;gap:4px;min-height:24px;margin:0 4px;padding:3px 8px 3px 6px;display:flex}.ft-skill-row[data-v-5b3710e3]:hover{background:#ffffff0f}.ft-skill-row.active[data-v-5b3710e3]{background:#ffffff17}.ft-skill-row.active .ft-skill-name[data-v-5b3710e3]{color:var(--text-primary)}.ft-chevron[data-v-5b3710e3]{width:16px;height:16px;color:var(--text-secondary);opacity:.6;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ft-chevron[data-v-5b3710e3]:hover{opacity:1;background:#ffffff14}.ft-skill-emoji[data-v-5b3710e3]{flex-shrink:0;font-size:13px;line-height:1}.ft-skill-name[data-v-5b3710e3]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.ft-skill-row.open .ft-skill-name[data-v-5b3710e3]{color:var(--text-primary)}.ft-children[data-v-5b3710e3]{margin:1px 0 2px;padding-left:0}.ft-dir-row[data-v-5b3710e3]{color:var(--text-secondary);cursor:pointer;border-radius:3px;align-items:center;gap:4px;min-height:22px;margin:0 4px;padding:2px 8px 2px 24px;font-size:12px;display:flex}.ft-dir-row[data-v-5b3710e3]:hover{color:var(--text-primary);background:#ffffff0f}.ft-dir-chevron[data-v-5b3710e3]{opacity:.6;flex-shrink:0;justify-content:center;align-items:center;width:12px;display:flex}.ft-dir-icon[data-v-5b3710e3]{flex-shrink:0;font-size:12px}.ft-dir-name[data-v-5b3710e3]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ft-file-row[data-v-5b3710e3]{cursor:pointer;border-radius:3px;align-items:center;gap:5px;min-height:22px;margin:0 4px;padding:2px 8px 2px 28px;display:flex}.ft-file-row.ft-file-indented[data-v-5b3710e3]{padding-left:40px}.ft-file-row[data-v-5b3710e3]:hover{background:#ffffff0f}.ft-file-row.selected[data-v-5b3710e3]{background:#3b82f62e}.ft-file-icon[data-v-5b3710e3]{text-align:center;width:14px;color:var(--text-secondary);flex-shrink:0;font-size:11px}.ft-file-name[data-v-5b3710e3]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ft-file-row.selected .ft-file-name[data-v-5b3710e3]{color:#93c5fd}.ft-file-row:hover .ft-file-name[data-v-5b3710e3]{color:var(--text-primary)}.editor-panel[data-v-5b3710e3]{border-right:1px solid var(--border);flex-direction:column;grid-row:1/2;display:flex;overflow:hidden}.editor-tabs[data-v-5b3710e3]{background:var(--bg-sidebar);border-bottom:1px solid var(--border);align-items:center;gap:0;height:36px;min-height:36px;padding:0 12px;display:flex}.tab-btn[data-v-5b3710e3]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:6px 14px;font-size:13px}.tab-btn[data-v-5b3710e3]:hover{color:var(--text-primary);background:0 0}.tab-btn.active[data-v-5b3710e3]{color:var(--text-primary);border-bottom-color:var(--accent-blue);background:0 0}.editor-body[data-v-5b3710e3]{flex:1;min-height:0;overflow:hidden}.monaco-container[data-v-5b3710e3]{width:100%;height:100%}.editor-actions[data-v-5b3710e3]{background:var(--bg-sidebar);border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.editor-actions button[data-v-5b3710e3]:disabled{opacity:.4;cursor:not-allowed}.train-branch-inline[data-v-5b3710e3]{font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:11px;overflow:hidden}.train-log-inline[data-v-5b3710e3]{color:var(--text-secondary);font-size:11px}.actions-sep[data-v-5b3710e3]{background:var(--border);flex-shrink:0;width:1px;height:14px}.train-badge[data-v-5b3710e3]{border-radius:3px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.train-badge.active[data-v-5b3710e3]{color:var(--level-green);background:#4caf5033;border:1px solid #4caf5066}.train-badge.loading[data-v-5b3710e3]{color:var(--level-yellow);background:#ff980026;border:1px solid #ff98004d}.train-info[data-v-5b3710e3]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.train-path[data-v-5b3710e3],.train-branch[data-v-5b3710e3]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.train-branch[data-v-5b3710e3]{color:var(--accent-cyan)}.train-log[data-v-5b3710e3]{flex:1;gap:6px;min-width:0;display:flex;overflow:hidden}.train-log-item[data-v-5b3710e3]{color:var(--text-secondary);white-space:nowrap;font-size:11px}.train-log-item[data-v-5b3710e3]:last-child{color:var(--text-primary)}.train-start-btn[data-v-5b3710e3]{border:1px solid var(--accent-blue);background:var(--accent-blue);color:#fff;cursor:pointer;border-radius:4px;padding:4px 14px;font-size:12px}.train-start-btn[data-v-5b3710e3]:hover{opacity:.9}.train-stop-btn[data-v-5b3710e3]{border:1px solid var(--level-red);color:var(--level-red);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:11px}.train-stop-btn[data-v-5b3710e3]:hover{background:#f443361a}.train-stop-btn[data-v-5b3710e3]:disabled{opacity:.4;cursor:not-allowed}.coach-panel[data-v-5b3710e3]{background:var(--bg-sidebar);flex-direction:column;grid-row:1/2;display:flex;overflow:hidden}.coach-header[data-v-5b3710e3]{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.coach-toolbar[data-v-5b3710e3]{align-items:center;gap:8px;display:flex}.mode-switcher[data-v-5b3710e3]{gap:4px;margin-bottom:4px;display:flex}.mode-btn[data-v-5b3710e3]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:4px 8px;font-size:12px;transition:all .15s}.mode-btn[data-v-5b3710e3]:hover{background:var(--bg-card)}.mode-btn.active[data-v-5b3710e3]{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.mode-hint[data-v-5b3710e3]{color:var(--accent-cyan,#00bcd4);font-weight:600}.coach-select[data-v-5b3710e3]{width:100%}.coach-select[data-v-5b3710e3]:disabled{opacity:.5;cursor:not-allowed}.coach-locked-tip[data-v-5b3710e3]{color:var(--text-secondary);margin-top:2px;font-size:11px}.coach-desc[data-v-5b3710e3]{color:var(--text-secondary);font-size:11px}.coach-desc.warn[data-v-5b3710e3]{color:var(--level-yellow)}.model-select[data-v-5b3710e3]{flex:1;width:100%;margin-top:4px}.model-desc[data-v-5b3710e3]{color:var(--text-secondary);font-size:11px}.activity-row[data-v-5b3710e3]{align-items:flex-end;min-height:36px}.activity-row .msg-bubble[data-v-5b3710e3]{display:none}.typing-bubble[data-v-5b3710e3]{background:var(--bg-card);border:1px solid var(--border);border-radius:18px 18px 18px 4px;align-items:center;gap:5px;min-width:52px;min-height:36px;padding:10px 14px;display:inline-flex}.tg-dot[data-v-5b3710e3]{background:var(--text-secondary);opacity:.4;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite tg-typing-5b3710e3;display:inline-block}.tg-dot[data-v-5b3710e3]:nth-child(2){animation-delay:.2s}.tg-dot[data-v-5b3710e3]:nth-child(3){animation-delay:.4s}@keyframes tg-typing-5b3710e3{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.activity-elapsed[data-v-5b3710e3]{color:var(--text-secondary);opacity:.5;font-size:11px;font-family:var(--font-mono)}.tool-badge[data-v-5b3710e3]{color:var(--accent-cyan);font-size:11px;font-family:var(--font-mono);background:#00bcd41f;border:1px solid #00bcd44d;border-radius:10px;padding:1px 8px;display:inline-block}.live-turn .msg-avatar[data-v-5b3710e3]{align-self:flex-start;margin-top:2px}.msg-tool-summary[data-v-5b3710e3]{margin-bottom:6px}.tool-summary-badge[data-v-5b3710e3]{color:var(--accent-cyan);background:#00bcd41a;border:1px solid #00bcd433;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.cursor[data-v-5b3710e3]{color:var(--accent-cyan,#00bcd4);animation:1s step-end infinite blink-5b3710e3}@keyframes blink-5b3710e3{50%{opacity:0}}.training-required[data-v-5b3710e3]{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.tr-icon[data-v-5b3710e3]{font-size:32px}.tr-title[data-v-5b3710e3]{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.tr-hint[data-v-5b3710e3]{text-align:center;margin:0;font-size:12px;line-height:1.6}.tr-hint code[data-v-5b3710e3]{font-family:var(--font-mono);background:#ffffff14;border-radius:3px;padding:1px 5px}.tr-error[data-v-5b3710e3]{color:#fca5a5;text-align:left;word-break:break-word;background:#991b1b40;border:1px solid #f8717159;border-radius:8px;max-width:520px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5}.tr-start-btn[data-v-5b3710e3]{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:4px;padding:7px 24px;font-size:13px;font-weight:500;transition:opacity .15s}.tr-start-btn[data-v-5b3710e3]:hover:not(:disabled){opacity:.88}.tr-start-btn[data-v-5b3710e3]:disabled{opacity:.4;cursor:not-allowed}.tr-hint-small[data-v-5b3710e3]{color:var(--text-secondary);margin:4px 0 0;font-size:11px}@keyframes spin-5b3710e3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-messages[data-v-5b3710e3]{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.chat-msg[data-v-5b3710e3]{gap:8px;max-width:100%;display:flex}.chat-msg.user[data-v-5b3710e3]{flex-direction:row-reverse}.msg-avatar[data-v-5b3710e3]{background:var(--bg-card);width:28px;height:28px;color:var(--accent-cyan);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.msg-bubble[data-v-5b3710e3]{word-break:break-word;border-radius:8px;max-width:85%;padding:8px 12px;font-size:13px;line-height:1.5}.chat-msg.agent .msg-bubble[data-v-5b3710e3]{background:var(--bg-card);color:var(--text-primary)}.chat-msg.user .msg-bubble[data-v-5b3710e3]{background:var(--accent-blue);color:#fff}.msg-time[data-v-5b3710e3]{color:var(--text-secondary);margin-top:4px;font-size:10px;display:block}.chat-msg.user .msg-time[data-v-5b3710e3]{color:#fff9;text-align:right}.msg-tags[data-v-5b3710e3]{flex-wrap:wrap;gap:3px;margin-bottom:4px;display:flex}.msg-tag[data-v-5b3710e3]{font-size:10px;font-family:var(--font-mono);border-radius:8px;padding:1px 6px;display:inline-block}.msg-tag.file[data-v-5b3710e3]{color:#60a5fa;background:#3b82f626}.msg-tag.skill[data-v-5b3710e3]{color:#a78bfa;background:#8b5cf626}.chat-msg.user .msg-tag.file[data-v-5b3710e3],.chat-msg.user .msg-tag.skill[data-v-5b3710e3]{color:#fffc;background:#ffffff26}.status-bar[data-v-5b3710e3]{background:var(--accent-blue);color:#fff;grid-column:1/-1;align-items:center;gap:12px;padding:0 14px;font-size:11px;display:flex}.status-item[data-v-5b3710e3]{align-items:center;gap:4px;display:flex}.status-sep[data-v-5b3710e3]{opacity:.4}.status-val.mono[data-v-5b3710e3]{font-family:var(--font-mono);font-size:11px}.status-val-wt[data-v-5b3710e3]{color:#6dbf6d}.wt-location[data-v-5b3710e3]{font-family:var(--font-mono);gap:4px;font-size:11px}.wt-label[data-v-5b3710e3]{color:var(--text-secondary)}.wt-branch-name[data-v-5b3710e3]{color:#6dbf6d}.status-user[data-v-5b3710e3]{margin-left:auto}.status-ws.on[data-v-5b3710e3]{color:#a0ffa0}.status-ws.off[data-v-5b3710e3]{color:#faa}.md-body[data-v-5b3710e3]{word-break:break-word;line-height:1.6}.md-body[data-v-5b3710e3] p{margin:0 0 8px}.md-body[data-v-5b3710e3] p:last-child{margin-bottom:0}.md-body[data-v-5b3710e3] h1,.md-body[data-v-5b3710e3] h2,.md-body[data-v-5b3710e3] h3{margin:12px 0 4px;font-weight:600}.md-body[data-v-5b3710e3] h1{font-size:15px}.md-body[data-v-5b3710e3] h2{font-size:14px}.md-body[data-v-5b3710e3] h3{font-size:13px}.md-body[data-v-5b3710e3] ul,.md-body[data-v-5b3710e3] ol{margin:4px 0 8px;padding-left:18px}.md-body[data-v-5b3710e3] li{margin:2px 0}.md-body[data-v-5b3710e3] code{font-family:var(--font-mono);background:#ffffff1a;border-radius:3px;padding:1px 5px;font-size:12px}.md-body[data-v-5b3710e3] pre{background:#0000004d;border-radius:6px;margin:6px 0;padding:10px 12px;overflow-x:auto}.md-body[data-v-5b3710e3] pre code{background:0 0;padding:0;font-size:12px}.md-body[data-v-5b3710e3] blockquote{border-left:3px solid var(--border);color:var(--text-secondary);margin:4px 0;padding-left:10px}.md-body[data-v-5b3710e3] table{border-collapse:collapse;margin:6px 0;font-size:12px}.md-body[data-v-5b3710e3] th,.md-body[data-v-5b3710e3] td{border:1px solid var(--border);padding:4px 8px}.md-body[data-v-5b3710e3] th{background:#ffffff0d}.md-body[data-v-5b3710e3] a{color:var(--accent-blue);text-decoration:none}.md-body[data-v-5b3710e3] a:hover{text-decoration:underline}.md-body[data-v-5b3710e3] hr{border:none;border-top:1px solid var(--border);margin:8px 0}.md-body[data-v-5b3710e3] strong{color:var(--text-primary)}.modal-overlay[data-v-5b3710e3]{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.compare-modal[data-v-5b3710e3]{background:var(--bg-card,#2d2d30);border:1px solid var(--border,#3c3c3c);border-radius:10px;flex-direction:column;width:640px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 12px 40px #00000080}.compare-modal-header[data-v-5b3710e3]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.compare-modal-header h3[data-v-5b3710e3]{color:var(--text-primary);margin:0;font-size:15px}.modal-close[data-v-5b3710e3]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px}.modal-close[data-v-5b3710e3]:hover{color:var(--text-primary)}.compare-modal-body[data-v-5b3710e3]{flex:1;padding:16px 18px;overflow-y:auto}.compare-selects[data-v-5b3710e3]{align-items:center;gap:12px;margin-bottom:14px;display:flex}.compare-field[data-v-5b3710e3]{flex:1}.compare-field label[data-v-5b3710e3]{color:var(--text-secondary);margin-bottom:4px;font-size:11px;display:block}.compare-field select[data-v-5b3710e3]{border:1px solid var(--border);background:var(--bg-sidebar);width:100%;color:var(--text-primary);border-radius:4px;padding:6px 8px;font-size:13px}.compare-vs[data-v-5b3710e3]{color:var(--text-secondary);margin-top:16px;font-size:13px}.compare-run-btn[data-v-5b3710e3]{margin-bottom:12px}.compare-result[data-v-5b3710e3]{background:var(--bg-sidebar,#1e1e1e);border:1px solid var(--border);font-size:12px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;max-height:400px;color:var(--text-primary);border-radius:6px;padding:12px;overflow:auto}.change-feed[data-v-cd0fe273]{flex-direction:column;gap:24px;height:100%;padding:20px 24px;display:flex;overflow:auto}.section-title[data-v-cd0fe273]{color:var(--text-primary);margin:0 0 12px;font-size:14px;font-weight:600}.loading-text[data-v-cd0fe273]{color:var(--text-secondary);padding:12px 0;font-size:13px}.status-section[data-v-cd0fe273]{background:var(--bg-sidebar);border:1px solid var(--border);padding:16px}.status-summary[data-v-cd0fe273]{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.status-chip[data-v-cd0fe273]{align-items:center;gap:6px;display:flex}.chip-label[data-v-cd0fe273]{color:var(--text-secondary);font-size:12px}.chip-val[data-v-cd0fe273]{color:var(--text-primary);font-size:13px;font-weight:500}.mono[data-v-cd0fe273]{font-family:var(--font-mono)}.file-list[data-v-cd0fe273]{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.file-item[data-v-cd0fe273]{background:var(--bg-card);border-radius:2px;align-items:center;gap:8px;padding:3px 8px;font-size:12px;display:flex}.file-status[data-v-cd0fe273]{border-radius:2px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:500}.st-mod[data-v-cd0fe273]{color:var(--accent-blue);background:#3b82f626}.st-add[data-v-cd0fe273]{color:var(--level-green);background:#4caf5026}.st-del[data-v-cd0fe273]{color:var(--level-red);background:#f4433626}.st-untracked[data-v-cd0fe273]{color:var(--text-secondary);background:#9e9e9e26}.file-name[data-v-cd0fe273]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.no-changes[data-v-cd0fe273]{color:var(--text-secondary);padding:8px 0;font-size:12px}.push-row[data-v-cd0fe273]{align-items:center;gap:12px;display:flex}.push-btn[data-v-cd0fe273]{padding:5px 14px;font-size:12px}.push-result[data-v-cd0fe273]{color:var(--text-secondary);font-size:12px}.history-section[data-v-cd0fe273]{flex:1;min-height:0}.timeline[data-v-cd0fe273]{padding-left:24px;position:relative}.timeline-item[data-v-cd0fe273]{gap:12px;margin-bottom:16px;display:flex;position:relative}.timeline-line[data-v-cd0fe273]{justify-content:center;width:24px;display:flex;position:absolute;top:0;bottom:-16px;left:-24px}.timeline-line[data-v-cd0fe273]:before{content:"";background:var(--border);width:1px;position:absolute;top:10px;bottom:-6px;left:50%}.timeline-item:last-child .timeline-line[data-v-cd0fe273]:before{display:none}.timeline-dot[data-v-cd0fe273]{z-index:1;border-radius:50%;width:10px;height:10px;margin-top:5px;position:relative}.timeline-card[data-v-cd0fe273]{background:var(--bg-card);border:1px solid var(--border);flex-direction:column;flex:1;gap:6px;padding:12px 16px;display:flex}.card-row-1[data-v-cd0fe273]{align-items:center;gap:8px;display:flex}.change-time[data-v-cd0fe273]{color:var(--text-secondary);font-size:12px;font-family:var(--font-mono)}.author-avatar[data-v-cd0fe273]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:inline-flex}.author-name[data-v-cd0fe273]{font-size:13px}.card-row-2[data-v-cd0fe273]{align-items:baseline;gap:8px;display:flex}.skill-badge[data-v-cd0fe273]{background:var(--accent-blue);color:#fff;white-space:nowrap;border-radius:2px;padding:1px 6px;font-size:11px}.change-summary[data-v-cd0fe273]{font-size:13px}.card-row-3[data-v-cd0fe273]{align-items:center;gap:10px;display:flex}.branch-badge[data-v-cd0fe273]{font-size:11px;font-family:var(--font-mono);background:0 0;border:1px solid;border-radius:2px;padding:1px 6px}.diff-link[data-v-cd0fe273]{font-size:12px}.empty[data-v-cd0fe273]{text-align:center;color:var(--text-secondary);padding:40px 0}.diff-overlay[data-v-cd0fe273]{z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.diff-modal[data-v-cd0fe273]{background:var(--bg-primary,#1e1e1e);border:1px solid var(--border);border-radius:4px;flex-direction:column;width:80vw;max-width:900px;max-height:80vh;display:flex;overflow:hidden}.diff-modal-header[data-v-cd0fe273]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.diff-modal-title[data-v-cd0fe273]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.diff-modal-close[data-v-cd0fe273]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.diff-modal-close[data-v-cd0fe273]:hover{color:var(--text-primary)}.diff-modal-body[data-v-cd0fe273]{flex:1;padding:16px;overflow:auto}.diff-content[data-v-cd0fe273]{font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-all;background:0 0;margin:0;padding:0;font-size:12px;line-height:1.5}.forbidden-page[data-v-917ed813]{background:var(--bg-primary);justify-content:center;align-items:center;height:100%;display:flex}.forbidden-card[data-v-917ed813]{text-align:center;padding:48px 40px}.code[data-v-917ed813]{font-family:var(--font-mono);color:var(--level-red);margin-bottom:8px;font-size:64px;font-weight:700;line-height:1}.title[data-v-917ed813]{color:var(--text-primary);margin-bottom:12px;font-size:18px;font-weight:600}.desc[data-v-917ed813]{color:var(--text-secondary);margin-bottom:24px;font-size:13px}.admin-users[data-v-407dbbad]{max-width:1200px;margin:0 auto;padding:24px 32px}.page-header[data-v-407dbbad]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h1[data-v-407dbbad]{font-size:18px;font-weight:600}.create-form[data-v-407dbbad]{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:4px;margin-bottom:16px;padding:16px}.form-row[data-v-407dbbad]{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.field[data-v-407dbbad]{flex-direction:column;gap:4px;display:flex}.field label[data-v-407dbbad]{color:var(--text-secondary);font-size:11px}.field input[data-v-407dbbad]{padding:6px 8px;font-size:13px}.error[data-v-407dbbad]{color:var(--level-red);background:#f443361a;border-radius:3px;margin-top:8px;padding:6px 8px;font-size:12px}.loading[data-v-407dbbad]{color:var(--text-secondary);text-align:center;padding:24px}.user-table[data-v-407dbbad]{border-collapse:collapse;width:100%;font-size:13px}.user-table th[data-v-407dbbad]{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;font-size:11px;font-weight:600}.user-table td[data-v-407dbbad]{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 12px}.user-table tr.inactive td[data-v-407dbbad]{opacity:.5}.mono[data-v-407dbbad]{font-family:var(--font-mono);font-size:12px}.role-tag[data-v-407dbbad]{background:var(--accent-blue);color:#fff;border-radius:3px;margin-right:4px;padding:1px 6px;font-size:10px;display:inline-block}.no-role[data-v-407dbbad]{color:var(--text-secondary);font-size:11px}.status-dot[data-v-407dbbad]{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.status-dot.active[data-v-407dbbad]{background:var(--level-green)}.status-dot.disabled[data-v-407dbbad]{background:var(--text-secondary)}.actions[data-v-407dbbad]{gap:4px;display:flex}.actions button[data-v-407dbbad]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:2px 8px;font-size:11px}.actions button[data-v-407dbbad]:hover{color:var(--text-primary);border-color:var(--text-secondary)}.actions button.danger[data-v-407dbbad]:hover{color:var(--level-red);border-color:var(--level-red)}.modal-overlay[data-v-407dbbad]{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-407dbbad]{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:6px;min-width:380px;max-width:480px;padding:24px}.modal h2[data-v-407dbbad]{margin-bottom:16px;font-size:15px;font-weight:600}.modal-form[data-v-407dbbad]{flex-direction:column;gap:12px;display:flex}.role-list[data-v-407dbbad]{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.role-checkbox[data-v-407dbbad]{cursor:pointer;align-items:center;gap:8px;display:flex}.role-checkbox input[type=checkbox][data-v-407dbbad]{accent-color:var(--accent-blue)}.role-name[data-v-407dbbad]{font-family:var(--font-mono);font-size:13px}.role-desc[data-v-407dbbad]{color:var(--text-secondary);font-size:11px}.modal-actions[data-v-407dbbad]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.admin-skill-groups[data-v-9ad9154e]{max-width:1200px;margin:0 auto;padding:24px 32px}.page-header[data-v-9ad9154e]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h1[data-v-9ad9154e]{font-size:18px;font-weight:600}.create-form[data-v-9ad9154e]{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:4px;margin-bottom:16px;padding:16px}.form-fields[data-v-9ad9154e]{flex-direction:column;gap:12px;display:flex}.form-row[data-v-9ad9154e]{flex-wrap:wrap;gap:12px;display:flex}.field[data-v-9ad9154e]{flex-direction:column;flex:1;gap:4px;min-width:160px;display:flex}.field label[data-v-9ad9154e]{color:var(--text-secondary);font-size:11px}.field input[data-v-9ad9154e]{padding:6px 8px;font-size:13px}.field textarea[data-v-9ad9154e]{font-size:13px;font-family:var(--font-mono);resize:vertical;padding:6px 8px}.error[data-v-9ad9154e]{color:var(--level-red);background:#f443361a;border-radius:3px;margin-top:8px;padding:6px 8px;font-size:12px}.loading[data-v-9ad9154e]{color:var(--text-secondary);text-align:center;padding:24px}.group-table[data-v-9ad9154e]{border-collapse:collapse;width:100%;font-size:13px}.group-table th[data-v-9ad9154e]{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;font-size:11px;font-weight:600}.group-table td[data-v-9ad9154e]{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 12px}.paths-cell[data-v-9ad9154e]{flex-wrap:wrap;gap:4px;display:flex}.path-tag[data-v-9ad9154e]{font-family:var(--font-mono);background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:3px;padding:1px 6px;font-size:11px;display:inline-block}.role-tag[data-v-9ad9154e]{background:var(--accent-blue);color:#fff;border-radius:3px;margin-right:4px;padding:1px 6px;font-size:10px;display:inline-block}.no-data[data-v-9ad9154e]{color:var(--text-secondary);font-size:11px}.actions[data-v-9ad9154e]{gap:4px;display:flex}.actions button[data-v-9ad9154e]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:2px 8px;font-size:11px}.actions button[data-v-9ad9154e]:hover{color:var(--text-primary);border-color:var(--text-secondary)}.actions button.danger[data-v-9ad9154e]:hover{color:var(--level-red);border-color:var(--level-red)}.modal-overlay[data-v-9ad9154e]{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-9ad9154e]{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:6px;min-width:380px;max-width:520px;padding:24px}.modal h2[data-v-9ad9154e]{margin-bottom:16px;font-size:15px;font-weight:600}.modal-form[data-v-9ad9154e]{flex-direction:column;gap:12px;display:flex}.role-list[data-v-9ad9154e]{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.role-checkbox[data-v-9ad9154e]{cursor:pointer;align-items:center;gap:8px;display:flex}.role-checkbox input[type=checkbox][data-v-9ad9154e]{accent-color:var(--accent-blue)}.role-name[data-v-9ad9154e]{font-family:var(--font-mono);font-size:13px}.role-desc[data-v-9ad9154e]{color:var(--text-secondary);font-size:11px}.modal-actions[data-v-9ad9154e]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.settings-page[data-v-59a04fc6]{max-width:960px;margin:0 auto;padding:24px 20px 80px}.loading[data-v-59a04fc6]{text-align:center;color:var(--text-secondary);padding:60px}.section[data-v-59a04fc6]{margin-bottom:28px}.section-header[data-v-59a04fc6]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-header h2[data-v-59a04fc6]{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.card[data-v-59a04fc6]{border:1px solid var(--border);background:var(--bg-card);border-radius:4px;margin-bottom:8px}.card-header[data-v-59a04fc6]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.card-body[data-v-59a04fc6]{padding:10px 12px}.field[data-v-59a04fc6]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.field.inline[data-v-59a04fc6]{flex-direction:row;flex:unset;align-items:center;gap:8px}.field label[data-v-59a04fc6]{color:var(--text-secondary);white-space:nowrap;font-size:11px}.field-row[data-v-59a04fc6]{align-items:flex-end;gap:10px;margin-bottom:8px;display:flex}.input[data-v-59a04fc6]{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:3px;padding:4px 8px;font-size:12px}.input[data-v-59a04fc6]:focus{border-color:var(--accent-blue);outline:none}.mono[data-v-59a04fc6]{font-family:var(--font-mono)}select.input[data-v-59a04fc6]{appearance:auto}.subrepos[data-v-59a04fc6]{background:var(--bg-primary);border-radius:3px;margin-top:6px;padding:8px}.subrepo-header[data-v-59a04fc6]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sub-label[data-v-59a04fc6]{color:var(--text-secondary);font-size:11px;font-weight:500}.subrepo-item[data-v-59a04fc6]{margin-bottom:6px}.btn-sm[data-v-59a04fc6]{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:3px 10px;font-size:11px}.btn-sm[data-v-59a04fc6]:hover{color:var(--text-primary);border-color:var(--text-secondary)}.btn-danger-sm[data-v-59a04fc6]{border:1px solid var(--border);color:var(--level-red);cursor:pointer;background:0 0;border-radius:3px;padding:3px 10px;font-size:11px}.btn-danger-sm[data-v-59a04fc6]:hover{border-color:var(--level-red)}.action-bar[data-v-59a04fc6]{background:var(--bg-sidebar);border-top:1px solid var(--border);z-index:100;align-items:center;gap:10px;padding:10px 20px;display:flex;position:fixed;bottom:0;left:0;right:0}.btn-primary[data-v-59a04fc6]{background:var(--accent-blue);border:1px solid var(--accent-blue);color:#fff;cursor:pointer;border-radius:3px;padding:5px 16px;font-size:12px}.btn-primary[data-v-59a04fc6]:hover{opacity:.9}.btn-primary[data-v-59a04fc6]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-59a04fc6]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:3px;padding:5px 16px;font-size:12px}.btn-secondary[data-v-59a04fc6]:hover{color:var(--text-primary);border-color:var(--text-secondary)}.status-msg[data-v-59a04fc6]{margin-left:8px;font-size:12px}.status-msg.ok[data-v-59a04fc6]{color:var(--level-green)}.status-msg.err[data-v-59a04fc6]{color:var(--level-red)}
