.guide-footer { margin-top: 4rem; padding-top: 1.5rem; padding-bottom: calc(8rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--rule); }
.guide-footer p { color: var(--quiet); font-size: 1rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1rem; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; }
.bottom-dock { position: fixed; z-index: 20; inset: auto 0 0; display: flex; justify-content: center; padding: .75rem 1.5rem calc(.75rem + env(safe-area-inset-bottom)); background: var(--ink); border-top: 1px solid var(--rule); box-shadow: 0 -4px 24px rgba(0, 0, 0, .16); }
.dock-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: min(100%, 760px); padding: 0; list-style: none; gap: .5rem; }
.dock-links a { display: flex; justify-content: center; align-items: center; min-width: 44px; min-height: 48px; padding: .5rem .75rem; text-decoration: none; font-size: 1rem; font-weight: 500; border: 1px solid transparent; border-radius: 8px; }
.dock-links a:hover, .dock-links a[aria-current="page"] { border-color: var(--paper); }
@media (max-width: 680px) {
  .bottom-dock { padding-inline: .5rem; }
  .dock-links { gap: .25rem; }
  .dock-links a { padding-inline: .125rem; }
}
