/* ==========================================================================
   10 · CHOP ETISH — qogʻozga / PDF ga chiqarish
   ========================================================================== */

@media print {
  @page { margin: 14mm; }

  html { scroll-padding-top: 0; }
  body {
    background: #fff !important;
    color: #000;
    line-height: 1.5;
  }
  body::before { display: none !important; }

  /* ranglar saqlanib qolsin */
  [data-rule],
  .frac, .frac-display, .mixed,
  .ch-num, .quiz::before, .mo-final, .type-tag, .whole-tag {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  [data-rule] { break-inside: avoid; }

  /* interfeys elementlari qogʻozda kerak emas */
  .topbar, .progress-rail, .fab, .footer-actions, .teacher-banner,
  .lab-controls, .stepper, .machine button, .game-bar, .exam-start,
  .rules-panel, .rules-backdrop, #fwCanvas, .skip-link,
  .mascot-halo, .mascot-ring, .mascot-chip,
  #examRun, #examResult, .nav-toggle, .q-retry { display: none !important; }

  .hero { padding: 0 0 16px; }
  .chapter { padding: 14px 0; page-break-inside: avoid; }
  .card, .quiz, .lab, .story, .rule-box, .exam, .answer-key, .repr, .game {
    box-shadow: none !important;
    break-inside: avoid;
  }

  /* javoblar, yechimlar va kalit ochiq holda chiqsin */
  .q-exp, .task-sol, .ak-body { display: block !important; }
  .task summary::after { display: none; }

  .read-table th { position: static; }
  .mascot .mascot-img, .mascot-fallback { max-width: 160px; }
  .mascot-stage { aspect-ratio: auto; }

  a[href^="#"]::after { content: ""; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; color: #555; }
}
