*{box-sizing:border-box}
:root{--gold:#d8bd75;--text:#f1ead8;--muted:#c8bda6}
body{margin:0;background:radial-gradient(circle at top,rgba(216,189,117,.12),transparent 32%),linear-gradient(180deg,#080d17,#010309 65%);color:var(--text);font-family:Georgia,"Times New Roman",serif}
.hero,.layout{max-width:1180px;margin:0 auto}
.hero{padding:28px 22px 18px}.back{color:var(--muted);text-decoration:none;font-weight:bold}
.eyebrow{display:inline-block;margin-top:28px;border:1px solid rgba(216,189,117,.35);color:var(--gold);border-radius:999px;padding:8px 14px;letter-spacing:2px;font-size:12px;font-weight:bold}
h1{font-size:68px;line-height:1;margin:22px 0 12px;letter-spacing:1px}
.hero p{max-width:720px;color:var(--muted);font-size:18px;line-height:1.6}
.layout{padding:0 22px 50px}
.panel{border:1px solid rgba(216,189,117,.3);background:linear-gradient(180deg,rgba(18,25,38,.92),rgba(8,12,18,.92));border-radius:24px;padding:22px;margin-bottom:20px;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:14px;align-items:end}
.auto-filters{grid-template-columns:1fr 1fr auto;margin-top:14px}
label{display:flex;flex-direction:column;gap:8px;color:var(--gold);font-weight:bold;letter-spacing:.5px}
input,select,button{border-radius:14px;border:1px solid rgba(216,189,117,.32);background:#121824;color:var(--text);padding:12px 14px;font:inherit}
button{cursor:pointer;font-weight:bold}button:hover{border-color:var(--gold)}
button.primary{background:linear-gradient(180deg,#6f5527,#372713);color:#fff5dd;border-color:rgba(216,189,117,.65)}
.selected-panel,.auto-panel{display:flex;justify-content:space-between;gap:16px;align-items:center}
.auto-panel{align-items:flex-start;flex-direction:column}
.selected-panel h2,.auto-panel h2{margin:0 0 6px;color:var(--gold)}
.selected-panel p,.auto-panel p{margin:0;color:var(--muted)}
.deck-actions{display:flex;gap:12px;flex-wrap:wrap}
.spell-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px}
.screen-card{border:1px solid rgba(216,189,117,.34);border-radius:22px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.05),transparent 35%),linear-gradient(180deg,#151a25,#05070d);min-height:255px;box-shadow:0 16px 35px rgba(0,0,0,.35)}
.screen-card.selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(216,189,117,.18),0 16px 35px rgba(0,0,0,.35)}
.screen-card h3{margin:0 0 8px;color:#fff6df;font-size:25px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.badge{border:1px solid rgba(216,189,117,.28);border-radius:999px;padding:4px 8px;color:var(--gold);font-size:12px}
.screen-card p{color:var(--muted);line-height:1.45}
.card-actions{margin-top:16px}.card-actions button{width:100%}
.print-area{display:none}

/* Print-safe, no cut lines */
.print-slot{width:62mm;height:91mm;position:relative;break-inside:avoid;page-break-inside:avoid}
.print-card{width:58mm;height:87mm;position:absolute;left:2mm;top:2mm;color:#261406!important;padding:4.2mm 4.2mm 7.5mm;overflow:hidden;background:#e5c27d!important;background-image:radial-gradient(circle at 28% 30%,rgba(115,68,28,.15),transparent 23%),radial-gradient(circle at 70% 65%,rgba(80,44,14,.13),transparent 30%),linear-gradient(180deg,#f1dfad,#d3ad6c)!important;border:1mm solid #211006!important;box-shadow:inset 0 0 7mm rgba(70,35,10,.35);-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
.print-card:before{content:"";position:absolute;inset:1.3mm;border:1px solid rgba(80,38,12,.45);pointer-events:none}
.print-title{text-align:center;color:#9b1111!important;font-size:13.2px;font-weight:bold;line-height:1;margin:0}
.print-subtitle{text-align:center;font-size:7px;font-weight:bold;margin:.7mm 0 1mm;text-transform:uppercase}
.print-meta{font-size:6.2px;line-height:1.12;border-top:1px solid rgba(70,31,9,.55);border-bottom:1px solid rgba(70,31,9,.55);padding:.7mm 0;margin-bottom:.8mm}
.print-rp{font-style:italic;font-size:5.7px;line-height:1.08;color:#5a230c;margin-bottom:.8mm}
.print-desc{font-size:7.4px;line-height:1.16;white-space:pre-line;overflow:hidden;max-height:48mm;margin-bottom:1mm}
.print-stats{position:absolute;left:4.2mm;right:4.2mm;bottom:8mm;display:grid;grid-template-columns:1fr 1fr;gap:.55mm 2mm;text-align:center;font-size:6.1px;color:#8b0e0e!important;font-weight:bold;border-top:1px solid rgba(70,31,9,.55);padding-top:.6mm;z-index:2}
.print-brand{position:absolute;left:2mm;right:2mm;bottom:2.2mm;text-align:center;font-size:4.7px;color:#5b2a10!important;z-index:2;font-weight:bold;white-space:nowrap}
@page{size:A4;margin:5mm}
@media print{html,body{background:#fff!important;margin:0!important}body>*:not(.print-area){display:none!important}.print-area{display:grid!important;grid-template-columns:repeat(3,62mm);gap:3mm 2mm;justify-content:center;align-content:start;background:#fff!important;width:100%}}
@media(max-width:950px){.filters,.auto-filters{grid-template-columns:1fr}.selected-panel{align-items:flex-start;flex-direction:column}.spell-grid{grid-template-columns:1fr}h1{font-size:46px}}


/* v8 FIX: only spell description text bigger.
   Stats, footer, title and layout remain like the original PDF layout. */
.print-desc {
  font-size: 7.4px !important;
  line-height: 1.16 !important;
}
.print-stats {
  position: absolute !important;
  bottom: 8mm !important;
}
.print-brand {
  position: absolute !important;
  bottom: 2.2mm !important;
}
.print-rp {
  display: none !important;
}


/* PRINT BIG FONT PATCH - Maximus Codius
   Bigger readable text for printed spell cards, without changing card/page size. */
@media print {
  .print-card { padding: 3.6mm 3.8mm 7.2mm !important; }
  .print-title { font-size: 15.4px !important; line-height: 1.02 !important; margin-bottom: .5mm !important; }
  .print-subtitle { font-size: 8px !important; line-height: 1.08 !important; margin: .5mm 0 .8mm !important; }
  .print-meta { font-size: 7.2px !important; line-height: 1.16 !important; padding: .65mm 0 !important; margin-bottom: .7mm !important; }
  .print-rp { display: none !important; }
  .print-desc { font-size: 8.45px !important; line-height: 1.18 !important; max-height: 51mm !important; }
  .print-stats { left: 3.8mm !important; right: 3.8mm !important; bottom: 7.5mm !important; font-size: 6.9px !important; line-height: 1.1 !important; }
  .print-brand { bottom: 2.1mm !important; font-size: 5.1px !important; }
}

/* PRINT XL FONT PATCH - Maximus Codius
   Much bigger print card text. This is the readable-at-table version. */
@media print {
  .print-card { padding: 3.2mm 3.6mm 7.4mm !important; }
  .print-title { font-size: 17.2px !important; line-height: 1.02 !important; margin-bottom: .35mm !important; }
  .print-subtitle { font-size: 8.8px !important; line-height: 1.05 !important; margin: .35mm 0 .65mm !important; }
  .print-meta { font-size: 8.25px !important; line-height: 1.12 !important; padding: .65mm 0 !important; margin-bottom: .75mm !important; }
  .print-rp { display: none !important; }
  .print-desc { font-size: 11.25px !important; line-height: 1.12 !important; max-height: 47mm !important; margin-bottom: .5mm !important; }
  .print-stats { left: 3.6mm !important; right: 3.6mm !important; bottom: 7.6mm !important; font-size: 7.9px !important; line-height: 1.05 !important; gap: .45mm 2mm !important; padding-top: .55mm !important; }
  .print-brand { bottom: 2mm !important; font-size: 5.15px !important; }
}
