
:root{--ink:#d8e9f0;--muted:#8eaab8;--bg:#071a29;--panel:#0d2a3c;--line:#23516a;--cyan:#34d5d0;--blue:#4da7ed;--gold:#e7b96b;--red:#f07478}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei",Arial,sans-serif}body{padding:22px}a{color:inherit;text-decoration:none}.app{max-width:1500px;margin:auto;border:1px solid var(--line);background:#081f30;box-shadow:0 18px 50px #020b14aa}.top{min-height:74px;padding:15px 24px;display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--line);background:#0b2b40}.brand{font-weight:700;font-size:20px;letter-spacing:1px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:4px}.status{margin-left:auto;color:var(--cyan);font-size:13px}.nav{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line)}.nav a{padding:9px 16px;border:1px solid transparent;color:var(--muted);font-size:13px}.nav a.active,.nav a:hover{border-color:#2d899b;background:#123e4d;color:#fff}.content{padding:18px}.grid{display:grid;gap:14px}.panel{border:1px solid var(--line);background:linear-gradient(150deg,#10344a,#0a2536);padding:18px}.panel h2,.panel h3{margin:0 0 12px}.eyebrow{color:var(--cyan);font-size:11px;letter-spacing:2px}.muted{color:var(--muted)}.metric{font-size:26px;font-weight:700;color:var(--cyan)}.metric small{font-size:12px;color:var(--muted);font-weight:400}.pill{display:inline-block;padding:5px 9px;border:1px solid #36758a;color:var(--cyan);font-size:12px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:10px;border-bottom:1px solid #1c465a;text-align:left}.table th{color:var(--muted);font-weight:400}.bar{height:8px;background:#143c50}.bar i{display:block;height:100%;background:var(--cyan)}.map{position:relative;min-height:620px;overflow:hidden;background:radial-gradient(circle at 48% 45%,#17485b 0 3%,transparent 4%),linear-gradient(135deg,#0b2a3a,#071824)}.map:before,.map:after{content:"";position:absolute;inset:8% 12%;border:1px solid #2d7480;transform:rotate(-10deg) skew(-12deg);opacity:.55}.map:after{inset:19% 22%;border-color:#3b8f81;transform:rotate(24deg) skew(10deg)}.river{position:absolute;width:120%;height:90px;left:-8%;top:52%;background:#0d5770;transform:rotate(-18deg);box-shadow:0 0 0 8px #155c6b55}.node{position:absolute;padding:8px 12px;border:1px solid #397a94;background:#0d3349;color:#dff8f7;font-size:12px;box-shadow:0 0 0 4px #34d5d044}.node b{display:block;color:var(--cyan);font-size:17px}.node.n1{left:25%;top:28%}.node.n2{left:51%;top:22%}.node.n3{left:69%;top:43%}.node.n4{left:42%;top:61%}.node.n5{left:72%;top:73%}.legend{position:absolute;left:18px;bottom:18px;padding:12px;background:#081e2dcc;border:1px solid var(--line);font-size:12px;color:var(--muted)}.legend span{display:block;margin:6px 0}.legend i{display:inline-block;width:22px;height:4px;background:var(--cyan);vertical-align:middle;margin-right:8px}.legend i.gold{background:var(--gold)}.chart{height:150px;display:flex;align-items:end;gap:7px;padding-top:20px}.chart i{flex:1;background:linear-gradient(#4da7ed,#175a83);min-height:14px}.chart i:nth-child(2n){background:linear-gradient(#34d5d0,#17647a)}.alert{border-left:4px solid var(--gold);padding:10px 12px;background:#182f3c;margin-top:8px}.alert.high{border-color:var(--red)}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.footer{padding:14px 18px;color:var(--muted);border-top:1px solid var(--line);font-size:12px}@media(max-width:900px){body{padding:8px}.hero,.two{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.nav{overflow:auto;flex-wrap:nowrap}.map{min-height:480px}.top{align-items:flex-start;flex-wrap:wrap}.status{margin-left:0;width:100%}}

.network-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.node{z-index:2;text-align:left;cursor:pointer;font-family:inherit}.node:hover,.node:focus-visible,.node.selected{border-color:#e7b96b;outline:2px solid #e7b96b}.map:before,.map:after{pointer-events:none}.legend{z-index:2}.table{table-layout:fixed}.table td,.table th{overflow-wrap:anywhere}.chart{position:relative;border-bottom:1px solid #43647a;background:repeating-linear-gradient(to top,transparent 0,transparent 36px,#244b5c 37px,transparent 38px)}
@media(max-width:640px){.node{padding:6px;font-size:10px}.node.n3{left:65%}.node.n5{left:67%}.node b{font-size:14px}.table th,.table td{padding:7px 5px;font-size:11px}.metric small{display:inline-block}.panel{min-width:0;padding:14px}}

.panel h1{font-size:24px;line-height:1.35;margin:0 0 12px}
