+ {% if card.background and card.background.image %}
+

+ {% endif %}
{{ card.name }}
diff --git a/cards/templates/cards/print.html b/cards/templates/cards/print.html
index 49f03a0..d86a5be 100644
--- a/cards/templates/cards/print.html
+++ b/cards/templates/cards/print.html
@@ -37,6 +37,12 @@
+
+
+
@@ -143,6 +149,29 @@
var scaleInput = qs('input[name="scale"]');
if(sel) sel.addEventListener('change', updatePreview);
if(scaleInput) scaleInput.addEventListener('input', updatePreview);
+
+ // Select all / none handling for card checkboxes
+ var selectAll = qs('#select-all-cards');
+ function updateSelectAllState(){
+ var boxes = qsa('input[type="checkbox"][name="cards"]');
+ if(!selectAll || !boxes.length) return;
+ var checkedCount = boxes.filter(function(b){ return b.checked; }).length;
+ selectAll.checked = (checkedCount === boxes.length);
+ selectAll.indeterminate = (checkedCount > 0 && checkedCount < boxes.length);
+ }
+ // initialize state
+ updateSelectAllState();
+ if(selectAll){
+ selectAll.addEventListener('change', function(){
+ var boxes = qsa('input[type="checkbox"][name="cards"]');
+ boxes.forEach(function(b){ b.checked = selectAll.checked; });
+ selectAll.indeterminate = false;
+ });
+ }
+ // Keep select-all updated when individual checkboxes change
+ qsa('input[type="checkbox"][name="cards"]').forEach(function(b){
+ b.addEventListener('change', updateSelectAllState);
+ });
// Hide/show controls for the floating panel
var hideBtn = qs('#sample-hide-btn');
var panel = qs('#sample-panel');
diff --git a/cards/templates/cards/printable.html b/cards/templates/cards/printable.html
index 9a47397..d2f5331 100644
--- a/cards/templates/cards/printable.html
+++ b/cards/templates/cards/printable.html
@@ -41,6 +41,8 @@
/* Print fallback: show actual
![]()
fallbacks (added into fragments) during printing
because some browsers do not print CSS background-images by default. */
.print-card .print-hero-bg{display:none}
+ /* DEBUG: temporarily force fallback
![]()
visible in all modes to verify rendering */
+ .print-card .print-hero-bg.debug-force-visible{display:block !important; outline:2px solid rgba(255,0,0,0.8);}
@media print{
/* Hide CSS background-images and show the
![]()
fallback for reliability */
.print-card .hero-image{background-image:none !important}
@@ -137,4 +139,16 @@