/* Shared site shell: identity and accessibility rules for standard pages. */
:root { --tap-target: 44px; --on-accent: #fff; }
[data-theme="dark"] { --on-accent: #141210; }

html { scroll-padding-top: 72px; }

:focus-visible { outline: 2px solid var(--accent, currentColor); outline-offset: 3px; }

.nav__mark { color: var(--on-accent, #fff); }

.nav__link, .nav__mobile-link, .btn, .theme-toggle, .nav__hamburger {
  min-height: var(--tap-target);
}

.theme-toggle, .nav__hamburger {
  min-width: var(--tap-target);
  width: var(--tap-target);
  height: var(--tap-target);
}

.pagination__link {
  min-width: var(--tap-target);
  min-height: var(--tap-target);
}

.nav__link, .nav__mobile-link { display: inline-flex; align-items: center; }
.nav__mobile-link { display: flex; }

.faint, .page-quote__text, .page-quote__attr, .hero__avatar-about { color: var(--text-muted); }

@media (max-width: 640px) {
  .nav__inner { min-height: 56px; height: auto; }
  .nav__right { gap: 0.5rem; }
  .nav__clock { min-height: var(--tap-target); align-items: center; }
}

/* Page hero → first section: the hero already draws the divider, so drop the
   section's duplicate border and tighten the gap beneath it. */
.page-hero + section { border-top: 0; padding-top: 3.5rem; }
@media (max-width: 640px) { .page-hero + section { padding-top: 2.5rem; } }
