/* ── THRESHOLD TTRPG — Print / PDF Stylesheet ────────────
   Applied when window.print() is called.
   Produces a clean 1-2 page character sheet.
─────────────────────────────────────────────────────────── */

@media print {

  /* ── RESET ─────────────────────────────────────────────── */
  * { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  body {
    background: #fff !important;
    color: #111 !important;
    font-family: 'Georgia', serif;
    font-size: 9pt;
    line-height: 1.45;
    margin: 0;
    padding: 0;
  }

  /* Hide everything except the print sheet */
  .app-header,
  .tab-nav,
  #panel-combat,
  #panel-rules,
  #panel-campaign,
  #panel-gm,
  #editor-overlay,
  #tip-box,
  #theme-picker,
  .flash-saved,
  .btn,
  button,
  textarea,
  select,
  #session-notes-ta,
  #notes-save-status,
  .loading-screen,
  .loading-spinner {
    display: none !important;
  }

  #panel-character { display: block !important; }
  #char-content    { display: block !important; }

  /* ── PAGE SETUP ─────────────────────────────────────────── */
  @page {
    size: letter portrait;
    margin: 0.55in 0.5in 0.5in 0.5in;
  }

  /* ── PRINT SHEET STRUCTURE ──────────────────────────────── */
  .print-sheet {
    display: block !important;
    width: 100%;
  }

  /* Override the multi-column layout */
  .sheet-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    page-break-inside: avoid;
  }

  /* Top header strip */
  [style*="grid-template-columns:280px"] {
    display: grid !important;
    grid-template-columns: 200px 1fr !important;
    gap: 8px !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    border-bottom: 1.5pt solid #333;
    margin-bottom: 8px !important;
  }

  /* ── TYPOGRAPHY ─────────────────────────────────────────── */
  .card {
    background: transparent !important;
    border: 0.75pt solid #999 !important;
    border-radius: 4pt !important;
    padding: 7pt !important;
    margin-bottom: 7pt !important;
    page-break-inside: avoid;
  }

  .section-label {
    font-family: 'Courier New', monospace !important;
    font-size: 6pt !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #555 !important;
    margin-bottom: 5pt !important;
  }

  /* ── CHARACTER NAME ─────────────────────────────────────── */
  [style*="font-family:var(--font-head);font-size:1.2rem"] {
    font-family: 'Georgia', serif !important;
    font-size: 16pt !important;
    color: #111 !important;
    margin-bottom: 2pt !important;
  }

  /* ── SCALED ATTRIBUTES ──────────────────────────────────── */
  .attr-card {
    background: #f5f5f5 !important;
    border: 0.5pt solid #bbb !important;
    padding: 5pt 3pt !important;
  }
  .attr-letter {
    font-family: 'Georgia', serif !important;
    font-size: 14pt !important;
    color: #8B5E1A !important;
  }
  .attr-word {
    font-size: 5.5pt !important;
    color: #666 !important;
  }
  .attr-die {
    font-family: 'Courier New', monospace !important;
    font-size: 9pt !important;
    font-weight: bold !important;
    color: #111 !important;
    background: white !important;
    border: 0.5pt solid #999 !important;
    padding: 2pt 0 !important;
    width: 100% !important;
  }

  /* ── DERIVED STATS ──────────────────────────────────────── */
  .derived-box {
    background: #f5f5f5 !important;
    border: 0.5pt solid #bbb !important;
    padding: 5pt !important;
  }
  .derived-val { font-size: 12pt !important; color: #111 !important; }
  .derived-label { font-size: 5.5pt !important; color: #555 !important; }

  /* ── STAMINA PIPS ───────────────────────────────────────── */
  .stamina-pip {
    width: 14pt !important;
    height: 14pt !important;
    border: 1pt solid #999 !important;
    border-radius: 50% !important;
    background: #D4A030 !important;
    display: inline-block !important;
    margin: 1pt !important;
  }
  .stamina-pip.empty {
    background: white !important;
    border-color: #bbb !important;
  }

  /* ── WOUND TRACK ────────────────────────────────────────── */
  .wound-box {
    width: 14pt !important;
    height: 14pt !important;
    border: 1pt solid #999 !important;
    border-radius: 3pt !important;
    background: white !important;
    display: inline-block !important;
    margin: 1pt !important;
  }
  .wound-box.filled.light   { background: #5a8a22 !important; border-color: #3a6a11 !important; }
  .wound-box.filled.serious { background: #a07030 !important; border-color: #6a4a20 !important; }
  .wound-box.filled.grievous{ background: #b84040 !important; border-color: #8a2a2a !important; }
  .wound-box.filled.down    { background: #5a1010 !important; border-color: #8a2a2a !important; }
  .wound-label { font-size: 7pt !important; color: #444 !important; width: 45pt !important; }
  .wound-effect { font-size: 6.5pt !important; color: #666 !important; }

  /* ── SKILLS ─────────────────────────────────────────────── */
  .skill-row { border-bottom: 0.5pt solid #eee !important; padding: 3pt 4pt !important; }
  .skill-attr { font-size: 7pt !important; color: #8B5E1A !important; }
  .skill-name { font-size: 8pt !important; color: #111 !important; }
  .skill-die-badge {
    font-family: 'Courier New', monospace !important;
    font-size: 7pt !important;
    background: #e8f0f8 !important;
    color: #1a4878 !important;
    border: 0.5pt solid #9ab0d4 !important;
    padding: 1pt 4pt !important;
  }
  .skill-tick {
    width: 7pt !important;
    height: 7pt !important;
    border: 0.75pt solid #bbb !important;
    border-radius: 50% !important;
    background: white !important;
    display: inline-block !important;
    margin: 0.5pt !important;
  }
  .skill-tick.filled { background: #a07030 !important; border-color: #8B5E1A !important; }

  /* ── ABILITIES ──────────────────────────────────────────── */
  .ability-card {
    border: 0.75pt solid #ccc !important;
    padding: 5pt 6pt !important;
    margin-bottom: 4pt !important;
    background: white !important;
    page-break-inside: avoid !important;
  }
  .ability-card.corruption { border-left: 2pt solid #6a3a9a !important; }
  .ability-name { font-size: 8pt !important; font-weight: bold !important; color: #111 !important; }
  .ability-desc { font-size: 7.5pt !important; color: #444 !important; line-height: 1.4 !important; }

  /* ── BADGE COLORS ───────────────────────────────────────── */
  .badge {
    font-family: 'Courier New', monospace !important;
    font-size: 5.5pt !important;
    padding: 1pt 4pt !important;
    border: 0.5pt solid #999 !important;
    border-radius: 2pt !important;
    background: #f0f0f0 !important;
    color: #333 !important;
  }
  .badge-gold   { background: #FFF8E8 !important; color: #8B5E1A !important; border-color: #D4A030 !important; }
  .badge-blue   { background: #E8F0F8 !important; color: #1a4878 !important; border-color: #9ab0d4 !important; }
  .badge-purple { background: #F0EAF8 !important; color: #5a3a8a !important; border-color: #b090d4 !important; }
  .badge-red    { background: #F8EAEA !important; color: #8a2a2a !important; border-color: #d49090 !important; }
  .badge-green  { background: #EAF4EA !important; color: #2a6a2a !important; border-color: #90d490 !important; }

  /* ── RESOURCE PIPS ──────────────────────────────────────── */
  .resource-pip {
    width: 10pt !important;
    height: 10pt !important;
    border: 0.75pt solid #999 !important;
    border-radius: 2pt !important;
    background: white !important;
    display: inline-block !important;
    margin: 1pt !important;
  }
  .resource-pip.filled.strain     { background: #1a4878 !important; border-color: #1a4878 !important; }
  .resource-pip.filled.momentum   { background: #2a6a2a !important; border-color: #2a6a2a !important; }
  .resource-pip.filled.corruption { background: #5a3a8a !important; border-color: #5a3a8a !important; }
  .resource-pip.threshold         { border: 1.5pt solid #D4A030 !important; }
  .resource-label { font-size: 7pt !important; color: #555 !important; }

  /* ── EQUIPMENT ──────────────────────────────────────────── */
  .equip-slot { border: 0.5pt solid #ddd !important; padding: 4pt 6pt !important; margin-bottom: 3pt !important; background: white !important; }
  .equip-slot.empty { border-style: dashed !important; border-color: #e0e0e0 !important; }
  .equip-slot-name { font-size: 8pt !important; color: #111 !important; }
  .equip-slot-name.empty { color: #bbb !important; }

  /* ── BACKGROUND FIELDS ──────────────────────────────────── */
  .bg-val  { font-size: 8pt !important; color: #333 !important; }
  .bg-tag  { font-size: 5.5pt !important; }

  /* ── THEME DIE BOX ──────────────────────────────────────── */
  .theme-die-box { background: #f8f8f8 !important; border: 0.75pt solid #ccc !important; }
  .theme-die-face { display: none !important; }
  .theme-die-result { font-size: 8pt !important; color: #111 !important; }

  /* ── SESSION NOTES ──────────────────────────────────────── */
  #session-notes-ta + * { display: none !important; }
  .session-notes-print {
    display: block !important;
    min-height: 60pt !important;
    border: 0.75pt solid #ddd !important;
    border-radius: 3pt !important;
    padding: 6pt !important;
    font-size: 8pt !important;
    color: #333 !important;
  }

  /* ── FOOTER ─────────────────────────────────────────────── */
  .print-footer {
    display: block !important;
    position: fixed !important;
    bottom: 0.25in !important;
    left: 0.5in !important;
    right: 0.5in !important;
    font-family: 'Courier New', monospace !important;
    font-size: 6pt !important;
    color: #bbb !important;
    text-align: center !important;
    border-top: 0.5pt solid #ddd !important;
    padding-top: 3pt !important;
  }

  /* ── PAGE BREAKS ─────────────────────────────────────────── */
  .card { page-break-inside: avoid !important; }
  .sheet-layout > div { page-break-inside: avoid !important; }

} /* end @media print */
