:root{--bg:#0d1117;--text:#c9d1d9;--border:#30363d;--hover:#161b22;--link:#58a6ff;--inp-bg:#0d1117;--inp-bd:#30363d;--btn-bg:#238636;--btn-tx:#fff;--btn-hv:#2ea043;--panel:#161b22;--act-bg:#21262d;--act-bd:#30363d;--text-dim:#8b949e;--highlight:#1f6feb}
[data-theme="light"]{--bg:#fff;--text:#24292f;--border:#d0d7de;--hover:#f6f8fa;--link:#0969da;--inp-bg:#fff;--inp-bd:#d0d7de;--btn-bg:#2da44e;--btn-tx:#fff;--btn-hv:#2c974b;--panel:#f6f8fa;--act-bg:#eaeef2;--act-bd:#d0d7de;--text-dim:#57606a;--highlight:#0969da}
*{box-sizing:border-box}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:0 0}
::-webkit-scrollbar-thumb{background:rgba(48,54,61,.6);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(88,166,255,.4)}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;max-width:900px;margin:2rem auto;padding:0 1rem;background:var(--bg);color:var(--text);transition:.3s;position:relative}
.header-row{display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:2rem}
h3{font-weight:300;letter-spacing:1px;color:var(--text);margin:0;font-size:1.5rem}
.api-status{position:absolute;right:0;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:#8b949e;cursor:help;transition:.3s;opacity:.7}
.api-status[data-level=high]{background:#3fb950;box-shadow:0 0 8px rgba(63,185,80,.4)}
.api-status[data-level=medium]{background:#d29922;box-shadow:0 0 8px rgba(210,153,34,.4)}
.api-status[data-level=low]{background:#f85149;box-shadow:0 0 8px rgba(248,81,73,.4)}
.capsule-search{display:flex;align-items:center;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:50px;padding:4px 6px 4px 15px;margin-bottom:30px;transition:.2s;max-width:600px;margin:0 auto 30px;backdrop-filter:blur(5px)}
.capsule-search:focus-within{border-color:var(--link);box-shadow:0 0 0 2px rgba(88,166,255,.1);background:rgba(255,255,255,.05)}
.capsule-search input{border:none;background:0 0;padding:8px;margin:0;outline:0;box-shadow:none;font-size:14px;width:100%;color:var(--text)}
.capsule-search button{border-radius:40px;padding:6px 16px;margin:0;border:none;font-size:13px}
input,select,.minimal-input,.minimal-input-enhanced{width:100%;padding:10px 0;margin-bottom:15px;border:none;border-bottom:1px solid var(--border);background:0 0;color:var(--text);outline:0;transition:.2s;font-size:14px;border-radius:0}
input:focus,select:focus,.minimal-input:focus,.minimal-input-enhanced:focus{border-bottom-color:var(--link)}
.minimal-input-enhanced{background:rgba(13,17,23,.6)!important;border:1px solid var(--border)!important;border-radius:6px!important;padding:8px 10px!important}
.minimal-input-enhanced:focus{border-color:var(--link)!important;box-shadow:0 0 0 3px rgba(88,166,255,.15)!important}
select option{background:var(--bg);color:var(--text)}
button{padding:8px 16px;background:var(--btn-bg);color:var(--btn-tx);border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:.2s;font-size:13px}
button:hover{background:var(--btn-hv);transform:translateY(-1px)}
button:disabled{opacity:.5;cursor:not-allowed;transform:none}
#btn-analyze{background:#d946ef}
#btn-analyze:hover{background:#c026d3}
.tree-item{display:flex;align-items:center;padding:5px 8px;border-radius:4px;cursor:pointer;user-select:none;transition:.15s;margin-bottom:1px}
.tree-item:hover{background:rgba(255,255,255,.05)}
.tree-item input[type=checkbox]{margin-right:10px;width:14px;height:14px;accent-color:var(--link);cursor:pointer;border-radius:3px;opacity:.7}
.tree-item input[type=checkbox]:checked{opacity:1}
.tree-item svg{fill:var(--text-dim);margin-right:8px;width:16px;height:16px;min-width:16px;transition:.2s}
.tree-item:hover svg{fill:var(--text)}
.tree-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.tree-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding-right:5px;white-space:nowrap}
.tree-item-left{display:flex;align-items:center;overflow:hidden;min-height:24px}
.file-name{font-size:13px;color:var(--text);margin-left:2px;line-height:1.5;opacity:.9}
.action-btn{margin-left:8px;padding:2px 8px;font-size:11px;border:1px solid var(--border);border-radius:12px;cursor:pointer;background:0 0;color:var(--text-dim);transition:.2s;opacity:0}
.tree-item:hover .action-btn{opacity:1}
.action-btn:hover{background:var(--link);color:#fff;border-color:var(--link)}
.settings-toggle{font-size:12px;color:var(--text-dim);cursor:pointer;margin-bottom:10px;display:inline-block;opacity:.6;transition:.2s}
.settings-toggle:hover{opacity:1;color:var(--link)}
.settings-toggle::before{content:'▸';display:inline-block;margin-right:5px;font-size:12px;transition:transform .2s}
.settings-toggle.open::before{transform:rotate(90deg)}
.settings-panel{display:none;padding:20px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:8px;margin-bottom:20px}
.progress-container{margin-top:20px;display:none}
.progress-bar-bg{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}
.progress-bar-fill{height:100%;background:var(--link);width:0;transition:width .2s}
.console-log{margin-top:15px;padding:15px;background:rgba(0,0,0,.2);border:1px solid var(--border);border-radius:8px;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:11px;color:var(--text-dim);max-height:150px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}
.file-progress-wrap{width:50px;height:3px;background:rgba(255,255,255,.1);margin-left:8px;border-radius:2px;overflow:hidden;display:inline-block;vertical-align:middle}
.file-progress-bar{width:0;height:100%;background:#2ea44f;transition:width .3s}
details>summary{cursor:pointer;list-style:none;user-select:none}
details>summary::-webkit-details-marker{display:none}
#ref-selector{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px}
#ref-selector option{background:var(--bg);color:var(--text)}
.tree-item:focus{outline:0;background:rgba(88,166,255,.2)!important}
.children-container{margin-left:18px;border-left:1px solid rgba(48,54,61,.4)}
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:1000;display:none;justify-content:center;align-items:center;backdrop-filter:blur(5px);transition:opacity .2s}
.modal-content{background:var(--bg);width:90%;max-width:1000px;height:80vh;border-radius:16px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.5);backdrop-filter:blur(10px);overflow:hidden}
.modal-header{padding:15px 25px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.02)}
.modal-body{flex:1;overflow:auto;padding:25px}
.close-modal{cursor:pointer;font-size:24px;color:var(--text-dim);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:.2s}
.close-modal:hover{color:var(--text);background:rgba(255,255,255,.1)}
.breadcrumbs-container{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:20px}
.breadcrumb-item{color:var(--text-dim);cursor:pointer;text-decoration:none;transition:.2s;font-size:14px;padding:2px 5px;border-radius:4px}
.breadcrumb-item:hover{color:var(--link);background:rgba(255,255,255,.05)}
.breadcrumb-separator{color:var(--text-dim);font-size:12px;opacity:.6;margin:0 2px}
.tree-view{margin-top:20px;border:1px solid var(--border);border-radius:12px;padding:15px;max-height:70vh;overflow-y:auto;display:none;background:rgba(22,27,34,.4)}
.preview-code{font-family:'SFMono-Regular',Consolas,monospace;white-space:pre;color:var(--text);font-size:13px}
.preview-image{max-width:100%;display:block;margin:0 auto}
.tree-checkbox{margin-right:8px;cursor:pointer;width:14px;height:14px;vertical-align:middle}
.file-size{font-size:11px;color:var(--text-dim);margin-left:10px;min-width:60px;text-align:right;font-family:monospace}
.console-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.console-title{font-size:11px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.console-clear{font-size:11px;color:var(--link);cursor:pointer;opacity:.8}
.console-clear:hover{opacity:1;text-decoration:underline}
details>summary .folder-arrow{display:inline-block;font-size:9px;margin-right:6px;transition:transform .2s;color:var(--text-dim);width:10px;text-align:center}
details[open]>summary .folder-arrow{transform:rotate(90deg)}
.repo-card{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:8px;padding:15px;cursor:pointer;transition:.2s;display:flex;flex-direction:column;height:180px}
.repo-card:hover{transform:translateY(-2px);border-color:var(--link);background:rgba(255,255,255,.06);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.repo-header{display:flex;justify-content:space-between;margin-bottom:10px}
.repo-name{font-weight:600;color:var(--link);word-break:break-all;font-size:14px}
.repo-desc{color:var(--text);font-size:12px;line-height:1.5;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-bottom:10px;opacity:.7}
.repo-meta{display:flex;gap:10px;font-size:11px;color:#8b949e;align-items:center}
.meta-item{display:flex;align-items:center;gap:4px}
.lang-dot{width:8px;height:8px;border-radius:50%}
.markdown-body{font-size:14px;line-height:1.6;color:var(--text)}
.markdown-body h1,.markdown-body h2{border-bottom:1px solid var(--border);padding-bottom:.3em;margin-top:1em;margin-bottom:10px}
.markdown-body a{color:var(--link);text-decoration:none}
.markdown-body code{background:rgba(110,118,129,.4);border-radius:4px;padding:.2em .4em;font-family:'SFMono-Regular',Consolas,monospace;font-size:85%}
.markdown-body pre{background:#161b22;border-radius:6px;padding:15px;overflow:auto;margin:10px 0}
.markdown-body img{max-width:100%;border:1px solid var(--border);border-radius:4px}
.tab-nav{display:flex;border-bottom:1px solid var(--border);padding:0 10px}
.tab-item{padding:12px 20px;cursor:pointer;border-bottom:2px solid transparent;font-size:13px;color:var(--text-dim);transition:.2s}
.tab-item:hover{color:var(--text)}
.tab-item.active{border-bottom-color:#f78166;color:var(--text);font-weight:500}
.status-tab-content{display:none;flex:1;overflow-y:auto;padding:20px}
.status-tab-content.active{display:block}
.timeline-item{display:flex;gap:15px;padding-bottom:25px;position:relative}
.timeline-item::before{content:'';position:absolute;left:15px;top:30px;bottom:0;width:1px;background:var(--border);z-index:0}
.timeline-item:last-child::before{display:none}
.timeline-icon{width:30px;height:30px;border-radius:50%;background:var(--panel);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;z-index:1;font-size:14px;color:var(--text-dim)}
.timeline-body{flex:1;font-size:13px;background:rgba(255,255,255,.02);padding:12px;border-radius:6px;border:1px solid var(--border)}
.timeline-header{display:flex;justify-content:space-between;margin-bottom:5px;color:var(--text-dim);font-size:12px}
.timeline-user{font-weight:600;color:var(--text);margin-right:5px}
.timeline-ref{font-family:monospace;background:rgba(110,118,129,.2);padding:2px 5px;border-radius:3px;font-size:11px;color:var(--link)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px;margin-bottom:20px}
.stat-card{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center;transition:.2s}
.stat-card:hover{border-color:var(--link)}
.stat-value{font-size:28px;font-weight:300;color:var(--text);margin-bottom:5px}
.stat-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}
.selection-box{position:absolute;border:1px solid rgba(88,166,255,.5);background:rgba(88,166,255,.1);pointer-events:none;z-index:9999;display:none;border-radius:2px}
.tree-item.selecting{background:rgba(88,166,255,.15)!important}
.action-bar{display:flex;justify-content:center;gap:15px;margin-bottom:20px;flex-wrap:wrap}
.action-item{background:0 0;border:1px solid transparent;color:var(--text-dim);cursor:pointer;font-size:12px;padding:6px 12px;display:flex;align-items:center;gap:8px;transition:.2s;font-weight:500;border-radius:20px}
.action-item:hover{color:var(--link);background:rgba(88,166,255,.08);border-color:rgba(88,166,255,.2)}
.find-btn-container{display:flex;align-items:center;border-left:1px solid var(--border);margin-left:10px;padding-left:10px}
.capsule-btn{background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:20px;padding:5px 12px;color:var(--text-dim);transition:.2s;display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.capsule-btn:hover{background:rgba(255,255,255,.1);color:var(--text);border-color:var(--text-dim)}
.discovery-sidebar,.discovery-main,#disc-preview-panel{transition:all .3s cubic-bezier(.4,0,.2,1)}
.discovery-sidebar.hidden{width:0!important;flex:0 0 0!important;padding:0!important;overflow:hidden;border-right:0;opacity:0;pointer-events:none}
#disc-preview-panel{display:none;flex-direction:column;flex:1;border-left:1px solid var(--border);background:var(--bg);overflow:hidden}
.discovery-main{min-width:0;flex:1;display:flex;flex-direction:column}
.discovery-main #disc-repo-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:15px}
.discovery-main[style*="width:25%"] #disc-repo-list,.discovery-main[style*="max-width:25%"] #disc-repo-list{grid-template-columns:1fr!important;padding:10px}
.discovery-main[style*="max-width:25%"] .repo-desc{display:none}
.discovery-main[style*="max-width:25%"] .repo-meta{flex-direction:column;align-items:flex-start;gap:2px}
#toast-container{position:fixed;bottom:30px;right:30px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.toast-message{background:rgba(22,27,34,.95);border:1px solid var(--border);color:var(--text);padding:12px 20px;border-radius:8px;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.3);backdrop-filter:blur(5px);transform:translateX(100%);transition:transform .3s cubic-bezier(.18,.89,.32,1.28);pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:300px}
.toast-message.show{transform:translateX(0)}
.toast-message.info{border-left:3px solid var(--link)}
.toast-message.success{border-left:3px solid #2ea44f}
.toast-message.error{border-left:3px solid #cf222e}
.toast-icon{font-size:16px}
.tab-group{background:rgba(0,0,0,.2);border-radius:20px;padding:4px;border:1px solid var(--border)}
.capsule-tab{flex:1;text-align:center;padding:6px 10px;border-radius:16px;cursor:pointer;font-size:12px;color:var(--text-dim);transition:.2s;border:1px solid transparent}
.capsule-tab.active{background:rgba(31,111,235,.2);color:#58a6ff;border-color:rgba(88,166,255,.3);font-weight:500}
.capsule-tab:not(.active):hover{color:var(--text);background:rgba(255,255,255,.05)}
.preview-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--text-dim);transition:.2s;background:0 0;border:none;font-size:18px}
.preview-close-btn:hover{background:rgba(255,255,255,.1);color:var(--text)}
.theme-toggle-btn{background:0 0;border:1px solid var(--border);color:var(--text-dim);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:10px;transition:.2s}
.theme-toggle-btn:hover{color:var(--text);border-color:var(--text);background:rgba(255,255,255,.05)}