/*
 * Feed pages on wide screens (>= 75rem): v3 three-column shell — left rail
 * (brand, navigation; account row / sign-in card at the bottom), feed, right
 * column (panels; links, language, © at the bottom). Both side columns are one
 * viewport tall and sticky, so their bottoms line up. No top header or footer
 * there; narrower screens keep the header + footer layout.
 */
.ni-shell { flex: 1; width: 100%; display: flex; flex-direction: column; }
.ni-rail, .ni-aside { display: none; }

@media (min-width: 75rem) {
  body:has(.ni-shell) .ni-hdr, .ni-ftr-narrow { display: none; }
  .ni-shell { display: grid; grid-template-columns: 14rem minmax(0, 37.5rem) 18.75rem; gap: 1.75rem; justify-content: center; align-items: start; padding: 0 1.25rem; }
  .ni-shell .ni-main { max-width: none; margin: 0; padding: 1.125rem 0 2.5rem; }
  .ni-rail, .ni-aside { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 1.125rem 0 1.25rem; }
  .ni-col-foot { margin-top: auto; display: flex; flex-direction: column; gap: 0.75rem; }

  .ni-rail { gap: 0.25rem; }
  .ni-rail .ni-brand { padding: 0.375rem 0.75rem 1.125rem; }
  .ni-rail .ni-brand img { height: 1.75rem; }
  .ni-rail-nav { display: flex; align-items: center; gap: 0.875rem; height: 2.875rem; padding: 0 0.875rem; border-radius: 0.75rem; font-size: 1rem; font-weight: 500; }
  .ni-rail-nav:hover { background: var(--ni-color-hover); }
  .ni-rail-nav[aria-current] { font-weight: 700; background: var(--ni-color-surface-2); color: var(--ni-color-primary); }
  .ni-signin { padding: 0.875rem; display: flex; flex-direction: column; gap: 0.625rem; }
  .ni-signin p { margin: 0; font-size: 0.8125rem; line-height: 1.5; color: var(--ni-color-text-secondary); }
  .ni-signin .ni-btn { width: 100%; height: 2.5rem; }

  .ni-aside { gap: 1rem; }
  .ni-aside .ni-col-foot { font-size: 0.75rem; color: var(--ni-color-muted); padding: 0 0.375rem; }
  .ni-aside-links { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; }
  .ni-aside-links a:hover { color: var(--ni-color-primary); }
  .ni-aside-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
  /* Language switch reads like the neighbouring site links: no border, same size and colour. */
  .ni-aside-meta .ni-lang summary { height: 1.5rem; padding: 0; gap: 0.25rem; font-size: inherit; color: inherit; }
  .ni-aside-meta .ni-lang summary:hover, .ni-aside-meta .ni-lang[open] summary { background: none; color: var(--ni-color-primary); }
  .ni-aside-meta .ni-lang summary .ni-i { width: 0.875rem; height: 0.875rem; }
  .ni-aside .ni-lang ul { top: auto; bottom: calc(100% + 0.375rem); inset-inline: 0 auto; }
}
