/* TLC repository adaptation layer.
   The supplied prototype files remain the visual source of truth. This file
   only maps older route-local names onto those tokens and supplies the few
   repository helpers that do not exist in the prototype. */

:root {
  /* Legacy route token aliases. New shared styles use the semantic names in
     tokens.css directly. */
  --paper: var(--surface-paper);
  --paper-ink: var(--text-on-paper);
  --paper-ink-soft: var(--text-on-paper-muted);
  --black: var(--surface-chrome);
  --page: var(--surface-page);
  --ink: var(--surface-page);
  --ink-soft: var(--text-on-paper-muted);
  --red-dark: var(--danger);
  --red-bright: var(--danger-on-dark);
  --gold: var(--accent-on-dark);
  --blue: var(--accent);
  --blue-light: var(--accent-on-dark);
  --blue-deep: var(--accent-hover);
  --blue-soft: var(--accent-on-dark);
  --nav-hover: var(--accent-on-dark);
  --rule-light: var(--rule-on-dark-strong);
  --rule-soft: var(--rule-on-dark);
  --rule-paper: var(--rule-on-paper);
  --rule-dark: var(--rule-on-dark);
  --rule: var(--rule-on-dark);
  --fg: var(--text-on-dark);
  --fg-soft: var(--text-on-dark-muted);
  --fg-muted: var(--text-on-dark-muted);
  --fg-quiet: var(--rule-on-dark-strong);
  --muted: var(--text-on-paper-muted);
  --row-alt: color-mix(in srgb, var(--text-on-paper) 3%, transparent);
  --row-hover: color-mix(in srgb, var(--text-on-paper) 6%, transparent);
  --warn: var(--danger);
  --amber: var(--category-litigation);
  --accent-dk: var(--accent-hover);
  --accent-deep: var(--accent-hover);

  --cat-policy: var(--category-policy);
  --cat-trial: var(--category-trial);
  --cat-publication: var(--category-publication);
  --cat-contamination: var(--category-contamination);
  --cat-litigation: var(--category-litigation);
  --cat-policy-dot: var(--category-policy);
  --cat-trial-dot: var(--category-trial);
  --cat-publication-dot: var(--category-publication);
  --cat-contamination-dot: var(--category-contamination);
  --cat-litigation-dot: var(--category-litigation);

  --f-display: var(--font-serif);
  --f-body: var(--font-serif);
  --f-bookman: var(--font-serif);
  --f-typewr: var(--font-typewriter);
  --f-tw: var(--font-typewriter);
  --f-mono: var(--font-mono);
  --f-spec: var(--font-sans);
}

main.frame { min-width: 0; }

/* Nav supports grouped tabs today; this keeps any future leaf tab from
   inheriting the disclosure arrow reserved for groups. */
.masthead__tab--link::after { content: none; }

/* Optional label used by ReadingCard. Its typography and color are inherited
   directly from the prototype's label grammar. */
.card-label {
  display: block;
  margin: 0 0 0.375rem;
  color: var(--ground-link);
  font-family: var(--font-serif);
  font-size: var(--size-caption);
  letter-spacing: var(--tracking-caps);
  line-height: var(--leading-heading);
  text-transform: uppercase;
}

/* A page-local style may opt into these semantic wrappers without creating a
   second site shell. */
:is(.records-shell, .nih-shell, .congress-shell) { min-width: 0; }

@media (max-width: 720px) {
  .frame { padding-inline: 1.25rem; }
}
