
/* ---- M&A scrolling panel ---- */
.ma-feed{max-height:70vh;overflow-y:auto;border:1px solid var(--md-default-fg-color--lightest);border-radius:.4rem;margin:.6rem 0 1.4rem;font-size:.78rem;line-height:1.45}
.ma-month{position:sticky;top:0;z-index:3;margin:0;padding:.45rem .8rem;font-weight:700;letter-spacing:.02em;background:var(--md-primary-fg-color);color:var(--md-primary-bg-color);border-top:1px solid var(--md-default-fg-color--lightest)}
.ma-group--a .ma-deal{background:color-mix(in srgb,var(--md-primary-fg-color) 7%,transparent)}
.ma-group--b .ma-deal{background:color-mix(in srgb,var(--md-default-fg-color) 4%,transparent)}
.ma-note{padding:.5rem .8rem;color:var(--md-default-fg-color--light);font-style:italic;border-bottom:1px solid var(--md-default-fg-color--lightest)}
.ma-deal{display:grid;grid-template-columns:4.2rem 1fr auto;gap:.1rem .8rem;padding:.55rem .8rem;border-bottom:1px solid var(--md-default-fg-color--lightest)}
.ma-date{color:var(--md-default-fg-color--light);font-variant-numeric:tabular-nums;white-space:nowrap}
.ma-parties{font-weight:500}
.ma-value{justify-self:end;white-space:nowrap;font-weight:600;font-size:.7rem;padding:.05rem .4rem;border-radius:.25rem;background:color-mix(in srgb,var(--md-accent-fg-color) 16%,transparent);height:fit-content}
.ma-rationale{grid-column:1/-1;color:var(--md-default-fg-color--light);font-size:.72rem}
.ma-feed a,.lb a,.tc-grid a{color:var(--md-accent-fg-color);font-weight:500}
/* ---- leaderboard ---- */
.lb{margin:1rem 0;font-size:.82rem}
.lb-row{display:grid;grid-template-columns:1.6rem 1fr auto;gap:.2rem .6rem;align-items:baseline;padding:.45rem 0;border-bottom:1px solid var(--md-default-fg-color--lightest)}
.lb-rank{font-weight:700;color:var(--md-default-fg-color--light);text-align:right}
.lb-name{font-weight:600}
.lb-aka{color:var(--md-default-fg-color--light);font-weight:400;font-size:.72rem}
.lb-val{justify-self:end;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--md-default-fg-color--light);font-size:.74rem}
.lb-bar-wrap{grid-column:2/-1;height:.45rem;background:color-mix(in srgb,var(--md-default-fg-color) 9%,transparent);border-radius:.25rem;overflow:hidden;margin-top:.25rem}
.lb-bar{height:100%;background:var(--md-primary-fg-color);border-radius:.25rem}
/* ---- battle-card grid + header ---- */
.tc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;margin:1rem 0}
.tc-tile{display:block;border:1px solid var(--md-default-fg-color--lightest);border-radius:.5rem;padding:.8rem;text-decoration:none!important;color:inherit;transition:border-color .15s,transform .15s}
.tc-tile:hover{border-color:var(--md-accent-fg-color);transform:translateY(-2px)}
.tc-name{font-weight:700;font-size:.92rem}
.tc-flag,.lb-flag{font-size:1rem;font-style:normal}
.lb-flag{margin-right:7px}
.tc-cat{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--md-default-fg-color--light);margin-top:.15rem}
.tc-line{font-size:.75rem;color:var(--md-default-fg-color--light);margin-top:.45rem}
.tc-head{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1.2rem}
.tc-stat{border:1px solid var(--md-default-fg-color--lightest);border-radius:.4rem;padding:.35rem .6rem;font-size:.78rem;min-width:5rem}
.tc-stat b{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:var(--md-default-fg-color--light);font-weight:600;margin-bottom:.1rem}
.tc-active{border-color:color-mix(in srgb,#e5484d 55%,var(--md-default-fg-color--lightest))}
/* ---- attack feed (shared scroll panel; reuses .ma-feed / .ma-month / .ma-group) ---- */
.at-row{display:grid;grid-template-columns:4.6rem 1fr auto;gap:.05rem .7rem;padding:.5rem .8rem;border-bottom:1px solid var(--md-default-fg-color--lightest)}
.ma-group--a .at-row{background:color-mix(in srgb,var(--md-primary-fg-color) 7%,transparent)}
.ma-group--b .at-row{background:color-mix(in srgb,var(--md-default-fg-color) 4%,transparent)}
.at-date{color:var(--md-default-fg-color--light);font-variant-numeric:tabular-nums;white-space:nowrap}
.at-victim{font-weight:600}
.at-actor{justify-self:end;white-space:nowrap;font-size:.72rem;font-weight:600;padding:.05rem .45rem;border-radius:.25rem;background:color-mix(in srgb,var(--md-accent-fg-color) 16%,transparent);height:fit-content}
.at-actor a{color:inherit!important}
.at-meta{grid-column:1/-1;color:var(--md-default-fg-color--light);font-size:.72rem}
.at-threat{text-transform:uppercase;font-size:.62rem;letter-spacing:.03em;font-weight:700;color:var(--md-accent-fg-color)}
.at-desc{grid-column:1/-1;font-size:.74rem;margin-top:.15rem;line-height:1.4}
.at-desc .at-src{color:var(--md-default-fg-color--light)}
.at-desc a{color:var(--md-accent-fg-color)}
.at-cred{font-weight:700;font-size:.7rem}
.at-cred.r{color:var(--bs-red)}
.at-cred.g{color:var(--bs-green)}
/* ---- victim database sortable table ---- */
.vdb-wrap{max-height:72vh;overflow:auto;border:1px solid var(--md-default-fg-color--lightest);border-radius:.4rem;margin:1rem 0}
table.vdb{width:100%;border-collapse:collapse;font-size:.76rem}
table.vdb th{position:sticky;top:0;background:var(--md-primary-fg-color);color:var(--md-primary-bg-color);text-align:left;padding:.45rem .6rem;cursor:pointer;white-space:nowrap;user-select:none;z-index:2}
table.vdb th:hover{filter:brightness(1.1)}
table.vdb th[data-dir=asc]::after{content:" ▲";font-size:.7em}
table.vdb th[data-dir=desc]::after{content:" ▼";font-size:.7em}
table.vdb td{padding:.4rem .6rem;border-bottom:1px solid var(--md-default-fg-color--lightest);vertical-align:top}
table.vdb td.vdb-date{white-space:nowrap}
table.vdb tbody tr:nth-child(odd){background:color-mix(in srgb,var(--md-default-fg-color) 3%,transparent)}
table.vdb a{color:var(--md-accent-fg-color);font-weight:500}

/* =========================================================================
   Brand theme — near-black navy, electric-blue accent, dot-grid.
   Recolours Material's tokens, which re-skins every custom component above.
   ========================================================================= */
:root{
  --bs-bg:#0A0F1C; --bs-elev:#111A2B; --bs-card:#0E1626;
  --bs-accent:#4D6BFE; --bs-accent-soft:rgba(77,107,254,.14);
  --bs-text:#EAEFF7; --bs-dim:#8A96AD; --bs-line:rgba(255,255,255,.09);
  --bs-red:#FF5A65; --bs-amber:#FFB454; --bs-green:#3FD2A4;
  --bs-font:"Inter",system-ui,-apple-system,"SF Pro Display","Segoe UI",sans-serif;
}
[data-md-color-scheme="slate"]{
  --md-hue:222;
  --md-default-bg-color:var(--bs-bg);
  --md-default-fg-color:var(--bs-text);
  --md-default-fg-color--light:#A6B0C3;
  --md-default-fg-color--lighter:var(--bs-dim);
  --md-default-fg-color--lightest:var(--bs-line);
  --md-primary-fg-color:var(--bs-bg);
  --md-primary-bg-color:var(--bs-text);
  --md-accent-fg-color:var(--bs-accent);
  --md-typeset-a-color:#6E86FF;
  --md-code-bg-color:#0E1626;
  --md-code-fg-color:#cdd6e6;
}
body,.md-typeset{font-family:var(--bs-font)}
.md-main,.md-container{
  background:
    radial-gradient(1100px 560px at 82% -8%,rgba(77,107,254,.16),transparent 60%),
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.045) 1px,transparent 0);
  background-size:auto,22px 22px;background-attachment:fixed;
}
.md-header{background:rgba(10,15,28,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--bs-line);box-shadow:none}
.md-tabs{background:transparent;border-bottom:1px solid var(--bs-line)}
/* Left sidebar nav is the primary navigation. Hide only the per-post meta sidebar
   (date/back-link) — the brief renders its own pill/title. */
.md-sidebar--post{display:none}
.md-header__title{font-weight:800;letter-spacing:-.01em}
.md-typeset h1{font-weight:800;letter-spacing:-.03em}
.md-typeset h2{font-weight:700;letter-spacing:-.02em}
.md-typeset h2,.md-typeset h3{color:var(--bs-text)}
.md-nav__title,.md-tabs__link{font-weight:600}
.md-footer,.md-footer-meta{background:#070B14}
.md-typeset .md-button{border-radius:10px}
.md-typeset table:not([class]){border:1px solid var(--bs-line);border-radius:10px;overflow:hidden}
.md-typeset table:not([class]) th{background:var(--bs-elev)}
/* search + admonitions on-brand */
.md-search__form{border-radius:10px}
.md-typeset .admonition,.md-typeset details{border-radius:10px;border-color:var(--bs-line)}

/* ---- Home dashboard (Direction A) ---- */
.na-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 26px}
.na-kpi{background:linear-gradient(180deg,var(--bs-elev),var(--bs-card));border:1px solid var(--bs-line);border-radius:14px;padding:15px 16px}
.na-kpi .lab{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bs-dim)}
.na-kpi .val{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:8px;line-height:1}
.na-kpi .meta{font-size:12px;color:var(--bs-dim);margin-top:5px}
.na-kpi.lvl-high .val{color:var(--bs-red)} .na-kpi.lvl-elevated .val{color:var(--bs-amber)} .na-kpi.lvl-guarded .val{color:var(--bs-green)}
.na-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}
.na-geo{margin-bottom:26px;border-left:2px solid var(--bs-accent)}
.na-geo-list{margin:0;padding:0;list-style:none}
.na-geo-list li{padding:10px 0 10px 20px;border-bottom:1px solid var(--bs-line);font-size:14px;line-height:1.5;position:relative}
.na-geo-list li:last-child{border:0}
.na-geo-list li::before{content:"◆";position:absolute;left:0;top:11px;color:var(--bs-accent);font-size:9px}
.na-geo-list strong{color:var(--bs-text)}
.na-panel{background:var(--bs-card);border:1px solid var(--bs-line);border-radius:16px;padding:18px 20px}
.na-panel>h2{font-size:12px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--bs-dim);font-weight:700;margin:0 0 12px;border:0;display:flex;justify-content:space-between}
.na-panel>h2 a{font-size:12px;letter-spacing:0;text-transform:none}
.na-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--bs-line);font-size:13.5px}
.na-row:last-child{border:0}
.na-rank{color:var(--bs-accent);font-weight:800;width:20px}
.na-row .v{color:var(--bs-dim);font-size:12.5px}
.na-deal{padding:10px 0;border-bottom:1px solid var(--bs-line);font-size:13.5px}
.na-deal:last-child{border:0}.na-deal .tag{font-size:11px;font-weight:700;padding:1px 7px;border-radius:6px;background:var(--bs-accent-soft);color:var(--bs-accent);margin-left:6px}
.na-deal .d{color:var(--bs-dim);font-size:12px;margin-top:2px}
/* ---- CISA KEV deadline panel ---- */
.na-kev{margin-bottom:26px}
.na-kev .na-row{gap:10px}
.kev-cve{color:var(--bs-accent);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.kev-prod{flex:1;color:var(--bs-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kev-rw{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--bs-red);background:rgba(255,90,101,.16);padding:1px 6px;border-radius:5px;margin-left:6px}
.kev-due{font-size:12px;font-weight:700;white-space:nowrap;color:var(--bs-dim)}
.kev-due.r{color:var(--bs-red)}.kev-due.a{color:var(--bs-amber)}
.kev-foot{margin-top:12px;font-size:12px;color:var(--bs-dim)}
/* ---- Sources page (reuses .na-panel / .na-row) ---- */
.na-sources .na-row{display:grid;grid-template-columns:1.4rem 1fr 5rem;gap:0 14px;align-items:baseline}
.src-glyph{font-style:normal;line-height:1}
.src-name{font-weight:600}
.src-name a{color:var(--bs-accent)}
.src-chk{justify-self:end;font-variant-numeric:tabular-nums;font-size:11.5px;white-space:nowrap;color:var(--bs-dim)}
.src-cited{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--bs-green);background:rgba(63,210,164,.16);padding:1px 6px;border-radius:5px;margin-left:6px}
.src-catcount{font-size:11px;font-weight:700;color:var(--bs-dim);background:var(--bs-accent-soft);padding:1px 8px;border-radius:6px;margin-left:8px;vertical-align:middle}
.src-legend,.src-cover{font-size:13px;color:var(--bs-dim)}
.src-cover a{color:var(--bs-accent)}
.src-filter{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}
.src-filter button{border:1px solid var(--bs-line);background:transparent;color:var(--bs-dim);border-radius:8px;padding:4px 12px;font-size:12px;cursor:pointer}
.src-filter button.on{border-color:var(--bs-accent);color:var(--bs-accent)}
.src-row.hide{display:none}
@media(max-width:680px){.na-sources .na-row{grid-template-columns:1.4rem 1fr}.src-chk{grid-column:2/-1;justify-self:start}}
@media(max-width:900px){.na-kpis{grid-template-columns:repeat(2,1fr)}}

/* ===== Intelligence-brief template (home-b-brief.html) — Today + briefing pages =====
   A brief page is any .md-typeset that contains a .brief-pill. */
.md-typeset:has(.brief-pill){max-width:792px;margin-left:auto;margin-right:auto}
.brief-kicker{margin:0 0 18px}
.brief-pill,.md-post__meta time{display:inline-block;border:1px solid var(--bs-accent);color:var(--bs-accent);
  border-radius:8px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.md-post__meta time::before{content:"Confidential · "}
.md-typeset:has(.brief-pill) h1{font-size:clamp(34px,6vw,56px);line-height:1.02;font-weight:800;
  letter-spacing:-.035em;margin:0 0 16px}
.md-typeset:has(.brief-pill) h1 .headerlink,.md-typeset:has(.brief-pill) h2 .headerlink{display:none}
.brief-deck{font-size:18px;color:var(--bs-dim);max-width:62ch;margin:0 0 4px}
.brief-rule{height:1px;background:var(--bs-line);margin:24px 0 0;position:relative}
.brief-rule::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--bs-accent)}
.brief-meta{display:flex;flex-wrap:wrap;gap:10px 26px;color:var(--bs-dim);font-size:13px;margin:22px 0 0}
.brief-meta b{color:var(--bs-text);font-weight:700}
.brief-meta b.lvl-high{color:var(--bs-red)}.brief-meta b.lvl-elevated{color:var(--bs-amber)}.brief-meta b.lvl-guarded{color:var(--bs-green)}
/* section eyebrow (markdown h2 inside a brief) */
.md-typeset:has(.brief-pill) h2{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bs-accent);font-weight:700;margin:0;padding:36px 0 2px;border:0}
/* stories */
.brief-stories{border-bottom:1px solid var(--bs-line);padding-bottom:6px;counter-reset:story}
.brief-subhead{font-weight:700;color:var(--bs-text);font-size:13px;margin:18px 0 2px}
.brief-note{color:var(--bs-dim);font-size:13px;margin:10px 0}
.brief-note a{color:var(--bs-accent)}
.story{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:15px 0;border-top:1px solid var(--bs-line);counter-increment:story}
.story:first-of-type{border-top:0}
.story--sub{margin-left:30px}
.story__n::before{content:counter(story,decimal-leading-zero);color:var(--bs-dim);font-weight:700;font-size:14px}
.story__t{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--bs-text)}
.story__b{display:block;color:var(--bs-dim);font-size:15px;margin-top:5px;line-height:1.55}
.story__b a{color:var(--bs-accent)}
.sevtag{font-size:10px;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:5px;vertical-align:middle;margin-left:8px;text-transform:uppercase}
.sevtag.r{background:rgba(255,90,101,.16);color:var(--bs-red)}
.sevtag.a{background:rgba(255,180,84,.16);color:var(--bs-amber)}
.sevtag.g{background:rgba(63,210,164,.16);color:var(--bs-green)}
/* two-column footer (threat actors / M&A) */
.brief-foot{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:30px}
.brief-foot .eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-accent);font-weight:700;margin-bottom:8px}
.brief-foot .mini{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--bs-line);font-size:14px}
.brief-foot .mini:first-of-type{border:0}
.brief-foot .mini .v{color:var(--bs-accent);font-weight:700}
.brief-foot a{color:var(--bs-text)}
/* Past Briefings list appended below the TOC */
.pastb{margin-top:24px;border-top:1px solid var(--bs-line);padding-top:14px}
.pastb-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bs-dim);font-weight:700;margin-bottom:10px}
.pastb-l{max-height:300px;overflow-y:auto}
.pastb-i{display:block;padding:7px 12px 7px 0;border-bottom:1px solid var(--bs-line);font-size:12.5px;color:var(--bs-text);text-decoration:none;line-height:1.35}
.pastb-i:last-child{border:0}
.pastb-i:hover{color:var(--bs-accent)}
.pastb-d{display:block;font-size:10.5px;color:var(--bs-dim);letter-spacing:.04em}
@media(max-width:680px){.brief-foot{grid-template-columns:1fr;gap:8px}}

/* ---- Today page: dashboard on top, then briefing + archive two-column ---- */
.today-h{font-size:13px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--bs-dim);
  font-weight:700;margin:34px 0 6px;border:0;padding:0}
.today-brief{display:grid;grid-template-columns:1fr 280px;gap:30px;align-items:start}
.today-brief__side{position:sticky;top:80px}
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-accent);
  font-weight:700;margin:30px 0 2px;padding-top:18px;border-top:1px solid var(--bs-line)}
.today-brief__main>.eyebrow:first-child{border-top:0;padding-top:0;margin-top:0}
@media(max-width:900px){.today-brief{grid-template-columns:1fr}.today-brief__side{position:static}}
