/* Shared navigation leaves the existing card artwork untouched. */
.site-head .brand, .wiki-head .wiki-overview-brand { display: inline-flex; align-items: center; gap: .65rem; min-width: 0; white-space: normal; }
.dnd-brand-logo { display: block; flex: 0 0 auto; width: 2.75rem; height: 2.75rem; object-fit: contain; }
.dnd-brand-title { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) { .dnd-brand-logo { width: 2.15rem; height: 2.15rem; } }
.member-logout { display: inline-flex; margin: 0; }
.member-logout button { font-family: inherit; line-height: inherit; border: 0; background: none; cursor: pointer; }
.members-nav { align-items: center; }
.site-head { flex-wrap: wrap; gap: 1rem 2rem; }
.brand { white-space: normal; overflow-wrap: anywhere; }
.site-head__actions { flex-wrap: wrap; }
.rounds { padding-top: clamp(2rem, 4vw, 4rem); }
.round-section:first-child .section-heading--ruled { border-top: 0; padding-top: 0; }
.floating-links[hidden], .wiki-menu[hidden], .wiki-nav[hidden], .wiki-branch-toggle[hidden] { display: none !important; }
.floating-links { position: fixed; inset: auto 0 0; z-index: 50; display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding: 1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); pointer-events: none; }
.floating-links__back, .floating-links__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; pointer-events: auto; }
.floating-links__actions { margin-left: auto; justify-content: flex-end; }
.floating-links a { display: inline-flex; align-items: center; min-height: 44px; padding: .75rem 1rem; border: 1px solid #80704f; border-radius: .8rem; background: #1b1b20; color: #f0dfb3; text-decoration: none; font-size: .9rem; font-weight: 700; box-shadow: 0 .3rem 1.4rem #0006; }
.floating-links a:hover { background: #303037; color: #fff3cc; }
.floating-links a:focus-visible { outline: 3px solid #efd28c; outline-offset: 3px; }
.floating-links .member-logout button { display: inline-flex; align-items: center; min-height: 44px; padding: .75rem 1rem; border: 1px solid #80704f; border-radius: .8rem; background: #1b1b20; color: #f0dfb3; font-size: .9rem; font-weight: 700; box-shadow: 0 .3rem 1.4rem #0006; }
.floating-links .member-logout button:hover { background: #303037; color: #fff3cc; }
.member-logout button:focus-visible { outline: 3px solid #efd28c; outline-offset: 3px; }
/* Reserve room INSIDE the final section, never below the footer or on scroll. */
.site-footer { min-height: 84px; padding: 1rem var(--page-gutter); align-items: center; gap: .5rem 2rem; flex-wrap: wrap; }
.site-footer p { margin: 0; }
body:has(> .site-footer) .rounds { padding-bottom: 9rem; }
.floating-links { bottom: var(--floating-bottom, 0px); }
body:has(> .site-footer) { min-height: 100dvh; display: flex; flex-direction: column; }
body:has(> .site-footer) > main { flex: 1; }
.dnd-chevron { display: block; width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
@media (max-width: 620px) {
  .section-heading > div { min-width: 0; max-width: 100%; }
  .section-heading h2 { font-size: clamp(2.2rem, 10vw, 3.35rem); overflow-wrap: anywhere; }
  .floating-links { gap: .5rem; padding: .65rem; }
  .floating-links__back { flex: 1; }
  .floating-links__actions { flex: 1; flex-direction: column; align-items: flex-end; }
  .floating-links a { padding: .65rem .75rem; font-size: .8rem; }
  .floating-links .member-logout button { padding: .65rem .75rem; font-size: .8rem; }
  body:has(.floating-links .member-logout) .rounds,
  body:has(.floating-links .member-logout) .campaign-content { padding-bottom: 13rem; }
  .site-footer { display: flex; min-height: 74px; padding: 1rem var(--page-gutter); }
}
/* Uncached admin-only notes are normal flow, never an overlay over content. */
.access-hint { display: flex; justify-content: flex-end; margin: .5rem 0; font: 500 .75rem/1.5 var(--sans, sans-serif); color: #d8caaa; text-align: right; overflow-wrap: anywhere; }
.access-hint span { max-width: 75ch; padding: .35rem .65rem; border: 1px dashed #766746; border-radius: .4rem; background: #202024; }
main > .access-hint { margin-inline: var(--page-gutter); }

