@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
.prose-legal > :first-child { margin-top: 0; }
.prose-legal h2 { scroll-margin-top: 112px; display: flex; align-items: baseline; gap: .5rem; padding-top: 2rem; border-top: 1px solid #eef2f8; }
.prose-legal h2:first-of-type { border-top: 0; padding-top: 0; }
.prose-legal h2 .h-anchor { color: #bcd4ff; font-weight: 600; text-decoration: none; opacity: 0; transition: opacity .15s; }
.prose-legal h2:hover .h-anchor, .prose-legal h2 .h-anchor:focus-visible { opacity: 1; }
.prose-legal ol { list-style: decimal; padding-left: 1.25rem; }
.prose-legal li::marker { color: #4d8dff; }
.prose-legal strong { color: #0a1a3d; font-weight: 700; }
.prose-legal code { font-size: .8125rem; background: #eef5ff; color: #0a46c4; border-radius: .375rem; padding: .1rem .4rem; word-break: break-all; }
.legal-note { margin-top: 1.25rem; border-radius: 1rem; border: 1px solid #dbe8ff; background: linear-gradient(90deg, #eef5ff, #f6f9ff); padding: 1rem 1.25rem; }
.legal-note p { margin-top: 0; color: #13244d; }
.legal-table { margin-top: 1.25rem; overflow-x: auto; border: 1px solid #e6edf8; border-radius: 1rem; }
.legal-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .875rem; }
.legal-table th { background: #f5f9ff; text-align: left; padding: .75rem 1rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: #6b7896; font-weight: 700; }
.legal-table td { border-top: 1px solid #eef2f8; padding: .85rem 1rem; vertical-align: top; color: #4a5878; line-height: 1.6; }
.legal-table td:first-child { color: #0a1a3d; font-weight: 600; }
.legal-cards { margin-top: 1.25rem; display: grid; gap: .75rem; }
@media (min-width: 640px) { .legal-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.legal-cards > div { border: 1px solid #e6edf8; border-radius: 1rem; padding: 1rem; background: #fff; }
.legal-cards p { margin-top: .35rem; font-size: .8125rem; line-height: 1.6; }
.toc-link { display: block; border-left: 2px solid #e6edf8; padding: .4rem .75rem; color: #4a5878; line-height: 1.4; }
.toc-link:hover { color: #0b57f0; border-left-color: #bcd4ff; }
.toc-link.is-active { color: #0b57f0; font-weight: 600; border-left-color: #0b57f0; background: #eef5ff; border-radius: 0 .5rem .5rem 0; }
#tocBox summary::-webkit-details-marker { display: none; }
#tocBox[open] .toc-chev { transform: rotate(180deg); }
@media print {
  #topbar, #siteHeader, footer, .no-print { display: none !important; }
  body { background: #fff; }
  #legalDoc { border: 0; box-shadow: none; padding: 0; }
}
