/* Claim-check deck. All classes are prefixed cd-. Colours come from the site's tokens only
   (--paper, --ink, --ink-2, --muted, --line, --accent, --accent-text, --accent-soft and the four verdict
   tokens --good/--warn/--serious/--critical with their -text variants). Smallest text is 13px.
   The block ships hidden; claim-deck.js shows it and hides the page's static bar and cards (data-cd-replaced). */
.cd[hidden], [data-cd-replaced] { display: none !important; }
.cd {
  max-width: 56rem;
  margin: 1.6rem 0 0;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.5;
}
.cd [hidden] { display: none !important; }
.cd p { margin: 0; }
.cd-sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* the page pairs each verdict class with a colour token; the pattern is this widget's second cue */
.cd [data-verdict] { --cd-v: var(--muted); --cd-vt: var(--ink-2); }
.cd [data-verdict="v-sup"] { --cd-v: var(--good); --cd-vt: var(--good-text); }
.cd [data-verdict="v-part"] { --cd-v: var(--warn); --cd-vt: var(--warn-text); }
.cd [data-verdict="v-con"] { --cd-v: var(--serious); --cd-vt: var(--serious-text); }
.cd [data-verdict="v-mis"] { --cd-v: var(--critical); --cd-vt: var(--critical-text); }
.cd .cd-pat { background: var(--cd-v); }
.cd .cd-pat[data-verdict="v-part"] { background: repeating-linear-gradient(135deg, var(--cd-v) 0 4px, transparent 4px 8px); }
.cd .cd-pat[data-verdict="v-con"] { background: radial-gradient(circle, var(--cd-v) 1.7px, transparent 2.1px) 0 0 / 7px 7px; }
.cd .cd-pat[data-verdict="v-mis"] {
  background:
    repeating-linear-gradient(0deg, var(--cd-v) 0 2px, transparent 2px 7px),
    repeating-linear-gradient(90deg, var(--cd-v) 0 2px, transparent 2px 7px);
}

.cd .cd-src { max-width: 66ch; margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--ink-2); font-size: .875rem; line-height: 1.55; }
.cd .cd-src a, .cd .cd-body > p a { padding-block: .8rem; }   /* inline padding: a 44px target, no change to the line */
.cd .cd-src a { padding-block: .9rem; }   /* smaller text, so a little more padding for the same 44px */

/* ---- summary bar ---- */
.cd-sum { margin: 1rem 0 .9rem; }
.cd-bar { display: flex; gap: 2px; height: 2.1rem; padding: 2px; border: 1px solid var(--line); background: var(--paper); }
.cd-seg {
  display: flex; flex: 1 1 0; min-width: 1.9rem; align-items: center; justify-content: center;
  border: 1px solid var(--cd-vt);          /* the -text token: the segment's edge stays visible where the fill is pale */
  outline: 0 solid var(--ink);
}
.cd-seg b {
  min-width: 1.5rem; padding: .12rem .35rem; background: var(--paper); color: var(--ink);
  font: 700 .875rem/1.2 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; text-align: center;
}
.cd-seg.cd-off { opacity: .28; }
.cd-seg.cd-on { outline-width: 2px; outline-offset: 0; }
.cd-sw { display: inline-block; flex: none; width: .95rem; height: .95rem; border: 1px solid var(--cd-vt); }

.cd-n { font: 700 .875rem/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; color: var(--ink); }

/* ---- filter: a radio group drawn as a segmented control ---- */
.cd-filter { display: flex; flex-wrap: wrap; gap: .4rem; min-width: 0; margin: .6rem 0 0; padding: 0; border: 0; }
.cd-opt { position: relative; display: inline-flex; cursor: pointer; user-select: none; }
.cd-opt input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cd-face {
  display: inline-flex; align-items: center; gap: .45rem;
  min-height: 2.75rem; padding: .3rem .75rem .3rem .6rem;
  border: 1px solid var(--line); background: var(--paper); color: var(--ink-2);
  font-size: .875rem; line-height: 1.25;
}
.cd-opt:hover .cd-face { border-color: var(--muted); color: var(--ink); }
.cd-opt input:checked + .cd-face { border-color: var(--accent-text); background: var(--accent-soft); color: var(--ink); font-weight: 700; box-shadow: inset 0 -3px 0 var(--accent-text); }
.cd-opt input:focus-visible + .cd-face { outline: 3px solid var(--accent); outline-offset: 2px; }
.cd-mark { flex: none; width: .95rem; height: .95rem; border: 1px solid var(--muted); border-radius: 50%; }
.cd-opt input:checked + .cd-face .cd-mark { border-color: var(--accent-text); background: radial-gradient(circle, var(--accent-text) 0 38%, transparent 42%); }

.cd-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin: .7rem 0 .6rem; }
.cd-status { color: var(--ink); font-size: .9375rem; font-weight: 600; }
.cd-all, .cd-copy {
  min-height: 2.75rem; padding: .3rem .9rem; border: 1px solid var(--line); background: var(--paper); color: var(--ink);
  font: inherit; font-size: .875rem; cursor: pointer;
}
.cd-all:hover, .cd-copy:hover { border-color: var(--accent); color: var(--accent-text); }
.cd-all:focus-visible, .cd-copy:focus-visible, .cd-btn:focus-visible, .cd a:focus-visible, .cd-url:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }

/* ---- cards ---- */
.cd-list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.cd-card {
  border: 1px solid var(--line); border-left: .3rem solid var(--cd-v); background: var(--paper);
  scroll-margin-top: calc(var(--header-h, 0rem) + 1rem);
}
.cd-card:target, .cd-card.cd-hit { outline: 2px solid var(--accent); outline-offset: 2px; }
.cd-head {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: .3rem .9rem;
  padding: .8rem 1rem .85rem;
}
.cd .cd-num {
  color: var(--muted); font: 700 .8125rem/1.3 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; letter-spacing: .08em;
}
.cd .cd-claim { margin: 0; color: var(--ink); font: inherit; font-size: 1.0625rem; font-weight: 700; line-height: 1.35; letter-spacing: 0; text-wrap: balance; }
.cd .cd-chip {
  display: inline-flex; align-items: center; gap: .4rem; width: max-content; max-width: 100%; margin-top: .15rem;
  padding: .28rem .55rem; border: 1px solid currentColor; color: var(--cd-vt);
  font-size: .8125rem; font-weight: 800; letter-spacing: .06em; line-height: 1.2; text-transform: uppercase;
}
.cd-btn {
  display: block; width: 100%; margin: 0; padding: 0 2.2rem 0 0; border: 0; background: none; color: inherit;
  font: inherit; letter-spacing: inherit; text-align: left; cursor: pointer;
}
.cd-btn::before { position: absolute; inset: 0; content: ""; }          /* the whole header is the target */
.cd-btn::after {                                                          /* chevron */
  position: absolute; top: 1.05rem; right: 1.1rem; width: .6rem; height: .6rem; content: "";
  border: solid var(--muted); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .15s ease;
}
.cd-btn[aria-expanded="true"]::after { transform: translateY(.25rem) rotate(-135deg); }
.cd-btn:hover::after { border-color: var(--accent-text); }
.cd-btn:focus-visible { outline: 0; }
.cd-btn:focus-visible::before { outline: 3px solid var(--accent); outline-offset: 2px; }

.cd-body { padding: 0 1rem 1rem; border-top: 1px solid var(--line-soft, var(--line)); }
.cd .cd-body > p:not(.cd-link) { max-width: 70ch; margin-top: .8rem; color: var(--ink-2); font-size: 1rem; line-height: 1.6; }
.cd .cd-body strong { color: var(--ink); }
.cd .cd-link { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; margin-top: .7rem; font-size: .875rem; }
.cd-said { color: var(--ink); font-size: .875rem; }
.cd-url {
  flex: 1 1 16rem; min-width: 0; min-height: 2.75rem; padding: .3rem .6rem; border: 1px solid var(--line);
  background: var(--page); color: var(--ink); font: .875rem/1.3 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

@media (min-width: 40rem) {
  .cd-head { grid-template-columns: minmax(0, 1fr) auto; align-items: start; padding-right: 3.2rem; }
  .cd .cd-num { grid-column: 1 / -1; }
  .cd .cd-chip { margin-top: .1rem; }
  .cd-btn { padding-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .cd-btn::after { transition: none; }
}

@media print {
  .cd-filter, .cd-all, .cd-copy, .cd-btn::after { display: none !important; }
  .cd .cd-body[hidden], .cd .cd-card[hidden] { display: block !important; }
  .cd-card { break-inside: avoid; }
}
