:root{--bg: #0a0a0a;--sidebar-bg: #0d0d0d;--panel: #111111;--card: #161616;--border: #1e1e1e;--border2: #2a2a2a;--text: #f0f0f0;--muted: #666666;--muted2: #444444;--accent: #b4f714;--accent-dim: rgba(180,247,20,.12);--high: #f87171;--medium: #fb923c;--low: #facc15;--info: #60a5fa;--mono: "JetBrains Mono", "Fira Code", monospace;--badge-hack: #f97316;--badge-hook: #a855f7;--badge-alert: #06b6d4;--sidebar-w: 180px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;background:var(--bg);color:var(--text);min-height:100vh;display:flex;overflow-x:hidden}#sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;overflow-y:auto}#sidebar-logo{padding:20px 16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}#sidebar-logo .logo-icon{width:28px;height:28px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#000;flex-shrink:0}#sidebar-logo .logo-name{font-weight:700;font-size:15px;color:var(--text);letter-spacing:-.3px}#sidebar-logo .logo-name span{color:var(--accent)}#sidebar-nav{padding:12px 8px;flex:1}.nav-section-label{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--muted2);text-transform:uppercase;padding:12px 8px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;transition:background .15s,color .15s;margin-bottom:2px;border:none;background:none;width:100%;text-align:left}.nav-item .nav-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}.nav-item:hover{background:var(--card);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent)}#sidebar-footer{padding:14px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--muted2);line-height:1.6}#main-wrap{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh}#topbar{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--sidebar-bg);position:sticky;top:0;z-index:50}#topbar-title{font-size:18px;font-weight:700;color:var(--text);flex:1}#topbar-search{flex:0 1 380px;padding:8px 14px;background:var(--card);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:13px;outline:none}#topbar-search::placeholder{color:var(--muted)}#topbar-search:focus{border-color:var(--accent)}.topbar-btn{padding:8px 16px;background:var(--accent);border:none;border-radius:7px;color:#000;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s;white-space:nowrap}.topbar-btn:hover{opacity:.85}#stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.stat-card{background:var(--panel);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.stat-card-header{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:500}.stat-card-icon{font-size:14px;opacity:.7}.stat-card-value{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.5px;line-height:1}.stat-card-value.accent{color:var(--accent)}.stat-card-sub{font-size:11px;color:var(--muted)}#content{flex:1;padding:20px 24px}.filters-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.filters-bar select,.filters-bar input[type=search],.filters-bar input[type=text]{padding:7px 12px;background:var(--card);border:1px solid var(--border2);border-radius:7px;color:var(--text);font-size:12px;outline:none}.filters-bar select:focus,.filters-bar input:focus{border-color:var(--accent)}.filters-bar input[type=search]{flex:1 1 200px}.pane{display:none}.pane.active{display:block}#feed-status{font-size:12px;color:var(--muted);margin-bottom:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.card-header{padding:14px 18px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:space-between}button.primary{padding:7px 14px;background:var(--accent);border:none;border-radius:7px;color:#000;font-size:12px;font-weight:700;cursor:pointer}button.primary:hover{opacity:.85}button.ghost{padding:7px 14px;background:var(--card);border:1px solid var(--border2);border-radius:7px;color:var(--muted);font-size:12px;cursor:pointer}button.ghost:hover{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}textarea{width:100%;min-height:260px;background:var(--card);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-family:var(--mono);font-size:12px;padding:14px;outline:none;resize:vertical}textarea:focus{border-color:var(--accent)}.input-row{display:flex;gap:8px;align-items:stretch;margin-bottom:16px}.input-row input[type=text]{flex:1;padding:9px 14px;background:var(--card);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:13px;outline:none}.input-row input:focus{border-color:var(--accent)}.input-row select{padding:9px 12px;background:var(--card);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:13px;outline:none}.hint{font-size:12px;color:var(--muted);margin:6px 0 14px}.summary{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{padding:3px 10px;background:var(--accent-dim);border:1px solid rgba(180,247,20,.25);border-radius:20px;font-size:11px;font-weight:600;color:var(--accent)}.finding{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--muted2);border-radius:0 8px 8px 0;padding:12px 14px;margin-bottom:8px}.finding.high{border-left-color:var(--high)}.finding.medium{border-left-color:var(--medium)}.finding.low{border-left-color:var(--low)}.finding .top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.finding .badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase}.finding .badge.high{background:#f8717126;color:var(--high)}.finding .badge.medium{background:#fb923c26;color:var(--medium)}.finding .badge.low{background:#facc1526;color:var(--low)}.finding .badge.info{background:#60a5fa26;color:var(--info)}.finding .title{font-size:13px;font-weight:600}.finding .meta{font-size:11px;color:var(--muted);margin-bottom:4px}.finding .msg{font-size:12px;color:#ccc}.exploit{margin-top:8px;padding:10px;background:#f871710f;border-radius:6px;font-size:12px;line-height:1.6}.exploit div+div{margin-top:3px}.empty{color:var(--muted);font-size:13px;padding:12px 0}.error{color:var(--high);font-size:13px;padding:12px 0}.feed-table,.hm-list-table{width:100%;border-collapse:collapse;font-size:13px}.feed-table th,.hm-list-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);background:var(--panel);white-space:nowrap}.feed-table td,.hm-list-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.feed-table tr:hover td,.hm-list-table tr:hover td{background:var(--card)}.feed-table tr:last-child td,.hm-list-table tr:last-child td{border-bottom:none}.td-date{color:var(--muted);font-size:12px;white-space:nowrap}.td-chain{white-space:nowrap}.td-chain span{padding:2px 8px;background:var(--card);border:1px solid var(--border2);border-radius:20px;font-size:11px;color:var(--muted)}.td-link{width:28px;text-align:center}.td-name{font-weight:500;color:var(--text)}.mono-addr{font-family:var(--mono);font-size:12px;color:var(--accent)}.hm-list-name{font-weight:500}.hm-list-name.mono{font-family:var(--mono);font-size:12px;color:var(--accent)}.loss-critical{color:#f44;font-weight:700}.loss-high{color:#f80;font-weight:700}.loss-medium{color:#fc0;font-weight:600}.loss-low,.loss-unknown{color:var(--muted)}.sev{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sev-high{background:#f8717126;color:#f87171;border:1px solid rgba(248,113,113,.3)}.sev-medium{background:#fb923c26;color:#fb923c;border:1px solid rgba(251,146,60,.3)}.sev-low{background:#facc151f;color:#facc15;border:1px solid rgba(250,204,21,.25)}.sev-info{background:#60a5fa1f;color:#60a5fa;border:1px solid rgba(96,165,250,.25)}.sev-critical{background:#ff444426;color:#f44;border:1px solid rgba(255,68,68,.3)}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-open{background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.25)}.status-closed{background:#4ade801a;color:#4ade80;border:1px solid rgba(74,222,128,.2)}.type-badge{display:inline-block;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.type-badge.hack{background:#f9731626;color:#f97316;border:1px solid rgba(249,115,22,.3)}.type-badge.hook{background:#a855f726;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.type-badge.alert{background:#06b6d41f;color:#06b6d4;border:1px solid rgba(6,182,212,.25)}.scanner-table{width:100%;border-collapse:collapse}.hm-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.hm-bar select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:6px 10px;font-size:12px}.hm-filter-btn{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:4px 11px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:opacity .15s}.hm-filter-btn.f-all{background:#6ea8fe1f;color:var(--accent);border-color:#6ea8fe40}.hm-filter-btn.f-hack{background:#ef444426;color:#ff6b6b;border-color:#ef44444d}.hm-filter-btn.f-hook{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}.hm-filter-btn.f-alert{background:#a78bfa26;color:#a78bfa;border-color:#a78bfa4d}.hm-filter-btn:not(.active){opacity:.4}.hm-filter-btn.active{opacity:1}.hm-stat{color:var(--muted);font-size:12px;white-space:nowrap}.hm-view-toggle{display:flex;gap:4px;margin-left:auto}.hm-view-btn{font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;border:1px solid var(--border);cursor:pointer;background:var(--panel-2);color:var(--muted);transition:color .15s,border-color .15s}.hm-view-btn.active{color:var(--accent);border-color:var(--accent)}#hm-map{display:flex;flex-wrap:wrap;gap:3px;width:100%}.hm-tile{position:relative;overflow:hidden;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;padding:8px 10px;transition:filter .15s,transform .1s;min-width:72px;min-height:64px;border:1px solid rgba(255,255,255,.07);flex-grow:1}.hm-tile:hover{filter:brightness(1.18);transform:scale(1.015);z-index:2}.hm-tile.hack-crit{background:linear-gradient(150deg,#7f1d1d,#b91c1c)}.hm-tile.hack-high{background:linear-gradient(150deg,#991b1b,#dc2626)}.hm-tile.hack-med{background:linear-gradient(150deg,#6b1a1a,#7f1d1d)}.hm-tile.hack-low{background:linear-gradient(150deg,#3b0a0a,#5a1a1a)}.hm-tile.hook-high{background:linear-gradient(150deg,#78350f,#b45309)}.hm-tile.hook-medium{background:linear-gradient(150deg,#854d0e,#a16207)}.hm-tile.hook-low{background:linear-gradient(150deg,#0c4a6e,#0369a1)}.hm-tile.hook-clean{background:linear-gradient(150deg,#14532d,#15803d)}.hm-tile.alert-high{background:linear-gradient(150deg,#4c1d95,#6d28d9)}.hm-tile.alert-med{background:linear-gradient(150deg,#3b0764,#7c3aed)}.hm-tile.alert-low{background:linear-gradient(150deg,#1e1b4b,#3730a3)}.hm-tile .hm-badge{position:absolute;top:6px;left:7px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;padding:1px 5px;border-radius:3px;background:#00000059;color:#fff9}.hm-tile .hm-metric{font-size:20px;font-weight:800;color:#fffffff2;line-height:1;margin-bottom:3px}.hm-tile .hm-name{font-size:11px;font-weight:700;color:#ffffffe6;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-tile .hm-sub{font-size:9px;color:#fff6;margin-top:2px}#hm-list{display:none}.hm-list-name{font-weight:600;color:var(--text);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-list-name.mono{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--muted)}#hm-modal-bg{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#hm-modal-bg.open{display:block}#hm-modal{position:fixed;top:0;right:0;width:min(520px,100vw);height:100vh;background:var(--panel);border-left:1px solid var(--border);transform:translate(100%);transition:transform .22s cubic-bezier(.4,0,.2,1);z-index:201;display:flex;flex-direction:column;overflow:hidden}#hm-modal.open{transform:translate(0)}.modal-close{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:14px 18px;border-bottom:1px solid var(--border);text-align:left;width:100%}.modal-close:hover{color:var(--text)}#hm-modal-body{flex:1;overflow-y:auto;padding:20px 22px 32px}.modal-type{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.modal-title{font-size:17px;font-weight:700;color:var(--text);margin-bottom:16px;line-height:1.3}.modal-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:12px;margin-bottom:18px;padding:14px;background:var(--card);border:1px solid var(--border);border-radius:8px}.mk{color:var(--muted);font-weight:500;white-space:nowrap}.mv{color:var(--text)}.modal-link{display:inline-block;margin-top:14px;font-size:12px;color:var(--accent);text-decoration:none;opacity:.8}.modal-link:hover{opacity:1}.modal-findings{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.modal-findings h4{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.modal-finding-row{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--muted2);border-radius:0 7px 7px 0;padding:10px 12px;margin-bottom:6px}.modal-finding-row.high{border-left-color:var(--high)}.modal-finding-row.medium{border-left-color:var(--medium)}.modal-finding-row.low{border-left-color:var(--low)}.mf-title{font-size:12px;font-weight:600;color:var(--text);margin-bottom:3px}.mf-msg{font-size:11px;color:var(--muted);line-height:1.5}.pool-lookup-section{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.pool-lookup-section h4{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.pool-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:7px;margin-bottom:6px}.pool-pair{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent);flex:1;text-decoration:none}.pool-pair:hover{text-decoration:underline}.pool-fee,.pool-chain-tag{font-size:11px;color:var(--muted);background:var(--panel);border:1px solid var(--border2);border-radius:4px;padding:2px 7px}.pool-id{font-family:var(--mono);font-size:10px;color:var(--muted2)}
