/* Shared app menu (app-nav.js). Scoped class names so page styles don't leak in. */
nav.appnav{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;
  margin:0;padding:8px max(16px,calc((100vw - 1180px)/2));background:#0a0f1fef;border-bottom:1px solid #2b3553;
  font:600 14px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;backdrop-filter:blur(8px)}
nav.appnav a,nav.appnav summary{color:#c9d3ea;text-decoration:none;padding:7px 10px;border-radius:8px;display:inline-block;
  border:0;background:none;letter-spacing:0;text-transform:none;font:inherit}
nav.appnav a:hover,nav.appnav summary:hover{color:#fff;background:#1b2440}
nav.appnav a:focus-visible,nav.appnav summary:focus-visible{outline:2px solid #9c8fff;outline-offset:2px}
nav.appnav a[aria-current=page],nav.appnav summary[aria-current=true]{color:#fff;background:#2d2766;box-shadow:inset 0 0 0 1px #6f61e8}
nav.appnav .appnav-brand{color:#fff;font-weight:800;padding-left:0}
nav.appnav .appnav-brand:hover{background:none}
nav.appnav .appnav-links{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px}
nav.appnav .appnav-group{position:relative}
nav.appnav summary{cursor:pointer;list-style:none}
nav.appnav summary::-webkit-details-marker{display:none}
nav.appnav summary::after{content:" ▾";font-size:11px}
nav.appnav .appnav-menu{position:absolute;left:0;top:calc(100% + 6px);min-width:200px;display:flex;flex-direction:column;
  padding:6px;background:#111a2e;border:1px solid #303b59;border-radius:10px;box-shadow:0 12px 30px #0009}
nav.appnav .appnav-menu a{display:block;white-space:nowrap}
@media(max-width:700px){nav.appnav{gap:4px 10px}nav.appnav a,nav.appnav summary{padding:6px 8px}
  nav.appnav .appnav-menu{position:fixed;left:16px;right:16px;top:auto;min-width:0}}
