/* Print and save-as-PDF layout for the assessment results. Loaded after styles.css.
   A4, compact spacing so a typical result fits on one page. */
@media screen {
  .print-only { display: none !important; }
  .res-hint { margin: 1.5rem 0 .75rem; font-size: .95rem; opacity: .85; }
}

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

@media print {
  /* Force the light palette, so dark-theme visitors still get a clean PDF */
  :root, :root[data-theme="dark"] {
    --bg: #fff; --bg-alt: #fff; --text: #111; --text-2: #333; --line: #c9d6da; --accent: #2f5f73;
  }

  html, body { background: #fff !important; font-size: 11pt !important; line-height: 1.4 !important; }
  * {
    color: #111 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* Hide everything except the results */
  .skip, .site-header, .site-footer, .page-hero, .as-meta, #as-intro, #as-app,
  .share, .res-actions, .res-hint, .link-arrow, .theme-btn, .burger { display: none !important; }

  .section, .wrap, .as-wrap { padding: 0 !important; margin: 0 !important; max-width: none !important; }
  #as-results { display: block !important; }

  /* Print-only heading and closing note */
  .print-only { display: block !important; }
  .ph-brand { font-size: 9pt !important; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 1mm !important; }
  .ph-title { font-size: 18pt !important; font-weight: 700; margin: 0 0 1mm !important; }
  .ph-date { font-size: 9pt !important; margin: 0 0 3mm !important; padding-bottom: 2mm; border-bottom: 1px solid #999; }
  .ph-note { font-size: 8.5pt !important; margin: 4mm 0 0 !important; padding-top: 2mm; border-top: 1px solid #999; }

  /* Score and stage */
  .res-head { margin: 0 0 4mm !important; padding: 4mm 0 !important; gap: 6mm !important; }
  .res-head h2 { font-size: 17pt !important; margin: 0 0 1mm !important; }
  .res-head p { margin: 0 !important; font-size: 10.5pt !important; }
  .res-head p.score { font-size: 42pt !important; line-height: 1 !important; padding: 3mm 5mm !important; margin: 0 !important; border: 2px solid #111; }
  .res-head p.score small { font-size: 16pt !important; }

  /* Section headings */
  .as-sub { font-size: 14pt !important; margin: 6mm 0 3mm !important; padding: 0 !important; }

  /* Domain bars */
  .doms { margin: 0 !important; padding: 0 !important; gap: 3mm !important; }
  .doms li { padding: 0 !important; margin: 0 !important; font-size: 10.5pt !important; }
  .bar { border: 1px solid #555 !important; }
  .bar i {
    background: #0b1a22 !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }

  /* Focus areas */
  .gaps { margin: 0 !important; padding: 0 !important; }
  .gaps li { padding: 3.5mm 0 !important; margin: 0 !important; }
  .gaps h3 { font-size: 11.5pt !important; margin: 0 0 1.5mm !important; }
  .gaps p { font-size: 10pt !important; margin: 0 !important; }

  .doms li, .gaps li, .res-head { break-inside: avoid; page-break-inside: avoid; }
  h2, h3 { break-after: avoid; page-break-after: avoid; }
}
