:root{
  --bg:#08111f;
  --bg2:#0c1729;
  --line:#223554;
  --text:#e6eefc;
  --muted:#9fb2d1;
  --accent:#7dd3fc;
  --gold:#f8d37a;
  --shadow:0 20px 45px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at top left,rgba(56,189,248,.16),transparent 28%),
    radial-gradient(circle at top right,rgba(168,85,247,.12),transparent 22%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
  min-height:100vh;
}
.wrap{padding:28px 24px 32px;max-width:1600px;margin:0 auto}
.hero{
  display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;
  background:linear-gradient(180deg,rgba(17,28,51,.85),rgba(10,18,34,.7));
  border:1px solid rgba(125,211,252,.18);
  border-radius:24px;padding:24px 24px 20px;box-shadow:var(--shadow)
}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
h1{margin:0;font-size:32px;line-height:1.08}
.meta,.submeta{color:var(--muted);font-size:14px}
.submeta{margin-top:8px;max-width:900px}
.stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.stat{min-width:120px;padding:12px 14px;border-radius:14px;background:rgba(11,20,39,.72);border:1px solid rgba(159,178,209,.14)}
.stat .n{display:block;font-size:22px;font-weight:700;color:#fff}
.stat .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.board{display:grid;grid-template-columns:repeat(5,minmax(260px,1fr));gap:14px;margin-top:18px;align-items:start}
.col{background:rgba(8,15,29,.72);border:1px solid rgba(125,211,252,.12);border-radius:20px;padding:12px;backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.colhead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 4px 10px}
.coltitle{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c6d5ef}
.pill{font-size:12px;color:#cde7ff;background:rgba(61,90,140,.34);border:1px solid rgba(125,211,252,.16);padding:3px 8px;border-radius:999px}
.card{background:linear-gradient(180deg,rgba(18,33,59,.94),rgba(11,21,39,.94));border:1px solid var(--line);border-left:6px solid #64748b;border-radius:16px;padding:12px;margin:10px 0;overflow:hidden}
.card:hover{transform:translateY(-1px);transition:.15s ease}
.cardtop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cid{font-size:11px;color:#b9c8df;letter-spacing:.08em;text-transform:uppercase}
.title{font-size:15px;font-weight:700;line-height:1.3;color:#fff;margin-top:2px}
.titleBtn{cursor:pointer;border:0;background:transparent;color:#fff;font:inherit;text-align:left;padding:0}
.titleBtn:hover{text-decoration:underline;text-underline-offset:3px}
.titleBtn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.desc{font-size:13px;line-height:1.55;color:#c7d5ea;margin-top:8px}
.desc a{color:#fff;text-decoration:underline;font-weight:700}
.desc a:visited{color:#fff}
.metaRow{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;font-size:12px;color:var(--muted)}
.tags,.links,.actions,.modalLinks,.modalTags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tag{font-size:11px;padding:4px 7px;border-radius:999px;background:rgba(125,211,252,.08);border:1px solid rgba(125,211,252,.12);color:#cde7ff}
.linkpill,.docMore,.checkpointBtn{font-size:11px;border-radius:999px;text-decoration:none}
.linkpill{padding:4px 7px;background:rgba(248,211,122,.10);border:1px solid rgba(248,211,122,.18);color:#fff}
.linkpill:hover{text-decoration:underline}
.docMore{padding:4px 7px;background:rgba(148,163,184,.10);border:1px solid rgba(148,163,184,.18);color:#dbeafe}
.checkpointBtn{cursor:pointer;border:1px solid rgba(125,211,252,.26);background:linear-gradient(180deg,rgba(14,165,233,.2),rgba(14,165,233,.08));color:#e8f7ff;padding:7px 10px;font-weight:700;letter-spacing:.02em}
.checkpointBtn:hover{border-color:rgba(125,211,252,.55);transform:translateY(-1px)}
.modalOverlay{position:fixed;inset:0;background:rgba(2,6,23,.78);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:22px;z-index:1000}
.modalOverlay.open{display:flex}
.modal{width:min(1180px,96vw);max-height:90vh;overflow:hidden;background:linear-gradient(180deg,rgba(15,27,49,.98),rgba(8,15,29,.98));border:1px solid rgba(125,211,252,.22);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.modalHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid rgba(125,211,252,.14)}
.modalEyebrow{font-size:11px;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.modalTitle{font-size:21px;font-weight:800;color:#fff;line-height:1.2}
.modalSub{color:var(--muted);font-size:13px;margin-top:7px}
.closeBtn{cursor:pointer;border:1px solid rgba(159,178,209,.2);background:rgba(15,23,42,.8);color:#dbeafe;border-radius:12px;padding:8px 11px;font-size:18px;line-height:1}
.modalBody{padding:16px 22px 22px;overflow:auto;max-height:calc(90vh - 150px)}
.modalLinks{margin-top:0;margin-bottom:14px}
.checkpointSummary{display:flex;gap:8px;flex-wrap:wrap;padding:14px 22px 0}
.summaryPill{font-size:12px;border-radius:999px;padding:6px 9px;border:1px solid rgba(125,211,252,.15);background:rgba(125,211,252,.08);color:#d8eeff}
.checkpointTable{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:13px}
.checkpointTable th{text-align:center;color:#b9c8df;font-size:11px;text-transform:uppercase;letter-spacing:.09em;padding:0 8px 4px}
.checkpointTable th:first-child{text-align:left}
.checkpointTable td{background:rgba(15,23,42,.64);border-top:1px solid rgba(125,211,252,.10);border-bottom:1px solid rgba(125,211,252,.10);padding:10px 9px;vertical-align:middle}
.checkpointTable td:first-child{border-left:1px solid rgba(125,211,252,.10);border-radius:12px 0 0 12px;color:#eaf2ff;font-weight:650}
.checkpointTable td:last-child{border-right:1px solid rgba(125,211,252,.10);border-radius:0 12px 12px 0}
.statusCell{text-align:center;font-size:18px;min-width:86px}
.sourceNote{display:block;color:#8ea3c5;font-size:11px;font-weight:500;margin-top:3px}
@media (max-width:1450px){.board{grid-template-columns:repeat(3,minmax(260px,1fr))}}
@media (max-width:980px){.board{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media (max-width:640px){.wrap{padding:16px}.hero{padding:18px}.board{grid-template-columns:1fr}h1{font-size:26px}}
