.cyber-report { --cyber-accent: var(--brand-primary); }
.cyber-hero {
  background: radial-gradient(ellipse at 85% 10%, var(--hero-glow), transparent 55%), var(--bg);
  border-bottom: 1px solid var(--border);
}
.cyber-hero-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr); gap: 64px; align-items: center; padding: 78px 0 76px; }
.cyber-hero-grid > *, .cyber-reading-grid > * { min-width: 0; }
.cyber-issue { color: var(--text-muted); font-size: .86rem; margin: 0 0 24px; }
.cyber-issue span { padding: 0 8px; color: var(--cyber-accent); }
.cyber-hero h1 { font-size: clamp(2.7rem, 4.7vw, 4.6rem); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 26px; max-width: 13ch; }
.cyber-hero h1 span { color: var(--cyber-accent); }
.cyber-hero .hero-lede { font-size: 1.2rem; max-width: 38ch; }
.cyber-thesis { background: var(--surface); border: 1px solid var(--border-strong); border-top: 3px solid var(--cyber-accent); border-radius: var(--radius-md); padding: 30px; }
.cyber-thesis p { color: var(--text-muted); }
.cyber-thesis .cyber-pullquote { color: var(--text); font-size: clamp(1.5rem, 2.3vw, 2.05rem); font-weight: 740; line-height: 1.25; letter-spacing: -.02em; margin: 20px 0; }
.cyber-thesis dl { margin: 26px 0 0; font-size: .83rem; }
.cyber-thesis dl div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; padding: 10px 0; border-top: 1px solid var(--border); }
.cyber-thesis dt { color: var(--text-muted); }
.cyber-thesis dd { margin: 0; }
.cyber-framework { padding: 50px 0; }
.cyber-framework h2 { font-size: clamp(1.6rem, 2.5vw, 2.2rem); max-width: 32ch; line-height: 1.2; margin: 0 0 25px; }
.cyber-tests { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.cyber-tests li { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 24px; }
.cyber-step { color: var(--cyber-accent); font-size: .8rem; font-weight: 750; letter-spacing: .025em; }
.cyber-tests h3 { margin: 18px 0 8px; font-size: 1.45rem; }
.cyber-tests p { color: var(--text-muted); margin: 0; }
.cyber-caption { font-size: .84rem; color: var(--text-muted); margin: 18px 0 0; }
.cyber-reading-grid { display: grid; grid-template-columns: minmax(0, 790px) minmax(220px, 1fr); align-items: start; gap: 70px; padding: 64px 0 80px; }
.cyber-copy { font-size: 1.075rem; line-height: 1.8; overflow-wrap: anywhere; }
.cyber-copy h2 { font-size: clamp(1.65rem, 2.7vw, 2.35rem); line-height: 1.22; letter-spacing: -.025em; color: var(--text); margin: 58px 0 22px; padding-top: 30px; border-top: 1px solid var(--border); scroll-margin-top: 105px; }
.cyber-copy > h2:first-child { border: 0; margin-top: 0; padding-top: 0; }
.cyber-copy p { margin: 0 0 22px; color: var(--text-muted); }
.cyber-copy strong { color: var(--text); }
.cyber-copy a { color: var(--cyber-accent); text-decoration: underline; text-underline-offset: 3px; }
.cyber-copy a:hover { color: var(--text); }
.cyber-copy li { color: var(--text-muted); margin: 0 0 14px; }
.cyber-copy ul { padding-left: 24px; }
.cyber-table-scroll { max-width: 100%; overflow-x: auto; margin: 24px 0 28px; border: 1px solid var(--border-strong); border-radius: var(--radius-md); }
.cyber-copy table { width: 100%; min-width: 630px; border-collapse: collapse; font-size: .91rem; line-height: 1.55; }
.cyber-copy caption { text-align: left; padding: 16px 18px; color: var(--text); background: var(--surface-solid); font-weight: 700; font-size: .86rem; }
.cyber-copy th, .cyber-copy td { padding: 18px; text-align: left; vertical-align: top; border-top: 1px solid var(--border); }
.cyber-copy th { color: var(--cyber-accent); background: var(--bg-soft); font-weight: 750; }
.cyber-copy td { color: var(--text-muted); }
.cyber-copy td:first-child { color: var(--text); font-weight: 650; width: 23%; }
.cyber-copy tr:nth-child(even) { background: var(--surface); }
.cyber-rail { position: sticky; top: 98px; max-height: calc(100vh - 118px); overflow-y: auto; padding-right: 6px; }
.cyber-toc { border-left: 2px solid var(--border-strong); padding-left: 22px; }
.cyber-toc .mini-label { margin: 0 0 18px; }
.cyber-toc a { display: grid; grid-template-columns: 22px 1fr; gap: 8px; color: var(--text-muted); font-size: .82rem; line-height: 1.35; padding: 8px 0; }
.cyber-toc a:hover { color: var(--cyber-accent); }
.cyber-toc a span { color: var(--cyber-accent); font-size: .73rem; padding-top: 2px; }
.cyber-rail-note { margin-top: 28px; padding: 22px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); font-size: .86rem; }
.cyber-rail-note p { color: var(--text-muted); }
.cyber-copy h2#sources-and-editorial-notes ~ p, .cyber-copy h2#sources-and-editorial-notes ~ ul { font-size: .88rem; }
.cyber-report a:focus-visible, .cyber-table-scroll:focus-visible { outline: 2px solid var(--cyber-accent); outline-offset: 5px; }
html[data-theme="light"] .cyber-report { --cyber-accent: #087c70; }
@media (max-width: 980px) {
  .cyber-hero-grid { gap: 32px; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr); }
  .cyber-reading-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .cyber-rail { position: static; order: -1; max-height: none; overflow: visible; }
  .cyber-toc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .cyber-toc .mini-label { grid-column: 1 / -1; }
  .cyber-rail-note { display: none; }
}
@media (max-width: 680px) {
  .cyber-hero-grid { grid-template-columns: minmax(0, 1fr); padding: 46px 0; gap: 30px; }
  .cyber-hero h1 { max-width: 15ch; font-size: clamp(2.25rem, 9.5vw, 3.8rem); }
  .cyber-issue { display: flex; flex-wrap: wrap; gap: 3px 0; font-size: .8rem; }
  .cyber-thesis { padding: 24px; }
  .cyber-tests { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cyber-tests li { padding: 20px; }
  .cyber-tests h3 { margin-top: 10px; }
  .cyber-framework { padding: 34px 0; }
  .cyber-reading-grid { padding: 38px 0 48px; }
  .cyber-copy { font-size: 1rem; line-height: 1.8; }
  .cyber-copy h2 { margin-top: 40px; }
  .cyber-toc { grid-template-columns: minmax(0, 1fr); }
  .cyber-copy table { font-size: .88rem; }
  .cyber-copy th, .cyber-copy td { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  .cyber-report { --text: #142028; --text-muted: #33434a; --cyber-accent: #08695f; --bg: white; --surface: white; --surface-solid: white; --bg-soft: #edf3f1; --border: #cbd3d5; --border-strong: #aab8bc; color: #142028; background: white; }
  .cyber-report .site-header, .cyber-report .site-footer, .cyber-report .hero-actions, .cyber-rail, .cyber-report .report-member-cta { display: none; }
  .cyber-report .content-shell { width: 100%; }
  .cyber-hero { background: white; }
  .cyber-hero-grid { display: block; padding: 0 0 20px; }
  .cyber-hero h1 { font-size: 32pt; max-width: none; }
  .cyber-thesis { margin-top: 20px; }
  .cyber-framework { padding: 24px 0; }
  .cyber-reading-grid { display: block; padding: 24px 0; }
  .cyber-copy { font-size: 10.5pt; line-height: 1.5; }
  .cyber-copy h2 { font-size: 20pt; break-after: avoid; }
  .cyber-table-scroll { overflow: visible; }
  .cyber-copy table { min-width: 0; font-size: 9pt; }
  .cyber-copy tr, .cyber-tests li { break-inside: avoid; }
  .cyber-copy th, .cyber-copy td { padding: 9px; }
}
