/* ==========================================================================
   Quantum Nature — print
   ==========================================================================
   Loaded with media="print", so it never blocks rendering on screen.

   What survives the printer: the headline, the byline and dates, In short,
   Why it matters, the article body with its figures and tables, and the
   references. Everything that only makes sense on a screen comes off.
   ========================================================================== */

@page {
	margin: 18mm 16mm;
}

/* Print is black on white whatever scheme the reader was using. Redefining
   the tokens does the whole job — no component rule has to be repeated. */
:root,
:root[data-theme="dark"],
:root[data-theme="light"] {
	--qn-bg: #FFFFFF;
	--qn-bg-deep: #FFFFFF;
	--qn-surface: #FFFFFF;
	--qn-card: #FFFFFF;
	--qn-text: #000000;
	--qn-heading: #000000;
	--qn-prose: #111111;
	--qn-muted: #222222;
	--qn-faint: #444444;
	--qn-dim: #666666;
	--qn-accent: #000000;
	--qn-accent-ink: #FFFFFF;
	--qn-accent-soft: transparent;
	--qn-violet-soft: transparent;
	--qn-hatch: transparent;
	--qn-border-soft: #CCCCCC;
	--qn-border: #999999;
	--qn-border-firm: #666666;
	--qn-border-input: #666666;
}

body {
	background: #FFFFFF;
	color: #000000;
	font-size: 11pt;
	line-height: 1.5;
}

/* Interface, navigation and anything asking the reader to do something. */
.qn-masthead,
.qn-searchpanel,
.qn-skip,
.qn-actions,
.qn-cite,
.qn-toc,
.qn-railwidgets,
.qn-subscribe,
.qn-related,
.qn-postnav,
.qn-footer,
.qn-filters,
.qn-pagination,
.qn-comments,
.qn-tags,
.qn-empty__search,
.qn-pagehead__search,
.qn-searchform,
.qn-crumbs {
	display: none !important;
}

.qn-wrap { max-width: none; padding: 0; }
.qn-shell { display: block; padding: 0; }
.qn-shell__body { max-width: none; }

.qn-article__header { padding-top: 0; max-width: none; }
.qn-article__title { font-size: 24pt; line-height: 1.1; }
.qn-article__dek { font-size: 13pt; max-width: none; }

.qn-byline {
	border-block: 1px solid #999999;
	font-size: 10pt;
	page-break-inside: avoid;
}
.qn-byline__avatar { display: none; }

.qn-panel,
.qn-why {
	border: 1px solid #999999;
	page-break-inside: avoid;
	background: none;
}
.qn-why { border-width: 1px 0; }

.qn-prose { font-size: 11pt; line-height: 1.5; color: #111111; }
.qn-prose h2 { font-size: 15pt; page-break-after: avoid; }
.qn-prose h3 { font-size: 13pt; page-break-after: avoid; }
.qn-prose p, .qn-prose li { orphans: 3; widows: 3; }
.qn-prose figure, .qn-prose table, .qn-prose pre, .qn-prose blockquote { page-break-inside: avoid; }
.qn-prose pre { background: #F4F4F4; color: #000000; border: 1px solid #999999; }
.qn-prose code { background: none; color: #000000; border: 0; }
.qn-prose img { max-width: 100%; border: 1px solid #999999; }

/* A tall hero would otherwise take a whole sheet before the first sentence.
   68vh means the page height when printing, so it needs a real measure. */
.qn-article__lead .qn-figure__img { max-height: 95mm; object-fit: cover; }
.qn-article__lead { page-break-inside: avoid; }

/* Links: the URL is what a printed page cannot otherwise carry. Internal
   anchors and the site's own navigation are left bare. */
.qn-prose a { color: #000000; background: none; text-decoration: underline; }
.qn-prose a[href^="http"]::after {
	content: " (" attr(href) ")";
	font-size: 9pt;
	color: #444444;
	word-break: break-all;
}
.qn-prose a[href^="#"]::after { content: ""; }

.qn-references { page-break-before: auto; }
.qn-references__list { font-size: 10pt; }
.qn-references__list a::after { content: ""; }
.qn-references__list a { text-decoration: none; }

.qn-faq { page-break-inside: avoid; }

.qn-authorbox {
	border: 1px solid #999999;
	page-break-inside: avoid;
}
.qn-authorbox__avatar { display: none; }
.qn-authorbox { grid-template-columns: minmax(0, 1fr); }
