.ln-hero-cards {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 18px;
  max-width: 430px;
  margin: 55px auto 15px;
}

.ln-hero-card {
  width: 31%;
  max-width: 135px;
  animation: ln-float 7s ease-in-out infinite;
  will-change: transform;
}

.ln-hero-card:nth-child(2) { animation-delay: -2.1s; }
.ln-hero-card:nth-child(3) { animation-delay: -4.2s; }
.ln-hero-card .ln-card { cursor: default; pointer-events: none; }

@keyframes ln-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.ln-rise {
  animation: ln-rise-in .7s cubic-bezier(.22, 1, .36, 1) both;
}

.ln-shuffle-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  height: 256px;
  margin: 56px auto 0;
}

.ln-shuffle-stack {
  position: relative;
  width: 144px;
  height: 224px;
}

.ln-shuffle-card {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.ln-shuffle-card svg {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(217, 183, 95, .25);
  border-radius: 12px;
  box-shadow: 0 18px 45px -25px rgba(128, 71, 170, .8);
}

.ln-shuffle-card.left { animation: ln-shuffle-left 1.05s ease-in-out infinite; }
.ln-shuffle-card.right { animation: ln-shuffle-right 1.05s ease-in-out infinite; }
.ln-shuffle-glow { position:absolute; inset:-40px; z-index:1; border-radius:50%; background:rgba(217,183,95,.1); filter:blur(30px); }

.ln-draw-controls { display:flex; max-width:450px; margin:40px auto 0; flex-direction:column; align-items:center; gap:16px; }
.ln-progress { display:flex; align-items:center; gap:8px; }
.ln-progress i { display:block; width:32px; height:6px; border-radius:999px; background:rgba(75,53,103,.75); transition:background-color .5s; }
.ln-progress i.filled { background:#d9b75f; }
.ln-text-actions { display:flex; align-items:center; gap:24px; }
.ln-btn:disabled { cursor:not-allowed; opacity:.35; transform:none; }

@keyframes ln-rise-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes ln-shuffle-left {
  0% { transform: translate(0, 0) rotate(0); }
  35% { transform: translate(-58%, -14%) rotate(-11deg); }
  70% { transform: translate(4%, 3%) rotate(3deg); }
  100% { transform: translate(0, 0) rotate(0); }
}

@keyframes ln-shuffle-right {
  0% { transform: translate(0, 0) rotate(0); }
  35% { transform: translate(58%, -10%) rotate(10deg); }
  70% { transform: translate(-4%, 4%) rotate(-3deg); }
  100% { transform: translate(0, 0) rotate(0); }
}

.ln-card { perspective: 1400px; }
.ln-card-inner { display:block; width:100%; height:100%; transition: transform 900ms cubic-bezier(.2, .9, .2, 1); }
.ln-face { display:block; width:100%; height:100%; }
.ln-front { background:#21172f; }
.ln-card svg { display:block !important; width:100% !important; height:100% !important; max-width:none !important; }

@media (prefers-reduced-motion: reduce) {
  .ln-star, .ln-shuffle, .ln-hero-card, .ln-shuffle-card, .ln-rise { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .ln-card-inner, .ln-card, .ln-btn { transition-duration: .01ms !important; }
}
