:root {
  --ink: #161514;
  --muted: #5d5a52;
  --paper: #f6f8f5;
  --paper-strong: #e8f0ea;
  --night: #18232b;
  --acid: #c7ff3d;
  --gold: #ffc000;
  --teal: #009a8a;
  --red: #d13f32;
  --orange: #f28a2e;
  --blue: #286fb4;
  --green: #168044;
  --line: #25211a;
  --soft-line: rgba(22, 21, 20, .18);
  --shadow: 0 18px 50px rgba(22, 21, 20, .14);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(22, 21, 20, .04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(22, 21, 20, .04) 1px, transparent 1px),
    var(--paper);
  background-size: 28px 28px;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.55;
}

button, input, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }

body.entry-locked {
  background: #0f0c12;
}

body.entry-locked .skip-link,
body.entry-locked .topbar,
body.entry-locked #main,
body.entry-locked .site-footer {
  display: none;
}

.entry-gate {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 30px;
  padding: 0 18px 42px;
  background:
    radial-gradient(circle at top, rgba(225, 171, 58, .12), transparent 28%),
    linear-gradient(180deg, #0f0c12 0%, #161118 100%);
  color: #efe7d8;
  font-family: Georgia, "Times New Roman", serif;
}

.entry-cover {
  width: min(1040px, 100%);
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 24px 0;
}

.entry-cover img {
  width: min(640px, 100%);
  max-height: calc(100vh - 48px);
  max-height: calc(100svh - 48px);
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid rgba(225, 171, 58, .24);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .52);
}

.entry-gate[hidden],
body:not(.entry-locked) .entry-gate {
  display: none;
}

.entry-shell {
  width: min(980px, 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, .01));
  border: 1px solid rgba(225, 171, 58, .22);
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
  overflow: hidden;
  backdrop-filter: blur(6px);
}

.entry-hero {
  padding: 34px 30px 22px;
  border-bottom: 1px solid rgba(225, 171, 58, .22);
  background:
    linear-gradient(180deg, rgba(225, 171, 58, .08), transparent 65%),
    linear-gradient(135deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, 0));
}

.entry-eyebrow,
.entry-mini-title {
  color: #e1ab3a;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 12px;
  font-weight: 800;
}

.entry-hero h1 {
  margin: 0 0 10px;
  max-width: none;
  color: #efe7d8;
  font-size: 48px;
  line-height: 1.02;
  letter-spacing: 0;
  font-weight: 900;
}

.entry-sub {
  margin: 0;
  max-width: 72ch;
  color: #bbaea0;
  font-size: 16px;
  line-height: 1.65;
}

.entry-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
}

.entry-left,
.entry-right {
  padding: 28px;
}

.entry-left {
  border-right: 1px solid rgba(225, 171, 58, .22);
}

.entry-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .015));
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 8px;
  padding: 22px;
}

.entry-copy {
  font-size: 16px;
  line-height: 1.8;
  color: #d6c6aa;
  margin: 0 0 18px;
}

.entry-terms-link {
  color: #e1ab3a;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.entry-terms-link:hover {
  text-decoration-thickness: 3px;
}

.entry-checkwrap {
  margin-top: 20px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  background: rgba(225, 171, 58, .06);
  border: 1px solid rgba(225, 171, 58, .18);
  border-radius: 8px;
}

.entry-checkwrap input {
  margin-top: 5px;
  transform: scale(1.25);
  accent-color: #e1ab3a;
  cursor: pointer;
  flex: 0 0 auto;
}

.entry-checklabel {
  line-height: 1.65;
  color: #efe7d8;
}

.entry-micro {
  margin: 14px 0 0;
  color: #bbaea0;
  font-size: 15px;
  line-height: 1.55;
}

.entry-btnrow {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.entry-agree-btn,
.entry-ghost-btn,
.terms-close {
  appearance: none;
  border-radius: 8px;
  padding: 14px 20px;
  font-size: 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
  cursor: pointer;
  transition: transform .15s ease, opacity .2s ease, background .2s ease;
}

.entry-agree-btn:active,
.entry-ghost-btn:active,
.terms-close:active {
  transform: translateY(1px);
}

.entry-agree-btn {
  border: 0;
  background: linear-gradient(180deg, #e1ab3a, #b88728);
  color: #1b1407;
  box-shadow: 0 10px 24px rgba(225, 171, 58, .22);
}

.entry-agree-btn[disabled] {
  opacity: .4;
  cursor: not-allowed;
  box-shadow: none;
}

.entry-ghost-btn,
.terms-close {
  background: transparent;
  color: #bbaea0;
  border: 1px solid rgba(255, 255, 255, .12);
}

.entry-status {
  min-height: 24px;
  margin-top: 14px;
  color: #e1ab3a;
  font-style: italic;
}

.entry-fake-list {
  margin: 0;
  padding-left: 20px;
  color: #bbaea0;
  line-height: 1.7;
}

.terms-modal {
  position: fixed;
  inset: 0;
  background: rgba(7, 6, 8, .72);
  display: none;
  place-items: center;
  padding: 18px;
  z-index: 30;
}

.terms-modal.open {
  display: grid;
}

.terms-panel {
  width: min(1000px, 100%);
  max-height: 88vh;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(225, 171, 58, .22);
  background: linear-gradient(180deg, #1a151c, #130f15);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
  color: #efe7d8;
  font-family: Georgia, "Times New Roman", serif;
}

.terms-top {
  padding: 18px 20px;
  border-bottom: 1px solid rgba(225, 171, 58, .22);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.terms-title {
  margin-top: 8px;
  font-size: 16px;
  color: #efe7d8;
  font-weight: 800;
}

.terms-muted-note {
  margin-top: 5px;
  color: #bbaea0;
  font-size: 14px;
}

.terms-pill {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(225, 171, 58, .2);
  color: #e1ab3a;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(225, 171, 58, .08);
}

.terms-scroll-shell {
  background: rgba(0, 0, 0, .16);
  border-top: 1px solid rgba(255, 255, 255, .06);
  overflow: hidden;
}

.terms-scroll-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background: rgba(255, 255, 255, .025);
  font-size: 15px;
  color: #bbaea0;
}

.terms-progress {
  height: 8px;
  width: 140px;
  background: rgba(255, 255, 255, .08);
  border-radius: 8px;
  overflow: hidden;
  flex: 0 0 auto;
}

.terms-progress > span {
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #e1ab3a, #f0d287);
  transition: width .12s ease;
}

.terms-scrollbox {
  height: min(460px, 58vh);
  overflow: auto;
  padding: 24px;
  scroll-behavior: smooth;
}

.terms-scrollbox h2 {
  margin: 0 0 14px;
  color: #efe7d8;
  font-size: 22px;
}

.terms-scrollbox h3 {
  margin-top: 28px;
  margin-bottom: 10px;
  color: #e1ab3a;
  font-size: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.terms-scrollbox p,
.terms-scrollbox li {
  color: #dfd4c4;
  line-height: 1.82;
  font-size: 16px;
}

.terms-scrollbox ol,
.terms-scrollbox ul {
  padding-left: 20px;
}

.terms-seal {
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  color: #bbaea0;
  font-style: italic;
}

@media (max-width: 860px) {
  .entry-grid {
    grid-template-columns: 1fr;
  }

  .entry-left {
    border-right: 0;
    border-bottom: 1px solid rgba(225, 171, 58, .22);
  }

  .entry-hero h1 {
    font-size: 36px;
  }
}

@media (max-width: 560px) {
  .entry-gate {
    gap: 20px;
    padding: 0 10px 28px;
  }

  .entry-cover {
    min-height: 92vh;
    min-height: 92svh;
    padding: 14px 0;
  }

  .entry-cover img {
    width: min(100%, 520px);
    max-height: calc(92vh - 28px);
    max-height: calc(92svh - 28px);
  }

  .entry-hero,
  .entry-left,
  .entry-right {
    padding: 20px;
  }

  .entry-hero h1 {
    font-size: 30px;
  }

  .terms-top,
  .terms-scroll-header {
    display: grid;
  }

  .terms-progress {
    width: 100%;
  }
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -80px;
  z-index: 20;
  background: var(--acid);
  color: var(--ink);
  padding: 10px 14px;
  border: 2px solid var(--line);
}

.skip-link:focus { top: 16px; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 18px;
  background: rgba(246, 248, 245, .94);
  border-bottom: 2px solid var(--line);
  backdrop-filter: blur(14px);
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  text-decoration: none;
  min-width: 0;
}

.brand-stamp {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 42px;
  border: 2px solid var(--line);
  background: var(--acid);
  font-weight: 900;
  transform: rotate(-2deg);
  box-shadow: 4px 4px 0 var(--line);
}

.brand-mark strong {
  display: block;
  font-size: 15px;
  line-height: 1.1;
}

.brand-mark small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.top-actions,
.reader-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.icon-button,
.segment {
  min-height: 40px;
  border: 2px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 8px 12px;
  font-weight: 800;
  box-shadow: 3px 3px 0 var(--line);
}

.icon-button {
  text-decoration: none;
}

.icon-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.icon-button.dark,
.icon-button.ad-link,
.segment.is-active {
  background: var(--night);
  color: #fff;
}

.icon-button.ad-link {
  background: var(--acid);
  color: var(--ink);
}

.icon-button:hover,
.segment:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--line);
}

.dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 28px;
  align-items: stretch;
  padding: 34px 22px 28px;
  border-bottom: 2px solid var(--line);
  background:
    linear-gradient(135deg, rgba(199, 255, 61, .22), transparent 32%),
    linear-gradient(45deg, rgba(0, 154, 138, .18), transparent 42%),
    rgba(246, 248, 245, .84);
}

.dashboard-copy { max-width: 980px; }

.eyebrow {
  margin: 0 0 10px;
  color: var(--red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

h1, h2, h3, p { overflow-wrap: anywhere; }

h1, h2 {
  margin: 0;
  line-height: 1.02;
  font-weight: 950;
}

h1 {
  max-width: 860px;
  font-size: 56px;
}

.lede {
  max-width: 750px;
  margin: 16px 0 22px;
  color: var(--muted);
  font-size: 19px;
}

.control-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin: 22px 0 14px;
}

.segmented {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}

.field,
.search-field {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.field input,
.field select,
.search-field input {
  min-height: 42px;
  border: 2px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 8px 10px;
  min-width: 170px;
  box-shadow: 3px 3px 0 var(--line);
}

.search-wrap { max-width: 720px; }
.search-field input { width: 100%; }

.visual-stack {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 12px;
  min-height: 360px;
}

.feature-art {
  margin: 0;
  border: 2px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--night);
  box-shadow: var(--shadow);
}

.feature-art--svg {
  min-height: 290px;
}

.hero-sigil {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 290px;
}

.signal-board {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  border: 2px solid var(--line);
  border-radius: 8px;
  background: var(--gold);
  padding: 14px;
  box-shadow: 5px 5px 0 var(--line);
}

.signal-board strong {
  font-size: 26px;
  font-weight: 950;
}

.credibility-band,
.distinction-band,
.ad-band,
.pilot-band,
.source-band,
.library-band,
.reader {
  padding: 30px 22px 36px;
}

.section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  margin-bottom: 16px;
}

.section-head h2 { font-size: 34px; }

.credibility-band {
  border-bottom: 2px solid var(--line);
  background:
    linear-gradient(90deg, rgba(255, 192, 0, .34), transparent 46%),
    #fff;
}

.credibility-layout {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
  gap: 26px;
  align-items: start;
}

.credibility-head h2 {
  max-width: 720px;
  font-size: 38px;
}

.credibility-copy {
  display: grid;
  gap: 14px;
  max-width: 900px;
}

.credibility-copy p {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
}

.credibility-copy strong {
  background: var(--acid);
  padding: 1px 4px;
}

.credibility-signals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.credibility-signals div {
  display: grid;
  gap: 8px;
  min-height: 132px;
  border: 2px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  padding: 14px;
  box-shadow: 5px 5px 0 var(--line);
}

.credibility-signals strong {
  font-size: 19px;
  line-height: 1.08;
}

.credibility-signals span {
  color: var(--muted);
  font-size: 14px;
}

.distinction-band {
  border-bottom: 2px solid var(--line);
  background: var(--paper-strong);
}

.distinction-lede {
  max-width: 900px;
  margin: -4px 0 18px;
  color: var(--muted);
  font-size: 17px;
}

.distinction-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.distinction-card {
  border: 2px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  box-shadow: 6px 6px 0 var(--line);
}

.distinction-card.is-ok {
  border-color: var(--green);
  box-shadow: 6px 6px 0 var(--green);
}

.distinction-card.is-risk {
  border-color: var(--red);
  box-shadow: 6px 6px 0 var(--red);
}

.legal-badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 12px;
  border: 2px solid var(--line);
  border-radius: 999px;
  background: var(--accent, var(--acid));
  padding: 4px 10px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.is-ok .legal-badge { --accent: #d7f3df; }
.is-risk .legal-badge { --accent: #ffd7d2; }

.distinction-card p {
  margin: 0 0 12px;
  font-size: 16px;
}

.distinction-card ul {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
  font-size: 14px;
}

.distinction-card li + li { margin-top: 6px; }

.law-stack {
  display: grid;
  gap: 5px;
  margin-top: 18px;
  border: 2px solid var(--line);
  border-radius: 8px;
  background: var(--night);
  color: #fff;
  padding: 14px;
}

.law-stack span {
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
}

.ad-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: 18px;
  align-items: center;
  border-bottom: 2px solid var(--line);
  background:
    linear-gradient(90deg, rgba(199, 255, 61, .32), transparent 45%),
    #fff;
}

.ad-copy h2 {
  max-width: 850px;
  font-size: 34px;
}

.ad-copy p:not(.eyebrow) {
  max-width: 820px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 17px;
}

.ad-cta {
  display: grid;
  gap: 8px;
  align-content: center;
  min-height: 160px;
  border: 2px solid var(--line);
  border-radius: 8px;
  background: var(--acid);
  color: var(--ink);
  padding: 18px;
  text-decoration: none;
  box-shadow: 7px 7px 0 var(--line);
}

.ad-cta:hover,
.ad-cta:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 9px 9px 0 var(--line);
}

.ad-cta strong {
  font-size: 28px;
  line-height: 1.05;
}

.ad-cta span {
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
}

.pilot-band {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: 18px;
  border-bottom: 2px solid var(--line);
  background:
    linear-gradient(135deg, rgba(40, 111, 180, .18), transparent 38%),
    var(--paper);
}

.pilot-main h2 {
  max-width: 780px;
  font-size: 38px;
}

.pilot-main p:not(.eyebrow) {
  max-width: 820px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 17px;
}

.pilot-asks {
  display: grid;
  gap: 12px;
  align-self: stretch;
}

.pilot-asks div {
  display: grid;
  gap: 7px;
  border: 2px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
  box-shadow: 5px 5px 0 var(--blue);
}

.pilot-asks strong {
  color: var(--ink);
  font-size: 21px;
  line-height: 1.08;
}

.pilot-asks span {
  color: var(--muted);
  font-size: 14px;
}

.source-band {
  border-bottom: 2px solid var(--line);
  background: var(--night);
  color: #fff;
}

.source-band .eyebrow {
  color: var(--acid);
}

.source-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.source-grid a {
  display: grid;
  gap: 8px;
  min-height: 140px;
  border: 2px solid #fff;
  border-radius: 8px;
  background: #f6f8f5;
  color: var(--ink);
  padding: 14px;
  text-decoration: none;
  box-shadow: 5px 5px 0 var(--acid);
}

.source-grid a:hover,
.source-grid a:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 var(--acid);
}

.source-grid strong {
  font-size: 20px;
  line-height: 1.1;
}

.source-grid span {
  color: var(--muted);
  font-size: 14px;
}

.doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(238px, 1fr));
  gap: 14px;
}

.doc-card {
  display: grid;
  grid-template-rows: 142px auto;
  min-height: 348px;
  border: 2px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  color: var(--ink);
  text-align: left;
  padding: 0;
  box-shadow: 5px 5px 0 var(--line);
}

.doc-card:hover,
.doc-card:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 var(--line);
}

.doc-art {
  display: block;
  width: 100%;
  height: 142px;
  border-bottom: 2px solid var(--line);
  background: var(--night);
}

.doc-art-svg {
  display: block;
  width: 100%;
  height: 100%;
}

.doc-card-body {
  display: grid;
  gap: 9px;
  align-content: start;
  padding: 14px;
}

.doc-chip {
  width: fit-content;
  border: 2px solid var(--line);
  border-radius: 999px;
  background: var(--accent, var(--acid));
  color: var(--ink);
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 950;
}

.doc-card h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.1;
}

.doc-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.doc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 4px;
}

.doc-tags span {
  border: 1px solid var(--soft-line);
  border-radius: 999px;
  padding: 3px 7px;
  color: var(--muted);
  font-size: 11px;
}

.empty-state {
  border: 2px dashed var(--line);
  border-radius: 8px;
  padding: 24px;
  background: #fff;
  font-weight: 800;
}

.reader {
  display: grid;
  grid-template-columns: 210px minmax(0, 900px);
  gap: 18px;
  align-items: start;
  background: var(--paper-strong);
  border-top: 2px solid var(--line);
}

.reader[hidden] { display: none; }

.reader-rail {
  position: sticky;
  top: 84px;
  display: grid;
  gap: 9px;
}

.rail-label {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.quick-jump {
  display: grid;
  gap: 8px;
}

.jump-button {
  border: 2px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 8px;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
}

.jump-button.is-active { background: var(--acid); }

.reader-shell {
  border: 2px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.reader-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  padding: 18px;
  border-bottom: 2px solid var(--line);
  background: var(--night);
  color: #fff;
}

.reader-head .eyebrow { color: var(--acid); }
.reader-head h2 { font-size: 30px; }

.mode-note {
  margin: 18px 18px 0;
  border: 2px solid var(--line);
  border-left-width: 8px;
  border-radius: 8px;
  padding: 12px;
  background: #f7faf6;
  color: var(--muted);
  font-size: 14px;
}

.doc-inner {
  padding: 20px 22px 28px;
  color: #1f1f1f;
  font-size: 15px;
}

.doc-inner h1 {
  margin-bottom: 10px;
  color: #121212;
  font-size: 31px;
  border-bottom: 5px solid var(--gold);
  padding-bottom: 10px;
}

.doc-inner h2 {
  margin: 24px 0 9px;
  color: #121212;
  font-size: 22px;
  line-height: 1.16;
}

.doc-inner h3 {
  margin: 16px 0 6px;
  color: #121212;
  font-size: 17px;
}

.doc-inner p { margin: 0 0 10px; }

.doc-inner ul,
.doc-inner ol {
  margin: 8px 0 12px 22px;
  padding: 0;
}

.doc-inner li { margin-bottom: 5px; }

.doc-inner table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0;
  font-size: 13px;
}

.doc-inner th,
.doc-inner td {
  border: 1px solid #c9c3b6;
  padding: 8px 10px;
  vertical-align: top;
}

.doc-inner th {
  background: var(--night);
  color: #fff;
  text-align: left;
}

.doc-inner tr:nth-child(even) td { background: #f2f7f3; }

.meta-line {
  color: var(--muted);
  font-size: 12px;
}

.notice {
  border: 2px solid var(--line);
  border-left-width: 8px;
  border-radius: 8px;
  padding: 12px;
  background: #f7faf6;
}

.stage {
  border: 2px solid var(--line);
  border-left-width: 8px;
  border-radius: 8px;
  padding: 11px 13px;
  margin: 9px 0;
  background: #fff;
}

.stage.green { border-left-color: var(--green); background: #e8f6ed; }
.stage.yellow { border-left-color: var(--gold); background: #fff9d7; }
.stage.orange { border-left-color: var(--orange); background: #fff0df; }
.stage.red { border-left-color: var(--red); background: #ffe9e6; }
.stage.blue { border-left-color: var(--blue); background: #e9f2fb; }
.stage.gold { border-left-color: #b58200; background: #fff4be; }

.badge {
  display: inline-block;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--acid);
  color: var(--ink);
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 900;
  vertical-align: middle;
}

.check-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}

.check-box,
.tg-day {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  border: 2px solid var(--line);
  border-radius: 3px;
  background: #fff;
}

.check-box { margin-top: 3px; }

.sig-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 10px;
}

.sig-field {
  border-bottom: 2px solid #777;
  padding-bottom: 3px;
  margin-top: 18px;
  color: var(--muted);
  font-size: 12px;
}

.tracker-grid {
  display: grid;
  grid-template-columns: 76px repeat(5, minmax(42px, 1fr)) 62px 98px;
  gap: 1px;
  overflow-x: auto;
  background: #bdb5a5;
  border: 1px solid #bdb5a5;
  font-size: 12px;
}

.tg-head,
.tg-cell {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  background: #fff;
  text-align: center;
}

.tg-head {
  background: var(--night);
  color: #fff;
  font-weight: 900;
}

.footer-doc {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 26px;
  padding-top: 12px;
  border-top: 3px solid var(--line);
  color: var(--muted);
  font-size: 11px;
}

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 18px 22px;
  border-top: 2px solid var(--line);
  background: var(--night);
  color: #fff;
  font-size: 12px;
}

.site-footer a {
  color: var(--acid);
  font-weight: 900;
}

.is-hidden { display: none; }

@media (max-width: 860px) {
  .topbar { align-items: flex-start; }
  .brand-mark small { display: none; }
  .dashboard {
    grid-template-columns: 1fr;
    padding-top: 24px;
  }
  h1 { font-size: 40px; }
  .visual-stack { min-height: 0; }
  .feature-art--svg,
  .hero-sigil {
    max-height: 340px;
  }
  .section-head { display: block; }
  .credibility-layout,
  .distinction-grid {
    grid-template-columns: 1fr;
  }
  .credibility-signals {
    grid-template-columns: 1fr;
  }
  .ad-band { grid-template-columns: 1fr; }
  .pilot-band { grid-template-columns: 1fr; }
  .reader { grid-template-columns: 1fr; }
  .reader-rail { position: static; }
  .quick-jump { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}

@media (max-width: 560px) {
  .topbar { padding: 10px; }
  .brand-stamp {
    width: 46px;
    height: 38px;
  }
  .top-actions .icon-button span:last-child { display: none; }
  .top-actions .ad-link span:last-child { display: inline; }
  h1 { font-size: 33px; }
  .credibility-head h2,
  .section-head h2,
  .ad-copy h2,
  .pilot-main h2 {
    font-size: 29px;
  }
  .lede { font-size: 17px; }
  .control-panel,
  .segmented,
  .field,
  .field input,
  .field select {
    width: 100%;
  }
  .segment,
  .icon-button { justify-content: center; }
  .doc-grid { grid-template-columns: 1fr; }
  .reader-head { display: grid; }
  .reader-buttons { justify-content: stretch; }
  .reader-buttons .icon-button { flex: 1; }
  .doc-inner { padding: 16px 14px 22px; }
  .doc-inner h1 { font-size: 25px; }
  .sig-row { grid-template-columns: 1fr; }
}

@media print {
  body { background: #fff; }
  .topbar,
  .entry-gate,
  .terms-modal,
  .dashboard,
  .credibility-band,
  .distinction-band,
  .ad-band,
  .pilot-band,
  .source-band,
  .library-band,
  .reader-rail,
  .reader-head,
  .mode-note,
  .site-footer {
    display: none !important;
  }
  .reader,
  .reader-shell,
  .doc-inner {
    display: block !important;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: #fff;
  }
}
