@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root,:root[data-theme=dark]{--bg-base: #06060e;--bg-surface: #0c0c18;--bg-elevated: #11111d;--bg-overlay: #18182a;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--accent: #7c6fff;--accent-2: #00d4ff;--accent-glow: rgba(124, 111, 255, .3);--accent-2-glow: rgba(0, 212, 255, .15);--text-primary: #eeeeff;--text-secondary: #7e7ea0;--text-muted: #42425a;--success: #00e5a0;--warning: #ffb547;--danger: #ff4d6a;--info: #00d4ff;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--bg-gradient: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(124, 111, 255, .12) 0%, transparent 60%), radial-gradient(ellipse 50% 30% at 90% 90%, rgba(0, 212, 255, .06) 0%, transparent 50%)}:root[data-theme=light]{--bg-base: #f0f0f8;--bg-surface: #ffffff;--bg-elevated: #f8f8ff;--bg-overlay: #ebebf5;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .15);--accent: #6c63ff;--accent-2: #0099cc;--accent-glow: rgba(108, 99, 255, .2);--accent-2-glow: rgba(0, 153, 204, .15);--text-primary: #1a1a2e;--text-secondary: #4a4a6a;--text-muted: #8888aa;--success: #00a870;--warning: #c07700;--danger: #cc2244;--info: #0088cc;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--bg-gradient: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(108, 99, 255, .07) 0%, transparent 60%), radial-gradient(ellipse 50% 30% at 90% 90%, rgba(0, 153, 204, .04) 0%, transparent 50%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-base);background-image:var(--bg-gradient);background-attachment:fixed;min-height:100vh;color:var(--text-primary);transition:background-color .25s ease,color .25s ease}#root{min-height:100vh}.app{min-height:100vh;padding:28px 24px;max-width:1300px;margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px}.error-boundary-content{text-align:center;max-width:480px}.error-boundary-content h2{font-size:1.4rem;margin-bottom:12px;color:var(--text-primary)}.error-boundary-content p{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem}.loading-text{text-align:center;color:var(--text-secondary);padding:48px 0;font-size:.95rem}.breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:.88rem;color:var(--text-secondary)}.breadcrumb-link{color:var(--accent);text-decoration:none;transition:opacity .15s}.breadcrumb-link:hover{opacity:.75;text-decoration:underline}.breadcrumb-current{color:var(--text-muted)}.breadcrumb:before{content:"";display:inline-block}.repos-list-virtual{width:100%}.error-boundary-details{background:#ff4d6a14;border:1px solid rgba(255,77,106,.2);border-radius:var(--radius-sm);padding:12px 16px;color:#ff8095;font-family:JetBrains Mono,monospace;font-size:.8rem;margin-bottom:20px;text-align:left;overflow-x:auto}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes loading-slide{0%{transform:translate(-150%)}to{transform:translate(400%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modal-in{0%{opacity:0;transform:scale(.93) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes panel-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{padding:10px 20px;background:#ffffff0f;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.btn-secondary:hover{background:#ffffff1a;color:var(--text-primary)}.btn-trigger{padding:10px 20px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;box-shadow:0 4px 14px var(--accent-glow)}.btn-trigger:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-trigger:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-overlay);border-radius:24px;border:1px solid var(--border-strong);transition:.25s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:2px;bottom:2px;background:var(--text-muted);border-radius:50%;transition:.25s}.toggle-switch input:checked+.toggle-slider{background:#6c63ff40;border-color:#6c63ff80;box-shadow:0 0 10px var(--accent-glow)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background:var(--accent)}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;padding:16px 24px;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:relative;overflow:hidden}.header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(108,99,255,.03) 0%,transparent 50%,rgba(0,212,255,.02) 100%);pointer-events:none}.header-brand{display:flex;align-items:center;gap:14px}.header-logo{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;color:#fff;letter-spacing:-.03em;box-shadow:0 0 24px var(--accent-glow),inset 0 1px #ffffff26;flex-shrink:0;font-family:Inter,sans-serif}.header-title{display:flex;flex-direction:column}.header h1{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;background:linear-gradient(90deg,var(--text-primary) 0%,var(--accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:3px}.header p{font-size:.78rem;color:var(--text-secondary);font-weight:400}.header-actions{display:flex;align-items:center;gap:12px}.status-dot{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--success);font-family:JetBrains Mono,monospace}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success);animation:pulse-dot 2s ease-in-out infinite}.btn-logout{padding:6px 14px;background:#ffffff0d;color:#ffffff80;border:1px solid rgba(255,255,255,.08);border-radius:999px;cursor:pointer;font-size:.75rem;font-weight:600;font-family:Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;transition:all .2s ease}.btn-logout:hover{background:#ff4d6a1a;color:var(--danger);border-color:#ff4d6a4d}.btn-theme-toggle{display:flex;align-items:center;justify-content:center;padding:6px 14px;background:#ffffff0d;border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;font-size:.75rem;font-weight:600;font-family:Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);transition:all .2s ease;flex-shrink:0}.btn-theme-toggle:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}[data-theme=light] .btn-theme-toggle{background:#0000000a;border-color:var(--border-strong);color:var(--text-secondary)}[data-theme=light] .btn-theme-toggle:hover{background:#00000014;color:var(--text-primary);border-color:var(--accent)}[data-theme=light] .btn-logout{background:#0000000d;color:var(--text-secondary);border-color:var(--border-strong)}[data-theme=light] .btn-logout:hover{background:#00000017;color:var(--text-primary)}.header-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;background:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;padding:6px;transition:background .15s;flex-shrink:0}.header-menu-toggle:hover{background:#ffffff0f}.hamburger{display:flex;flex-direction:column;gap:4px}.hamburger-line{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.hamburger--open .hamburger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger--open .hamburger-line:nth-child(2){opacity:0}.hamburger--open .hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.auth-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:40px}.auth-hero{text-align:center}.auth-hero-logo{width:64px;height:64px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 20px;box-shadow:0 0 40px var(--accent-glow)}.auth-hero h1{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.auth-hero p{font-size:1rem;color:var(--text-secondary);max-width:400px;line-height:1.5}.auth-section{width:100%;max-width:420px;background:#ffffff0a;border:1px solid var(--border-strong);padding:32px;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #00000080,0 0 0 .5px #ffffff0d inset}.auth-section h2{margin-bottom:6px;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.auth-section .auth-subtitle{font-size:.82rem;color:var(--text-secondary);margin-bottom:24px}.input-group{position:relative;margin-bottom:14px}.input-group label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.auth-section input{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.93rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;letter-spacing:.04em;transition:border-color .2s,box-shadow .2s}.auth-section input::placeholder{color:var(--text-muted);font-family:Inter,sans-serif;letter-spacing:0}.auth-section input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:#6c63ff0d}.auth-section input:disabled{opacity:.4}.auth-section button[type=submit]{width:100%;padding:13px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 20px var(--accent-glow);margin-top:6px}.auth-section button[type=submit]:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 6px 28px var(--accent-glow)}.auth-section button[type=submit]:disabled{opacity:.4;cursor:not-allowed;transform:none}.auth-section .info{margin-top:20px;padding:14px 16px;background:#6c63ff14;border:1px solid rgba(108,99,255,.2);border-radius:var(--radius-sm);font-size:.82rem;color:var(--text-secondary);line-height:1.5}.auth-section .info a{color:var(--accent-2);font-weight:500;text-decoration:none}.auth-section .info a:hover{text-decoration:underline}.loading{text-align:center;color:var(--text-secondary);font-size:.9rem;padding:60px;letter-spacing:.02em}.loading-bar{width:200px;height:2px;background:var(--bg-overlay);border-radius:999px;margin:16px auto 0;overflow:hidden}.loading-bar:after{content:"";display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;animation:loading-slide 1.4s ease-in-out infinite}.error{max-width:600px;margin:0 auto;background:#ff4d6a14;padding:20px;border-radius:var(--radius-md);border:1px solid rgba(255,77,106,.3);color:#ff8095}.spinner{width:36px;height:36px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;margin:0 auto 16px}.filters{margin:0 auto 28px;background:#ffffff05;padding:18px 22px;border-radius:var(--radius-lg);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.filters h3{margin-bottom:14px;color:var(--text-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-option{padding:6px 14px;background:#ffffff0a;border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:all .2s;font-size:.82rem;font-family:inherit;line-height:inherit;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.filter-option:hover{border-color:var(--accent);color:var(--text-primary);background:#6c63ff14}.filter-option.active{background:#6c63ff26;color:var(--text-primary);border-color:var(--accent);font-weight:500;box-shadow:0 0 12px var(--accent-glow)}.filter-controls{display:flex;flex-direction:column;gap:12px}.filter-search-sort{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-search{flex:1;min-width:180px}.filter-search-input{width:100%;padding:7px 12px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.82rem;font-family:inherit;transition:border-color .2s}.filter-search-input::placeholder{color:var(--text-muted)}.filter-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #6c63ff26}.filter-sort{display:flex;align-items:center;gap:4px}.filter-sort-select{padding:7px 10px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.82rem;font-family:inherit}.filter-sort-select option{background:var(--bg-elevated);color:var(--text-primary)}.filter-sort-order{padding:6px 10px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.88rem;font-family:inherit;cursor:pointer;transition:all .15s;line-height:1}.filter-sort-order:hover{background:#ffffff14;color:var(--text-primary);border-color:var(--accent)}.stats{margin:0 auto 28px;background:#ffffff05;padding:4px;border-radius:var(--radius-lg);border:1px solid var(--border);display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.stat-item{text-align:center;padding:20px 12px;border-radius:12px;transition:all .25s ease;position:relative}.stat-item:hover{background:#ffffff0a}.stat-item .stat-value{font-size:2rem;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,var(--text-primary) 30%,var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px;font-family:JetBrains Mono,monospace;line-height:1}.stat-item .stat-label{color:var(--text-muted);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.repos-grid{margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.repo-card{background:#ffffff06;border-radius:var(--radius-lg);padding:22px;border:1px solid var(--border);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.repo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(108,99,255,.05) 0%,transparent 50%,rgba(0,212,255,.03) 100%);pointer-events:none;opacity:0;transition:opacity .3s}.repo-card:hover{transform:translateY(-4px);border-color:#6c63ff59;box-shadow:0 12px 40px #00000059,0 0 0 .5px #6c63ff26,0 0 32px #6c63ff14}.repo-card:hover:before{opacity:1}.repo-header{margin-bottom:14px}.repo-header h3{font-size:1rem;font-weight:600;margin-bottom:6px;letter-spacing:-.01em}.repo-header h3 a{color:var(--text-primary);text-decoration:none;transition:color .15s}.repo-header h3 a:hover{color:var(--accent-2)}.repo-header p{color:var(--text-secondary);font-size:.82rem;line-height:1.4}.repo-meta{display:flex;gap:12px;margin-bottom:14px;font-size:.78rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.repo-meta span{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.no-repos{text-align:center;color:var(--text-secondary);padding:60px;font-size:.95rem}.recommendations{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.recommendations h4{font-size:.72rem;margin-bottom:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.recommendation{background:#ffffff08;padding:11px 13px;border-radius:8px;margin-bottom:8px;border:1px solid var(--border);border-left:3px solid var(--accent)}.recommendation.priority-high{border-left-color:var(--danger);background:#ff4d6a0d}.recommendation.priority-medium{border-left-color:var(--warning);background:#ffb5470a}.recommendation.priority-low{border-left-color:var(--success);background:#00e5a00a}.recommendation.priority-info{border-left-color:var(--info);background:#00d4ff0a}.recommendation .rec-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px;gap:8px}.recommendation .rec-title{font-weight:600;font-size:.87rem;color:var(--text-primary);flex:1;min-width:0}.recommendation .rec-priority{font-size:.67rem;padding:2px 8px;border-radius:999px;background:#6c63ff33;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-weight:700;border:1px solid rgba(108,99,255,.3)}.recommendation.priority-high .rec-priority{background:#ff4d6a26;color:var(--danger);border-color:#ff4d6a4d}.recommendation.priority-medium .rec-priority{background:#ffb54726;color:var(--warning);border-color:#ffb5474d}.recommendation.priority-low .rec-priority{background:#00e5a01f;color:var(--success);border-color:#00e5a040}.recommendation .rec-description{display:block;font-size:.81rem;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.recommendation .rec-opportunity{display:block;font-size:.78rem;color:var(--accent-2);font-style:italic;padding:7px 10px;background:#00d4ff0f;border-radius:5px;margin-top:7px;border:1px solid rgba(0,212,255,.12)}.recommendation-clickable:disabled{cursor:default;opacity:1}.recommendation-clickable{display:block;width:100%;text-align:left;font-family:inherit;line-height:inherit;cursor:pointer;transition:border-color .15s,transform .15s}.recommendation-clickable:hover{transform:translate(2px);border-color:#6c63ff66!important}.rec-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.rec-agent-hint{font-size:.68rem;color:var(--accent-2);opacity:0;transition:opacity .15s;white-space:nowrap;font-family:JetBrains Mono,monospace}.recommendation-clickable:hover .rec-agent-hint{opacity:1}.repo-project-type{font-size:.68rem;padding:2px 8px;border-radius:999px;background:#6c63ff1f;color:var(--accent);border:1px solid rgba(108,99,255,.2);margin-left:8px;font-weight:500;vertical-align:middle;white-space:nowrap}.rec-ai-badge{display:inline-block;font-size:.6rem;padding:1px 5px;border-radius:4px;background:linear-gradient(135deg,#6c63ff40,#00d4ff33);color:var(--accent-2);margin-right:6px;font-weight:700;letter-spacing:.05em;vertical-align:middle;border:1px solid rgba(0,212,255,.25)}.code-insights{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.code-insights-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;cursor:pointer;padding:2px 0;background:none;border:none;font-family:inherit;color:inherit}.code-insights-toggle:hover{opacity:.85}.code-insights-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.code-insights-label{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin:0}.toggle-icon{font-size:.65rem;color:var(--text-muted);transition:transform .2s}.code-insights-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:.75rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.code-insights-summary span{background:#ffffff0a;padding:3px 8px;border-radius:5px;border:1px solid var(--border)}.code-insights-details{margin-top:12px;display:flex;flex-direction:column;gap:10px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.insight-row{display:flex;flex-direction:column;gap:4px}.insight-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.insight-value{font-size:.78rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.insight-tags{display:flex;flex-wrap:wrap;gap:5px}.insight-tag{font-size:.72rem;padding:2px 7px;border-radius:4px;background:#ffffff0a;color:var(--text-secondary);border:1px solid var(--border);font-family:JetBrains Mono,monospace}.insight-tag-dir{background:#6c63ff14;border-color:#6c63ff26}.insight-bar-chart{display:flex;flex-direction:column;gap:3px}.bar-item{display:flex;align-items:center;gap:8px}.bar{height:6px;border-radius:3px;min-width:4px;transition:width .3s ease}.bar-label{font-size:.68rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;white-space:nowrap}.bar-code{background:var(--accent)}.bar-docs{background:var(--success)}.bar-config{background:var(--warning)}.bar-styles{background:var(--accent-2)}.bar-images{background:#ffb54799}.bar-other{background:#ffffff26}.insight-badge{font-size:.65rem;padding:2px 7px;border-radius:4px;font-weight:600;letter-spacing:.03em;font-family:JetBrains Mono,monospace}.badge-ts{background:#3178c633;color:#5b9bd5;border:1px solid rgba(49,120,198,.3)}.badge-lint{background:#4b32c326;color:#8b7fe8;border:1px solid rgba(75,50,195,.25)}.badge-fmt{background:#00e5a01a;color:var(--success);border:1px solid rgba(0,229,160,.2)}.badge-docker{background:#0091ff1f;color:#4db8ff;border:1px solid rgba(0,145,255,.2)}.badge-ci{background:#00d4ff1a;color:var(--accent-2);border:1px solid rgba(0,212,255,.2)}.badge-dep{background:#ffb5471a;color:var(--warning);border:1px solid rgba(255,181,71,.2)}.badge-lock{background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border)}.badge-none{background:#ff4d6a14;color:var(--danger);border:1px solid rgba(255,77,106,.15);font-weight:400}.repo-detail-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.repo-detail-link{font-size:.8rem;color:var(--accent);text-decoration:none;opacity:.8;transition:opacity .15s}.repo-detail-link:hover{opacity:1;text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:0 30px 80px #0009,0 0 0 .5px #ffffff0a inset;overflow:hidden;animation:modal-in .2s cubic-bezier(.34,1.56,.64,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1rem;color:var(--text-primary);margin:0;font-weight:600}.modal-close{background:#ffffff0f;border:1px solid var(--border);font-size:.95rem;cursor:pointer;color:var(--text-secondary);padding:5px 9px;border-radius:6px;transition:background .15s,color .15s;line-height:1}.modal-close:hover{background:#ffffff1a;color:var(--text-primary)}.modal-body{padding:20px 24px}.modal-repo-name{font-size:.78rem;color:var(--text-muted);margin-bottom:12px;font-weight:500;font-family:JetBrains Mono,monospace;letter-spacing:.02em}.modal-issue{margin-bottom:16px}.modal-confirm-text{font-size:.88rem;color:var(--text-secondary);line-height:1.6;background:#6c63ff12;border-radius:var(--radius-sm);padding:12px 14px;border-left:3px solid var(--accent)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px 20px;border-top:1px solid var(--border)}.modal-status{text-align:center;padding:40px 24px}.modal-status h3{margin:14px 0 8px;font-size:1.1rem;color:var(--text-primary)}.modal-status p{color:var(--text-secondary);font-size:.9rem}.status-icon{font-size:2.2rem}.issue-link{display:inline-block;margin-top:14px;padding:10px 20px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;transition:opacity .15s;box-shadow:0 4px 16px var(--accent-glow)}.issue-link:hover{opacity:.9}.guardrails-panel,.productdev-panel,.engvelocity-panel,.panel{margin:0 auto 20px;background:#ffffff08;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:border-color .2s}.guardrails-panel:hover,.productdev-panel:hover,.engvelocity-panel:hover,.panel:hover{border-color:var(--border-strong)}.trigger-controls{display:flex;gap:10px;align-items:stretch}.repo-select{flex:1;padding:10px 14px;background:#ffffff0d;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.88rem;color:var(--text-primary);cursor:pointer;transition:border-color .2s;font-family:Inter,sans-serif}.repo-select option{background:var(--bg-elevated);color:var(--text-primary)}.repo-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.trigger-result{margin-top:12px;padding:12px 14px;border-radius:8px;display:flex;flex-direction:column;gap:6px;font-size:.84rem}.trigger-result.success{background:#00e5a014;border:1px solid rgba(0,229,160,.25);color:var(--success)}.trigger-result.error{background:#ff4d6a14;border:1px solid rgba(255,77,106,.25);color:var(--danger)}.trigger-result a{color:var(--accent-2);font-weight:500;text-decoration:none}.trigger-result a:hover{text-decoration:underline}.trigger-note{font-size:.77rem;color:var(--text-muted);margin:0}.panel{margin:0 auto 20px;background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:all .25s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.panel:hover{border-color:var(--border-strong);box-shadow:0 4px 24px #0000001a}.panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;background:none;border:none;width:100%;font-family:inherit;color:inherit;text-align:left}.panel__header:hover{background:#ffffff06}.panel__header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.panel__header-left{display:flex;align-items:center;gap:12px}.panel__title{margin:0;font-size:.95rem;font-weight:600;letter-spacing:-.01em}.panel__badge{font-size:.68rem;padding:2px 10px;border-radius:999px;font-weight:700;letter-spacing:.04em}.panel__toggle-btn{background:#ffffff0f;border:1px solid var(--border);font-size:.85rem;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.panel__toggle-btn:hover{background:#ffffff1a}.panel__content{padding:0 22px 22px;animation:panel-expand .2s ease}.panel__description{font-size:.82rem;color:var(--text-secondary);margin-bottom:18px;line-height:1.6}.panel__list{display:flex;flex-direction:column;gap:8px}.panel__item{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-radius:10px;border:1px solid var(--border);transition:all .2s}.panel__item.disabled{background:#ffffff03;opacity:.5}.panel__item-info{flex:1}.panel__item-name{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary);margin-bottom:3px;font-size:.88rem}.panel__item-icon{font-size:1rem}.panel__item-category{font-size:.63rem;padding:2px 7px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.panel__item-desc{font-size:.78rem;color:var(--text-muted);margin:0;line-height:1.4}.panel__item-controls{margin-left:16px;flex-shrink:0}.panel__trigger-section{margin-top:22px;padding:18px;border-radius:10px}.panel__trigger-section h4{margin-bottom:6px;font-size:.95rem}.panel__trigger-section>p{font-size:.82rem;color:var(--text-secondary);line-height:1.5;margin-bottom:14px}.panel--guardrails .panel__title{color:var(--accent)}.panel--guardrails .panel__badge{background:#6c63ff26;color:var(--accent);border:1px solid rgba(108,99,255,.3)}.panel--guardrails .panel__item.enabled{border-color:#6c63ff33;background:#6c63ff0d}.panel--guardrails .panel__trigger-section{background:#6c63ff12;border:1px solid rgba(108,99,255,.2)}.panel--guardrails .panel__trigger-section h4{color:var(--accent)}.panel--productdev .panel__title{color:var(--success)}.panel--productdev .panel__badge{background:#00e5a01f;color:var(--success);border:1px solid rgba(0,229,160,.25)}.panel--productdev .panel__item.enabled{border-color:#00e5a033;background:#00e5a00a}.panel--productdev .panel__trigger-section{background:#00e5a00f;border:1px solid rgba(0,229,160,.18)}.panel--productdev .panel__trigger-section h4{color:var(--success)}.panel--productdev .btn-trigger{background:linear-gradient(135deg,#00e5a0,#00b37a)!important;box-shadow:0 4px 14px #00e5a040!important}.panel--engvelocity .panel__title{color:var(--warning)}.panel--engvelocity .panel__badge{background:#ffb5471f;color:var(--warning);border:1px solid rgba(255,181,71,.25)}.panel--engvelocity .panel__item.enabled{border-color:#ffb54733;background:#ffb5470a}.panel--engvelocity .panel__trigger-section{background:#ffb5470f;border:1px solid rgba(255,181,71,.18)}.panel--engvelocity .panel__trigger-section h4{color:var(--warning)}.panel--engvelocity .btn-trigger{background:linear-gradient(135deg,#ffb547,#f57c00)!important;box-shadow:0 4px 14px #ffb54740!important}.cat-quality{background:#00e5a01f;color:var(--success)}.cat-monitoring{background:#00d4ff1a;color:var(--info)}.cat-maintenance{background:#ffb5471f;color:var(--warning)}.cat-security{background:#ff4d6a1f;color:var(--danger)}.cat-analysis{background:#6c63ff26;color:var(--accent)}.cat-ux{background:#00e5a01a;color:var(--success)}.cat-market{background:#00d4ff1a;color:var(--info)}.cat-features{background:#ffb5471f;color:var(--warning)}.cat-dx{background:#6c63ff26;color:var(--accent)}.cat-pmf{background:#ff4d6a1a;color:var(--danger)}.cat-cicd{background:#ffb5471f;color:var(--warning)}.cat-dora{background:#6c63ff1f;color:var(--accent)}.cat-observability{background:#00d4ff1a;color:var(--info)}.cat-release{background:#ff4d6a1a;color:var(--danger)}.cat-community{background:#00e5a01a;color:var(--success)}.scan-panel{margin:0 auto 20px;background:#ffffff05;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:all .25s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.scan-panel:hover{border-color:var(--border-strong);box-shadow:0 4px 24px #0000001a}.scan-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;background:none;border:none;width:100%;font-family:inherit;color:inherit;text-align:left}.scan-panel .panel-header:hover{background:#ffffff06}.scan-panel .panel-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.scan-panel .panel-header-left{display:flex;align-items:center;gap:12px}.scan-panel .panel-header-left h2,n.scan-panel .panel-header-title{color:var(--accent);margin:0;font-size:.95rem;font-weight:600;letter-spacing:-.01em;display:block}.scan-panel .panel-subtitle{font-size:.78rem;color:var(--text-secondary);margin:2px 0 0}.scan-panel .panel-icon{font-size:1.3rem}.scan-panel .panel-toggle{font-size:1rem;color:var(--text-secondary);transition:transform .2s}.scan-panel .panel-toggle.expanded{transform:rotate(90deg)}.scan-panel .panel-content{padding:0 22px 22px;animation:panel-expand .2s ease}.scan-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px 16px;background:#ffffff05;border-radius:10px;border:1px solid var(--border)}.scan-option{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-secondary);cursor:pointer}.scan-option input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.scan-option-row{display:flex;gap:20px;align-items:center;margin-top:4px}.scan-option-row label{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-secondary)}.scan-option-row select,.scan-option-row input[type=number]{padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:#ffffff0f;color:var(--text-primary);font-size:.82rem}.scan-option-row select option{background:#13131f;color:#e8e8f0}.scan-start-btn{width:100%;padding:12px;font-size:.92rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--accent),#5a50e6);color:#fff;box-shadow:0 4px 14px #6c63ff4d;transition:all .2s}.scan-start-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6c63ff73}.scan-start-btn:disabled{opacity:.6;cursor:not-allowed}.scan-progress{margin-top:16px}.scan-progress-bar{width:100%;height:6px;background:#ffffff0f;border-radius:999px;overflow:hidden}.scan-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#00e5a0);border-radius:999px;transition:width .4s ease}.scan-progress-text{font-size:.78rem;color:var(--text-secondary);margin-top:6px}.scan-progress-text span{color:var(--text-primary);font-weight:500}.scan-error{margin-top:14px;padding:12px 16px;background:#ff525214;border:1px solid rgba(255,82,82,.2);border-radius:8px;color:#ff5252;font-size:.84rem}.scan-results{margin-top:18px}.scan-summary{display:flex;gap:16px;margin-bottom:16px}.scan-summary-item{flex:1;padding:14px;border-radius:10px;background:#6c63ff0f;border:1px solid rgba(108,99,255,.15);text-align:center}.scan-summary-value{display:block;font-size:1.5rem;font-weight:700;color:var(--accent)}.scan-summary-label{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.scan-batch{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.scan-batch .btn-primary{padding:10px 20px;font-size:.88rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;background:linear-gradient(135deg,#00e5a0,#00c48c);color:#111;box-shadow:0 4px 14px #00e5a040;transition:all .2s}.scan-batch .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #00e5a066}.scan-batch .btn-primary:disabled{opacity:.6;cursor:not-allowed}.scan-batch-result{padding:10px 14px;background:#00e5a014;border:1px solid rgba(0,229,160,.2);border-radius:8px;color:var(--success);font-size:.84rem;margin-bottom:14px}.scan-repo-list{display:flex;flex-direction:column;gap:6px}.scan-repo-item{padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:#ffffff04}.scan-repo-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scan-repo-header a{color:var(--text-primary);font-weight:600;font-size:.88rem;text-decoration:none}.scan-repo-header a:hover{color:var(--accent)}.scan-project-type{font-size:.65rem;padding:2px 8px;border-radius:6px;background:#6c63ff1f;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.scan-rec-count{font-size:.74rem;color:var(--text-secondary);margin-left:auto}.scan-rec-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:4px}.scan-rec-list li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:.82rem;background:#ffffff05}.scan-rec-title{flex:1;color:var(--text-primary)}.scan-issue-link{font-size:.75rem;color:var(--accent);text-decoration:none}.scan-issue-link:hover{text-decoration:underline}.scan-selection-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:#6c63ff0d;border:1px solid rgba(108,99,255,.12)}.scan-selection-info{display:flex;align-items:center;gap:8px}.scan-selection-count{font-size:.82rem;color:var(--text-secondary);font-weight:500}.scan-selection-actions{display:flex;gap:6px}.btn-outline{padding:5px 12px;font-size:.78rem;font-weight:500;border-radius:6px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-outline:hover{background:#ffffff14;color:var(--text-primary);border-color:var(--border-strong)}.btn-sm{padding:5px 12px;font-size:.78rem}.btn-xs{padding:3px 8px;font-size:.72rem}.scan-repo-select-toggle{margin-left:auto}.scan-rec-checkbox{accent-color:var(--accent);width:14px;height:14px;flex-shrink:0;cursor:pointer}.scan-rec.scan-rec-selected{background:#6c63ff0f;border-left:2px solid var(--accent);padding-left:8px}.scan-rec.scan-rec-created{opacity:.55}.scan-rec-type{font-size:.65rem;padding:1px 6px;border-radius:4px;background:#ffffff0f;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.scan-rec-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.scan-create-single{border-color:transparent;background:#6c63ff14;color:var(--accent);font-size:.82rem;line-height:1;padding:3px 6px}.scan-create-single:hover{background:#6c63ff2e}.scan-rec-status{font-size:.82rem;line-height:1}.scan-rec-status.loading{animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.toast-container{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);font-size:.85rem;box-shadow:0 8px 24px #0006;pointer-events:auto;animation:toast-in .25s ease-out;min-width:280px;max-width:420px}.toast--success{border-left:3px solid var(--success)}.toast--error{border-left:3px solid var(--danger)}.toast--info{border-left:3px solid var(--accent)}.toast--warning{border-left:3px solid var(--warning)}.toast__message{flex:1}.toast__close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:.75rem;font-family:inherit;line-height:1;transition:color .15s}.toast__close:hover{color:var(--text-primary)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.skeleton-card{pointer-events:none}.skeleton-line{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px}.skeleton-title{width:60%;height:18px;margin-bottom:10px}.skeleton-desc{width:85%;height:14px;margin-bottom:16px}.skeleton-meta{display:flex;gap:10px;margin-bottom:18px}.skeleton-pill{width:60px;height:14px;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:999px}.skeleton-recs{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:8px}.skeleton-rec{width:100%;height:40px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.header{position:relative;flex-wrap:wrap;gap:0;padding:14px 16px;align-items:center}.header-brand{flex:1;min-width:0}.header-menu-toggle{display:flex}.header-actions{display:none;width:100%;padding-top:12px;border-top:1px solid var(--border);margin-top:12px;gap:10px;justify-content:flex-start;flex-wrap:wrap}.header-actions--open{display:flex}.repos-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.filter-options,.trigger-controls{flex-direction:column}.guardrail-item,.productdev-item,.engvelocity-item{flex-direction:column;align-items:flex-start;gap:10px}.guardrail-controls,.productdev-controls,.engvelocity-controls{margin-left:0}.breadcrumb{font-size:.82rem;flex-wrap:wrap}}@media(min-width:769px){.header-actions{display:flex!important}.header-menu-toggle{display:none!important}}
