/* print.css — Print / Save-as-PDF and the branded client report
   Extracted from the single-file UI; loaded by index.html in order. */
  /* ============================ PRINT / SAVE AS PDF ============================ */
  @media print {
    /* clean paper look for print */
    :root {
      --bg:#ffffff; --surface:#ffffff; --surface-2:#f6f1e6; --line:#bfae84; --line-soft:#ddd0b2;
      --ink:#1c1a14; --muted:#3a352a; --faint:#6b6350;
      --accent:#1f3a5f; --accent-2:#7a2e2e; --gold:#8a651f; --accent-ink:#ffffff;
      --good:#2f6a3e; --bad:#9a333e; --chart-bg:#ffffff;
      --shadow:none; --shadow-sm:none; --shadow-lift:none; --ring:none;
      --paper:#ffffff; --paper-deep:#f6f1e6;
    }
    @page { margin:14mm; }
    body { background:#fff !important; }
    body::before, body::after { display:none !important; }
    .pothi-frame::before, .chartbox::before, .colophon::before { display:none !important; }
    header, .colophon, .margin-index, .index-top, .pdf-btn, .sec-divider, .vp-year, .mode-toggle { display:none !important; }
    .pothi-frame { box-shadow:none !important; border:0 !important; max-width:none; margin:0; background:#fff !important; }
    .corner { display:none !important; }
    .chartbox { box-shadow:none !important; border:1px solid var(--line); background:#fff !important; }
    .reader { display:block !important; }
    .results { padding:0 !important; }
    .tabpane { display:block !important; animation:none !important; page-break-before:always; }
    .tabpane:first-of-type { page-break-before:auto; }
    #print-title { display:block !important; }
    .panel, .info-card, .varga-card, .lalkitab, .lk-debt { box-shadow:none !important; border:1px solid var(--line); break-inside:avoid; }
    details.pl, .tl details { break-inside:avoid; }
    details:not([open]) > summary ~ * { display:block !important; }
    .info-card, .yoga, .dline, tr, .cond-card { break-inside:avoid; }
    .fc-item, .num-result, .syn-card, .nt-box, .match-score { break-inside:avoid; }
    .settings-fab, .settings-panel { display:none !important; }
    a[href]:after { content:""; }

    /* Branded client report: when active, print ONLY the report. */
    body.report-mode .pothi-frame, body.report-mode #print-title { display:none !important; }
    body.report-mode #report-root { display:block !important; }
    body.report-mode .rpt-cover { page-break-after:always; min-height:88vh; display:flex; flex-direction:column; justify-content:center; }
    body.report-mode .rpt-sec { page-break-inside:avoid; }

    /* Family Record artifact — paginate as a book. Works whether printed from the viewer
       (record-preview) or via the Save-as-PDF path (report-mode). */
    .no-print { display:none !important; }
    /* inline home report: in report-mode hide the home chrome, print only the report */
    body.report-mode header, body.report-mode .fam-hero, body.report-mode .fam-cards,
    body.report-mode .fam-features { display:none !important; }
    body.report-mode #homeReport { display:block !important; }
    body.record-preview .pothi-frame { display:none !important; }
    body.record-preview #report-root { display:block !important; position:static !important; background:#fff !important; }
    body.record-preview .rec-toolbar { display:none !important; }
    body.report-mode #report-root, body.record-preview #report-root { color:#1c1a14; }
    .rec-page { max-width:none !important; margin:0 !important; padding:0 !important; }
    .rec-cover { page-break-after:always; min-height:92vh; display:flex; flex-direction:column; justify-content:center;
      border:0 !important; box-shadow:none !important; background:#fff !important; }
    .rec-sec { border:0 !important; box-shadow:none !important; background:#fff !important;
      padding:0 0 8px !important; margin:0 0 12px !important; }
    .rec-opener { page-break-before:always; }
    .rec-h { break-after:avoid; font-size:18px !important; }
    .rec-prose { font-size:12.5px !important; line-height:1.55 !important; }
    .rec-prose h2 { font-size:15px !important; break-after:avoid; }
    .rec-prose h3 { font-size:13px !important; break-after:avoid; }
    .rec-member-grid { display:grid !important; grid-template-columns:240px 1fr !important; gap:18px !important; }
    .rec-chart svg { max-width:220px !important; }
    .rec-pl { font-size:10.5px !important; }
    .rec-nameplate { break-after:avoid; }

    /* Compact print typography — screen uses a large pothi size; PDF wants 12–14px. */
    body { font-size:13px !important; line-height:1.5 !important; }
    #print-title h1 { font-size:20px !important; }
    .panel > h2 { font-size:16px !important; margin-bottom:6px !important; }
    .panel > h2 .deva, .panel > h2 .pill { font-size:12px !important; }
    h3, .panel h3 { font-size:13.5px !important; margin:12px 0 5px !important; }
    h4 { font-size:13px !important; }
    p, li, .lead, .lead-note, .beginner-note, .chart-caption,
    .vc-body p, .mangal-list, .ms-meta span { font-size:12.5px !important; line-height:1.5 !important; }
    table, td, th, .koota-table, .vp-table, .vp-table td, .vp-table th { font-size:12px !important; }
    .koota-table .method, .vg-tag, .cancel-tag, .pill { font-size:10.5px !important; }
    .ms-num { font-size:26px !important; }
    .ms-num span { font-size:13px !important; }
    .ms-meta b { font-size:15px !important; }
    .deva { font-size:12px !important; }
    .tl summary, .tl { font-size:12.5px !important; }
    .lvl2 { font-size:11.5px !important; }
  }
  /* ===================== ASTRON CLIENT REPORT ===================== */
  #report-root { display:none; }
  body.report-mode #report-root { display:block; }
  .rpt-cover { text-align:center; padding:60px 30px 40px; }
  .rpt-cover .rpt-brand { font-family:var(--head); letter-spacing:8px; color:var(--accent); display:flex; align-items:center; justify-content:center; gap:12px; }
  .rpt-cover .rpt-mark { color:var(--gold); font-size:30px; }
  .rpt-cover .rpt-word { font-size:38px; font-weight:700; }
  .rpt-cover .rpt-sub { font-family:var(--deva); color:var(--gold); margin:6px 0 40px; font-size:15px; letter-spacing:2px; }
  .rpt-cover .rpt-name { font-family:var(--head); font-size:30px; color:var(--ink); }
  .rpt-cover .rpt-born { color:var(--muted); margin-top:8px; font-size:15px; font-family:var(--mono); }
  .rpt-cover .rpt-facts { color:var(--accent-2); margin-top:18px; font-size:14px; }
  .rpt-cover .rpt-prepared { color:var(--faint); margin-top:34px; font-size:12px; font-variant:small-caps; letter-spacing:1px; }
  .rpt-sec { margin:0 0 18px; break-inside:avoid; }
  .rpt-h { font-family:var(--head); color:var(--accent); font-size:17px; border-bottom:1.5px solid var(--gold); padding-bottom:4px; margin:0 0 10px; }
  .rpt-h .rpt-deva { font-family:var(--deva); color:var(--gold); font-size:13px; font-weight:400; }
  .rpt-p { font-size:13px; line-height:1.6; margin:0 0 8px; color:var(--ink); }
  .rpt-chart { width:280px; margin:0 auto 10px; }
  .rpt-tab { width:100%; font-size:13px; }
  .rpt-tab td { padding:4px 8px; border-bottom:1px solid var(--line-soft); }
  .rpt-tab td:first-child { color:var(--muted); width:42%; }
  .rpt-area, .rpt-yoga, .rpt-rem { font-size:12.5px; line-height:1.5; margin:0 0 7px; padding-left:2px; }
  .rpt-pos { color:#2e7d32; font-size:11.5px; }
  .rpt-neg { color:#c62828; font-size:11.5px; }
  .rpt-verdict, .rpt-pol { font-size:10px; font-variant:small-caps; letter-spacing:.5px; border-radius:4px; padding:0 5px; border:1px solid var(--line); }
  .rpt-favourable, .rpt-good { color:#2e7d32; } .rpt-challenging, .rpt-unfavourable, .rpt-low { color:#c62828; } .rpt-mixed { color:#a4690f; }
  .rpt-foot { margin-top:22px; padding-top:10px; border-top:1px solid var(--line); font-size:10.5px; color:var(--faint); line-height:1.5; }

  #print-title { display:none; }
  #print-title h1 { font-size:26px; margin:0 0 6px; font-family:var(--head); color:var(--accent); }
  #print-title .pt-meta { font-size:13px; color:var(--muted); line-height:1.7; }
  #print-title .pt-rule { height:2px; background:var(--gold); margin:8px 0 18px; opacity:.6; }
