/* Shared menu; links stay ordinary HTML when scripting is unavailable. */
.menu-shell {margin-left:auto;}
.menu-toggle[hidden] {display:none!important;}
.menu-toggle,.menu-close {font:600 16px/1.3 system-ui,sans-serif;color:#fff;background:#123c5a;border:1px solid #6687a0;border-radius:8px;min-height:44px;padding:10px 14px;cursor:pointer;}
.menu-toggle {display:flex;align-items:center;justify-content:center;gap:9px;}
.menu-toggle:hover,.menu-close:hover {background:#245673;}
.menu-header {display:flex;flex-wrap:wrap;gap:8px;}
.menu-header #logo {flex:1;min-width:0;padding-left:0;font-size:clamp(14px,3.5vw,18px);white-space:normal;line-height:1.25;}
.guide-header {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.guide-header .site-brand {flex:1;min-width:0;}
.menu-drawer {box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(360px,90vw);max-width:90vw;height:100%;height:100dvh;max-height:100%;padding:24px 20px;padding-bottom:max(24px,env(safe-area-inset-bottom));border:0;border-left:1px solid #45627a;background:#001a33;color:#e2edf5;box-shadow:-10px 0 40px #0005;overflow-y:auto;overscroll-behavior:contain;font:16px/1.6 system-ui,sans-serif;}
.menu-drawer::backdrop {background:rgba(0,10,22,.65);}
.menu-drawer[open] {animation:menu-enter .22s ease-out;}
.menu-drawer.menu-closing {animation:menu-exit .18s ease-in forwards;}
.menu-drawer-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;}
.menu-drawer-heading h2 {font:700 22px/1.3 system-ui,sans-serif;color:#fff;margin:0;}
.menu-drawer .resource-nav {display:flex;flex-direction:column;gap:8px;padding:0;}
.menu-drawer .resource-nav a {display:block;padding:14px 12px;border-radius:8px;color:#e2edf5;text-decoration:none;line-height:1.5;}
.menu-drawer .resource-nav a:hover,.menu-drawer .resource-nav a[aria-current="page"] {background:#173c57;color:#fff;}
.menu-drawer a:focus-visible,.menu-close:focus-visible,.menu-toggle:focus-visible {outline:3px solid #e3a53b;outline-offset:3px;}
html.menu-open,html.menu-open body {overflow:hidden;}
@keyframes menu-enter {from {transform:translateX(100%);} to {transform:translateX(0);}}
@keyframes menu-exit {to {transform:translateX(100%);}}
@media(prefers-reduced-motion:reduce) {.menu-drawer[open],.menu-drawer.menu-closing {animation:none;}}

.menu-drawer:not([open]) {display:none!important;}
.menu-drawer[open] {display:block;}
