diff --git a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view_v2.svelte b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view_v2.svelte
index 320dc18d..76c3ca19 100644
--- a/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view_v2.svelte
+++ b/src/routes/events/[event_id]/(badges)/badges/[badge_id]/ae_comp__badge_obj_view_v2.svelte
@@ -950,11 +950,11 @@
Debug Information
{JSON.stringify($lq__event_badge_obj, null, 2)}
{JSON.stringify($lq__event_badge_template_obj, null, 2)}
{/if}
@@ -980,6 +980,24 @@
color-scheme: light;
}
+ /*
+ * In dark mode: white inner ring (matches badge stock) + outer drop shadow
+ * so the white badge card stands out from the dark page background.
+ * The ring colour should match the badge face background; per-event stylesheets
+ * can override badge_front/badge_back background-color but this ring stays white
+ * (a reasonable default for all card stock).
+ * Suppressed on print — no shadow on the physical output.
+ */
+ :global(.dark) .event_badge_wrapper {
+ box-shadow: 0 0 0 6px white, 0 8px 32px rgba(0, 0, 0, 0.75);
+ }
+
+ @media print {
+ .event_badge_wrapper {
+ box-shadow: none;
+ }
+ }
+
.badge_front,
.badge_back {
background-color: white;