/* Skip link, focus rings and a reduced-motion safety net, shared by every page. */
.skip-link { position: absolute; left: 12px; top: -64px; z-index: 1000; padding: 12px 16px; background: #eee7d8; color: #0b0a09; border-radius: 6px; font: 600 14px/1 Inter, system-ui, sans-serif; text-decoration: none; transition: top .15s ease; }
.skip-link:focus { top: 12px; outline: 2px solid var(--accent, #8fa2ff); outline-offset: 2px; }
main:focus { outline: none; }
:focus-visible { outline: 2px solid var(--accent, #8fa2ff); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* Touch: the small controls get a thumb-sized hit area (the rest are already 40px or more). */
@media (pointer: coarse) {
  .mp-sugs button { min-height: 36px; display: inline-flex; align-items: center; }
  .hp-tabs button, .sheet .close, .ask-dock-go, .nf-ask button, .nf-doors button, .hp-btn { min-height: 40px; }
  .mp-omni input { min-height: 40px; }
}
