/* THE RECORD — styles. Matches the site design system (dark chrome, #CC0000).
   Assurance and absence are the load-bearing visual language: weak claims render
   visibly degraded, and every "we don't know" gets its own muted treatment rather
   than being hidden. */
.rec-wrap {
  --ground: #0C0C0F; --panel: #14141A; --line: #2A2A33;
  --text: #E6E4DE; --muted: #84838F; --red: #CC0000; --amber: #E8A33D;
  --mono: ui-monospace, "JetBrains Mono", "Cascadia Code", Consolas, monospace;
  color: var(--text);
}
.rec-wrap h2 { margin: 0 0 .5rem; font-size: 1.5rem; letter-spacing: -.01em; }
.rec-wrap h3 {
  margin: 1.6rem 0 .6rem; font-size: .95rem; text-transform: uppercase;
  letter-spacing: .1em; color: var(--muted); border-bottom: 1px solid var(--line);
  padding-bottom: .3rem;
}
.rec-sub { font-family: var(--mono); font-size: .68rem; color: var(--muted); text-transform: none; letter-spacing: 0; }
.rec-lede { color: var(--muted); line-height: 1.65; max-width: 60ch; }

.rec-nav {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.2rem;
  border-bottom: 1px solid var(--line); padding-bottom: .8rem;
}
.rec-nav a {
  font-family: var(--mono); font-size: .7rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted); border: 1px solid var(--line);
  padding: .3rem .7rem; text-decoration: none;
}
.rec-nav a:hover { color: var(--text); border-color: var(--muted); }

.rec-counters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.4rem; }
.rec-counters div {
  border: 1px solid var(--line); background: var(--panel); padding: .5rem .8rem; min-width: 78px;
}
.rec-counters b { display: block; font-size: 1.15rem; }
.rec-counters span { font-family: var(--mono); font-size: .6rem; text-transform: uppercase; color: var(--muted); letter-spacing: .07em; }
.rec-counters .rec-c-a b { color: var(--amber); }

.rec-traceform { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 .5rem; }
.rec-traceform input {
  font-family: var(--mono); font-size: .8rem; background: var(--ground); color: var(--text);
  border: 1px solid var(--line); padding: .45rem .7rem; flex: 1 1 200px; outline: none;
}
.rec-traceform input:focus { border-color: var(--amber); }
.rec-traceform button {
  font-family: var(--mono); font-size: .72rem; letter-spacing: .1em; background: var(--ground);
  color: var(--red); border: 1px solid #5a1818; padding: .45rem 1.1rem; cursor: pointer;
}
.rec-traceform button:hover { border-color: var(--red); }
.rec-seeds { font-size: .74rem; color: var(--muted); margin-bottom: 1rem; }
.rec-seeds a { color: var(--amber); text-decoration: none; }

.rec-verdict { font-family: var(--mono); font-size: .78rem; padding: .6rem .9rem; margin: .8rem 0; border-left: 2px solid; }
.rec-ok  { border-color: var(--red);   background: rgba(204,0,0,.06); }
.rec-bad { border-color: var(--muted); background: var(--panel); color: var(--muted); line-height: 1.6; }

.rec-route { list-style: none; padding: 0; margin: 0; }
.rec-route li { border-top: 1px solid #1c1c22; padding: .5rem 0; font-size: .85rem; }
.rec-route li:first-child { border-top: 0; }
.rec-hop-start { font-weight: 700; }
.rec-arrow { color: var(--red); font-family: var(--mono); }
.rec-hop-kind {
  font-family: var(--mono); font-size: .58rem; text-transform: uppercase; color: var(--muted);
  border: 1px solid var(--line); padding: .02rem .3rem; letter-spacing: .07em;
}

.rec-hops { margin: .4rem 0 0; padding-left: 1.4rem; }
.rec-hops li { padding: .22rem 0; font-size: .87rem; }
.rec-year { font-family: var(--mono); font-size: .62rem; color: var(--amber); margin-left: .5rem; }
.rec-nodate { color: #5c5b66 !important; }

.rec-chips { display: flex; flex-wrap: wrap; gap: .3rem; margin: .6rem 0; }
.rec-chip {
  font-family: var(--mono); font-size: .62rem; text-transform: uppercase; letter-spacing: .07em;
  border: 1px solid var(--line); color: var(--muted); padding: .1rem .45rem;
}
.rec-chip-play { border-color: #4a3a18; color: var(--amber); }
.rec-chip-net  { border-color: #3a2a4a; color: #b08fd6; }
.rec-clicks, .rec-kind { font-family: var(--mono); font-size: .66rem; color: var(--muted); letter-spacing: .06em; }
.rec-kind { text-transform: uppercase; margin-bottom: .2rem; }
.rec-brief { color: var(--muted); line-height: 1.6; font-size: .9rem; max-width: 66ch; }

.rec-claim { border: 1px solid var(--line); border-left: 2px solid var(--line); background: var(--panel); padding: .6rem .8rem; margin: .5rem 0; }
.rec-claim-head { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; font-size: .78rem; }
.rec-claim-kind { font-family: var(--mono); font-size: .58rem; text-transform: uppercase; color: var(--muted); margin-left: auto; letter-spacing: .08em; }
.rec-claim-subs { margin: .35rem 0; font-size: .87rem; }
.rec-claim-stmt { color: var(--muted); font-size: .84rem; line-height: 1.55; margin: .3rem 0; }
.rec-claim-date { font-family: var(--mono); font-size: .62rem; color: var(--muted); }

.rec-badge { font-family: var(--mono); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; padding: .08rem .4rem; border: 1px solid; }
.rec-a-fact       { color: #6fd08c; border-color: #2c5c3a; }
.rec-a-documented { color: var(--text); border-color: var(--line); }
.rec-a-alleged    { color: var(--amber); border-color: #5a3f18; }
/* Weak rows are advertised, not hidden. */
.rec-a-unverified { color: var(--muted); border-color: var(--muted); border-style: dashed; }
.rec-claim:has(.rec-a-unverified) { opacity: .72; border-left-color: var(--muted); border-left-style: dashed; }

.rec-receipts { list-style: none; padding: 0; margin: .4rem 0 0; }
.rec-receipts li { font-size: .74rem; padding: .12rem 0; }
.rec-receipts a { color: var(--amber); text-decoration: none; word-break: break-all; }
.rec-st { font-family: var(--mono); font-size: .55rem; text-transform: uppercase; border: 1px solid var(--line); padding: 0 .25rem; color: var(--muted); }
.rec-st-live { color: #6fd08c; border-color: #2c5c3a; }
.rec-st-dead { color: var(--red); border-color: #5a1818; }
.rec-st-archived { color: var(--amber); border-color: #5a3f18; }
.rec-noreceipt { font-size: .72rem; color: #5c5b66; font-style: italic; margin-top: .35rem; }
.rec-untyped { font-family: var(--mono); font-size: .64rem; color: #5c5b66; border: 1px dashed var(--line); padding: 0 .3rem; }

.rec-attack {
  display: inline-block; margin-top: .5rem; font-family: var(--mono); font-size: .58rem;
  letter-spacing: .09em; text-transform: uppercase; color: var(--muted);
  border: 1px solid var(--line); padding: .15rem .5rem; text-decoration: none;
}
.rec-attack:hover { color: var(--red); border-color: var(--red); }

.rec-gap { border: 1px solid var(--line); border-left: 2px solid var(--muted); background: var(--panel); padding: .8rem 1rem; margin: .8rem 0; }
.rec-gap h3 { margin-top: 0; border: 0; color: var(--text); }
.rec-gap p { font-size: .87rem; line-height: 1.6; color: var(--muted); }
.rec-gap-pinned { border-left-color: var(--red); }
.rec-fix { font-family: var(--mono); font-size: .68rem; color: var(--amber); }
.rec-caveat { font-size: .78rem !important; color: #5c5b66 !important; border-left: 1px solid var(--line); padding-left: .6rem; }
.rec-missing { columns: 2; column-gap: 1.4rem; list-style: none; padding: 0; font-size: .78rem; }
.rec-missing li { padding: .1rem 0; color: var(--muted); break-inside: avoid; }
.rec-count { font-family: var(--mono); font-size: .6rem; color: #5c5b66; }
.rec-idlist { display: flex; flex-wrap: wrap; gap: .3rem .6rem; font-size: .78rem; }
.rec-idlist a { color: var(--amber); text-decoration: none; }
.rec-views { display: flex; flex-wrap: wrap; gap: .35rem; }
.rec-views a {
  font-family: var(--mono); font-size: .66rem; color: var(--muted); border: 1px solid var(--line);
  padding: .28rem .6rem; text-decoration: none; letter-spacing: .05em;
}
.rec-views a:hover { color: var(--text); border-color: var(--muted); }
.rec-query { font-family: var(--mono); font-size: .7rem; background: var(--ground); border: 1px solid var(--line); padding: .6rem; overflow-x: auto; }
.rec-note { font-size: .76rem; color: #5c5b66; line-height: 1.55; margin: .7rem 0; }
.rec-note a { color: var(--amber); text-decoration: none; }
.rec-empty { padding: 1.4rem 0; }
.rec-empty p { color: var(--muted); line-height: 1.65; max-width: 60ch; }

@media (max-width: 768px) {
  .rec-missing { columns: 1; }
  .rec-traceform input { flex-basis: 100%; }
}

/* Docket + matrices */
.rec-tabs { display: flex; flex-wrap: wrap; gap: .3rem; margin: .8rem 0; }
.rec-tabs a {
  font-family: var(--mono); font-size: .66rem; letter-spacing: .06em; color: var(--muted);
  border: 1px solid var(--line); padding: .3rem .65rem; text-decoration: none;
}
.rec-tabs a.on { color: var(--text); border-color: var(--red); }
.rec-tabs a b { color: var(--amber); }
.rec-pager { display: flex; gap: .8rem; align-items: center; font-family: var(--mono); font-size: .68rem; color: var(--muted); margin: .6rem 0; }
.rec-pager a { color: var(--amber); text-decoration: none; }
.rec-matrix-wrap { overflow-x: auto; border: 1px solid var(--line); }
.rec-matrix { border-collapse: collapse; font-size: .78rem; min-width: 100%; }
.rec-matrix th, .rec-matrix td { border: 1px solid var(--line); padding: .35rem .55rem; text-align: center; }
.rec-matrix th { background: var(--panel); font-family: var(--mono); font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.rec-matrix .rec-rowh { text-align: left; text-transform: none; letter-spacing: 0; font-family: inherit; font-size: .76rem; color: var(--text); white-space: nowrap; }
.rec-cell a { color: var(--text); text-decoration: none; font-family: var(--mono); }
.rec-cell a:hover { color: var(--red); }
.rec-cell-empty { color: #3a3a44; }
.rec-cell-nr { color: var(--amber); font-family: var(--mono); font-size: .6rem; margin-left: .2rem; }
.rec-claimid { font-family: var(--mono); font-size: .68rem; color: var(--muted); margin-bottom: .4rem; word-break: break-all; }

/* The Map — precomputed layout on canvas. */
.rec-maptools { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin:.7rem 0 .4rem; }
.rec-maptools input {
  font-family:var(--mono); font-size:.76rem; background:var(--ground); color:var(--text);
  border:1px solid var(--line); padding:.35rem .6rem; width:220px; outline:none;
}
.rec-maptools input:focus { border-color:var(--amber); }
.rec-maphint { font-size:.7rem; color:#5c5b66; flex:1 1 260px; line-height:1.45; }
.rec-maphint a { color:var(--amber); text-decoration:none; }
#rec-canvas { width:100%; height:auto; background:var(--ground); border:1px solid var(--line); display:block; }
.rec-maptip { font-family:var(--mono); font-size:.7rem; color:var(--amber); min-height:1.2em; margin-top:.3rem; }
.rec-legend { display:flex; flex-wrap:wrap; gap:.5rem; margin:.5rem 0; }
.rec-legend span { display:inline-flex; align-items:center; gap:.25rem; font-family:var(--mono); font-size:.6rem; color:var(--muted); }
.rec-legend i { width:8px; height:8px; border-radius:50%; display:inline-block; }
