/* ======================================================================
   Site menu on every page (v1, Oct 2026).
   The home page's hamburger menu styles, copied verbatim from its own
   stylesheet (dist/style-692021415208.css) so the menu on the other pages
   looks identical, plus the page list js/ui/site-menu.js renders.
   ====================================================================== */
.menu-key{flex:none;appearance:none;cursor:pointer;width:46px;height:46px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #8d8e88;border-radius:6px;background:linear-gradient(145deg,#f4f4f0,#d7d8d2 42%,#b2b3ad);box-shadow:0 2px #8b8c85,inset 0 1px #ffffffa6}
.menu-key:active{transform:translateY(1px);box-shadow:0 1px #8b8c85}
.menu-key:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.menu-key__bars{display:grid;gap:4px;width:20px}
.menu-key__bars i{display:block;height:2px;background:#3a3730;border-radius:1px}
.menu-scrim{position:fixed;inset:0;z-index:60;background:#100e0b8c;backdrop-filter:blur(2px)}
.menu{position:fixed;z-index:61;inset:0 auto 0 0;width:min(420px,92vw);display:flex;flex-direction:column;background:linear-gradient(180deg,#efece3,#e2ded2);border-right:1px solid rgba(0,0,0,.25);box-shadow:4px 0 28px -8px #0009;overflow:hidden}
.menu__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 10px;border-bottom:1px solid rgba(0,0,0,.14)}
.menu__heading{margin:0;font-size:.95rem;letter-spacing:.04em;color:#23201b}
.menu__close{appearance:none;cursor:pointer;background:none;border:none;min-width:44px;min-height:44px;font-size:1.5rem;line-height:1;color:#3a3730}
.menu__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.menu__tabs{display:flex;gap:4px;padding:10px 12px 0}
.menu__tab{appearance:none;cursor:pointer;font-family:inherit;flex:1 1 0;min-height:44px;padding:0 8px;border:1px solid #b6b1a4;border-bottom:none;border-radius:6px 6px 0 0;background:#d9d5c9;color:#55504a;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.menu__tab.is-current{background:#f6f3ea;color:#23201b}
.menu__tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.menu__panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;background:#f6f3ea;border-top:1px solid #b6b1a4}
.menu__note{margin:0 0 12px;font-size:.74rem;line-height:1.45;color:#5d574e}
.menu,.menu__panel{color:#23201b}
.artist-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.artist{appearance:none;cursor:pointer;font-family:inherit;width:100%;min-height:46px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #ccc6b7;border-radius:6px;background:#fffdf7;color:#23201b;text-align:left}
.artist:hover{background:#f1ece0}
.artist:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.artist__name{font-weight:700;font-size:.84rem}
.artist__count{flex:none;font-size:.66rem;letter-spacing:.06em;color:#6d675d;text-transform:uppercase}
@media(max-width:520px){.menu{width:100vw}}
.menu__note--link{display:inline-block;margin-top:10px;color:#5d574e}
.menu{background:var(--term-bg-deep);border-right:none;color:var(--term-green);box-shadow:6px 0 40px -10px #000000e6;font-family:Arial Narrow,Helvetica Neue,Helvetica,Arial,sans-serif}
.menu:before{content:"";position:absolute;inset:0;pointer-events:none;background-color:var(--term-bg-deep);background-image:repeating-linear-gradient(0deg,rgba(90,255,120,.03) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(90,255,120,.022) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.3) 0 2px,transparent 2px 7px),radial-gradient(130% 100% at 50% 0%,rgba(70,220,90,.1),transparent 62%);z-index:0}
.menu:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.55) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(0,0,0,.4) 0 1px,transparent 1px 2px);mix-blend-mode:multiply;opacity:.8}
.menu>*{position:relative;z-index:2}
.menu__frame{position:relative;display:flex;flex-direction:column;min-height:0;height:100%;margin:10px;border:1px solid var(--term-line);box-shadow:0 0 0 3px var(--term-bg-deep),0 0 0 4px #3ddc5773,0 0 18px #3ddc572e}
.menu__titlebar{flex:none;display:flex;align-items:stretch;border-bottom:1px solid var(--term-line);min-height:34px}
.menu__titlebar-label{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:0 10px;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--term-green);text-shadow:0 0 6px rgba(102,255,102,.55)}
.menu__close{flex:none;width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;appearance:none;cursor:pointer;border:none;border-left:1px solid var(--term-line);background:var(--term-line);color:var(--term-bg-deep);font-size:1.1rem;font-weight:800;line-height:1}
.menu__close:hover{background:var(--term-hot)}
.menu__close:focus-visible{outline:2px solid var(--term-hot);outline-offset:-4px}
.menu__home{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;padding:clamp(14px,4vh,26px) 14px clamp(10px,3vh,18px);text-decoration:none;border-bottom:1px solid rgba(61,220,87,.35)}
.menu__home:focus-visible{outline:2px solid var(--term-hot);outline-offset:-3px}
.menu__home-mark{display:block;width:min(74%,320px);aspect-ratio:1800 / 919;background-color:var(--term-green);-webkit-mask-image:url(../assets/brand/lifelong-logo-official-black-transparent-600.webp);mask-image:url(../assets/brand/lifelong-logo-official-black-transparent-600.webp);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;filter:drop-shadow(0 0 10px rgba(102,255,102,.45))}
.menu__home:hover .menu__home-mark{background-color:var(--term-hot)}
.menu__home-sub{font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--term-dim)}
.menu__home:hover .menu__home-sub{color:var(--term-mid)}
.menu__tabs{flex:none;display:flex;gap:0;padding:0;border-bottom:1px solid var(--term-line)}
.menu__tab{flex:1 1 0;min-height:46px;padding:0 6px;appearance:none;cursor:pointer;font-family:inherit;border:none;border-right:1px solid rgba(61,220,87,.35);border-radius:0;background:transparent;color:var(--term-dim);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.menu__tab:last-child{border-right:none}
.menu__tab:hover{color:var(--term-mid);background:#3ddc570f}
.menu__tab.is-current{background:var(--term-line);color:var(--term-bg-deep);text-shadow:none}
.menu__tab:focus-visible{outline:2px solid var(--term-hot);outline-offset:-4px}
.menu__panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;background:transparent;border-top:none;color:var(--term-green);scrollbar-color:var(--term-dim) transparent}
.menu__note{color:var(--term-dim);font-size:.72rem;line-height:1.5;letter-spacing:.02em}
.artist{background:transparent;border:1px solid rgba(61,220,87,.28);border-radius:0;color:var(--term-green)}
.artist:hover{background:#3ddc571a;border-color:var(--term-line)}
.artist:focus-visible{outline:2px solid var(--term-hot);outline-offset:-3px}
.artist__name{letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 6px rgba(102,255,102,.35)}
.artist__count{color:var(--term-dim)}
.menu__screen{border-top:1px solid rgba(61,220,87,.35)}
.menu-scrim{background:#020602b8}
@media(max-width:520px){.menu__frame{margin:6px}.menu__home-mark{width:min(82%,260px)}.menu__tab{min-width:0;padding-inline:3px;font-size:.56rem;line-height:1.15;letter-spacing:.06em;overflow-wrap:anywhere}.menu__titlebar-label{min-width:0;font-size:.56rem;letter-spacing:.12em;overflow-wrap:anywhere}.menu__panel,.menu__note,.dl-block__body,.dl-block__title{min-width:0;overflow-wrap:anywhere}}
@media(min-width:900px){.menu__home-mark{width:min(70%,360px)}}
@media(max-width:639px){.menu:after{opacity:.5}}
@media(prefers-reduced-motion:reduce){.menu__home-mark{filter:none}}
.menu-key,.menu-key:active,.shop-back{border:0!important;background:none!important;box-shadow:none!important;color:#6f6!important;min-width:48px;min-height:48px}
.menu-key__bars{width:28px}
.menu-key__bars i{background:#6f6!important;height:3px}
.basket-key:hover,.menu-key:hover{filter:drop-shadow(0 0 5px #66ff6680)}
.menu,.menu-scrim{visibility:hidden!important;pointer-events:none!important;opacity:0!important}
body.has-menu .menu,body.has-menu .menu-scrim{visibility:visible!important;pointer-events:auto!important;opacity:1!important}
/* page list (other pages; the home page keeps its own artist/downloads panels) */
.site-menu__list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.site-menu__link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:6px 12px;
  border:1px solid rgba(92,240,143,.35);border-radius:4px;background:rgba(0,0,0,.28);color:#6ef08a;text-decoration:none;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 0 6px rgba(92,240,143,.35)}
.site-menu__link:hover{background:rgba(92,240,143,.12)}
.site-menu__link:focus-visible{outline:2px solid #6ef08a;outline-offset:-2px}
.site-menu__link b{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.site-menu__link small{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(110,240,138,.6);text-align:right}
.site-menu__link[aria-current=page]{background:#2fbf5a;border-color:#2fbf5a;color:#04130a;text-shadow:none}
.site-menu__link[aria-current=page] small{color:rgba(4,19,10,.7)}
a.menu__tab{display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.site-head .menu-key + .shop-back{margin-left:6px}

/* v2: one list everywhere. Home page: hide the old tab row and the
   downloads/merch panels (their own pages are a row away now) */
.menu--simple .menu__tabs,.menu--simple #panelDownloads,.menu--simple #panelMerch{display:none!important}
.menu--simple #panelArtists{display:block!important}
.site-menu__sub{margin:16px 0 8px}
.menu__panel .site-menu__list + .site-menu__sub{border-top:1px solid rgba(92,240,143,.2);padding-top:14px}
