/* Shared subjects stay above the page content, with matching mobile links. */
.subject-bar { border-bottom:1px solid var(--line); background:var(--paper); }
.subject-links { display:flex; flex-wrap:wrap; gap:8px; padding-block:16px; }
.subject-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:14px; line-height:1.4; white-space:nowrap; transition:background .15s,border-color .15s; }
.subject-link:hover { background:var(--soft); border-color:var(--green); }
.subject-link[aria-current] { background:var(--green); border-color:var(--green); color:var(--paper); }
.subject-link:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.menu-subjects { display:none; }
.menu-utilities { display:flex; align-items:center; gap:28px; }
.nav .menu-utilities>a { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
#stories { scroll-margin-top:24px; }
@media(max-width:1000px) {
  .nav #navigation.open { display:flex; align-items:stretch; gap:20px; padding:22px max(16px,calc((100vw - 700px)/2)); max-height:calc(100dvh - 98px); overflow-y:auto; box-shadow:0 18px 30px #0002; }
  .menu-subjects { display:block; }
  .menu-heading { display:block; font-size:12px; letter-spacing:1.2px; color:var(--muted); margin-bottom:12px; }
  .menu-subject-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .nav #navigation .subject-link { min-height:44px; padding:10px 14px; border-radius:8px; justify-content:flex-start; }
  .nav #navigation .subject-link:after { display:none; }
  .menu-utilities { border-top:1px solid var(--line); padding-top:12px; flex-wrap:wrap; gap:4px 22px; }
  .nav .menu-utilities>a { padding-block:10px; }
}
@media(max-width:800px) {
  .nav #navigation.open { max-height:calc(100dvh - 80px); }
}
@media(max-width:540px) {
  .subject-links { gap:6px; padding-block:12px; }
  .subject-link { padding:10px 12px; }
  .nav #navigation.open { max-height:calc(100dvh - 74px); }
}
@media(prefers-reduced-motion:reduce) {
  .subject-link { transition:none; }
}
