/* Print and Save as PDF. Loaded last with media="print", so it wins over the screen styles in app.css and fx.css. */
html, body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.card, .kpi, .boss, .spot-card, .lay-col, .steps a, .ready, .price-hero > div, .locked, .tier { clip-path: none !important; }
.hero-art, .live { display: none !important; }

/* headline figures: four to a row, nothing cut off */
.kpis, .kpis[style] { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 !important; margin-top: 14px; border: 1px solid var(--border) !important; border-radius: 8px !important; background: #fff !important; break-inside: avoid; }
.kpi, .kpi.lead { background: #fff !important; padding: 10px 12px 11px !important; border: 0 !important; border-left: 1px solid var(--border) !important; min-width: 0; }
.kpi:nth-child(4n + 1) { border-left: 0 !important; }
.kpi:nth-child(n + 5) { border-top: 1px solid var(--border) !important; }
.kpi .l { font-size: 9.5px !important; line-height: 12px !important; }
.kpi .v, .kpi.lead .v, .kpi .v.sm { font-size: 19px !important; line-height: 24px !important; margin-top: 4px !important; white-space: nowrap; letter-spacing: -0.01em; }
.kpi .v small { font-size: 11px !important; }
.kpi .s { font-size: 9px !important; line-height: 12px !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }

/* keep each chart with its heading */
.report-section:has(> .legend), .report-section:has(> svg) { break-inside: avoid; }
.report-section > h2, .report-section > .legend { break-after: avoid; }
.report-section svg { max-height: 300px; }
.findings li { break-inside: avoid; }

/* tables: drop the capsule art so the name column has room */
.tbl { font-size: 9.5px !important; table-layout: auto; }
.tbl th { font-size: 8.5px !important; white-space: normal !important; vertical-align: bottom; }
.tbl td { padding: 4px 5px !important; }
.tbl tr { break-inside: avoid; }
.game-cell { grid-template-columns: minmax(0, 1fr) !important; min-width: 0 !important; }
.game-cell img { display: none !important; }
.game-cell b { font-size: 10px; line-height: 13px; }
.tbl .sub2 { font-size: 8.5px !important; line-height: 11px !important; }
.tbl th:first-child, .tbl td:first-child { width: 24%; }
/* short tables stay on one page; long ones break between rows and repeat their header */
.report-section:has(> table.tbl):not(:has(tbody tr:nth-child(14))) { break-inside: avoid; }
