/* Prewire — the dossier. The whole site is a declassified case file: the
   homepage is the briefing folder, every catch is a stamped exhibit, verified
   receipts are green rubber stamps, and the newest member-only material is
   sealed (redacted) until it clears the public delay window. Typewriter faces
   throughout: Special Elite for headings/stamps, Courier Prime for body. */

:root {
  --desk:        #CDBE9C;   /* the desk the folder sits on */
  --folder:      #E9DFC8;   /* manila */
  --paper:       #FAF5E8;   /* exhibit sheets */
  --line:        #D5C8A8;
  --line-soft:   #E0D6BC;
  --ink:         #221E14;
  --ink-soft:    #4A4232;
  --ink-dim:     #6E6350;
  --ink-faint:   #8a7d63;
  --stamp-red:   #8F1D1D;
  --stamp-green: #2E5E3A;
  --tw:      "Courier Prime", "Courier New", Courier, monospace;
  --display: "Special Elite", "Courier Prime", Courier, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--desk); color: var(--ink);
  font-family: var(--tw); font-size: 15px; line-height: 1.65;
}
a { color: inherit; }
b { font-weight: 700; }
::selection { background: var(--ink); color: var(--folder); }
:focus-visible { outline: 2px solid var(--stamp-red); outline-offset: 2px; }

/* classification strip pinned above the folder */
.classbar {
  background: var(--stamp-red); color: #F3E9D0; text-align: center;
  font-size: 11px; letter-spacing: .28em; text-transform: uppercase;
  padding: 7px 12px;
}

/* the folder (was: the CRT tube) */
.crt {
  width: 100%; max-width: 940px; margin: 34px auto 64px; background: var(--folder);
  padding: 34px 40px 46px; position: relative;
  box-shadow: 0 18px 50px rgba(40, 30, 10, .45), inset 0 2px 0 var(--line);
}
.crt::before {
  content: ""; position: absolute; top: -16px; left: 36px; width: 190px; height: 17px;
  background: var(--folder); border-radius: 6px 6px 0 0;
}
@media (max-width: 700px) {
  .crt { margin: 0 0 34px; padding: 22px 18px 34px; }
  .crt::before { display: none; }
  body { font-size: 14px; }
}

.blink { display: none; }

/* ---------- file header row (every page) ---------- */
.hdr {
  display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--ink-dim); border-bottom: 1px solid var(--line); padding-bottom: 10px;
}
.hdr__p { color: var(--stamp-red); font-weight: 700; }
.hdr__t { font-variant-numeric: tabular-nums; }
.hdr a { text-decoration: none; }
.hdr a:hover { color: var(--stamp-red); }

/* ---------- title block ---------- */
.title { margin: 26px 0 8px; position: relative; }
.title__block {
  display: inline-block; font-family: var(--display); font-weight: 400;
  color: var(--ink); font-size: clamp(34px, 5.5vw, 52px); line-height: 1.1;
  letter-spacing: .01em; text-decoration: none;
}
.title__sub {
  display: block; color: var(--ink-dim); font-size: 12px; margin-top: 8px;
  letter-spacing: .18em; text-transform: uppercase;
}
.title--sm .title__block { font-size: clamp(26px, 4vw, 38px); }

.intro { color: var(--ink-soft); margin: 10px 0 0; max-width: 64ch; }
.intro b { color: var(--ink); }
.intro a { color: var(--stamp-red); }
.intro a:hover { text-decoration-thickness: 2px; }

/* the hero redaction — hover/focus lifts the bar */
.redact {
  background: var(--ink); color: var(--ink); padding: 0 6px; cursor: help;
  transition: color .25s;
}
.redact:hover, .redact:focus-visible { color: var(--folder); }

/* rubber stamps */
.stamp {
  display: inline-block; border: 3px double var(--stamp-red); color: var(--stamp-red);
  font-family: var(--display); font-size: 13px; letter-spacing: .16em;
  text-transform: uppercase; padding: 6px 12px; transform: rotate(-3deg);
  margin: 8px 0 0; pointer-events: none;
}
.stamp--corner {
  position: absolute; top: 8px; right: 0; transform: rotate(7deg); margin: 0;
  opacity: .85;
}
@media (max-width: 900px) { .stamp--corner { display: none; } }

/* ---------- section rules (was: teletext color bars) ---------- */
.bar {
  background: none; color: var(--ink); border-top: 2px solid var(--ink);
  padding: 8px 0 0; margin: 34px 0 16px; display: flex; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; font-size: 11.5px; letter-spacing: .2em;
  text-transform: uppercase;
}
.bar b { font-weight: 700; }
.bar > span:last-child:not(:first-child) { color: var(--ink-faint); }
.bar--cyan, .bar--green, .bar--mag { background: none; color: var(--ink); }

/* ---------- exhibits (wire items) ---------- */
.item {
  margin: 0 0 16px; background: var(--paper); border: 1px solid var(--line);
  padding: 20px 22px 16px; position: relative;
  box-shadow: 0 2px 6px rgba(60, 45, 15, .14);
}
.item__no {
  position: absolute; top: -9px; left: 16px; background: var(--ink); color: var(--paper);
  font-size: 10px; letter-spacing: .16em; padding: 2px 9px; text-transform: uppercase;
}
.item__no--flash { background: var(--stamp-red); }
.item__l1 {
  display: flex; gap: 14px; flex-wrap: wrap; font-size: 11px; color: var(--ink-faint);
  letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px;
}
.item__ts { font-variant-numeric: tabular-nums; }
.item__pri--flash { color: var(--stamp-red); font-weight: 700; }
.item__pri--urgent { color: var(--ink); font-weight: 700; }
.item__pri--rtn { color: var(--ink-faint); }
.item__src { color: var(--ink-dim); }
.item__target { color: var(--ink-faint); overflow-wrap: anywhere; text-transform: none; }
.item__ago { color: var(--ink-faint); margin-left: auto; }
.item__ago:hover { color: var(--stamp-red); }
.item__txt { color: var(--ink); display: block; max-width: 68ch; }
.item__txt b { font-weight: 700; }
.item__ver {
  display: inline-block; border: 3px double var(--stamp-green); color: var(--stamp-green);
  font-family: var(--display); font-size: 11px; letter-spacing: .12em;
  text-transform: uppercase; padding: 4px 9px; transform: rotate(-2deg); margin-top: 10px;
}
.item__score { color: var(--ink-faint); font-size: 12px; margin-top: 8px; }
.item__score b { color: var(--stamp-red); }

/* sealed exhibit — the visible paywall */
.item--sealed { border-style: dashed; }
.item--sealed .item__txt span { background: var(--ink); color: var(--ink); user-select: none; }
.sealed__note {
  color: var(--stamp-red); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; margin: 10px 0 0;
}
.sealed__note a { color: inherit; }

.angles {
  margin: 12px 0 2px; padding: 10px 16px; background: var(--folder);
  border-left: 3px solid var(--ink);
}
.angles__k {
  color: var(--ink-dim); margin: 0; font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase;
}
.angles p { margin: 4px 0 0; color: var(--ink-soft); max-width: 64ch; }

.evidence { margin-top: 10px; }
.evidence__toggle {
  background: none; border: 0; padding: 0; cursor: pointer;
  font-family: var(--tw); font-size: 12px; letter-spacing: .1em; color: var(--ink-dim);
  text-transform: uppercase;
}
.evidence__toggle:hover { color: var(--stamp-red); }
.evidence__pre {
  margin: 10px 0 0; padding: 12px 16px; border: 1px dashed var(--ink-faint);
  background: var(--folder); font-family: var(--tw); font-size: 12.5px; line-height: 1.6;
  white-space: pre-wrap; word-break: break-word; max-height: 320px; overflow: auto;
  color: var(--ink-soft);
}
.evidence__pre .add { color: var(--stamp-green); font-weight: 700; }
.evidence.collapsed .evidence__pre { display: none; }

.empty { color: var(--ink-dim); margin: 6px 0 12px; }
.empty b { color: var(--ink); }

.show-more {
  display: block; width: 100%; margin: 6px 0 2px; padding: 12px;
  background: transparent; border: 1px dashed var(--ink-faint); color: var(--ink-dim);
  font-family: var(--tw); font-size: 12px; letter-spacing: .14em;
  text-transform: uppercase; cursor: pointer;
}
.show-more:hover { border-color: var(--ink); color: var(--stamp-red); }

/* ---------- dividers ---------- */
.divider {
  border-top: 1px dashed var(--line); color: transparent; height: 0;
  overflow: hidden; margin: 26px 0; user-select: none;
}

/* ---------- desk status / coverage columns ---------- */
.twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 40px; }
@media (max-width: 700px) { .twocol { grid-template-columns: 1fr; } }
.kv {
  display: flex; justify-content: space-between; gap: 14px; font-size: 13px;
  border-bottom: 1px dotted var(--line); padding: 3px 0;
}
.kv__k { color: var(--ink-dim); text-transform: uppercase; font-size: 11.5px;
  letter-spacing: .1em; }
.kv__v { color: var(--ink); text-align: right; }
.kv__v--green { color: var(--stamp-green); font-weight: 700; }
.kv__v--yellow { color: var(--stamp-red); font-weight: 700; }
.cov { margin: 0 0 8px; }
.cov__name {
  color: var(--ink); text-transform: uppercase; font-size: 11.5px;
  letter-spacing: .12em; font-weight: 700;
}
.cov__what { color: var(--ink-dim); display: block; font-size: 13px; }
.method { color: var(--ink-soft); max-width: 66ch; margin: 0; font-size: 13.5px; }
.method b { color: var(--ink); }

/* ---------- access / pricing ---------- */
.pitch { color: var(--ink-soft); max-width: 66ch; margin: 0 0 6px; }
.pitch b { color: var(--ink); }
.plans { display: grid; grid-template-columns: 1fr 1.22fr; gap: 20px; margin: 16px 0 4px; }
@media (max-width: 700px) { .plans { grid-template-columns: 1fr; } }
.plan { background: var(--paper); border: 1px solid var(--line); padding: 20px 22px; }
.plan--hot { border: 2px solid var(--ink); box-shadow: 5px 5px 0 rgba(34, 30, 20, .22); }
.plan__name {
  color: var(--ink-dim); margin: 0; font-size: 11px; letter-spacing: .2em;
  text-transform: uppercase; font-weight: 700;
}
.plan--hot .plan__name { color: var(--ink); }
.plan__price { color: var(--ink); font-family: var(--display); font-size: 34px; margin: 6px 0 0; }
.plan__price small { color: var(--ink-dim); font-family: var(--tw); font-size: 12px; }
.plan ul { list-style: none; margin: 10px 0 0; padding: 0; color: var(--ink-soft);
  font-size: 13px; line-height: 1.9; }
.plan li::before { content: "§ "; color: var(--ink-faint); }
.buy-btn {
  display: inline-block; background: var(--stamp-red); color: #F3E9D0;
  text-decoration: none; padding: 11px 18px; margin-top: 14px; font-size: 12.5px;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 700;
}
.buy-btn:hover { background: var(--ink); }
.fine { color: var(--ink-faint); font-size: 11px; margin: 8px 0 0; }

/* ---------- email digest ---------- */
.waitlist__form { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0 4px; }
.waitlist__form input {
  font-family: var(--tw); font-size: 14px; background: var(--paper);
  border: 1px solid var(--ink-faint); color: var(--ink); padding: 10px 14px;
  flex: 1; min-width: 230px;
}
.waitlist__form input::placeholder { color: var(--ink-faint); }
.waitlist__form input:focus { outline: 2px solid var(--stamp-red); border-color: var(--stamp-red); }
.waitlist__form button {
  font-family: var(--tw); font-size: 12.5px; letter-spacing: .12em;
  text-transform: uppercase; font-weight: 700; background: var(--ink);
  border: 0; color: var(--folder); padding: 10px 20px; cursor: pointer;
}
.waitlist__form button:hover { background: var(--stamp-red); color: #F3E9D0; }
.waitlist__form button:disabled { opacity: .6; cursor: wait; }
.waitlist__status { margin: 6px 0 0; color: var(--ink-dim); font-size: 13px; min-height: 1em; }
.waitlist__status.ok { color: var(--stamp-green); }
.waitlist__status.err { color: var(--stamp-red); }
.waitlist__status a { color: var(--stamp-red); }

/* ---------- notes (q/a) ---------- */
.qa { margin: 0; }
.qa dt { color: var(--ink); margin-top: 12px; font-weight: 700; }
.qa dt::before { content: "Q. "; color: var(--stamp-red); }
.qa dd { margin: 2px 0 0; color: var(--ink-soft); max-width: 66ch; }
.qa dd::before { content: "A. "; color: var(--ink-faint); }

/* ---------- footer index (was: fastext) ---------- */
.fastext {
  margin-top: 40px; padding-top: 14px; border-top: 1px dashed var(--ink-faint);
  display: flex; gap: 18px; flex-wrap: wrap; font-size: 11px; letter-spacing: .12em;
  text-transform: uppercase;
}
.fastext a { padding: 0; text-decoration: none; font-size: 11px; background: none; }
.fastext a:hover { color: var(--stamp-red) !important; }
.fx-r, .fx-g, .fx-y, .fx-c { background: none; color: var(--ink); }
.fastext__note { margin-left: auto; color: var(--ink-faint); font-size: 11px; align-self: center; }

/* ---------- timeline (receipts archive) ---------- */
.tl-list { margin-top: 4px; }
.tl-row {
  display: flex; gap: 14px; flex-wrap: wrap; padding: 12px 14px; margin-bottom: 10px;
  text-decoration: none; background: var(--paper); border: 1px solid var(--line);
  box-shadow: 0 2px 6px rgba(60, 45, 15, .10); align-items: baseline;
}
.tl-row:hover { border-color: var(--ink); }
.tl-row:hover .tl-row__name { color: var(--stamp-red); }
.tl-row__p { color: var(--stamp-red); font-size: 11px; letter-spacing: .14em; }
.tl-row__name { color: var(--ink); text-transform: uppercase; font-weight: 700;
  letter-spacing: .06em; }
.tl-row__meta { color: var(--ink-dim); margin-left: auto; text-align: right; font-size: 12.5px; }
.tl-row__meta b { color: var(--stamp-green); }

/* ---------- legal pages ---------- */
.legal { max-width: 70ch; margin: 0 auto; padding: 36px 24px 70px; color: var(--ink-soft); }
.legal h1 { color: var(--ink); font-family: var(--display); font-weight: 400;
  font-size: 34px; margin: 18px 0 4px; }
.legal h2 { color: var(--ink); font-weight: 700; font-size: 17px; margin: 26px 0 6px;
  text-transform: uppercase; letter-spacing: .08em; }
.legal p, .legal li { font-size: 14px; }
.legal .back { color: var(--stamp-red); text-decoration: none; }
.legal .back:hover { text-decoration: underline; }
.legal__updated { color: var(--ink-faint); }
