/*
 * Print styles for a walkthrough. Loaded with media="print" on the walkthrough
 * template only, so it costs nothing on screen.
 *
 * People print these to read beside the game, which is exactly how they were
 * read in 1999. So the page becomes ink on paper: black on white, a serif face
 * for the prose, and everything that only makes sense on a screen removed. The
 * contents list, the game card, the progress bar, the navigation and the
 * "other guides" list are all dropped: none of them can be clicked on paper.
 *
 * The URL of the guide and of the contributor's page are printed after their
 * links, so a printed copy still says where it came from and who wrote it.
 */

@page {
	margin: 18mm 16mm;
}

.ng-progress,
.ng-crumbs,
.ng-toc,
.ng-side,
.ng-jump,
.ng-partnav,
.ng-section--others,
/* The same contributor's other guides for this game. Kept on screen because it
   is the strongest reference on the page, and dropped here for the reason every
   other list of guides is: on paper it is a list of things you cannot open.
   The sequence of *this* guide's own parts does print, under .ng-section--parts:
   it tells somebody holding page 2 that there is a page 3. */
.ng-section--author,
.ng-backlink,
.ng-chips,
/* Paper does not remember a checkbox and cannot follow a page link. The step
   text prints; the control beside it does not, and the gutter it hung in goes
   back to the margin. */
.ng-step,
.ng-guidepager,
.ng-rawlink {
	display: none !important;
}

/* A step this reader had ticked on screen. On paper the tick is gone, so greying
   the text would only make it look badly printed. */
.ng-prose .ng-step-done,
.ng-prose .ng-step-done > * {
	color: inherit !important;
}

.ng {
	max-width: none;
	margin: 0;
	padding: 0;
	background: #fff;
	color: #000;
	font-size: 10.5pt;
	line-height: 1.45;
}

.ng a {
	color: #000;
	text-decoration: none;
}

/* Where the guide and the credit actually live, on paper. */
.ng-credit-link::after,
.ng-credit-origin a::after {
	content: " (" attr(href) ")";
	font-family: monospace;
	font-size: 8pt;
	word-break: break-all;
}

.ng-title {
	font-size: 18pt;
	line-height: 1.15;
}

.ng-head-meta,
.ng-credit-thanks,
.ng-notice--preserved {
	color: #333;
	font-size: 9pt;
}

.ng-credit {
	margin: 0 0 8mm;
	padding: 3mm 4mm;
	background: none;
	border: 0;
	border-left: 2pt solid #000;
	page-break-inside: avoid;
}

.ng-credit-heading {
	color: #000;
}

.ng-prose {
	max-width: none;
	font-family: Georgia, "Times New Roman", serif;
}

.ng-prose h2,
.ng-prose h3 {
	page-break-after: avoid;
	page-break-inside: avoid;
}

.ng-prose h2 {
	font-size: 13pt;
}

.ng-prose h3 {
	font-size: 11pt;
}

/*
 * Preserved blocks keep their alignment on paper too: `pre-wrap` would reflow
 * the ASCII maps into nonsense, which is the one thing this archive has always
 * refused to do to them. Instead the type drops to 7.5pt, at which a 130 column
 * map fits inside a 178mm text column, and the frame is a hairline rather than a
 * filled panel so it does not drink ink.
 */
.ng-scroller {
	overflow: visible;
	background: none;
	border: 0.5pt solid #999;
	page-break-inside: avoid;
}

.ng-scroller pre,
.ng-prose pre {
	padding: 3mm;
	background: none;
	color: #000;
	font-size: 7.5pt;
	line-height: 1.35;
	white-space: pre;
}

.ng-scroller table {
	font-size: 9pt;
}

.ng-scroller th,
.ng-scroller td {
	border-color: #999;
}

/* Spoiler folds are printed open: paper has no disclosure widget, and a printed
   guide with its answers hidden is not a guide. */
.ng-spoiler {
	background: none;
	border: 0.5pt dashed #999;
	page-break-inside: avoid;
}

.ng-spoiler > .ng-spoiler-body {
	display: block !important;
}

.ng-spoiler-summary {
	color: #000;
	font-size: 9pt;
	list-style: none;
}

.ng-section-heading {
	border-bottom: 0.5pt solid #999;
	font-size: 12pt;
	page-break-after: avoid;
}

.ng-item {
	border-bottom: 0.5pt solid #ccc;
	page-break-inside: avoid;
}

.ng-item-meta {
	color: #333;
	font-size: 8.5pt;
}
