@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes glow {
  0%, 100% { box-shadow: 0 0 8px 2px #10b981, 0 0 24px 4px #d97706; }
  50% { box-shadow: 0 0 24px 8px #10b981, 0 0 48px 12px #d97706; }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(2rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.marquee-track { display: flex; animation: marquee 32s linear infinite; width: max-content; }
.glow-box { animation: glow 3s ease-in-out infinite; }
.fade-in-up { animation: fadeInUp 0.7s ease both; }
.shimmer-text {
  background: linear-gradient(90deg, #d97706, #fbbf24, #10b981, #fbbf24, #d97706);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 4s linear infinite;
}
.celtic-bg {
  background-color: #030f07;
  background-image: radial-gradient(ellipse at 20% 20%, rgba(16,185,129,0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 80%, rgba(217,119,6,0.07) 0%, transparent 60%),
    url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2310b981' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.prose { color: #e5e7eb; font-size: 1rem; line-height: 1.75; max-width: 100%; }
.prose h2 { color: #10b981; font-size: 1.5em; font-weight: 700; margin-top: 2em; margin-bottom: 0.75em; border-bottom: 2px solid rgba(16,185,129,0.3); padding-bottom: 0.3em; }
.prose h3 { color: #fbbf24; font-size: 1.2em; font-weight: 600; margin-top: 1.5em; margin-bottom: 0.5em; }
.prose p { margin-bottom: 1.25em; }
.prose a { color: #10b981; text-decoration: underline; }
.prose a:hover { color: #fbbf24; }
.prose ul { list-style: disc; padding-left: 1.5em; margin-bottom: 1.25em; }
.prose ol { list-style: decimal; padding-left: 1.5em; margin-bottom: 1.25em; }
.prose li { margin-bottom: 0.4em; }
.prose blockquote { border-left: 4px solid #10b981; padding-left: 1em; color: #9ca3af; font-style: italic; margin: 1.5em 0; background: rgba(16,185,129,0.05); border-radius: 0 0.5rem 0.5rem 0; }
.prose img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 1.5em 0; border: 2px solid rgba(16,185,129,0.3); }
.prose table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  white-space: nowrap;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1.5em;
}
.prose thead { background: rgba(16,185,129,0.2); }
.prose th { color: #fbbf24; padding: 0.6em 1em; text-align: left; font-weight: 700; }
.prose td { padding: 0.6em 1em; border-bottom: 1px solid rgba(16,185,129,0.15); color: #e5e7eb; }
.prose tr:hover td { background: rgba(16,185,129,0.06); }
.nav-mobile-menu { background: #030f07; }
body { background-color: #030f07; }
