/* Shared site navigation extends the visualizer's existing palette. */
.site-nav { display: flex; gap: 28px; padding: 0 26px; background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.site-nav a { display: flex; align-items: center; min-height: 48px; color: var(--muted); text-decoration: none; border-bottom: 2px solid transparent; font-weight: 600; }
.site-nav a:hover { color: var(--blue); }
.site-nav a[aria-current] { color: var(--blue); border-color: var(--blue); }
.skip-link { position: fixed; top: 8px; left: 16px; z-index: 100; padding: 10px 16px; background: var(--paper); color: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.brand-title { display: block; font-size: 23px; font-weight: 650; letter-spacing: -.025em; line-height: 1.25; }
.source-link { display: inline-flex; align-items: center; min-height: 32px; text-decoration: none; }
@media (max-width: 700px) {
  .site-nav { padding: 0 18px; gap: 24px; }
  .site-nav a { font-size: 13px; min-height: 46px; }
  .brand-title { font-size: 18px; }
}
