/* Article layout is self-contained: the existing Tailwind bundle is prebuilt. */
.prose-content { font-size:1.0625rem; line-height:1.8; overflow-wrap:anywhere; }
.prose-content h2, .prose-content h3 { scroll-margin-top:7rem; }
.prose-content a, .article-disclosure a { text-decoration:underline; text-underline-offset:.18em; }
.prose-content img { max-width:100%; height:auto; }
.prose-content figure { margin:2rem 0; }
.prose-content figcaption { font-size:.875rem; color:#475569; margin-top:.6rem; }
.article-disclosure { color:#475569; font-size:.875rem; line-height:1.65; margin-top:1rem; max-width:65ch; }
.table-scroll { max-width:100%; overflow-x:auto; margin:1.5rem 0; border:1px solid #cbd5e1; border-radius:.5rem; }
.prose-content table { width:100%; border-collapse:collapse; font-size:.9375rem; line-height:1.6; }
.prose-content th, .prose-content td { padding:.8rem; border-bottom:1px solid #cbd5e1; vertical-align:top; text-align:left; min-width:7rem; }
.prose-content th { background:#f1f5f9; color:#0f172a; font-weight:700; }
.prose-content caption { padding:.8rem; font-weight:600; text-align:left; }
.prose-content tr:last-child td { border-bottom:0; }
.prose-content > table { display:block; overflow-x:auto; }
:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.skip-link { position:absolute; left:1rem; top:-10rem; z-index:1000; padding:.75rem 1rem; background:#fff; color:#0f172a; }
.skip-link:focus { position:fixed; top:1rem; }
.dark .article-disclosure, .dark .prose-content figcaption { color:#cbd5e1; }
.dark .prose-content th { background:#1e293b; color:#f8fafc; }
.dark .prose-content th, .dark .prose-content td, .dark .table-scroll { border-color:#475569; }
@media (max-width:767px) {
  #navbar .navbar-brand { flex:0 0 auto; }
  #navbar .navbar-brand img { width:135px; height:auto; }
  #navbar .navbar-nav { flex-wrap:wrap; }
  #navbar .nav-link { padding-left:.5rem; padding-right:.5rem; }
  .prose-content { font-size:1rem; }
  .prose-content h2 { font-size:1.45rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } }

/* Explicit typography: these utilities are absent from the legacy CSS build. */
.container.article-reading { max-width:48rem; padding-inline:1.25rem; }
.article-reading header { margin-bottom:2rem; }
.article-reading h1 { font-size:clamp(1.8rem, 4vw, 2.5rem); line-height:1.2; font-weight:700; margin:0 0 1.25rem; overflow-wrap:anywhere; }
.article-reading header > div { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .65rem; color:#475569; font-size:.875rem; line-height:1.6; }
.article-reading header > div a { text-decoration:underline; text-underline-offset:.18em; }
.dark .article-reading header > div { color:#cbd5e1; }

.guide-index h1 { font-size:clamp(1.8rem,4vw,2.5rem); line-height:1.2; margin:1rem 0; }
.guide-index .text-slate-400 { color:#475569; }
.guide-index article .flex { display:flex; flex-wrap:wrap; gap:.4rem; }
.dark .guide-index .text-slate-400 { color:#cbd5e1; }

#main-content .text-slate-400 { color:#475569 !important; }
.dark #main-content .text-slate-400 { color:#cbd5e1 !important; }
