/* v4.2.3 — événements, cartes limitées, coffres d'étape */
.ev{margin:14px 0;padding:14px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 14%,transparent),transparent 60%)}
.ev header{display:flex;gap:12px;align-items:center}.ev header i{font-size:2.4rem;font-style:normal}.ev h3{margin:0;color:var(--c)}
.ev-st{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:99px;background:#ffffff14}.ev.live .ev-st{background:#22c55e33;color:#86efac}.ev.claim .ev-st{background:#facc1533;color:#fde68a}.ev.end{opacity:.62}
.ev-when{font-size:.9rem;margin:6px 0}.ev-lim{margin:6px 0 12px}.ev-lc{text-align:center}.ev-lc small{display:block;margin-top:4px;opacity:.8}.ev-lc.own small{color:#86efac}
.ev-ch,.ev-soon{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ev-soon li{opacity:.8}
.ev-ch li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:10px;border-radius:14px;background:#0003;border:1px solid #ffffff14}
.ev-ch li.rdy{border-color:#facc15aa;box-shadow:0 0 14px #facc1544}.ev-ch li.got{opacity:.65}
.ev-t{grid-column:1/-1;display:flex;flex-direction:column}.ev-t small{opacity:.75}.ev-n{text-align:right}.ev-rw{grid-column:1/-1}.ev-ch li em,.ev-fin em{font-style:normal;color:#86efac;font-weight:800}
.ev-ch li .cp-bar{width:100%}.ev-ch li .btn{justify-self:end}
.ev-fin{margin-top:10px;padding:12px;border-radius:14px;border:1px dashed #ffffff44;display:grid;gap:4px}.ev-fin.rdy{border-color:#facc15;box-shadow:0 0 18px #facc1555}.ev-fin small{opacity:.75}
.bn a[data-k=events]{font-size:.6rem;letter-spacing:-.02em}.bn a{min-width:0}
/* carte limitée (v4.2.6) : cadre doré, éclat qui glisse et étoile dorée dans le coin de l'illustration (le nom de la carte reste lisible ; le texte « limitée » est dans la fiche et la modale Nouveautés). Le rayon de <lim-fx> = celui de la carte (1.15em) moins sa bordure de 2 px (sinon croissant sombre dans les coins). Éléments <lim-fx> / <lim-tag> : aucune règle générique de carte (ex. « .card>i ») ne s'y applique. Tailles en em (la carte règle son font-size sur sa largeur). */
.card.lim{box-shadow:0 0 1.5em .1em #facc1599,0 0 4em -1em var(--c)}
lim-fx{position:absolute;inset:0;z-index:5;display:block;border-radius:calc(1.15em - 2px);overflow:hidden;pointer-events:none;box-shadow:inset 0 0 0 .12em #fff1a8aa,inset 0 0 1.1em #facc1566}
lim-fx::after{content:"";position:absolute;top:-25%;bottom:-25%;left:-60%;width:38%;background:linear-gradient(100deg,transparent,#fff4b855 42%,#ffffffcc 50%,#fff4b855 58%,transparent);transform:skewX(-18deg);animation:limShine 4.6s ease-in-out infinite}
@keyframes limShine{0%,55%{left:-60%}100%{left:135%}}
lim-tag{position:absolute;z-index:7;top:2.75em;right:.5em;display:grid;place-items:center;width:1.55em;height:1.55em;border-radius:50%;font:900 .9em/1 system-ui;color:#3b2a00;background:radial-gradient(circle at 35% 30%,#fff7c2,#f5c542 55%,#d99a12);border:.09em solid #8a5a00;box-shadow:0 .1em .3em #000b,inset 0 .07em 0 #fff9;pointer-events:none}
.card.lite lim-fx::after{display:none}
@media (prefers-reduced-motion:reduce){lim-fx::after{display:none}}
/* coffres d'étape sur la carte */
.cm-chest{cursor:pointer}.cm-chest .cm-ch-b{fill:#a8672a;stroke:#5c3a18;stroke-width:3}.cm-chest .cm-ch-l{fill:#c98a4a;stroke:#5c3a18;stroke-width:3}.cm-chest .cm-ch-k{fill:#facc15;stroke:#8a6a00;stroke-width:2}
.cm-chest.locked{filter:grayscale(.85) brightness(.8)}.cm-chest.ready{animation:cmChest 1.3s ease-in-out infinite;filter:drop-shadow(0 0 8px #facc15)}.cm-chest.opened{opacity:.75}
.cm-chest text{font:800 10px system-ui;fill:#fff;stroke:#3a2410;stroke-width:3;paint-order:stroke;text-anchor:middle}
@keyframes cmChest{0%,100%{transform:translate(var(--tx),var(--ty)) scale(1)}50%{transform:translate(var(--tx),calc(var(--ty) - 4px)) scale(1.1)}}
.cp-stg{margin:10px 0;padding:8px 12px;border-radius:12px;background:#facc1522;border:1px solid #facc1566}
.chop{display:grid;place-items:center;z-index:400}.chbig{text-align:center;font-weight:800}.chshk{font-size:5rem;animation:chShake .3s linear infinite}@keyframes chShake{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg) scale(1.1)}}
