body { background-color: #0d0f1d; }

.article-prose { color: #d4d4d8; }
.article-prose > * + * { margin-top: 1rem; }
.article-prose h1 { font-size: 2rem; line-height: 1.15; font-weight: 900; color: #fff; letter-spacing: -0.01em; margin-bottom: 0.5rem; }
@media (min-width: 640px) { .article-prose h1 { font-size: 2.75rem; } }
.article-prose h2 { font-size: 1.5rem; line-height: 1.25; font-weight: 800; color: #fff; margin-top: 2.5rem; margin-bottom: 0.5rem; }
.article-prose h3 { font-size: 1.15rem; line-height: 1.3; font-weight: 700; color: #fff; margin-top: 1.75rem; margin-bottom: 0.25rem; }
.article-prose p { color: #a1a1aa; line-height: 1.75; }
.article-prose ul { list-style: disc; padding-left: 1.5rem; color: #a1a1aa; }
.article-prose ol { list-style: decimal; padding-left: 1.5rem; color: #a1a1aa; }
.article-prose li { margin-top: 0.5rem; line-height: 1.65; }
.article-prose strong { color: #fff; font-weight: 700; }
.article-prose em { color: #e4e4e7; }
.article-prose a { color: #4ade80; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-prose a:hover { color: #86efac; }
.article-prose blockquote { border-left: 3px solid #a855f7; padding-left: 1rem; color: #d4d4d8; font-style: italic; margin-left: 0; }
.article-prose code { background-color: #14182c; color: #f9a8d4; padding: 0.1rem 0.35rem; border-radius: 0.25rem; font-size: 0.9em; }
.article-prose pre { background-color: #0a0c16; border: 1px solid #1f1f2e; padding: 1rem; border-radius: 0.5rem; overflow-x: auto; }
.article-prose pre code { background: transparent; padding: 0; color: #d4d4d8; }
.article-prose table { width: 100%; border-collapse: collapse; margin-top: 1.5rem; font-size: 0.9rem; }
.article-prose th, .article-prose td { border: 1px solid #312e81; padding: 0.6rem 0.85rem; text-align: left; color: #d4d4d8; vertical-align: top; }
.article-prose th { background-color: #14182c; color: #fff; font-weight: 700; }
.article-prose hr { border: 0; border-top: 1px solid #312e81; margin: 2rem 0; }
.article-prose .lead { font-size: 1.1rem; color: #d4d4d8; line-height: 1.7; }

.faq-q summary { cursor: pointer; padding: 0.85rem 1rem; background-color: #14182c; border: 1px solid #312e81; border-radius: 0.5rem; font-weight: 600; color: #fff; }
.faq-q summary:hover { background-color: #1c223f; }
.faq-q[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.faq-q .faq-a { padding: 1rem; border: 1px solid #312e81; border-top: 0; border-bottom-left-radius: 0.5rem; border-bottom-right-radius: 0.5rem; color: #a1a1aa; line-height: 1.7; }
.faq-q + .faq-q { margin-top: 0.5rem; }
