/*
 * Typing Practice Pro - print stylesheet.
 *
 * Loaded with media="print". Certificates, result reports, practice plans and
 * the preparation checklist are all designed to come out of a home printer or
 * the browser's "Save as PDF" without any server-side PDF library.
 */

@page {
	margin: 14mm;
}

body {
	background: #fff !important;
	color: #000 !important;
	font-size: 11pt;
	line-height: 1.45;
}

/* Hide everything that is interactive or navigational. */
.tpp-header,
.tpp-footer,
.tpp-nav,
.tpp-breadcrumbs,
.tpp-sidebar,
.tpp-widget-area,
.tpp-toolbar,
.tpp-controls,
.tpp-drawer,
.tpp-keyboard-wrap,
.tpp-capture,
.tpp-overlay,
.tpp-legend,
.tpp-progress,
.tpp-result-actions,
.tpp-dashboard-tabs,
.tpp-history-controls,
.tpp-library-filters,
.tpp-pagination,
.tpp-share,
.tpp-post-nav,
.tpp-lesson-nav,
.tpp-cta,
.comments-area,
.skip-link,
.tpp-btn,
button,
form {
	display: none !important;
}

/* Certificates print one to a page, centred. */
.tpp-certificate {
	padding: 0;
	background: none;
}

.tpp-certificate-inner {
	max-width: none;
	width: 100%;
	border: 3px double #333;
	padding: 18mm 14mm;
	page-break-inside: avoid;
	break-inside: avoid;
}

.tpp-certificate-figure { color: #000 !important; }
.tpp-certificate-verify { font-size: 8pt; }
.tpp-certificate-disclaimer { font-size: 8pt; }

/* Result report. */
.tpp-result {
	background: none;
	border: 1px solid #999;
	page-break-inside: avoid;
}

.tpp-result-primary b { color: #000 !important; font-size: 28pt; }

.tpp-rating {
	background: none !important;
	color: #000 !important;
	border: 1px solid #000;
}

.tpp-result-grid {
	grid-template-columns: repeat(3, 1fr);
}

.tpp-result-item {
	background: none;
	border-bottom: 1px solid #ddd;
	border-radius: 0;
}

.tpp-sparkline { border: 1px solid #ddd; color: #000; }

/* Practice plan and checklist. */
.tpp-plan-blocks { gap: 4mm; }

.tpp-plan-block {
	border: 1px solid #999;
	page-break-inside: avoid;
	break-inside: avoid;
}

.tpp-plan-block::before {
	background: none !important;
	color: #000 !important;
	border: 1px solid #000;
}

.tpp-checklist li {
	border: 0;
	border-bottom: 1px solid #ccc;
	border-radius: 0;
	page-break-inside: avoid;
}

.tpp-checklist li::before {
	border-color: #000;
}

/* Tables. */
.tpp-table-wrap {
	overflow: visible;
	border: 0;
}

.tpp-table th,
.tpp-table td {
	border-bottom: 1px solid #ccc;
	white-space: normal;
}

.tpp-table th {
	background: none;
	border-bottom: 2px solid #000;
}

/* Charts stay, but flatten to ink-friendly strokes. */
.tpp-chart-line { stroke: #000; }
.tpp-chart-area { fill: #eee; }
.tpp-chart-dot { fill: #000; stroke: #fff; }
.tpp-barchart-fill { background: #666 !important; }
.tpp-heatmap { display: none; }

/* Show link targets in printed articles so the page stays useful on paper. */
.tpp-entry-content a[href^="http"]::after {
	content: " (" attr(href) ")";
	font-size: 8pt;
	word-break: break-all;
}

h1, h2, h3 {
	page-break-after: avoid;
	break-after: avoid;
}

img, figure, table {
	page-break-inside: avoid;
	break-inside: avoid;
}
