/* Capital do reino — camadas ambientais no lobby */

.dsk-lobby-realm {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.lobby-center {
  position: relative;
}

.lobby-center > .dsk-hub-tabs,
.lobby-center > .dsk-main-view,
.lobby-center > .game-tabs-nav {
  position: relative;
  z-index: 1;
}

.dsk-lobby-realm__fog {
  position: absolute;
  inset: -20% 0;
  background:
    radial-gradient(ellipse 90% 50% at 20% 100%, rgba(139, 92, 246, 0.12), transparent 60%),
    radial-gradient(ellipse 70% 40% at 80% 90%, rgba(212, 175, 55, 0.08), transparent 55%);
  animation: dsk-lobby-fog 28s ease-in-out infinite alternate;
  opacity: 0.7;
}

.dsk-lobby-realm__light {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 20%, rgba(212, 175, 55, 0.06), transparent 45%);
  animation: dsk-lobby-breathe 6s ease-in-out infinite;
}

.dsk-lobby-realm__banners {
  position: absolute;
  top: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 2rem;
  opacity: 0.35;
}

.dsk-lobby-realm__banner {
  width: 3px;
  height: 48px;
  background: linear-gradient(180deg, rgba(212, 175, 55, 0.8), rgba(139, 92, 246, 0.2));
  transform-origin: top center;
  animation: dsk-banner-sway 4s ease-in-out infinite;
}

.dsk-lobby-realm__banner:nth-child(2) {
  animation-delay: -1.2s;
  height: 56px;
}

.dsk-lobby-realm__banner:nth-child(3) {
  animation-delay: -2.4s;
}

.dsk-lobby-realm__crow {
  position: absolute;
  font-size: 0.85rem;
  opacity: 0.25;
  animation: dsk-crow-fly 45s linear infinite;
}

.dsk-lobby-realm__ticker {
  position: absolute;
  bottom: 0.35rem;
  left: 0;
  right: 0;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.dsk-lobby-realm__ticker-track {
  display: flex;
  gap: 3rem;
  white-space: nowrap;
  animation: dsk-realm-ticker 48s linear infinite;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(180, 180, 200, 0.55);
}

.dsk-lobby-realm__ticker-item::before {
  content: '◆ ';
  color: rgba(212, 175, 55, 0.6);
}

@keyframes dsk-lobby-fog {
  0% { transform: translateX(-3%) scale(1); opacity: 0.55; }
  100% { transform: translateX(4%) scale(1.05); opacity: 0.75; }
}

@keyframes dsk-lobby-breathe {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.85; }
}

@keyframes dsk-banner-sway {
  0%, 100% { transform: rotate(-4deg); }
  50% { transform: rotate(5deg); }
}

@keyframes dsk-crow-fly {
  0% { left: -5%; top: 18%; transform: scaleX(1); }
  48% { left: 105%; top: 12%; transform: scaleX(1); }
  49% { left: 105%; top: 22%; transform: scaleX(-1); }
  100% { left: -5%; top: 16%; transform: scaleX(-1); }
}

@keyframes dsk-realm-ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .dsk-lobby-realm__fog,
  .dsk-lobby-realm__light,
  .dsk-lobby-realm__banner,
  .dsk-lobby-realm__crow,
  .dsk-lobby-realm__ticker-track {
    animation: none;
  }
}
