.rz-theme-halloween {
  --accent: #ff7518;
  --accent2: #a5c94f;
  color: #eee8dc;
  background: #080908;
}

.rz-theme-halloween .rz-showcase-bg {
  background:
    radial-gradient(ellipse at 12% 18%, rgba(115, 135, 61, 0.15), transparent 46%),
    radial-gradient(ellipse at 82% 76%, rgba(255, 91, 12, 0.13), transparent 48%),
    linear-gradient(155deg, #111410 0%, #080908 52%, #160d09 100%);
}

.rz-theme-halloween .rz-showcase-bg::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.2;
  background:
    repeating-conic-gradient(from 12deg at 0 0, transparent 0deg 8deg, rgba(205, 215, 184, 0.2) 8.2deg 8.5deg, transparent 8.7deg 16deg),
    repeating-radial-gradient(circle at 0 0, transparent 0 17px, rgba(205, 215, 184, 0.18) 18px 19px, transparent 20px 34px);
  mask-image: linear-gradient(135deg, #000 0%, transparent 42%);
}

.rz-theme-halloween .rz-showcase-bg::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  background: #fff6d8;
  opacity: 0;
  animation: halloweenFlash 11s steps(1, end) infinite;
}

@keyframes halloweenFlash {
  0%, 68%, 69%, 100% { opacity: 0; }
  68.2% { opacity: 0.35; }
  68.5% { opacity: 0; }
  68.7% { opacity: 0.18; }
  69% { opacity: 0; }
}

.rz-theme-halloween .rz-floating-particles {
  background-image:
    radial-gradient(circle, rgba(165, 201, 79, 0.45) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(255, 117, 24, 0.32) 0 1px, transparent 2px);
  background-size: 83px 97px, 131px 149px;
  animation: halloweenDrift 16s linear infinite;
}

.rz-theme-halloween .rz-floating-particles::before,
.rz-theme-halloween .rz-floating-particles::after {
  position: fixed;
  z-index: 3;
  pointer-events: none;
  line-height: 1;
  filter: drop-shadow(0 0 12px rgba(255, 117, 24, 0.55));
}

.rz-theme-halloween .rz-floating-particles::before {
  content: "🕷";
  top: 9%;
  right: 11%;
  font-size: 30px;
  animation: halloweenSpider 7s ease-in-out infinite;
}

.rz-theme-halloween .rz-floating-particles::after {
  content: "🎃";
  left: 5%;
  bottom: 7%;
  font-size: 48px;
  animation: halloweenGlow 3.5s ease-in-out infinite alternate;
}

@keyframes halloweenDrift {
  to { background-position: 83px 97px, -131px 149px; }
}

@keyframes halloweenSpider {
  0%, 100% { transform: translateY(-8px); }
  50% { transform: translateY(24px); }
}

@keyframes halloweenGlow {
  from { opacity: 0.72; filter: drop-shadow(0 0 7px rgba(255, 117, 24, 0.35)); }
  to { opacity: 1; filter: drop-shadow(0 0 18px rgba(255, 117, 24, 0.8)); }
}

.rz-theme-halloween .rz-hero-overlay {
  background: linear-gradient(180deg, rgba(8, 9, 8, 0.18) 0%, rgba(8, 9, 8, 0.62) 58%, #080908 100%);
}

.rz-theme-halloween .rz-hero-avatar {
  border: 2px solid var(--accent);
  box-shadow: 0 0 28px rgba(255, 117, 24, 0.4), 0 0 0 6px rgba(165, 201, 79, 0.08);
}

.rz-theme-halloween .rz-hero-name,
.rz-theme-halloween .rz-credits-logo {
  color: #fff5df;
  text-shadow: 0 0 18px rgba(255, 117, 24, 0.5), 2px 2px 0 #71320d;
}

.rz-theme-halloween .rz-hero-badge,
.rz-theme-halloween .rz-section-eyebrow {
  color: #d5e99b;
  border-color: rgba(165, 201, 79, 0.55);
  background: rgba(65, 79, 33, 0.28);
}

.rz-theme-halloween .rz-story-card,
.rz-theme-halloween .rz-detail-item {
  border: 1px solid rgba(165, 201, 79, 0.25);
  background: rgba(12, 15, 11, 0.78);
}

.rz-theme-halloween .rz-link-item {
  color: #fff0da;
  border: 1px solid rgba(255, 117, 24, 0.6);
  background: rgba(255, 117, 24, 0.09);
}

.rz-theme-halloween .rz-link-item:hover {
  background: rgba(255, 117, 24, 0.18);
  box-shadow: 0 0 20px rgba(255, 117, 24, 0.28);
}

@media (prefers-reduced-motion: reduce) {
  .rz-theme-halloween .rz-showcase-bg::after,
  .rz-theme-halloween .rz-floating-particles,
  .rz-theme-halloween .rz-floating-particles::before,
  .rz-theme-halloween .rz-floating-particles::after {
    animation: none;
  }
}