@page { size: A4; margin: 20mm; }

#app-header, #sidebar, .slide-nav, .guided-controls, .progress-block, .draft-tag { display: none; }
#content-panel { margin: 0; padding: 0; min-height: 0; }
body:has(#print-area) #content-panel { display: none; }

body { background: white; color: black; font-size: 11pt; }
#print-area { display: block; }
#print-area, #print-area * { box-shadow: none; }

.print-header {
  position: fixed; top: -15mm; left: 0; right: 0;
  font-size: 9pt; color: black; border-bottom: 1px solid black; padding-bottom: 2mm;
}

/* Slides (Lecture + Guided) */
.slide { max-width: none; margin: 0 0 8mm; padding: 0 0 6mm; border: 0; border-bottom: 1px solid black; border-radius: 0; background: white; break-inside: avoid; }
.slide-title { color: black; font-size: 15pt; margin-bottom: 4mm; }
.slide-cols { grid-template-columns: 1.3fr 1fr; gap: 6mm; }
.diagram-placeholder { width: 80mm; min-height: 60mm; height: 60mm; border: 1px solid black; background: white; color: black; font-size: 9pt; }
.slide-cols:has(.diagram) { grid-template-columns: 1fr; }
.diagram { max-width: 130mm; break-inside: avoid; }
.slide:has(.slide-visual .diagram + .diagram) { break-inside: auto; }
.source-note, .diagram figcaption { color: black; }
.type-tag, .clo-badge { color: black; background: white; border: 1px solid black; }
.callout { border: 1px solid black; background: white; }
.draft-note { border-left: 3px solid black; background: white; }
th, td { border-color: black; }
.app-table thead th, .matrix-table thead th, .comp-table thead th, .comp-table thead th:first-child, .comp-table thead th:last-child { background: white; color: black; border-bottom: 2px solid black; }
.matrix-table tbody th, .app-table tbody th { background: white; }
.slide-footer { color: black; border-top: 1px solid black; }
.slide-summary { break-after: page; }

/* Guided: blanks print as underlines */
.blank-field { border: 0; border-bottom: 1px solid black; background: transparent; min-width: 80px; color: black; }

/* Reference: one card per page */
.ref-list { display: block; max-width: none; }
.ref-card { border: 0; padding: 0; break-after: page; break-inside: avoid; min-height: 220mm; max-height: 250mm; overflow: hidden; }
.ref-card td, .ref-card th { padding: 4px 8px; }
.ref-card .diagram-placeholder { height: 45mm; min-height: 45mm; margin: 4mm 0 0; }
.ref-card:last-child { break-after: auto; }
.ref-card .topic-badge { background: white; color: black; border: 1px solid black; }
.ref-header h2 { color: black; }
.ref-terms { font-size: 10pt; }
.ref-card h4 { color: black; }
.formula code { background: white; border: 1px solid black; }

.act-card { border-color: black; background: white; break-inside: avoid; }
.act-badge { color: black; background: white; border: 1px solid black; }
.act-answer { display: none; }
.slide-activity { break-after: page; }
.slide-summary { break-after: auto; }

.slide-intro { background: white; color: black; border: 0; border-bottom: 1px solid black; }
.slide-intro .slide-title, .slide-intro .intro-role, .slide-intro .intro-mail a, .slide-intro .breadcrumb, .slide-intro .slide-footer { color: black; }
.intro-chips li { color: black; border-color: black; background: white; }
.intro-card { grid-template-columns: 1fr 55mm; }
.intro-photo { filter: grayscale(1); max-height: 90mm; -webkit-mask-image: none; mask-image: none; }
.slide-intro { break-after: page; }
