:root{
  --bg:#0b1020; --bg2:#111936; --card:#16204a; --card2:#1a2653;
  --ink:#eef1ff; --mut:#9aa6d0; --line:rgba(255,255,255,.1);
  --red:#ff6b6b; --org:#ffa94d; --yel:#ffd43b; --grn:#51cf66; --blu:#74c0fc; --vio:#b197fc;
  --max:1080px; --rad:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#1c2a63 0%,var(--bg) 55%) fixed,var(--bg);color:var(--ink);
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,-apple-system,sans-serif;line-height:1.75}
a{color:var(--blu)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.hero{padding:72px 0 40px;text-align:center}
.kicker{display:inline-block;font-size:13px;letter-spacing:.2em;color:var(--org);border:1px solid rgba(255,169,77,.4);
  padding:6px 14px;border-radius:999px;margin-bottom:18px}
.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.25;margin:.2em 0}
.hero p.lead{color:var(--mut);font-size:clamp(15px,2.2vw,19px);max-width:760px;margin:0 auto}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:34px 0 8px}
.kpi{background:linear-gradient(180deg,var(--card),var(--card2));border:1px solid var(--line);border-radius:var(--rad);padding:18px 12px}
.kpi b{display:block;font-size:clamp(24px,4vw,38px);line-height:1.1}
.kpi.crit b{color:var(--red)} .kpi.warn b{color:var(--org)} .kpi.info b{color:var(--blu)} .kpi.ok b{color:var(--grn)}
.kpi span{font-size:13px;color:var(--mut)}
.sec{padding:44px 0;border-top:1px solid var(--line)}
.sec h2{font-size:clamp(22px,3.4vw,32px);margin:0 0 6px}
.sec .sub{color:var(--mut);margin:0 0 22px;max-width:820px}
.axis{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.axis .card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:22px}
.axis .card h3{margin:0 0 8px;font-size:19px}
.axis .card p{margin:0;color:var(--mut);font-size:15px}
.axis .card.weapon{border-top:4px solid var(--red)} .axis .card.amp{border-top:4px solid var(--blu)}
.chart{width:100%;height:480px;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:var(--rad)}
.chart.tall{height:560px}
.legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--mut);font-size:13px;margin:10px 2px 0}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:baseline}
.tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.track{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:22px}
.track h3{margin:0 0 4px;font-size:18px}
.track .cases{margin:12px 0;padding:0;list-style:none}
.track .cases li{font-size:14px;background:rgba(255,255,255,.05);border-radius:8px;padding:6px 10px;margin-bottom:6px}
.track .fix{font-size:14px;color:var(--grn);border-top:1px dashed var(--line);padding-top:10px;margin:10px 0 0}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.icard{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:22px;position:relative}
.icard.sev-Critical{border-left:6px solid var(--red)}
.icard.sev-High{border-left:6px solid var(--org)}
.icard.sev-Medium{border-left:6px solid var(--yel)}
.icard h3{margin:0 0 6px;font-size:18px;padding-right:86px}
.badge{position:absolute;top:20px;right:18px;font-size:12px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line)}
.badge.s-Critical{color:var(--red);border-color:var(--red)} .badge.s-High{color:var(--org);border-color:var(--org)} .badge.s-Medium{color:var(--yel);border-color:var(--yel)}
.icard .plain{font-size:15px}
.icard ul{margin:10px 0;padding-left:20px;font-size:14px;color:var(--mut)}
.icard .meta{font-size:13px;color:var(--mut);border-top:1px dashed var(--line);padding-top:10px;margin-top:10px}
.icard .future{font-size:14px;color:var(--blu)}
.evnote{font-size:13px;color:var(--yel)}
.futures{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.future-card{background:linear-gradient(180deg,#2a1a3e,#1a1440);border:1px solid rgba(177,151,252,.35);border-radius:var(--rad);padding:22px}
.future-card h3{margin:0 0 8px;font-size:17px;color:var(--vio)}
.future-card p{margin:0 0 8px;font-size:15px}
.future-card .from{font-size:13px;color:var(--mut)}
footer{padding:36px 0 60px;color:var(--mut);font-size:13px;border-top:1px solid var(--line)}
.toc{position:sticky;top:0;z-index:5;background:rgba(11,16,32,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.toc .wrap{display:flex;gap:4px;overflow-x:auto;padding:10px 20px}
.toc a{white-space:nowrap;font-size:13px;color:var(--mut);text-decoration:none;padding:6px 12px;border-radius:999px}
.toc a:hover{background:rgba(255,255,255,.08);color:var(--ink)}
@media(max-width:760px){
  .kpis{grid-template-columns:1fr 1fr}
  .axis,.tracks,.cards,.futures{grid-template-columns:1fr}
  .chart{height:420px}.chart.tall{height:520px}
  .hero{padding:48px 0 28px}
}
