diff --git a/public/images/items/blauer-cristal.png b/public/images/items/blauer-cristal.png
index 780d943..d922889 100644
Binary files a/public/images/items/blauer-cristal.png and b/public/images/items/blauer-cristal.png differ
diff --git a/public/images/items/gelber-cristal.png b/public/images/items/gelber-cristal.png
new file mode 100644
index 0000000..a07a90a
Binary files /dev/null and b/public/images/items/gelber-cristal.png differ
diff --git a/public/images/items/gruener-cristal.png b/public/images/items/gruener-cristal.png
new file mode 100644
index 0000000..e34a93c
Binary files /dev/null and b/public/images/items/gruener-cristal.png differ
diff --git a/public/images/items/oranger-cristal.png b/public/images/items/oranger-cristal.png
new file mode 100644
index 0000000..6e816cb
Binary files /dev/null and b/public/images/items/oranger-cristal.png differ
diff --git a/public/images/items/pinker-cristal.png b/public/images/items/pinker-cristal.png
new file mode 100644
index 0000000..db9d754
Binary files /dev/null and b/public/images/items/pinker-cristal.png differ
diff --git a/public/images/items/roter-cristal.png b/public/images/items/roter-cristal.png
new file mode 100644
index 0000000..e1857d6
Binary files /dev/null and b/public/images/items/roter-cristal.png differ
diff --git a/public/images/items/violet-cristal.png b/public/images/items/violet-cristal.png
new file mode 100644
index 0000000..d842488
Binary files /dev/null and b/public/images/items/violet-cristal.png differ
diff --git a/public/js/quickmenu/carddeck.js b/public/js/quickmenu/carddeck.js
index b1594e2..4984b9b 100644
--- a/public/js/quickmenu/carddeck.js
+++ b/public/js/quickmenu/carddeck.js
@@ -7,6 +7,24 @@ let deckCards = []; // [{card_id, level, amount}]
let userCardsCache = []; // aktuelle Seite: [{card_id, level, amount, name, image, attack, defense}]
let decks = []; // [{id, name}]
+
+/* ── Kristall-Mapping ───────────────────────── */
+const RARITY_CRYSTALS = {
+ "1": "roter-cristal.png",
+ "2": "blauer-cristal.png",
+ "3": "gelber-cristal.png",
+ "4": "gruener-cristal.png",
+ "5": "oranger-cristal.png",
+ "6": "violet-cristal.png",
+ "7": "pinker-cristal.png",
+};
+
+function rarityImg(rarity, size = 16) {
+ const file = RARITY_CRYSTALS[String(rarity)];
+ if (!file) return "";
+ return ``;
+}
+
/* ══════════════════════════════════════════════
INIT
══════════════════════════════════════════════ */
@@ -397,6 +415,16 @@ function renderShell() {
}
.kd-deck-count-indeck { font-family: "Cinzel", serif; font-size: 13px; color: #88cc44; font-weight: bold; }
+ /* ── Rarity Kristall ────────────────────── */
+ .kd-rarity {
+ position: absolute;
+ top: 3px;
+ right: 4px;
+ z-index: 5;
+ pointer-events: none;
+ line-height: 0;
+ }
+
/* ── Empty / Loading States ──────────────── */
.kd-empty {
grid-column: 1 / -1; text-align: center;
@@ -691,6 +719,7 @@ function renderCollectionGrid(grid, cards) {
data-card-id="${c.card_id}" data-level="${c.level}"
title="${c.name} (Level ${c.level})">