/* Cards page: the card studio */
.card-studio { display:grid; grid-template-columns:minmax(260px,310px) minmax(0,1fr); gap:18px; align-items:start; margin-top:16px; }
.card-controls { display:grid; gap:10px; margin:0; position:sticky; top:0; }
.card-controls .field { margin:0; font-size:17px; }
.card-controls select { font-family:var(--text); }
.card-steps { margin:0; display:grid; grid-template-columns:1fr 1fr; }
.card-set { margin:4px 0 0; padding:0; border:0; display:grid; gap:2px; }
.card-set legend { padding:0; margin-bottom:4px; font-weight:700; font-size:17px; }
.card-set .check { min-height:34px; margin:0; white-space:normal; font-size:16px; }
.card-set .check input { flex:none; width:20px; height:20px; accent-color:var(--ink); }
.card-controls input[type=range] { padding:0; border:0; background:transparent; accent-color:var(--ink); min-height:30px; }
.card-saved { margin:0; min-height:1.4em; }
.card-main { min-width:0; }
.card-preview { padding:clamp(10px,2vw,22px); border:2px solid var(--ink); background:#d8d0bb; }
.card-stage { display:grid; justify-items:center; }
.desk.cards-desk > * { max-width:1500px; }
.card-stage svg { display:block; width:min(100%, calc((100vh - 190px) * var(--ratio, 1.42))); height:auto; background:#fff; box-shadow:0 6px 18px rgba(34,41,31,.35); }
.card-stage p { margin:40px 0; }
.card-meta { margin:8px 0 0; }
.card-gap { color:var(--overdue); font-weight:700; }
.card-side { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; margin-top:16px; }
.card-side .panel { margin:0; }
.card-side progress { width:100%; height:18px; margin-top:10px; accent-color:var(--ink); }
.card-status p { margin:0 0 10px; }
.card-after .notice p { margin:0; }
.card-reprints { display:flex; flex-wrap:wrap; gap:5px; align-items:center; margin:14px 0 0; padding:8px 12px; border-left:6px solid var(--due); background:#f6ecd0; }
.card-reprints strong { margin-right:6px; }
.card-reprints .dot { min-width:34px; padding:2px 6px; border:1.5px solid var(--ink); background:var(--card); font:700 15px var(--slab); text-align:center; text-decoration:none; }
.card-reprints .dot.on { background:var(--ink); color:var(--card); }
#card-print { display:none; }
@media (max-width:1100px) { .card-studio { grid-template-columns:1fr; } .card-controls { position:static; } }

/* Printing cards: only the cards, each on its own page cut to the paper size (the @page rules are written by card/print.js). */
@media print {
  html:has(body.printing-cards) { height:auto; }
  body.printing-cards { display:block; height:auto; overflow:visible; background:#fff; }
  body.printing-cards > :not(#card-print) { display:none !important; }
  body.printing-cards #card-print { display:block; }
  .card-page { overflow:hidden; break-after:page; break-inside:avoid; }
  .card-page:last-child { break-after:auto; }
  .card-page svg { display:block; }
}
