/* Shared, opt-in navigation. The native modal dialog owns focus and inertness. */
.site-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 13px;border:1px solid #1f6f4d;background:#031009;color:#63ffb5;font:700 .875rem "Courier New",Courier,monospace;cursor:pointer;flex-shrink:0}
.site-menu-button:hover{border-color:#ffe95b;color:#ffe95b}
.site-menu-button:focus-visible,.site-drawer :focus-visible{outline:2px solid #ffe95b;outline-offset:3px}
.site-menu-button[hidden]{display:none}
[data-menu-replaced][hidden]{display:none!important}
.site-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(380px,calc(100% - 16px));max-width:none;height:100%;height:100dvh;max-height:none;box-sizing:border-box;padding:24px 20px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));border:0;border-left:1px solid #1f6f4d;background:#020805;color:#63ffb5;font:16px/1.55 "Courier New",Courier,monospace;overflow-y:auto;overscroll-behavior:contain}
.site-drawer::backdrop{background:rgba(0,5,2,.76)}
.site-drawer .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
.site-drawer h2{margin:0;color:#f2f0df;font-size:1.1rem;letter-spacing:0}
.site-drawer .drawer-kicker{color:#86b79e;font-size:.875rem;margin:0 0 5px}
.site-drawer .drawer-close{min-height:44px;padding:8px 10px;border:1px solid #1f6f4d;background:#031009;color:#f2f0df;font:inherit;font-size:.875rem;cursor:pointer}
/* Own the grid tracks: legacy technique headers style every nav with columns. */
.site-drawer nav{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;grid-auto-rows:auto;min-height:0;gap:8px;padding:0;align-items:stretch;justify-content:stretch}
.site-drawer .drawer-link{display:block;min-height:48px;padding:13px 12px;border:1px solid transparent;color:#f2f0df;text-decoration:none;font:inherit;font-size:.9rem;text-align:left;background:transparent;cursor:pointer;overflow-wrap:anywhere}
.site-drawer .drawer-link small{display:block;margin-top:4px;color:#86b79e;font-size:.875rem}
.site-drawer .drawer-link:hover{background:#031009;border-color:#1f6f4d}
.site-drawer .drawer-link.primary{border-color:#ffe95b;color:#ffe95b;background:#0b1208}
.site-drawer .drawer-link[aria-current]{border-color:#1f6f4d;background:#031009;color:#63ffb5}
.site-drawer .drawer-divider{height:1px;background:#1f6f4d;margin:12px 0}
.site-drawer .drawer-note{margin-top:28px;padding-top:18px;border-top:1px dashed #1f6f4d;color:#86b79e;font-size:.875rem}
.site-drawer .drawer-note strong{color:#ffe95b}
.has-site-menu header .brand{display:inline-flex;white-space:nowrap;align-items:baseline;flex-shrink:0}
.has-site-menu,.has-site-menu body{overflow-x:clip}
.has-site-menu{scroll-padding-top:0}
.has-site-menu main,.has-site-menu main [id]{scroll-margin-top:calc(5rem + env(safe-area-inset-top,0px))}
.has-site-menu header{position:sticky;top:0;z-index:100;background:#020805;padding-top:env(safe-area-inset-top,0px)}
.has-site-menu header nav{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:8px 0;gap:12px}
.has-site-menu header .statusline,.has-site-menu header .online{margin-left:auto}
@media(max-width:640px){.has-site-menu header .statusline,.has-site-menu header .online{display:none}}
@media print{.site-menu-button,.site-drawer{display:none!important}}

/* Compact shared footer. Own layout explicitly; never inherit page nav grids. */
footer.site-footer{margin-top:0;padding:24px 0 16px;border-top:1px solid #1f6f4d;background:#020805;color:#86b79e;text-align:left}
footer.site-footer>.wrap{display:block}
.site-footer .footer-main{display:flex;align-items:center;justify-content:space-between;gap:16px 32px}
.site-footer .footer-identity{min-width:0}
.site-footer .footer-home{display:inline-flex;align-items:center;min-height:44px;color:#63ffb5;font:700 1.25rem/1 "Courier New",Courier,monospace;letter-spacing:-.05em;text-decoration:none}
.site-footer .footer-identity p{margin:0;color:#86b79e;font:400 .9375rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.site-footer .footer-nav{display:block;min-height:0;padding:0;min-width:0}
.site-footer .footer-nav ul,.site-footer .footer-utility{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;list-style:none;margin:0;padding:0}
.site-footer .footer-nav ul{justify-content:flex-end}
.site-footer .footer-nav li,.site-footer .footer-utility li{margin:0;padding:0;min-width:0}
.site-footer .footer-nav a,.site-footer .footer-utility a{display:flex;align-items:center;min-height:44px;padding:8px 0;color:#f2f0df;font:400 .9375rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:none;overflow-wrap:anywhere}
.site-footer .footer-utility{border-top:1px solid #153d2c;margin-top:20px;padding-top:8px}
.site-footer .footer-utility a{color:#86b79e;font-size:.875rem}
.site-footer a:focus-visible{outline:2px solid #ffe95b;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.site-footer a:hover{color:#ffe95b;text-decoration:underline;text-underline-offset:.25em}}
@media(max-width:960px){
  .site-footer .footer-main{display:block}
  .site-footer .footer-nav{margin-top:12px}
  .site-footer .footer-nav ul{justify-content:flex-start}
}
@media(max-width:420px){
  .site-footer .footer-nav ul{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .site-footer .footer-utility{margin-top:12px}
}

/* Match the header cursor; keep its width so the footer never shifts. */
.site-footer .footer-home>span{display:inline-block;animation:pm-footer-cursor .8s steps(1,end) infinite}
@keyframes pm-footer-cursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.site-footer .footer-home>span{animation:none;opacity:1}}
