/* LivingDead.tv — Virtual Monroeville Mall
   Base + keyframes. Structural styles are inline in the app markup so the
   rendered mall matches the approved design exactly. */

.ldmall-root { font-family: 'Libre Caslon Text', Georgia, serif; color: #efe4cf; }
.ldmall-root *, .ldmall-root *::before, .ldmall-root *::after { box-sizing: border-box; }
.ldmall-root a { color: #c99a3e; }
.ldmall-root a:hover { color: #efe4cf; }
.ldmall-root button { font-family: inherit; cursor: pointer; }
.ldmall-root input { font-family: inherit; }
.ldmall-root ::selection { background: #c99a3e; color: #120e0b; }

@keyframes ldfade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes ldpulse { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes ldchase { 0% { background-position: 0 0, 0 100%, 0 0, 100% 0; } 100% { background-position: 28px 0, -28px 100%, 0 -28px, 100% 28px; } }
@keyframes ldglow {
  0%, 100% { box-shadow: 0 0 18px rgba(255,217,160,.35), 0 18px 50px rgba(0,0,0,.6); }
  50% { box-shadow: 0 0 30px rgba(255,217,160,.6), 0 18px 50px rgba(0,0,0,.6); }
}

/* Marquee running bulbs around Cinemette East */
.ld-marquee-chase {
  background-image:
    radial-gradient(circle at 7px 7px, #fff3d6 0 3px, rgba(255,217,160,.6) 4px, transparent 5.5px),
    radial-gradient(circle at 7px 7px, #fff3d6 0 3px, rgba(255,217,160,.6) 4px, transparent 5.5px),
    radial-gradient(circle at 7px 7px, #fff3d6 0 3px, rgba(255,217,160,.6) 4px, transparent 5.5px),
    radial-gradient(circle at 7px 7px, #fff3d6 0 3px, rgba(255,217,160,.6) 4px, transparent 5.5px);
  background-size: 28px 14px, 28px 14px, 14px 28px, 14px 28px;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  animation: ldchase .9s steps(2) infinite;
}

/* Server-rendered SEO baseline: shown until the JS app takes over. */
.ldmall-root.ldmall-ready .ldmall-seo { display: none; }
.ldmall-seo { max-width: 900px; margin: 0 auto; padding: 40px 20px; color: #d8cbb3; }
.ldmall-seo h1 { font-size: clamp(34px, 5vw, 64px); line-height: 1; font-weight: 400; margin: 0 0 16px; color: #efe4cf; }
.ldmall-seo h2 { font-size: 22px; font-weight: 400; margin: 28px 0 8px; color: #efe4cf; border-bottom: 1px solid rgba(239,228,207,.2); padding-bottom: 6px; }
.ldmall-seo .ldmall-seo-brand { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .14em; color: #a89b86; text-transform: uppercase; }
.ldmall-seo ul { list-style: none; padding: 0; margin: 0; column-width: 260px; column-gap: 32px; }
.ldmall-seo li { break-inside: avoid; padding: 5px 0; font-size: 14px; }
.ldmall-seo li span { color: #a89b86; font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
  .ldmall-root [style*="animation"], .ld-marquee-chase { animation: none !important; }
}
