@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--sidebar-width:264px;--header-height:56px;--bg-primary:#060a13;--bg-secondary:#0b1120;--bg-card:#0c1426bf;--bg-card-solid:#0c1426;--bg-card-hover:#101c34;--bg-elevated:#111b30;--text-primary:#e4eaf4;--text-secondary:#5e7291;--text-tertiary:#3d506b;--accent:#00c8ff;--accent-hover:#40d8ff;--accent-muted:#00c8ff1f;--accent-glow:0 0 20px #00c8ff26;--border:#162038;--border-bright:#1e3050;--border-accent:#00c8ff33;--danger:#ff3b5c;--danger-bg:#ff3b5c1a;--warning:#ffb020;--warning-bg:#ffb0201a;--success:#00e676;--success-bg:#00e6761a;--info:#448aff;--info-bg:#448aff1a;--orange:#ff8a3d;--orange-bg:#ff8a3d1a;--font-display:"Outfit",-apple-system,sans-serif;--font-body:"DM Sans",-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--radius-sm:6px;--radius:10px;--radius-lg:14px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}:root[data-theme=light]{--bg-primary:#f5f7fb;--bg-secondary:#fff;--bg-card:#ffffffd9;--bg-card-solid:#fff;--bg-card-hover:#f1f5fb;--bg-elevated:#f8fafc;--text-primary:#0c1426;--text-secondary:#475569;--text-tertiary:#8a9bb4;--accent:#0070d4;--accent-hover:#0080f0;--accent-muted:#0070d41a;--accent-glow:0 0 20px #0070d41a;--border:#e2e8f0;--border-bright:#cbd5e1;--border-accent:#0070d44d;--danger:#dc2626;--danger-bg:#dc262614;--warning:#d97706;--warning-bg:#d9770614;--success:#16a34a;--success-bg:#16a34a14;--info:#2563eb;--info-bg:#2563eb14;--orange:#ea580c;--orange-bg:#ea580c14}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-primary:#f5f7fb;--bg-secondary:#fff;--bg-card:#ffffffd9;--bg-card-solid:#fff;--bg-card-hover:#f1f5fb;--bg-elevated:#f8fafc;--text-primary:#0c1426;--text-secondary:#475569;--text-tertiary:#8a9bb4;--accent:#0070d4;--accent-hover:#0080f0;--accent-muted:#0070d41a;--accent-glow:0 0 20px #0070d41a;--border:#e2e8f0;--border-bright:#cbd5e1;--border-accent:#0070d44d;--danger:#dc2626;--danger-bg:#dc262614;--warning:#d97706;--warning-bg:#d9770614;--success:#16a34a;--success-bg:#16a34a14;--info:#2563eb;--info-bg:#2563eb14;--orange:#ea580c;--orange-bg:#ea580c14}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-size:14px;line-height:1.6}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700;line-height:1.25}code{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--accent);color:var(--bg-primary)}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:40;flex-direction:column;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.sidebar.collapsed{width:60px}.sidebar.collapsed+.main-content{margin-left:60px}.sidebar:after{content:"";background:linear-gradient(to bottom,transparent,var(--accent-muted)30%,var(--accent-muted)70%,transparent);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;right:0}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:22px 20px;display:flex;position:relative}.sidebar-header:after{content:"";background:linear-gradient(to right,var(--accent-muted),transparent);height:1px;position:absolute;bottom:-1px;left:20px;right:20px}.sidebar-header svg{color:var(--accent);filter:drop-shadow(0 0 8px #00c8ff4d)}.sidebar-header h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.nav-item{border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-body);transition:all .2s var(--ease-out);cursor:pointer;border:1px solid #0000;align-items:center;gap:11px;padding:9px 14px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item svg{opacity:.6;flex-shrink:0;transition:opacity .2s}.nav-item:hover{color:var(--text-primary);border-color:var(--border);background:#00c8ff0f}.nav-item:hover svg{opacity:.9}.nav-item.active{background:var(--accent-muted);color:var(--accent);border-color:var(--border-accent);font-weight:600}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 0 10px #00c8ff66}.nav-item.active svg{opacity:1;color:var(--accent)}.sidebar-spacer{flex:1}.sidebar-user{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px 16px;display:flex}.sidebar.collapsed .sidebar-user{flex-direction:column;justify-content:center;gap:6px;padding:12px 8px}.user-avatar{background:linear-gradient(135deg,#38bdf833,#8b5cf626);border:2px solid #38bdf833;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:border-color .2s;display:flex}.user-avatar:hover{border-color:#38bdf866}.avatar-initials{color:var(--accent);text-transform:uppercase;font-size:14px;font-weight:700;line-height:1}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.logout-link{color:var(--text-tertiary);font-size:11px;text-decoration:none;transition:color .15s}.logout-link:hover{color:#fca5a5}.logout-btn-icon{color:var(--text-tertiary);justify-content:center;align-items:center;text-decoration:none;transition:color .15s;display:flex}.logout-btn-icon:hover{color:#fca5a5}.sidebar-legal{justify-content:center;align-items:center;gap:6px;padding:8px 16px 14px;font-size:11px;display:flex}.sidebar-legal a{color:var(--text-tertiary);text-decoration:none;transition:color .15s}.sidebar-legal a:hover{color:var(--text-secondary)}.legal-dot{color:var(--text-tertiary);opacity:.5}.sidebar-toggle{border:none;border-top:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:12px;transition:color .2s,background .2s;display:flex}.sidebar-toggle:hover{color:var(--accent);background:#00c8ff0f}.theme-toggle{border:none;border-top:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-family:var(--font-body);text-align:left;background:0 0;align-items:center;gap:11px;width:100%;padding:11px 18px;font-size:13.5px;font-weight:500;transition:color .2s,background .2s;display:flex}.theme-toggle:hover{color:var(--accent);background:var(--accent-muted)}.theme-toggle svg{opacity:.75;flex-shrink:0;transition:opacity .2s}.theme-toggle:hover svg{opacity:1}.sidebar.collapsed .theme-toggle{justify-content:center;padding:11px 0}.sidebar.collapsed .sidebar-header{justify-content:center;padding:22px 0}.sidebar.collapsed .sidebar-nav{padding:12px 6px}.sidebar.collapsed .nav-item{justify-content:center;padding:9px}.sidebar.collapsed .nav-item.active:before{left:0}.main-content{margin-left:var(--sidebar-width);background-image:radial-gradient(circle at 1px 1px,#16203880 1px,#0000 0);background-size:28px 28px;flex:1;min-height:100vh;padding:28px 36px;transition:margin-left .2s;position:relative}.back-nav{margin-bottom:12px}.btn-back{color:var(--text-secondary);align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.btn-back:hover{color:var(--text-primary)}.page-header{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:20px;position:relative}.page-header:after{content:"";background:var(--accent);width:80px;height:2px;box-shadow:var(--accent-glow);border-radius:1px;position:absolute;bottom:-1px;left:0}.page-header h2{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:26px;font-weight:800}.page-header p{color:var(--text-secondary);margin-top:5px;font-size:14px}.stat-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all .25s var(--ease-out);padding:20px 22px;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,var(--accent),transparent);opacity:.5;height:2px;position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--border-bright);transform:translateY(-1px);box-shadow:0 8px 24px #00000040}.stat-card .label,.stat-card .stat-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:8px;font-size:11px;font-weight:600}.stat-card .value,.stat-card .stat-value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;padding:22px;transition:border-color .2s;position:relative}.card:hover{border-color:var(--border-bright)}.card-header{font-family:var(--font-display);border-bottom:1px solid var(--border);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:16px;padding-bottom:12px;font-size:15px;font-weight:600}.table-wrapper{margin:-2px;padding:2px;overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%}thead tr{position:relative}th{text-align:left;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);border-bottom:1px solid var(--border-bright);white-space:nowrap;background:var(--bg-card-solid);padding:10px 16px;font-size:11px;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:12px 16px;font-size:13.5px}tbody tr{transition:background-color .15s;position:relative}tbody tr:hover{background:#00c8ff08}tbody tr:last-child td{border-bottom:none}.badge{font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.badge-critical{background:var(--danger-bg);color:#ff6b82;border-color:#ff3b5c40;box-shadow:0 0 10px #ff3b5c14}.badge-high{background:var(--orange-bg);color:#ffaa6b;border-color:#ff8a3d40}.badge-medium{background:var(--warning-bg);color:#ffc85c;border-color:#ffb02033}.badge-low{background:var(--success-bg);color:#5cffaa;border-color:#00e67633}.badge-info{background:var(--info-bg);color:#7aabff;border-color:#448aff33}.badge-danger{background:var(--danger-bg);color:#ff6b82;border-color:#ff3b5c40}.badge-success{background:var(--success-bg);color:#5cffaa;border-color:#00e67633}.btn{border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;transition:all .2s var(--ease-out);white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:7px;padding:8px 18px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.btn-primary{background:var(--accent);color:var(--bg-primary);box-shadow:0 0 16px #00c8ff33}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 0 24px #00c8ff4d}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-bright);background:0 0}.btn-ghost:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-muted)}.btn-ghost-danger:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.btn-scanning{opacity:.7;cursor:not-allowed;align-items:center;gap:6px;display:inline-flex}.btn-icon{justify-content:center;align-items:center;min-width:32px;padding:6px 8px;display:inline-flex}.overview-section{margin-top:28px}.overview-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.overview-section-header h3{font-family:var(--font-display);color:var(--text-primary);font-size:18px;font-weight:700}.overview-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.overview-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:inherit;align-items:center;gap:12px;padding:16px;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.overview-card:hover{border-color:var(--accent);box-shadow:0 0 16px #00c8ff0f}.overview-card-icon{color:var(--accent);flex-shrink:0}.overview-card-body{min-width:0}.overview-card-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.overview-card-sub{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.mcp-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mcp-status-dot.running{background:var(--success)}.mcp-status-dot.stopped{background:var(--text-tertiary)}.mcp-status-dot.error{background:var(--danger)}.mcp-cards-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px;display:grid}.mcp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:border-color .2s}.mcp-card:hover{border-color:var(--border-bright)}.mcp-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.mcp-card-title{align-items:center;gap:10px;display:flex}.mcp-card-title h3{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.mcp-card-status{text-transform:uppercase;letter-spacing:.05em;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.mcp-card-status.running{color:var(--success);background:var(--success-bg)}.mcp-card-status.stopped{color:var(--text-secondary);background:var(--bg-secondary)}.mcp-card-status.error{color:var(--danger);background:var(--danger-bg)}.mcp-card-desc{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.4}.mcp-card-details{background:var(--bg-secondary);border-radius:var(--radius-md);flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;display:flex}.mcp-detail-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.mcp-detail-label{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:6px;min-width:80px;font-size:12px;display:flex}.mcp-detail-value{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;font-size:12px}.mcp-card-tools{margin-bottom:16px}.mcp-tools-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.mcp-tool-chip{font-family:var(--font-mono);background:var(--accent-muted);color:var(--accent);border:1px solid var(--border-accent);border-radius:12px;padding:3px 10px;font-size:11px}.mcp-card-token{background:var(--bg-secondary);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.mcp-token-display{min-width:0;color:var(--text-secondary);flex:1;align-items:center;gap:8px;display:flex}.mcp-token-code{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;font-size:12px}.mcp-token-actions{flex-shrink:0;gap:4px;display:flex}.mcp-card-footer{color:var(--text-tertiary);font-size:11px}.stat-card-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;padding:20px}.stat-card-value{font-family:var(--font-display);color:var(--text-primary);margin-bottom:6px;font-size:28px;font-weight:700}.stat-card-label{color:var(--text-secondary);justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.btn-active,.btn.btn-active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.spinner{border:2px solid var(--border-bright);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.btn-danger{background:var(--danger);color:#fff;border:1px solid var(--danger)}.btn-danger:hover{background:#e0334f;box-shadow:0 0 12px #ff3b5c4d}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-card-solid);border:1px solid var(--border-bright);border-radius:var(--radius-lg);width:90%;max-width:460px;padding:24px 28px;box-shadow:0 16px 48px #00000080}.modal-dialog h3{font-family:var(--font-display);margin-bottom:12px;font-size:18px;font-weight:600}.modal-dialog p{color:var(--text-secondary);margin-bottom:8px;font-size:14px;line-height:1.5}.modal-warning{background:var(--danger-bg);border-radius:var(--radius-sm);margin-top:4px;padding:10px 12px;color:var(--danger)!important;font-size:13px!important}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.btn-secondary{color:var(--accent);border:1px solid var(--border-accent);background:0 0}.btn-secondary:hover{background:var(--accent-muted);border-color:var(--accent)}.btn-sm{border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid var(--border-bright);background:0 0;padding:5px 12px;font-size:12px}.btn-sm:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-muted)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.code-block{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);white-space:pre;color:var(--text-primary);background:#050a12;padding:18px;font-size:12.5px;line-height:1.7;overflow-x:auto}.pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.pagination span{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.02em;font-size:12px}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.filter-bar select,.filter-bar input{background:var(--bg-card-solid);border:1px solid var(--border-bright);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;appearance:none;padding:8px 14px;font-size:13px;transition:border-color .2s}.filter-bar select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235e7291' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.filter-bar select:hover,.filter-bar input:hover,.filter-bar select:focus,.filter-bar input:focus{border-color:var(--accent);outline:none}.form-group{margin-bottom:18px}.form-group label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.form-group input,.form-group select{background:var(--bg-primary);border:1px solid var(--border-bright);border-radius:var(--radius);width:100%;color:var(--text-primary);font-family:var(--font-body);padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.form-group input::placeholder{color:var(--text-tertiary)}.loading{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.03em;justify-content:center;align-items:center;padding:48px;font-size:13px;display:flex}.loading:before{content:"";border:2px solid var(--border-bright);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;margin-right:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.severity-chart{align-items:flex-end;gap:8px;height:200px;padding:16px 0;display:flex}.severity-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.severity-bar-count{font-family:var(--font-mono);color:var(--text-primary);font-size:14px;font-weight:600}.severity-bar-fill{width:100%;min-height:4px;transition:height .6s var(--ease-out);border-radius:4px 4px 0 0;position:relative}.severity-bar-fill:after{content:"";border-radius:inherit;background:linear-gradient(#ffffff1a,#0000);position:absolute;inset:0}.severity-bar-label{font-family:var(--font-body);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.toast-container{z-index:50;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;right:20px}.toast{border-radius:var(--radius);min-width:300px;max-width:440px;font-family:var(--font-body);pointer-events:auto;animation:toast-in .35s var(--ease-spring);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.toast-success{color:#5cffaa;background:#00e6761a;border:1px solid #00e6764d;box-shadow:0 4px 20px #00e67614}.toast-error{color:#ff6b82;background:#ff3b5c1a;border:1px solid #ff3b5c4d;box-shadow:0 4px 20px #ff3b5c14}.toast-info{color:#7aabff;background:#448aff1a;border:1px solid #448aff4d;box-shadow:0 4px 20px #448aff14}.toast-dismiss{color:inherit;cursor:pointer;opacity:.5;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1;transition:opacity .15s}.toast-dismiss:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.stat-cards>.stat-card{animation:card-in .5s var(--ease-out)both}.stat-cards>.stat-card:first-child{animation-delay:0s}.stat-cards>.stat-card:nth-child(2){animation-delay:40ms}.stat-cards>.stat-card:nth-child(3){animation-delay:80ms}.stat-cards>.stat-card:nth-child(4){animation-delay:.12s}.stat-cards>.stat-card:nth-child(5){animation-delay:.16s}.stat-cards>.stat-card:nth-child(6){animation-delay:.2s}.stat-cards>.stat-card:nth-child(7){animation-delay:.24s}.stat-cards>.stat-card:nth-child(8){animation-delay:.28s}.stat-cards>.stat-card:nth-child(9){animation-delay:.32s}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.graph-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.graph-search-bar{flex:1;max-width:400px}.graph-search-bar input{background:var(--bg-card-solid);border:1px solid var(--border-bright);border-radius:var(--radius);width:100%;color:var(--text-primary);font-family:var(--font-body);padding:8px 14px;font-size:13px;transition:border-color .2s}.graph-search-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.graph-search-bar input::placeholder{color:var(--text-tertiary)}.graph-explorer-layout{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);grid-template-columns:250px 1fr;gap:0;height:calc(100vh - 200px);min-height:500px;display:grid;overflow:hidden}.graph-explorer-layout.inspector-open{grid-template-columns:250px 550px 1fr}.file-tree-panel{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.file-tree-header{border-bottom:1px solid var(--border);padding:12px 16px}.file-tree-header h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:12px;font-weight:600}.file-tree-search{border-bottom:1px solid var(--border);padding:8px 10px}.file-tree-search input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-body);padding:5px 10px;font-size:12px;transition:border-color .2s}.file-tree-search input:focus{border-color:var(--accent);outline:none}.file-tree-search input::placeholder{color:var(--text-tertiary)}.file-tree-content{flex:1;padding:4px 0;overflow-y:auto}.file-tree-empty{color:var(--text-tertiary);text-align:center;padding:20px 16px;font-size:12px}.file-tree-item{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:all .15s;display:flex;overflow:hidden}.file-tree-item:hover{color:var(--text-primary);background:#00c8ff0f}.file-tree-icon{text-align:center;width:14px;color:var(--text-tertiary);flex-shrink:0;font-size:10px}.file-tree-dir .file-tree-icon{color:var(--accent)}.file-tree-file .file-tree-icon{color:var(--text-tertiary);font-size:8px}.file-tree-name{text-overflow:ellipsis;flex:1;overflow:hidden}.file-tree-dir .file-tree-name{color:var(--text-primary);font-weight:500}.file-tree-badge{background:var(--accent-muted);color:var(--accent);font-family:var(--font-mono);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:500}.graph-canvas-panel{background:var(--bg-primary);flex-direction:column;display:flex;position:relative;overflow:hidden}.graph-canvas{flex:1;width:100%;min-height:0}.graph-stab-overlay{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(#060a13e0 0%,#060a13f5 100%);justify-content:center;align-items:center;transition:opacity .8s cubic-bezier(.16,1,.3,1),visibility .8s;display:flex;position:absolute;inset:0}.graph-stab-overlay.graph-stab-fade-out{opacity:0;pointer-events:none}.graph-stab-content{flex-direction:column;align-items:center;gap:24px;display:flex}.graph-stab-rings{width:120px;height:120px;position:relative}.graph-stab-ring{border:1px solid #0000;border-radius:50%;position:absolute;inset:0}.graph-stab-ring-1{filter:drop-shadow(0 0 6px #00c8ff4d);border-top-color:#00c8ff99;border-right-color:#00c8ff26;animation:2.4s linear infinite stab-orbit}.graph-stab-ring-2{filter:drop-shadow(0 0 6px #e040fb40);border-bottom-color:#e040fb80;border-left-color:#e040fb1a;animation:1.8s linear infinite reverse stab-orbit;inset:14px}.graph-stab-ring-3{filter:drop-shadow(0 0 4px #00e67633);border-top-color:#00e67666;border-right-color:#00e67614;animation:3.2s linear infinite stab-orbit;inset:30px}.graph-stab-core{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.6s ease-in-out infinite stab-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #00c8ff99,0 0 40px #00c8ff33}@keyframes stab-orbit{to{transform:rotate(360deg)}}@keyframes stab-pulse{0%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.6;transform:translate(-50%,-50%)scale(1.6)}}.graph-stab-text{text-align:center}.graph-stab-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:700}.graph-stab-subtitle{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.03em;font-size:12px}.graph-stab-progress{background:var(--border);border-radius:2px;width:200px;height:3px;position:relative;overflow:hidden}.graph-stab-progress-fill{background:linear-gradient(90deg,var(--accent),#e040fb);border-radius:2px;width:0%;height:100%;transition:width .3s ease-out;position:relative;box-shadow:0 0 8px #00c8ff66}.graph-stab-progress-fill:after{content:"";background:#fff;border-radius:50%;width:7px;height:7px;position:absolute;top:-2px;right:0;box-shadow:0 0 6px #00c8ffcc}.graph-stab-pct{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.04em;font-size:11px}.graph-empty-state{height:100%;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.graph-empty-icon{opacity:.3;font-size:48px}.graph-empty-state h3{font-family:var(--font-display);color:var(--text-secondary);font-size:16px}.graph-empty-state p{font-size:13px}.graph-stats-bar{background:var(--bg-secondary);border-top:1px solid var(--border);font-family:var(--font-mono);flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;font-size:11px;display:flex}.graph-stat{align-items:center;display:inline-flex}.graph-stat-value{color:var(--accent);font-weight:600}.graph-stat-label{color:var(--text-tertiary)}.graph-stat-divider{color:var(--border-bright)}.node-label-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;align-items:center;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.node-kind-function,.node-kind-method{color:#00c8ff;background:#00c8ff1f;border:1px solid #00c8ff33}.node-kind-struct,.node-kind-class{color:#e040fb;background:#e040fb1f;border:1px solid #e040fb33}.node-kind-enum{color:#ffb020;background:#ffb0201f;border:1px solid #ffb02033}.node-kind-interface,.node-kind-trait{color:#7c4dff;background:#7c4dff1f;border:1px solid #7c4dff33}.node-kind-module{color:#ff8a3d;background:#ff8a3d1f;border:1px solid #ff8a3d33}.node-kind-file{color:#00e676;background:#00e6761f;border:1px solid #00e67633}.code-inspector-panel{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.code-inspector-header{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 16px;display:flex;position:relative}.code-inspector-title{align-items:center;gap:8px;display:flex;overflow:hidden}.code-inspector-file-name{font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.code-inspector-meta{align-items:center;gap:8px;display:flex}.code-inspector-node-name{font-family:var(--font-mono);color:var(--accent);font-size:12px;font-weight:600}.code-inspector-lines{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11px}.code-inspector-close{position:absolute;top:10px;right:10px}.code-inspector-body{flex:1;overflow-y:auto}.code-inspector-code{font-family:var(--font-mono);padding:0;font-size:12px;line-height:1.7}.code-line{padding:0 12px 0 0;transition:background-color .15s;display:flex}.code-line:hover{background:#00c8ff08}.code-line-highlight{border-left:2px solid var(--accent);background:#00c8ff14}.code-line-highlight:hover{background:#00c8ff1f}.code-line-number{text-align:right;width:48px;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px;font-size:11px;display:inline-block}.code-line-content{white-space:pre;color:var(--text-primary);overflow-x:auto}.code-inspector-empty{color:var(--text-tertiary);text-align:center;padding:20px 16px;font-size:12px}@media (max-width:768px){.sidebar{transition:transform .3s var(--ease-out);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:16px}.stat-cards{grid-template-columns:repeat(2,1fr)}.graph-explorer-layout{grid-template-columns:1fr;height:auto}.graph-explorer-layout.inspector-open{grid-template-columns:1fr}.file-tree-panel{border-right:none;border-bottom:1px solid var(--border);max-height:200px}.graph-canvas-panel{min-height:400px}.code-inspector-panel{border-right:none;border-top:1px solid var(--border);max-height:300px}}@media (max-width:480px){.stat-cards{grid-template-columns:1fr}}.graph-index-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.graph-repo-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s var(--ease-out);padding:20px;text-decoration:none;display:block}.graph-repo-card:hover{border-color:var(--border-accent);background:var(--bg-card-hover);box-shadow:var(--accent-glow)}.graph-repo-card-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.graph-repo-card-icon{color:var(--accent);font-size:20px;line-height:1}.graph-repo-card-name{font-family:var(--font-display);margin:0;font-size:16px;font-weight:600}.graph-repo-card-url{font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 12px;font-size:11px;overflow:hidden}.graph-repo-card-meta{flex-wrap:wrap;gap:8px;display:flex}.graph-repo-card-tag{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;font-size:11px}.graph-repo-card-tag-findings{color:var(--accent);border-color:var(--border-accent);background:var(--accent-muted)}.graph-search-bar{position:relative}.search-suggestions{z-index:100;background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:0 0 var(--radius)var(--radius);max-height:300px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.search-suggestion-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;transition:background .15s;display:flex}.search-suggestion-item:last-child{border-bottom:none}.search-suggestion-item:hover{background:var(--bg-card-hover)}.search-suggestion-name{color:var(--text-primary);flex-shrink:0;font-size:13px;font-weight:500}.search-suggestion-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-muted);border-radius:var(--radius-sm);flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.search-suggestion-path{font-family:var(--font-mono);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:11px;overflow:hidden}.chat-embedding-banner{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 20px;font-size:13px;display:flex}.chat-embedding-building{border-color:var(--border-accent);background:#00c8ff0a}.chat-embedding-status{flex:1;align-items:center;gap:10px;display:flex}.chat-spinner{border:2px solid var(--border-bright);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin}.chat-progress-bar{background:var(--bg-secondary);border-radius:3px;flex-shrink:0;width:120px;height:6px;overflow:hidden}.chat-progress-fill{background:var(--accent);height:100%;transition:width .5s var(--ease-out);border-radius:3px;min-width:2%}.chat-embedding-banner .btn-sm{background:var(--accent-muted);color:var(--accent);border:1px solid var(--border-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-out);padding:6px 14px;font-size:12px}.chat-embedding-banner .btn-sm:hover:not(:disabled){background:var(--accent);color:var(--bg-primary)}.chat-embedding-banner .btn-sm:disabled{opacity:.5;cursor:not-allowed}.chat-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:calc(100vh - 240px);display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chat-empty{height:100%;color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.chat-empty h3{font-family:var(--font-display);color:var(--text-secondary);margin-bottom:8px;font-size:18px;font-weight:600}.chat-empty p{max-width:400px;font-size:13px}.chat-message{border-radius:var(--radius);max-width:80%;padding:12px 16px;font-size:14px;line-height:1.6}.chat-message-user{background:var(--accent-muted);border:1px solid var(--border-accent);color:var(--text-primary);align-self:flex-end}.chat-message-assistant{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);align-self:flex-start}.chat-message-role{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:6px;font-size:11px;font-weight:600}.chat-message-content{white-space:pre-wrap;word-break:break-word}.chat-typing{color:var(--text-tertiary);font-style:italic}.chat-sources{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.chat-sources-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.chat-source-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;padding:10px 12px}.chat-source-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.chat-source-name{font-family:var(--font-mono);color:var(--accent);font-size:12px;font-weight:500}.chat-source-location{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11px}.chat-source-snippet{background:var(--bg-primary);border-radius:4px;max-height:120px;margin:0;padding:8px;overflow-x:auto}.chat-source-snippet code{font-family:var(--font-mono);color:var(--text-secondary);white-space:pre;font-size:11px}.chat-input-area{border-top:1px solid var(--border);background:var(--bg-secondary);gap:10px;padding:16px 20px;display:flex}.chat-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);resize:none;min-height:42px;max-height:120px;transition:border-color .2s var(--ease-out);outline:none;flex:1;padding:10px 14px;font-size:14px}.chat-input:focus{border-color:var(--accent)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-family:var(--font-display);cursor:pointer;transition:all .2s var(--ease-out);border:none;align-self:flex-end;padding:10px 20px;font-size:13px;font-weight:600}.chat-send-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--accent-glow)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.sbom-tab-bar{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.sbom-tab{color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;transition:all .2s var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:14px;font-weight:500}.sbom-tab:hover{color:var(--text-primary)}.sbom-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sbom-filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.sbom-filter-select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);transition:border-color .2s var(--ease-out);outline:none;min-width:140px;padding:8px 12px;font-size:13px}.sbom-filter-select:focus{border-color:var(--accent)}.sbom-filter-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);min-width:200px;transition:border-color .2s var(--ease-out);outline:none;padding:8px 14px;font-size:13px}.sbom-filter-input:focus{border-color:var(--accent)}.sbom-filter-input::placeholder{color:var(--text-tertiary)}.sbom-result-count{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.sbom-export-wrapper{margin-left:auto;position:relative}.sbom-export-btn{font-size:13px}.sbom-export-dropdown{z-index:50;background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:200px;margin-top:4px;padding:12px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0006}.sbom-export-hint{color:var(--text-tertiary);font-size:11px}.sbom-export-result{margin-bottom:16px}.sbom-export-result-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sbom-vuln-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.sbom-vuln-detail-row td{background:var(--bg-secondary);padding:0!important}.sbom-vuln-detail{flex-wrap:wrap;gap:10px;padding:12px 16px;display:flex}.sbom-vuln-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;min-width:240px;max-width:400px;padding:10px 14px}.sbom-vuln-card-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.sbom-vuln-id{font-family:var(--font-mono);color:var(--text-primary);font-size:13px;font-weight:600}.sbom-vuln-source{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.sbom-vuln-link{color:var(--accent);font-size:12px;text-decoration:none;transition:color .15s}.sbom-vuln-link:hover{color:var(--accent-hover);text-decoration:underline}.sbom-license-badge{border-radius:var(--radius-sm);white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:500}.license-permissive{background:var(--success-bg);color:var(--success);border:1px solid #00e67633}.license-weak-copyleft{background:var(--warning-bg);color:var(--warning);border:1px solid #ffb02033}.license-copyleft{background:var(--danger-bg);color:var(--danger);border:1px solid #ff3b5c33}.license-copyleft-warning{background:var(--danger-bg);border-radius:var(--radius);border:1px solid #ff3b5c4d;margin-bottom:16px;padding:16px 20px}.license-copyleft-warning strong{color:var(--danger);margin-bottom:6px;font-size:15px;display:block}.license-copyleft-warning p{color:var(--text-secondary);margin-bottom:10px;font-size:13px}.license-copyleft-item{color:var(--text-secondary);padding:6px 0;font-size:13px}.license-pkg-list{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.license-bar-chart{flex-direction:column;gap:8px;display:flex}.license-bar-row{align-items:center;gap:12px;display:flex}.license-bar-label{color:var(--text-secondary);text-align:right;flex-shrink:0;min-width:120px;font-size:13px}.license-bar-track{background:var(--bg-secondary);border-radius:var(--radius-sm);flex:1;height:20px;overflow:hidden}.license-bar{border-radius:var(--radius-sm);height:100%;transition:width .3s var(--ease-out)}.license-bar.license-permissive{background:var(--success);border:none}.license-bar.license-copyleft{background:var(--danger);border:none}.license-bar-count{font-family:var(--font-mono);color:var(--text-tertiary);min-width:32px;font-size:12px}.sbom-diff-controls{flex-wrap:wrap;gap:16px;display:flex}.sbom-diff-select-group{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}.sbom-diff-select-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.sbom-diff-summary{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.sbom-diff-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;min-width:100px;color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 20px;font-size:12px;display:flex}.sbom-diff-stat-num{font-family:var(--font-display);color:var(--text-primary);font-size:24px;font-weight:700}.sbom-diff-added .sbom-diff-stat-num{color:var(--success)}.sbom-diff-removed .sbom-diff-stat-num{color:var(--danger)}.sbom-diff-changed .sbom-diff-stat-num{color:var(--warning)}.sbom-diff-row-added{border-left:3px solid var(--success)}.sbom-diff-row-removed{border-left:3px solid var(--danger)}.sbom-diff-row-changed{border-left:3px solid var(--warning)}.ac-kpi-bar{gap:2px;margin-bottom:16px;display:flex}.ac-kpi-card{background:var(--bg-secondary);border:1px solid var(--border-color);flex:1;padding:12px 14px;position:relative;overflow:hidden}.ac-kpi-card:first-child{border-radius:10px 0 0 10px}.ac-kpi-card:last-child{border-radius:0 10px 10px 0}.ac-kpi-card:before{content:"";height:2px;position:absolute;bottom:0;left:0;right:0}.ac-kpi-card:first-child:before{background:var(--accent,#3b82f6);opacity:.4}.ac-kpi-card:nth-child(2):before{background:var(--danger,#dc2626);opacity:.5}.ac-kpi-card:nth-child(3):before{background:var(--success,#16a34a);opacity:.4}.ac-kpi-card:nth-child(4):before{background:var(--warning,#d97706);opacity:.4}.ac-kpi-value{font-family:var(--font-display);letter-spacing:-.03em;font-size:24px;font-weight:800;line-height:1}.ac-kpi-label{font-family:var(--font-mono,monospace);color:var(--text-tertiary,#6b7280);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:9px}.ac-phase-rail{align-items:flex-start;margin-bottom:14px;padding:0 8px;display:flex;position:relative}.ac-phase-rail:before{content:"";background:var(--border-color);z-index:0;height:2px;position:absolute;top:7px;left:8px;right:8px}.ac-rail-node{z-index:1;cursor:pointer;flex-direction:column;flex:1;align-items:center;min-width:56px;transition:all .15s;display:flex;position:relative}.ac-rail-node:hover .ac-rail-dot{transform:scale(1.25)}.ac-rail-node.active .ac-rail-label{color:var(--accent,#3b82f6)}.ac-rail-node.active .ac-rail-dot{box-shadow:0 0 0 3px #3b82f633,0 0 12px #3b82f626}.ac-rail-dot{border:2.5px solid var(--bg-primary,#0f172a);border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:transform .2s cubic-bezier(.16,1,.3,1)}.ac-rail-dot.done{background:var(--success,#16a34a);box-shadow:0 0 8px #16a34a40}.ac-rail-dot.running{background:var(--warning,#d97706);animation:2s ease-in-out infinite ac-dot-pulse;box-shadow:0 0 10px #d9770659}.ac-rail-dot.pending{background:var(--text-tertiary,#6b7280);opacity:.5}.ac-rail-dot.mixed{background:conic-gradient(var(--success,#16a34a)0deg 270deg,var(--danger,#dc2626)270deg 360deg);box-shadow:0 0 8px #16a34a33}@keyframes ac-dot-pulse{0%,to{box-shadow:0 0 8px #d9770659}50%{box-shadow:0 0 18px #d977068c}}.ac-rail-label{font-family:var(--font-mono,monospace);color:var(--text-tertiary,#6b7280);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;margin-top:5px;font-size:9px;transition:color .15s}.ac-rail-findings{font-family:var(--font-mono,monospace);margin-top:1px;font-size:9px;font-weight:600}.ac-rail-findings.has{color:var(--danger,#dc2626)}.ac-rail-findings.none{color:var(--text-tertiary,#6b7280);opacity:.4}.ac-rail-heatmap{gap:2px;margin-top:3px;display:flex}.ac-hm-cell{border-radius:1.5px;width:7px;height:7px}.ac-hm-cell.ok{background:var(--success,#16a34a);opacity:.5}.ac-hm-cell.fail{background:var(--danger,#dc2626);opacity:.65}.ac-hm-cell.run{background:var(--warning,#d97706);opacity:.5;animation:1.5s ease-in-out infinite ac-pulse}.ac-hm-cell.wait{background:var(--text-tertiary,#6b7280);opacity:.15}.ac-rail-bar{z-index:1;flex:1;height:2px;margin-top:7px;position:relative}.ac-rail-bar-inner{border-radius:1px;height:100%}.ac-rail-bar-inner.done{background:var(--success,#16a34a);opacity:.35}.ac-rail-bar-inner.running{background:linear-gradient(to right,var(--success,#16a34a),var(--warning,#d97706));opacity:.35}.ac-progress-track{background:var(--border-color);border-radius:2px;height:3px;margin-bottom:10px;overflow:hidden}.ac-progress-fill{background:linear-gradient(90deg,var(--success,#16a34a)0%,var(--accent,#3b82f6)100%);border-radius:2px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.ac-controls{justify-content:flex-end;margin-bottom:6px;display:flex}.ac-btn-toggle{font-family:var(--font-body);color:var(--accent,#3b82f6);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 10px;font-size:11px;transition:all .15s}.ac-btn-toggle:hover{background:#3b82f614;border-color:#3b82f61f}.ac-phases{flex-direction:column;gap:2px;display:flex}.ac-phase{animation:.35s cubic-bezier(.16,1,.3,1) both ac-phase-in}@keyframes ac-phase-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ac-phase-header{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:9px 14px;transition:background .15s;display:flex}.ac-phase.open .ac-phase-header{border-radius:10px 10px 0 0}.ac-phase-header:hover{background:var(--bg-tertiary)}.ac-phase-num{font-family:var(--font-mono,monospace);color:var(--accent,#3b82f6);letter-spacing:.04em;white-space:nowrap;background:#3b82f614;border:1px solid #3b82f61a;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.ac-phase-title{font-family:var(--font-display);color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.ac-phase-dots{align-items:center;gap:3px;display:flex}.ac-phase-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ac-phase-dot.completed{background:var(--success,#16a34a)}.ac-phase-dot.failed{background:var(--danger,#dc2626)}.ac-phase-dot.running{background:var(--warning,#d97706);animation:1.5s ease-in-out infinite ac-pulse}.ac-phase-dot.pending{background:var(--text-tertiary,#6b7280);opacity:.4}@keyframes ac-pulse{0%,to{box-shadow:inset 0 0 #0000}50%{box-shadow:inset 0 0 12px #d9770626}}.ac-phase-meta{font-family:var(--font-mono,monospace);color:var(--text-secondary);align-items:center;gap:12px;font-size:11px;display:flex}.ac-phase-meta .findings-ct{color:var(--danger,#dc2626);font-weight:600}.ac-phase-meta .running-ct{color:var(--warning,#d97706);font-weight:500}.ac-phase-chevron{color:var(--text-tertiary,#6b7280);text-align:center;width:14px;font-size:11px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.ac-phase.open .ac-phase-chevron{transform:rotate(90deg)}.ac-phase-body{background:var(--bg-secondary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-radius:0 0 10px 10px;max-height:0;transition:max-height .35s cubic-bezier(.16,1,.3,1);overflow:hidden}.ac-phase.open .ac-phase-body{max-height:2000px}.ac-phase-body-inner{flex-direction:column;gap:1px;padding:4px 6px;display:flex}.ac-tool-row{cursor:pointer;border-radius:6px;grid-template-columns:5px 26px 1fr auto auto auto;align-items:center;gap:8px;padding:7px 10px;transition:background .12s;display:grid}.ac-tool-row:hover{background:#ffffff05}.ac-tool-row.expanded{background:#3b82f608}.ac-tool-row.is-pending{opacity:.45;cursor:default}.ac-status-bar{border-radius:2px;flex-shrink:0;width:4px;height:26px}.ac-status-bar.completed{background:var(--success,#16a34a)}.ac-status-bar.failed{background:var(--danger,#dc2626)}.ac-status-bar.running{background:var(--warning,#d97706);animation:1.5s ease-in-out infinite ac-pulse}.ac-status-bar.pending{background:var(--text-tertiary,#6b7280);opacity:.25}.ac-tool-icon{text-align:center;font-size:17px;line-height:1}.ac-tool-info{min-width:0}.ac-tool-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.ac-cat-chip{font-family:var(--font-mono,monospace);letter-spacing:.02em;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:500;display:inline-block}.ac-cat-chip.recon{color:#38bdf8;background:#38bdf81a}.ac-cat-chip.api{color:#818cf8;background:#818cf81a}.ac-cat-chip.headers{color:#06b6d4;background:#06b6d41a}.ac-cat-chip.csp{color:#d946ef;background:#d946ef1a}.ac-cat-chip.cookies{color:#f59e0b;background:#f59e0b1a}.ac-cat-chip.logs{color:#78716c;background:#78716c1a}.ac-cat-chip.ratelimit{color:#64748b;background:#64748b1a}.ac-cat-chip.cors{color:#8b5cf6;background:#8b5cf61a}.ac-cat-chip.tls{color:#14b8a6;background:#14b8a61a}.ac-cat-chip.redirect{color:#fb923c;background:#fb923c1a}.ac-cat-chip.email{color:#0ea5e9;background:#0ea5e91a}.ac-cat-chip.auth{color:#f43f5e;background:#f43f5e1a}.ac-cat-chip.xss{color:#f97316;background:#f973161a}.ac-cat-chip.sqli{color:#ef4444;background:#ef44441a}.ac-cat-chip.ssrf{color:#a855f7;background:#a855f71a}.ac-cat-chip.idor{color:#ec4899;background:#ec48991a}.ac-cat-chip.fuzzer{color:#a78bfa;background:#a78bfa1a}.ac-cat-chip.cve{color:#dc2626;background:#dc26261a}.ac-cat-chip.default{color:#94a3b8;background:#94a3b81a}.ac-tool-duration{font-family:var(--font-mono,monospace);color:var(--text-tertiary,#6b7280);white-space:nowrap;text-align:right;min-width:48px;font-size:10px}.ac-tool-duration.running-text{color:var(--warning,#d97706);font-weight:500}.ac-findings-pill{font-family:var(--font-mono,monospace);text-align:center;border-radius:9px;justify-content:center;align-items:center;min-width:22px;padding:1px 7px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.ac-findings-pill.has{color:var(--danger,#dc2626);background:#dc26261f}.ac-findings-pill.zero{color:var(--text-tertiary,#6b7280);opacity:.5;background:0 0;font-weight:400}.ac-risk-val{font-family:var(--font-mono,monospace);text-align:right;min-width:32px;font-size:10px;font-weight:700}.ac-risk-val.high{color:var(--danger,#dc2626)}.ac-risk-val.medium{color:var(--warning,#d97706)}.ac-risk-val.low{color:var(--text-secondary)}.ac-risk-val.none{color:#0000}.ac-tool-detail{max-height:0;transition:max-height .28s cubic-bezier(.16,1,.3,1);overflow:hidden}.ac-tool-detail.open{max-height:800px}.ac-tool-detail-inner{color:var(--text-secondary);padding:6px 10px 10px 49px;font-size:12px;line-height:1.55}.ac-reasoning-block{border-left:2px solid var(--accent,#3b82f6);color:var(--text-secondary);background:#3b82f608;border-radius:0 6px 6px 0;margin-bottom:8px;padding:7px 12px;font-style:italic}.ac-detail-grid{font-family:var(--font-mono,monospace);grid-template-columns:auto 1fr;gap:3px 14px;font-size:10px;display:grid}.ac-detail-label{color:var(--text-tertiary,#6b7280);text-transform:uppercase;letter-spacing:.04em;font-size:9px}.ac-detail-value{color:var(--text-secondary)}.ac-node-running{animation:2s ease-in-out infinite ac-pulse}.ac-data-section{margin-top:8px}.ac-data-label{color:var(--text-tertiary,#6b7280);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:9px}.ac-data-block{border:1px solid var(--border,#162038);font-family:var(--font-mono,monospace);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;background:#00000040;border-radius:6px;max-height:200px;margin:0;padding:8px 10px;font-size:10px;line-height:1.5;overflow-y:auto}.wizard-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wizard-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;width:600px;max-width:92vw;max-height:90vh;display:flex;position:relative;overflow:hidden}.wizard-close-btn{z-index:10;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:4px 6px;transition:color .15s,border-color .15s;display:flex;position:absolute;top:12px;right:12px}.wizard-close-btn:hover{color:var(--text-primary);border-color:var(--border-color)}.wizard-dropdown{z-index:20;background:var(--bg-elevated,var(--bg-secondary));border:1px solid var(--border-color);border-radius:0 0 8px 8px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000040}.wizard-dropdown-item{cursor:pointer;border-bottom:1px solid var(--border-color);padding:8px 12px;transition:background .1s}.wizard-dropdown-item:last-child{border-bottom:none}.wizard-dropdown-item:hover{background:var(--bg-card-hover,#ffffff0a)}.wizard-ssh-key{border:1px solid var(--border-accent,#00c8ff26);background:#00c8ff0a;border-radius:8px;margin-top:8px;padding:10px 12px}.wizard-ssh-key-box{background:var(--bg-primary);font-family:var(--font-mono,monospace);word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--text-secondary);border-radius:4px;padding:8px 10px;font-size:10px;line-height:1.4}.wizard-steps{border-bottom:1px solid var(--border-color);background:var(--bg-primary);justify-content:center;align-items:center;gap:8px;padding:16px 24px;display:flex}.wizard-step{color:var(--text-tertiary);align-items:center;gap:6px;font-size:.8rem;display:flex;position:relative}.wizard-step+.wizard-step:before{content:"";background:var(--border-color);width:24px;height:1px;margin-right:4px;display:block}.wizard-step.active{color:var(--accent)}.wizard-step.completed{color:var(--status-success)}.wizard-step-dot{background:var(--bg-tertiary);width:22px;height:22px;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.wizard-step.active .wizard-step-dot{background:var(--accent);color:var(--bg-primary)}.wizard-step.completed .wizard-step-dot{background:var(--status-success);color:var(--bg-primary)}.wizard-step-label{display:none}@media (min-width:480px){.wizard-step-label{display:inline}}.wizard-body{flex:1;min-height:300px;padding:20px 24px;overflow-y:auto}.wizard-body h3{color:var(--text-primary);font-size:1.05rem;font-weight:600}.wizard-field{margin-bottom:12px}.wizard-field label{color:var(--text-secondary);margin-bottom:4px;font-size:.82rem;font-weight:500;display:block}.wizard-field .chat-input,.wizard-field select{width:100%}.wizard-footer{border-top:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.wizard-disclaimer{border-radius:var(--radius);color:var(--text-primary);background:#ffb02014;border:1px solid #ffb02040;margin-top:16px;padding:16px;font-size:.85rem;line-height:1.55}.wizard-summary{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);padding:16px}.wizard-summary dl{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:.85rem;display:grid}.wizard-summary dt{color:var(--text-secondary);font-weight:500}.wizard-summary dd{color:var(--text-primary);margin:0}.wizard-toggle{background:var(--bg-tertiary);cursor:pointer;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.wizard-toggle.active{background:var(--accent)}.wizard-toggle-knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.wizard-toggle.active .wizard-toggle-knob{transform:translate(16px)}.help-chat-toggle{z-index:50;background:var(--accent);width:48px;height:48px;color:var(--bg-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:24px;right:28px;box-shadow:0 4px 20px #00c8ff4d}.help-chat-toggle:hover{transform:scale(1.08);box-shadow:0 6px 28px #00c8ff66}.help-chat-panel{z-index:51;background:var(--bg-secondary);border:1px solid var(--border-bright);width:400px;height:520px;box-shadow:0 12px 48px #00000080,var(--accent-glow);border-radius:16px;flex-direction:column;display:flex;position:fixed;bottom:24px;right:28px;overflow:hidden}.help-chat-header{border-bottom:1px solid var(--border);background:var(--bg-primary);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.help-chat-title{color:var(--text-primary);align-items:center;gap:8px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;display:flex}.help-chat-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.help-chat-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.help-chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.help-chat-empty{text-align:center;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.help-chat-hint{color:var(--text-tertiary);font-size:12px;font-style:italic}.help-msg{max-width:88%;animation:.15s ease-out helpMsgIn}@keyframes helpMsgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.help-msg-user{align-self:flex-end}.help-msg-assistant{align-self:flex-start}.help-msg-content{word-wrap:break-word;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.55}.help-msg-user .help-msg-content{background:var(--accent);color:var(--bg-primary);border-bottom-right-radius:4px}.help-msg-assistant .help-msg-content{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px}.help-msg-assistant .help-msg-content code{background:#00c8ff1a;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:12px}.help-msg-loading{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:12px 12px 12px 4px;padding:10px 14px;font-size:13px;animation:1.2s ease-in-out infinite helpPulse}@keyframes helpPulse{0%,to{opacity:.6}50%{opacity:1}}.help-chat-input{border-top:1px solid var(--border);background:var(--bg-primary);align-items:center;gap:8px;padding:12px 14px;display:flex}.help-chat-input input{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:13px;transition:border-color .15s}.help-chat-input input:focus{border-color:var(--accent)}.help-chat-input input::placeholder{color:var(--text-tertiary)}.help-chat-send{background:var(--accent);width:36px;height:36px;color:var(--bg-primary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.help-chat-send:disabled{opacity:.4;cursor:not-allowed}.help-chat-send:not(:disabled):hover{background:var(--accent-hover)}.notification-bell-wrapper{z-index:48;position:fixed;top:16px;right:28px}.notification-bell-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;padding:8px 10px;transition:color .15s,border-color .15s;display:flex;position:relative}.notification-bell-btn:hover{color:var(--text-primary);border-color:var(--border-bright)}.notification-badge{background:var(--danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-family:Outfit,sans-serif;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.notification-panel{background:var(--bg-secondary);border:1px solid var(--border-bright);border-radius:12px;flex-direction:column;width:380px;max-height:480px;display:flex;position:absolute;top:44px;right:0;overflow:hidden;box-shadow:0 12px 48px #00000080}.notification-panel-header{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:12px 16px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;display:flex}.notification-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px}.notification-panel-body{flex:1;padding:8px;overflow-y:auto}.notification-loading,.notification-empty{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 16px;font-size:13px;display:flex}.notification-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:4px;padding:10px 12px;transition:border-color .15s}.notification-item:hover{border-color:var(--border-bright)}.notification-item-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.notification-sev{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-family:Outfit,sans-serif;font-size:10px;font-weight:700}.notification-sev.sev-critical{background:var(--danger-bg);color:var(--danger)}.notification-sev.sev-high{color:#ff8c00;background:#ff8c001f}.notification-sev.sev-medium{background:var(--warning-bg);color:var(--warning)}.notification-sev.sev-low{color:var(--accent);background:#00c8ff14}.notification-cve-id{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.notification-cve-id a{color:var(--accent);text-decoration:none}.notification-cve-id a:hover{text-decoration:underline}.notification-cvss{color:var(--text-secondary);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px}.notification-dismiss-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:2px}.notification-dismiss-btn:hover{color:var(--danger)}.notification-item-pkg{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:12px}.notification-item-repo{color:var(--text-secondary);margin-bottom:4px;font-size:11px}.notification-item-summary{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.copy-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;align-items:center;padding:5px 7px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.copy-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-muted)}.copy-btn-sm{border-radius:4px;padding:3px 5px}.copyable{align-items:center;gap:6px;display:flex}.copyable code,.copyable .mono{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.code-snippet-wrapper{position:relative}.code-snippet-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}:root[data-theme=light] .main-content{background-image:radial-gradient(circle at 1px 1px,#64748b2e 1px,#0000 0)}:root[data-theme=light] .code-block{color:#0c1426;background:#f8fafc}:root[data-theme=light] .graph-stab-overlay{background:radial-gradient(#f5f7fbeb 0%,#f5f7fbfa 100%)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .main-content{background-image:radial-gradient(circle at 1px 1px,#64748b2e 1px,#0000 0)}:root:not([data-theme=dark]) .code-block{color:#0c1426;background:#f8fafc}:root:not([data-theme=dark]) .graph-stab-overlay{background:radial-gradient(#f5f7fbeb 0%,#f5f7fbfa 100%)}}