:root{--bg:#090f19;--panel:#0f1724;--panel2:#111b2b;--text:#e5edf8;--muted:#94a3b8;--border:#273244;--blue:#38bdf8;--yellow:#ffd166;--purple:#c084fc;--red:#ef4444;--pink:#fb7185;--green:#34d399;--orange:#fb923c;--slate:#64748b}
body.light{--bg:#f8fafc;--panel:#ffffff;--panel2:#eef2f7;--text:#0f172a;--muted:#475569;--border:#cbd5e1;background:linear-gradient(135deg,#f8fafc,#e0f2fe 55%,#fff1f2);color:var(--text)}
body.light .topbar{background:rgba(248,250,252,.92)}
body.light .badges span{background:#ffffff;border-color:#cbd5e1;color:#0f172a}
body.light .toolbar{background:#f1f5f9;border-color:#cbd5e1}
body.light .toolbar input,body.light .toolbar select,body.light .filterRow input{background:#ffffff;border-color:#cbd5e1;color:#0f172a}
body.light .graphPanel{background:radial-gradient(circle at 45% 45%,#ffffff,#dbeafe 70%)}
body.light .sidePanel{background:#f8fafc;border-color:#cbd5e1}
body.light .card{background:#ffffff;border-color:#cbd5e1;box-shadow:0 10px 25px rgba(15,23,42,.10)}
body.light .card p,body.light .card li{color:#475569}
body.light .node text{fill:#0f172a;stroke:#ffffff}
body.light .edge text{fill:#334155;stroke:#ffffff}
body.light .floating{background:rgba(255,255,255,.90);border-color:#cbd5e1}
body.light .legend span{color:#334155}
body.light .tables{background:#f8fafc}
body.light table{background:#ffffff;border-color:#cbd5e1}
body.light th{background:#e2e8f0;color:#0f172a}
body.light td{color:#334155;border-color:#e2e8f0}
body.light tr:hover td{background:#eff6ff}
body.light footer{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
body.light .pill{background:#e2e8f0;border-color:#cbd5e1;color:#0f172a}
body.light .pill.Critical{background:#fee2e2;color:#7f1d1d;border-color:#fecaca}
body.light .pill.High{background:#ffedd5;color:#7c2d12;border-color:#fed7aa}
body.light .pill.Medium{background:#fef3c7;color:#78350f;border-color:#fde68a}
body.light .pill.Low{background:#dcfce7;color:#14532d;border-color:#bbf7d0}
.themeBtn{background:#0f766e!important}
body.light .themeBtn{background:#0f172a!important;color:#fff!important}

*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:linear-gradient(135deg,#09111f,#101827 55%,#2a0713);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}.topbar{padding:18px 22px;border-bottom:1px solid var(--border);background:rgba(5,10,18,.82);position:sticky;top:0;z-index:5}.topbar h1{margin:0 0 6px;font-size:24px}.topbar p{margin:0;color:var(--muted);font-size:13px}.topbar p b{color:#facc15}.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.badges span{border:1px solid #334155;border-radius:10px;padding:8px 12px;background:#081120;font-weight:700;font-size:12px}.toolbar{display:flex;gap:10px;align-items:center;padding:12px 16px;background:#0c1320;border-bottom:1px solid var(--border);position:sticky;top:111px;z-index:4}.toolbar input,.toolbar select,.filterRow input{background:#09111f;border:1px solid #334155;border-radius:8px;color:var(--text);padding:10px 12px}.toolbar input{min-width:330px}.toolbar button,.tab{border:0;border-radius:8px;padding:10px 14px;color:#fff;background:#2563eb;font-weight:700;cursor:pointer}.toolbar button:hover,.tab:hover{filter:brightness(1.12)}#fitBtn,#zoomInBtn,#zoomOutBtn{background:#334155}#criticalBtn{background:#ef4444}.check{font-size:13px;color:var(--muted);font-weight:700}.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;height:72vh;min-height:600px}.graphPanel{position:relative;background:radial-gradient(circle at 45% 45%,#121d2e,#07101c 65%);overflow:hidden}.sidePanel{background:#111820;border-left:1px solid var(--border);padding:14px;overflow:auto}.card{background:#0b1220;border:1px solid #2b3a50;border-radius:14px;padding:14px;margin-bottom:14px;box-shadow:0 10px 25px rgba(0,0,0,.25)}.card h2{font-size:16px;margin:0 0 10px}.card p,.card li{color:var(--muted);font-size:13px;font-weight:600}.small p{font-weight:500}.riskCritical{color:#fecaca;font-weight:800}.riskHigh{color:#fed7aa;font-weight:800}.riskMedium{color:#fde68a;font-weight:800}.riskLow{color:#bbf7d0;font-weight:800}#graphSvg{width:100%;height:100%;display:block;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.graphPanel{touch-action:none;overscroll-behavior:contain}.node text{font-size:11px;fill:#f8fafc;paint-order:stroke;stroke:#07101c;stroke-width:3px;stroke-linejoin:round;font-weight:800;pointer-events:none}.node circle,.node rect,.node polygon{stroke:#e2e8f0;stroke-width:1.3;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));cursor:pointer}.node.selected circle,.node.selected rect,.node.selected polygon{stroke:#fff;stroke-width:4}.node.dim{opacity:.13}.edge.dim{opacity:.07}.edge path{fill:none;stroke-width:2.2;cursor:pointer}.edge text{font-size:9px;fill:#cbd5e1;paint-order:stroke;stroke:#07101c;stroke-width:3px;font-weight:700;pointer-events:none}.edge.selected path{stroke-width:5}.floating{position:absolute;left:16px;bottom:14px;width:330px;background:rgba(8,13,23,.88);border:1px solid #334155;border-radius:12px;padding:12px;font-size:12px;backdrop-filter:blur(8px)}.legend span{display:block;color:#cbd5e1;margin:6px 0;font-weight:600}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:-1px}.company{background:#38bdf8}.person{background:#f97316}.aurum{background:#c084fc}.mining{background:#22c55e}.govt{background:#facc15}.deal{background:#fb7185}.creditor{background:#64748b}.line{display:inline-block;width:28px;height:0;border-top:3px solid;margin-right:8px;vertical-align:middle}.confirmed{border-color:#8bd3ff}.claimed{border-color:#ffd166}.speculative{border-color:#c084fc;border-top-style:dashed}.missing{border-color:#fb7185;border-top-style:dotted}.related{border-color:#ef4444}.tables{padding:18px;background:#0b111c}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tab{background:#1e293b}.tab.active{background:#2563eb}.filterRow{margin-bottom:10px}.filterRow input{width:420px;max-width:100%}.tabContent{display:none}.tabContent.active{display:block}table{width:100%;border-collapse:collapse;background:#0f1724;border:1px solid #334155;border-radius:12px;overflow:hidden}th,td{border-bottom:1px solid #253246;text-align:left;vertical-align:top;padding:9px 10px;font-size:12px}th{position:sticky;top:0;background:#111c2e;color:#dbeafe;z-index:2}td{color:#cbd5e1}tr:hover td{background:#132036}footer{padding:16px 22px;color:#94a3b8;background:#050914;border-top:1px solid #253246;font-size:12px}.pill{display:inline-block;border-radius:999px;padding:2px 8px;background:#172033;border:1px solid #334155;font-weight:800}.pill.Critical{background:#450a0a;color:#fecaca;border-color:#991b1b}.pill.High{background:#431407;color:#fed7aa;border-color:#9a3412}.pill.Medium{background:#422006;color:#fde68a;border-color:#a16207}.pill.Low{background:#052e16;color:#bbf7d0;border-color:#166534}@media(max-width:1100px){.layout{grid-template-columns:1fr;height:auto}.graphPanel{height:680px}.sidePanel{border-left:0;border-top:1px solid var(--border)}.toolbar{top:auto;position:relative;flex-wrap:wrap}.toolbar input{min-width:220px;flex:1}.topbar{position:relative}}

@media(max-width:700px){
  .topbar{padding:14px 14px}.topbar h1{font-size:21px;line-height:1.12}.topbar p{font-size:12px;line-height:1.35}.badges{gap:7px}.badges span{padding:7px 9px;font-size:11px}
  .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;align-items:stretch}
  .toolbar input{grid-column:1 / -1;min-width:0;width:100%;font-size:16px}.toolbar select{grid-column:1 / -1;min-width:0;width:100%;font-size:16px}.toolbar button{padding:10px 9px;font-size:13px}.check{grid-column:1 / -1;display:flex;align-items:center;gap:8px;font-size:13px}
  .layout{display:block;height:auto;min-height:0}.graphPanel{height:68vh;min-height:460px;width:100vw;max-width:100vw}.sidePanel{width:100%;padding:12px}.floating{left:10px;right:10px;bottom:10px;width:auto;max-height:40vh;overflow:auto;font-size:11px}.legend span{margin:5px 0}.tables{padding:12px;overflow-x:auto}.tabs{position:relative}.tab{padding:9px 10px;font-size:11px}table{min-width:900px}th,td{font-size:11px;padding:8px}.filterRow input{width:100%;font-size:16px}
}
