/* Cabeçalho da biblioteca: navegação adaptável e foco visível. */
.site-header { z-index: 10; padding-block: clamp(.75rem, 2vw, 1.15rem) .5rem; }
.site-header .site-nav {
  isolation: isolate;
  border-color: #62765a;
  border-radius: 1.35rem;
  background: linear-gradient(135deg, #263f2eea, #14291eea 72%);
  box-shadow: 0 1rem 2.5rem #030b0660, inset 0 1px #e7d5a520;
}
.site-header .site-nav::before {
  position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; content: "";
  background: radial-gradient(ellipse at 8% 0, #d0b07113, transparent 43%);
}
.site-header .brand { padding: .2rem; }
.site-header .brand-mark { transition: transform .25s ease, box-shadow .25s ease; }
.site-header .brand:hover .brand-mark, .site-header .brand:focus-visible .brand-mark { transform: rotate(-7deg); box-shadow: inset 0 0 0 .15rem #2a1e1470, 0 0 1rem #d8af6e4d; }
.site-header .brand-wordmark { font-size: clamp(.9rem, 1.35vw, 1.02rem); }
.site-header .nav-links a, .site-header .nav-actions > a:not(.button), .site-header .nav-shortcuts a {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.site-header :is(.nav-links a, .nav-actions a, .nav-shortcuts a):hover { transform: translateY(-1px); }
.site-header :is(.nav-links a, .nav-actions a, .nav-shortcuts a):focus-visible,
.site-header .brand:focus-visible, .site-header .menu-toggle:focus-visible {
  outline: 2px solid #f6d697; outline-offset: 3px;
}
.site-header :is(.nav-links a, .nav-actions a, .nav-shortcuts a)[aria-current="page"] {
  color: #fff3da; border-color: #c6a76c88; background: #45604a;
}
.site-header .menu-toggle {
  justify-content: center; gap: .4rem; padding-inline: .85rem; font-size: .84rem; font-weight: 700;
  background: #35513b; border-color: #72896d; box-shadow: inset 0 1px #fff2;
  transition: background-color .2s ease, border-color .2s ease;
}
.site-header .menu-toggle:hover, .site-header .menu-toggle[aria-expanded="true"] { background: #46654a; border-color: #d4b777; }
.site-header .menu-toggle-icon { flex: none; transition: transform .25s ease; }
.site-header .menu-toggle[aria-expanded="true"] .menu-toggle-icon { transform: rotate(90deg); }
@media (min-width: 44.01rem) {
  .site-header .site-nav { padding: .55rem .75rem .55rem 1rem; }
  .site-header #site-menu:has(.nav-shortcuts) { gap: .12rem .7rem; }
  .site-header #site-menu .nav-shortcuts { align-items: center; padding-top: .45rem; margin-top: .12rem; border-color: #7c906b47; }
  .site-header .nav-shortcuts a { background: #15271d75; }
}
@media (max-width: 44rem) {
  .site-header .site-nav { border-radius: 1.15rem; }
  .js .site-header #site-menu {
    z-index: 15; top: calc(100% + .5rem); gap: .35rem;
    max-height: min(70vh, 34rem); max-height: min(70dvh, 34rem); overflow: auto; overscroll-behavior: contain;
    padding: .7rem; border-radius: 1rem; border-color: #67816a;
    background: linear-gradient(155deg, #263f30, #172a20 88%); box-shadow: 0 1.25rem 2rem #0209069c;
  }
  .js .site-header #site-menu.is-open { animation: ag-menu-open .18s ease-out both; }
  .site-header #site-menu .nav-links, .site-header #site-menu .nav-actions { gap: .15rem; }
  .site-header #site-menu .nav-shortcuts { border-top: 1px solid #79927151; margin-top: .35rem; padding-top: .7rem; gap: .35rem; }
  .site-header #site-menu .nav-shortcuts a { max-width: 100%; }
  .site-header #site-menu .nav-links a, .site-header #site-menu .nav-actions > a:not(.button) { min-height: 2.75rem; }
  @keyframes ag-menu-open { from { opacity: 0; transform: translateY(-.35rem); } to { opacity: 1; transform: translateY(0); } }
}
@media (prefers-reduced-motion: reduce) {
  .site-header *, .js .site-header #site-menu.is-open { animation: none !important; transition: none !important; }
}
