@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes frost-drift {
  0%,100% { opacity:0.18; transform: translateY(0) scale(1); }
  50% { opacity:0.32; transform: translateY(-18px) scale(1.08); }
}
@keyframes glow-pulse {
  0%,100% { box-shadow: 0 0 12px 2px rgba(125,211,252,0.25); }
  50% { box-shadow: 0 0 32px 8px rgba(125,211,252,0.55); }
}
.marquee-track { animation: marquee 32s linear infinite; }
.frost-particle { animation: frost-drift 6s ease-in-out infinite; }
.glow-cta { animation: glow-pulse 2.8s ease-in-out infinite; }
.prose { color: #e2e8f0; line-height: 1.8; font-size: 1rem; max-width: 100%; }
.prose h2 { color: #7dd3fc; font-size: 1.5rem; font-weight: 700; margin-top: 1rem; margin-bottom: 0.75rem; border-bottom: 1px solid rgba(125,211,252,0.2); padding-bottom: 0.4rem; }
.prose h3 { color: #bae6fd; font-size: 1.2rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.prose p { margin-bottom: 1.1rem; }
.prose a { color: #38bdf8; text-decoration: underline; }
.prose a:hover { color: #7dd3fc; }
.prose ul { list-style: disc; padding-left: 1.5em; margin-bottom: 1rem; }
.prose ol { list-style: decimal; padding-left: 1.5em; margin-bottom: 1rem; }
.prose li { margin-bottom: 0.4rem; }
.prose blockquote { border-left: 3px solid #38bdf8; padding-left: 1em; color: #94a3b8; font-style: italic; margin: 1.2rem 0; }
.prose img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 1.2rem 0; }
.prose table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; white-space: nowrap; border-collapse: collapse; margin-bottom: 1.2rem; }
.prose th { background: rgba(56,189,248,0.15); color: #7dd3fc; padding: 0.5rem 1rem; text-align: left; border: 1px solid rgba(125,211,252,0.2); }
.prose td { padding: 0.45rem 1rem; border: 1px solid rgba(125,211,252,0.12); color: #e2e8f0; }
.prose tr:nth-child(even) td { background: rgba(255,255,255,0.03); }
