.directory-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 42px var(--page-padding); color: var(--orange); }
.back-link { font-size: 18px; }
.back-link:hover, .download-link:hover { color: var(--sand); }
.directory { padding: 50px var(--page-padding) 70px; }
.directory h1 { font-size: clamp(38px, 6vw, 100px); }
.directory-tools { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-top: 44px; }
.search-field { width: min(100%, 720px); }
.search-field label { display: block; margin-bottom: 12px; font-size: 18px; }
.search-field input { width: 100%; padding: 19px 22px; border: 1px solid var(--sand); border-radius: 16px; background: transparent; color: var(--sand); font-size: 20px; }
.search-field input::placeholder { color: var(--sand); opacity: .65; }
.download-link { padding-bottom: 20px; color: var(--orange); white-space: nowrap; }
.list-status { margin: 28px 0 18px; font-size: 16px; }
.domain-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.domain-list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 100%; padding: 20px; border: 1px solid #c2a99840; border-radius: 14px; overflow-wrap: anywhere; transition: background .18s ease, color .18s ease; }
.domain-list a::after { content: "↗"; flex-shrink: 0; color: var(--orange); }
.domain-list a:hover { color: var(--brown); background: var(--sand); }
.domain-list a:hover::after { color: var(--brown); }
noscript a { text-decoration: underline; }
@media (max-width: 1000px) { .domain-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .directory-header { padding: 28px var(--page-padding); }
  .back-link { font-size: 14px; }
  .directory { padding-top: 30px; }
  .directory-tools { align-items: stretch; flex-direction: column; gap: 18px; margin-top: 30px; }
  .download-link { padding-bottom: 0; }
  .domain-list { grid-template-columns: 1fr; }
  .domain-list a { padding: 18px; }
}
