/* Screen controls share the existing paper, ink and line tokens. */
.citation-fallback { display: grid; gap: 8px; margin-top: 16px; font-size: var(--type-body); line-height: 1.6; }
.citation-fallback[hidden] { display: none; }
.citation-fallback textarea { width: 100%; min-width: 0; padding: 12px; resize: vertical; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: var(--paper); font: inherit; line-height: 1.7; }
.citation-fallback textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.article-print-sheet { display: none; }
@media print {
  @page cat-article { size: A4; margin: 15mm; }
  html:has(body.article-printing), body.article-printing { height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; }
  body.article-printing { display: block !important; margin: 0 !important; padding: 0 !important; background: transparent !important; color: var(--ink) !important; }
  body.article-printing > :not(#article-print-sheet) { display: none !important; }
  body.article-printing #detail::backdrop { display: none !important; background: transparent !important; }
  body.article-printing #article-print-sheet { page: cat-article; display: block !important; position: static !important; width: auto !important; height: auto !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; color: var(--ink); font: 10.5pt/1.75 var(--sans); }
  #article-print-sheet *, #article-print-sheet *::before, #article-print-sheet *::after { box-shadow: none !important; text-shadow: none !important; transform: none !important; animation: none !important; }
  #article-print-sheet h1 { font: 500 21pt/1.45 var(--sans); margin: 3mm 0; break-after: avoid; }
  #article-print-sheet h2 { font: 500 13pt/1.5 var(--sans); margin: 7mm 0 2mm; break-after: avoid; }
  #article-print-sheet p { margin: 2mm 0; white-space: pre-line; orphans: 3; widows: 3; }
  #article-print-sheet a { color: var(--ink); text-decoration: none; overflow-wrap: anywhere; word-break: break-word; }
  #article-print-sheet .article-print-heading { padding-bottom: 4mm; margin-bottom: 4mm; border-bottom: 1px solid var(--line); }
  #article-print-sheet .article-print-origin, #article-print-sheet .article-print-cite, #article-print-sheet .article-print-source, #article-print-sheet .article-print-footer { font-size: 9pt; line-height: 1.65; }
  #article-print-sheet .article-print-source { margin: 0 0 4mm; break-inside: avoid; }
  #article-print-sheet .article-print-footer { margin-top: 6mm; padding-top: 4mm; border-top: 1px solid var(--line); }
}
