/* Reports unified magazine theme (safe v1)
   Safety goals:
   - NO DOM reflow / NO auto TOC generation
   - Only provides a top fixed nav bar + optional TOC styling
   - Works as an overlay on existing report pages
*/

:root{
  --mag-paper:#F7F5F0;
  --mag-paper2:#FDFCF9;
  --mag-ink:#111;
  --mag-ink2:#2A2A2A;
  --mag-muted:#667085;
  --mag-rule:rgba(17,17,17,.20);
  --mag-accent:#b21e1e;
  --mag-radius:14px;
  --mag-shadow: 0 14px 30px rgba(15, 23, 42, .10);
  --mag-shadow-soft: 0 10px 20px rgba(15, 23, 42, .08);
  --mag-sans: ui-sans-serif, -apple-system, system-ui, Segoe UI, Roboto, "Noto Sans SC", Arial, sans-serif;
}

/* top nav */
.report-topbar{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 999;
  background: rgba(253,252,249,.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.report-topbar .inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.report-topbar .left,.report-topbar .right{display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.report-topbar a{
  font: 700 12px/1 var(--mag-sans);
  letter-spacing:.08em;
  text-transform: uppercase;
  color: var(--mag-ink);
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}
.report-topbar a:hover{border-color: rgba(178,30,30,.35)}
.report-topbar .badge{
  font: 700 12px/1 var(--mag-sans);
  color: var(--mag-muted);
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.55);
  border-radius: 999px;
  padding: 8px 10px;
}

/* reserve space for fixed bar */
body{scroll-padding-top: 80px;}
body.report-has-topbar{padding-top: 56px;}

/* TOC styling (only if page already has nav.toc) */
nav.toc{
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.72);
  border-radius: var(--mag-radius);
  box-shadow: var(--mag-shadow-soft);
  overflow: hidden;
}
nav.toc .toc-title{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(0,0,0,.10);
  font: 900 13px/1 var(--mag-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mag-muted);
}
nav.toc ul{list-style:none; margin:0; padding:10px 12px;}
nav.toc a{
  display:block;
  padding: 8px 8px;
  border-radius: 10px;
  text-decoration:none;
  color: var(--mag-ink2);
  font: 13px/1.35 var(--mag-sans);
}
nav.toc a:hover{background: rgba(178,30,30,.08);}

/* Figures: remove heavy frames/padding used by older pages; keep a clean lifted image */
figure{
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
figure img, img.tweetimg{
  border-radius: var(--mag-radius);
  box-shadow: var(--mag-shadow);
}
figcaption{
  margin-top: 8px;
  color: var(--mag-muted);
  font: 12px/1.6 var(--mag-sans);
}

/* Compact, consistent blocks (does not change layout) */
.callout, .panel, .card, .step, .tactic{
  box-shadow: var(--mag-shadow-soft);
}
