  .search { max-width: 48rem; margin-inline: auto; }
  .search__form { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.5rem; }
  .search__label { font-weight: 600; }
  .search__field { display: flex; gap: .5rem; }
  .search__input {
    flex: 1 1 auto; min-height: 2.75rem; padding: .5rem .75rem;
    font-size: 1rem; border: 2px solid currentColor; border-radius: .375rem;
    background: transparent; color: inherit;
  }
  .search__submit {
    min-width: 2.75rem; min-height: 2.75rem;
    display: inline-flex; align-items: center; justify-content: center; gap: .375rem;
    padding-inline: 1rem; border: 2px solid currentColor; border-radius: .375rem;
    background: transparent; color: inherit; cursor: pointer; font-size: 1rem;
  }
  .search :where(a, button, input):focus-visible {
    outline: 3px solid #1d4ed8; outline-offset: 2px; border-radius: .25rem;
  }
  .search__help { margin: 0; font-size: .875rem; opacity: .8; }
  .search__status { margin-block: 1rem; font-weight: 600; }
  .search__meta { font-size: .8125rem; opacity: .65; font-weight: 400; }
  .search__suggestion { margin-block: 1rem; }
  .search__results { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; }
  .search__result-title { margin: 0 0 .25rem; font-size: 1.125rem; line-height: 1.3; }
  .search__result-desc { margin: 0 0 .25rem; }
  .search__result-url { margin: 0; font-size: .8125rem; opacity: .7; word-break: break-all; }
  .search mark { padding: 0 .12em; border-radius: .15em; }
  .pagination__list {
    list-style: none; display: flex; flex-wrap: wrap; gap: .5rem;
    align-items: center; justify-content: center; padding: 0; margin-top: 2rem;
  }
  .pagination__link {
    display: inline-flex; align-items: center; gap: .375rem;
    min-height: 2.75rem; padding-inline: .875rem; border-radius: .375rem;
    border: 1px solid currentColor; text-decoration: none; color: inherit;
  }
  .pagination__status { padding-inline: .5rem; }
  .visually-hidden {
    position: absolute !important; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap; border: 0;
  }
  @media (prefers-reduced-motion: reduce) {
    .search * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  }