/* Official Potato — print (owner: FRONTEND). People print a chain page to take to a restaurant:
   keep the URL and dates (first thing on the page), the source, the listed-free list, the "ask
   staff" list, the chain's own notes on each row and the disclaimers; drop navigation, controls
   and art. Loaded with media="print". */
@page { margin: 14mm 12mm; }
/* Round 8: the dark tokens sit on :root:not([data-theme="light"]) under prefers-color-scheme: dark
   (0,2,0), which beat a plain :root here, so a phone in dark mode printed grey headings. Every
   selector that sets dark tokens is listed here too. */
:root, :root:not([data-theme="light"]), :root[data-theme="dark"] {
  color-scheme: light; --on-soil: #FFFFFF; --focus: #000000;
  --bg: #FFFFFF; --surface: #FFFFFF; --sunk: #FFFFFF; --ink: #000000; --ink-2: #333333;
  --line: #999999; --line-strong: #666666; --soil: #000000; --leaf: #1F4D28; --ochre: #5C3B00;
  --beet: #5E1E3E; --radish: #7A1C17; --stone: #333333; --slate: #333333;
  --leaf-tint: #FFFFFF; --ochre-tint: #FFFFFF; --beet-tint: #FFFFFF; --radish-tint: #FFFFFF;
  --stone-tint: #FFFFFF; --slate-tint: #FFFFFF; --e1: none;
}
html, body { background: #FFFFFF !important; color: #000000 !important; }
/* Round 8: a "today 9:26 pm" check prints as its date (app.js writes both texts). */
.rel-screen { display: none !important; }
.rel-print { display: inline !important; }
body { font-size: 10.5pt; }
.site-head nav, .skip, .theme, .picker, .hero-art, .face, .badge, .scene, .empty img, .plate,
.step img, .chev, .btn, .btn-text, .back, .js-only, .jump, .legend, #chains-error, .more,
.top-strip, .item-notes, .why-link, .quote .src .i { display: none !important; }
.wrap { max-width: none; padding: 0; }
/* Block layout on paper: a flex column of page-tall children is where blank pages came from. */
main.wrap { display: block; padding: 0; }
main.wrap > * + * { margin-top: 10pt; }
.results, .bucket, .course, .contradictions, .company { display: block; }
.results > * + *, .bucket > * + *, .contradictions > * + * { margin-top: 8pt; }
a { color: #000000; text-decoration: none; }
a.ext { display: inline; min-height: 0; }
a.ext .i { display: none; }
a.ext::after { content: " (" attr(href) ")"; font-size: 8.5pt; overflow-wrap: anywhere; }
.quote .src { display: inline; min-height: 0; margin: 0; }
.quote .src::after { content: " " attr(href); font-size: 8pt; overflow-wrap: anywhere; }
.site-head { border: 0; }
.wordmark img { display: none; }
/* The URL and the three dates head the printout. */
.print-only { display: block !important; }
.print-head { font-size: 9pt; border-bottom: 1px solid #000000; padding-bottom: 4pt; overflow-wrap: anywhere; }
/* Only small boxes are kept whole; a long list or card is allowed to run onto the next page. */
.card, .specimen, .status-row, .disclaimers, .rows > li, .quote { box-shadow: none !important; break-inside: avoid; }
.rows, .course, .finding, details.b-contains[open] .rows { break-inside: auto; box-shadow: none !important; }
.rows { border: 1px solid #999999; }
.row > summary { min-height: 0; padding: 4pt 6pt; }
.row.s-conflict { background: none; box-shadow: inset 3px 0 0 #000000; }
.disc { width: 16pt; height: 16pt; }
/* A closed row's evidence never prints; the chain's own notes on the row ride in its summary. */
.evidence { display: none; }
.kq { display: none; }
.print-note { display: block !important; margin-top: 2pt; font-size: 9pt; }
.print-note > span { display: block; font-style: italic; }
.specimen > summary { min-height: 0; }
.course-h { break-after: avoid; }
.bucket-h, h2 { break-after: avoid; }
.disclaimers { border: 1px solid #000000; }
.site-foot { border-top: 1px solid #999999; font-size: 8.5pt; }
.foot-nav { display: none; }
/* Round 3 (E7): a contradiction card prints its summary and first pair only; the rest of its
   quotes are on the page, one tap away. Screen-only banners and controls never print. */
.more-sources, .shared-note, .to-top, .finding .tell, .loading, #chains-loading, .anchors { display: none !important; }
/* Round 3 (phone pass): site.css shows a JS-only control with `html.js .js-only { display: revert
   !important }` (0,2,1) and the theme switcher with `html.js .theme.js-only` (0,3,1); a plain
   `.theme, .js-only` here (0,1,0) lost to both, so the theme switcher and the ingredients "Show
   all" button printed on every page. These selectors outrank them. */
html.js body .js-only, html.js body .theme.js-only, html body .theme { display: none !important; }
/* E7: a closed disclosure of further findings stays closed on paper and does not print at all
   (no "Show 5 more" on paper); its print-only line says how many are left online instead. */
details.more-findings:not([open]), details.coverage:not([open]), details.resolved:not([open]),
details.more-findings > summary { display: none !important; }
details.more-findings[open] + .print-more { display: none !important; }
/* Search (2026-10-11): the fields do not print; a dish search's status line does, so a filtered
   printout says it is filtered. */
.head-find, .finder, .dish-find, .find-more { display: none !important; }
.dish-status { display: block; padding: 0; background: none; }
