/* ==========================================================================
   Print — paper worksheets for handwritten notes.
   Only #print-root is printed; everything else is hidden.
   Grids are drawn with repeating-linear-gradient so they survive "no
   background graphics" in most browsers via print-color-adjust.
   ========================================================================== */

@page { size: A4 portrait; margin: 12mm 12mm 14mm; }

html, body { background: #fff !important; color: #111 !important; }
.chrome, .foot, .palette, .toast-rail, .skip, .rail, .pager, .lab-ctl, .lab-read,
.stage > .view, .notes-side, .pad-bar, .pad-foot, .btn, .seg, .chip { display: none !important; }

#print-root { display: block !important; }
#print-root, #print-root * {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  color: #111;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

.sheet {
  page-break-after: always;
  break-after: page;
  height: 262mm;
  display: flex;
  flex-direction: column;
}
.sheet:last-child { page-break-after: auto; break-after: auto; }

.sheet-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 10mm;
  border-bottom: 1.2pt solid #111; padding-bottom: 3mm; margin-bottom: 4mm;
}
.sheet-head h1 { font-size: 15pt; font-weight: 650; letter-spacing: -0.02em; margin: 0; }
.sheet-head .sh-sub { font-size: 8.5pt; color: #555; margin-top: 1mm; }
.sheet-head .sh-right { font-size: 8pt; color: #666; text-align: right; line-height: 1.7; white-space: nowrap; }
.sheet-head .sh-right u { text-decoration: none; border-bottom: .6pt solid #bbb; display: inline-block; min-width: 26mm; }

.sheet-objectives { font-size: 8.5pt; color: #333; margin-bottom: 3mm; line-height: 1.5; }
.sheet-objectives b { font-size: 7.5pt; text-transform: uppercase; letter-spacing: .07em; color: #666; display: block; margin-bottom: 1mm; }

/* --- Cornell layout --- */
.cornell { flex: 1; display: grid; grid-template-columns: 48mm 1fr; grid-template-rows: 1fr 34mm; gap: 0; border: .8pt solid #999; }
.cornell-cues { border-right: .8pt solid #999; padding: 3mm; }
.cornell-main { padding: 3mm; }
.cornell-sum { grid-column: 1 / -1; border-top: .8pt solid #999; padding: 3mm; }
.cornell-cues .lbl, .cornell-main .lbl, .cornell-sum .lbl {
  font-size: 7pt; text-transform: uppercase; letter-spacing: .09em; color: #888; margin-bottom: 2mm; display: block;
}
.cue-line { font-size: 8.5pt; color: #444; padding: 1.6mm 0; border-bottom: .4pt dotted #ccc; line-height: 1.35; }
.rule-area { height: 100%; background-image: repeating-linear-gradient(to bottom, transparent 0 7.4mm, #dcdcdc 7.4mm 7.45mm); }
.dot-area { height: 100%; background-image: radial-gradient(circle, #cfcfcf .35mm, transparent .35mm); background-size: 5mm 5mm; }
.blank-area { height: 100%; }

/* --- diagram frame sheet --- */
.frames { flex: 1; display: grid; gap: 4mm; grid-template-rows: repeat(2, 1fr); }
.frame { border: .8pt solid #999; padding: 3mm; display: flex; flex-direction: column; }
.frame .f-title { font-size: 9pt; font-weight: 600; margin-bottom: 1mm; }
.frame .f-hint { font-size: 7.5pt; color: #777; margin-bottom: 2mm; line-height: 1.4; }
.frame .f-space { flex: 1; }

/* --- recall sheet: question column + blank answer column --- */
.recall-sheet { flex: 1; display: grid; grid-template-columns: 1fr 1fr; border: .8pt solid #999; }
.recall-sheet .rs-col { padding: 3mm; }
.recall-sheet .rs-col + .rs-col { border-left: .8pt solid #999; }
.rs-q { font-size: 8.5pt; line-height: 1.4; padding: 2.4mm 0; border-bottom: .4pt dotted #ccc; display: flex; gap: 2mm; }
.rs-q i { font-style: normal; color: #999; font-size: 7.5pt; min-width: 5mm; }

.sheet-foot { margin-top: 3mm; display: flex; justify-content: space-between; font-size: 7pt; color: #999; }
