/* Shared hamburger menu.  No full-page shade or scrolling lock. */
#menu-panel {
  --menu-orange: #ff9933;
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  z-index: 2147482999;
  box-sizing: border-box;
  width: max-content;
  min-width: calc(var(--site-control-left) + var(--site-logo-width) + var(--site-gap));
  max-width: calc(100vw - var(--site-control-right) - var(--site-icon-size) - var(--site-gap));
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  padding: var(--site-content-top) var(--site-gap) var(--site-gap) var(--site-control-left);
  background: rgba(0, 0, 0, .8);
  border-radius: 0;
  transform: translateX(-100%);
  visibility: hidden;
  pointer-events: none;
  transition: transform .65s ease, visibility .65s;
}
#menu-panel[hidden] { display: none; }
#menu-panel.is-open { transform: translateX(0); visibility: visible; pointer-events: auto; }
#avalon-menu ul { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
#avalon-menu li { margin: 0; padding: 0; }
#avalon-menu a {
  display: block;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 8px;
  color: var(--menu-orange);
  font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  font-size: var(--paragraph-size);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .02em;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
}
#avalon-menu a[aria-current="page"] { color: #fff; }
#avalon-menu a:hover, #avalon-menu a:focus-visible { color: #fff; }
#avalon-menu a:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
/* Desktop uses the same left drawer, reserving its width beside the content. */
@media (min-width: 800px) and (hover: hover) and (pointer: fine) {
  #menu-panel { width: var(--site-menu-width); min-width: 0; max-width: none; }
}
@media (prefers-reduced-motion: reduce) { #menu-panel { transition: none; } }
