/* ============================================================
   case-orbit.css — Anneau des lots autour de la colonne de lumière
   (static/js/case-orbit.js, par-dessus la vidéo d'ouverture d'une caisse).
   Les cartes font 84 × 100 px en CSS : case-orbit.js les met à l'échelle
   selon leur distance à la caméra de la vidéo.
   ============================================================ */
.case-orbit {
    --orbit-accent: #ff8a1f;
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.orbit-card {
    --tier-color: #9aa3b2;
    position: absolute;
    left: 0;
    top: 0;
    width: 84px;
    height: 100px;
    padding: 8px 6px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(28, 38, 64, 0.8) 0%, rgba(8, 12, 24, 0.88) 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
    opacity: 0;
    will-change: transform, opacity;
    backface-visibility: hidden;
}
.orbit-card.tier-common    { --tier-color: #9aa3b2; }
.orbit-card.tier-uncommon  { --tier-color: #4b8bff; }
.orbit-card.tier-rare      { --tier-color: #2563ff; }
.orbit-card.tier-epic      { --tier-color: #a855f7; }
.orbit-card.tier-legendary { --tier-color: #ff5b3a; }
.orbit-card.tier-mythical  { --tier-color: #ffb800; }

/* Barre de rareté en bas + halo derrière le lot */
.orbit-card::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 0;
    height: 3px;
    border-radius: 2px;
    background: var(--tier-color);
    box-shadow: 0 0 10px var(--tier-color);
}
.orbit-card::after {
    content: "";
    position: absolute;
    inset: 10% 14% 34%;
    border-radius: 50%;
    background: radial-gradient(circle, var(--prize-glow, var(--tier-color)) 0%, transparent 70%);
    opacity: 0.3;
    z-index: 0;
}
.orbit-card img {
    position: relative;
    z-index: 1;
    width: 52px;
    height: 52px;
    object-fit: contain;
    filter: drop-shadow(0 0 7px var(--prize-glow, var(--tier-color))) drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
}
.orbit-card b {
    position: relative;
    z-index: 1;
    max-width: 100%;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    color: #fff;
}

/* Le lot qui passe devant, au cœur du faisceau */
.orbit-card.is-front {
    border-color: color-mix(in srgb, var(--tier-color) 70%, white);
    box-shadow: 0 0 16px color-mix(in srgb, var(--tier-color) 70%, transparent), 0 10px 24px rgba(0, 0, 0, 0.45);
}
/* Arrêt : le gagnant s'illumine */
.orbit-card.is-winner {
    border-color: #fff;
    box-shadow: 0 0 0 2px var(--tier-color), 0 0 28px var(--tier-color), 0 0 70px var(--tier-color);
    animation: orbitWin 0.9s ease-out;
}
@keyframes orbitWin {
    0%   { filter: brightness(2.2); }
    100% { filter: brightness(1); }
}

/* Repère : petit chevron lumineux au-dessus du lot de face */
.orbit-marker {
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 11px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: var(--orbit-accent);
    transition: opacity 0.3s ease;
}
.case-orbit.is-landed .orbit-marker { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
    .orbit-card.is-winner { animation: none; }
}
