/* A lightweight top-layer drawer, independent of each project's palette. */
html.site-menu-open{overflow:hidden}
#site-menu{box-sizing:border-box;position:fixed;inset:0 0 0 auto;width:min(680px,92vw);height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(24px,4vw,52px);overflow-y:auto;overscroll-behavior:contain;border:0;border-left:1px solid #f4f0e53b;border-radius:0;background:#11130f;color:#f4f0e5;box-shadow:-20px 0 80px #0003;font:13px/1.5 'IBM Plex Mono',monospace;text-align:left;color-scheme:dark}
#site-menu[open]{display:flex;flex-direction:column;gap:30px}
#site-menu::backdrop{background:#080a07b8}
#site-menu .site-menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none}
#site-menu #site-menu-title{margin:0;color:#c3c5b9;font:11px/1.3 'IBM Plex Mono',monospace;letter-spacing:.09em;text-transform:uppercase}
#site-menu .site-menu-close{position:static;display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;margin:0;padding:7px 0 7px 12px;border:0;border-radius:0;background:transparent;color:#f4f0e5;font:12px/1 'IBM Plex Mono',monospace;cursor:pointer}
#site-menu .site-menu-close span{font:30px/.8 'IBM Plex Mono',monospace;font-weight:400}
#site-menu .site-menu-links{display:flex;flex-direction:column;gap:0;margin:0;padding:0;flex:none}
#site-menu .site-menu-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;margin:0;padding:12px 0;border:0;border-bottom:1px solid #f4f0e526;background:transparent;color:#f4f0e5;font:400 clamp(33px,4.4vw,56px)/1.08 Anton,'Arial Narrow',Impact,sans-serif;letter-spacing:.005em;text-transform:uppercase;text-decoration:none;transition:color .15s}
#site-menu .site-menu-links a:first-child{border-top:1px solid #f4f0e526}
#site-menu .site-menu-links a span{flex:none;color:#838878;font:25px/1 'IBM Plex Mono',monospace;transition:transform .15s,color .15s}
#site-menu .site-menu-links a:hover,#site-menu .site-menu-links a[aria-current=location]{color:#ffd400}
#site-menu .site-menu-links a:hover span,#site-menu .site-menu-links a[aria-current=location] span{color:#ffd400}
#site-menu .site-menu-links a:hover span{transform:translate(3px,-3px)}
#site-menu .site-menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:auto;padding-top:4px;font:11px/1.5 'IBM Plex Mono',monospace;color:#a6aa9c}
#site-menu #motion-toggle{position:static;display:inline-flex;align-items:center;gap:7px;min-height:44px;width:auto;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;color:#ffd400;font:11px/1.5 'IBM Plex Mono',monospace;letter-spacing:.02em;text-align:left;cursor:pointer}
#site-menu a:focus-visible,#site-menu button:focus-visible{outline:2px solid #ffd400;outline-offset:5px}
@media(max-width:600px){#site-menu{width:100%;padding:20px 26px;border-left:0}#site-menu[open]{gap:22px}#site-menu .site-menu-links a{font-size:clamp(34px,9.2vw,46px);padding:12px 0}#site-menu .site-menu-links a span{font-size:23px}#site-menu .site-menu-bottom{font-size:10px;gap:12px}}
@media(max-height:850px) and (min-width:601px){#site-menu{padding:20px 38px}#site-menu[open]{gap:18px}#site-menu .site-menu-links a{font-size:36px;padding:8px 0;min-height:52px}}
@media(prefers-reduced-motion:reduce){#site-menu .site-menu-links a,#site-menu .site-menu-links a span{transition:none}#site-menu .site-menu-links a:hover span{transform:none}}
