.tag-directory {
  line-height: 1.6;
}

.tag-directory-intro {
  margin: 0;
  color: #666;
}

.tag-directory-tools {
  max-width: 520px;
  margin: 28px 0 32px;
}

.tag-directory-tools label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}

#tag-filter {
  box-sizing: border-box;
  width: 100%;
  padding: 9px 2px;
  border: 0;
  border-bottom: 1px solid #aaa;
  border-radius: 0;
  background: transparent;
  color: #222;
  font: inherit;
}

#tag-filter:focus {
  border-color: #000;
  outline: 0;
}

.tag-filter-status {
  min-height: 1.4em;
  margin: 6px 0 0;
  color: #939393;
  font-size: 0.85em;
}

.tag-directory-popular {
  padding: 17px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.tag-directory-popular h2 {
  margin: 0 0 12px;
  font-size: 1.1em;
  font-weight: 600;
}

.tag-directory-popular ul,
.tag-letter-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tag-directory-popular ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
}

.tag-directory-popular li,
.tag-letter-group li {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

/* Minos adds a ">" marker to list items globally; tags are already
   identified by their letter sections and do not need another marker. */
.tag-directory li:before {
  content: none;
  float: none;
  padding: 0;
}

.tag-directory a {
  color: #111;
  text-decoration: none;
  border-bottom: 1px dotted transparent;
}

.tag-directory a:hover,
.tag-directory a:focus {
  border-bottom-color: #000;
}

.tag-directory-popular li span,
.tag-letter-group li span {
  color: #939393;
  font-family: "Source Code Pro", Consolas, Monaco, Menlo, monospace;
  font-size: 0.78em;
}

.tag-directory-popular li span:before,
.tag-letter-group li span:before {
  content: '(';
}

.tag-directory-popular li span:after,
.tag-letter-group li span:after {
  content: ')';
}

.tag-letter-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 28px 0 26px;
  padding-bottom: 12px;
  border-bottom: 1px dotted #ccc;
}

.tag-letter-nav a {
  min-width: 1.4em;
  padding: 2px 4px;
  border: 0;
  text-align: center;
  font-family: "Source Code Pro", Consolas, Monaco, Menlo, monospace;
  font-weight: 600;
}

.tag-letter-nav a:hover,
.tag-letter-nav a:focus {
  background: #eee;
}

.tag-letter-nav a[data-letter="number"] {
  order: 99;
}

.tag-directory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 30px 38px;
}

.tag-letter-group {
  break-inside: avoid;
}

.tag-letter-group[data-letter="number"] {
  order: 99;
}

.tag-letter-group h2 {
  margin: 0 0 9px;
  padding-bottom: 4px;
  border-bottom: 1px solid #999;
  font-size: 1.25em;
  font-weight: 400;
}

.tag-letter-group li {
  margin-bottom: 5px;
  line-height: 1.35;
}

.tag-filter-empty {
  padding: 28px 0;
  color: #666;
  text-align: center;
}

.category-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 28px;
  margin-top: 32px;
}

.category-directory-item {
  display: block;
  padding: 17px 0 14px;
  border-top: 1px solid #ddd;
  color: #111;
  text-decoration: none;
}

.category-directory-item:hover,
.category-directory-item:focus {
  border-top-color: #111;
}

.category-directory-name {
  display: block;
  font-size: 1.25em;
}

.category-directory-count {
  display: block;
  margin-top: 4px;
  color: #939393;
  font-family: "Source Code Pro", Consolas, Monaco, Menlo, monospace;
  font-size: 0.78em;
}

@media screen and (max-width: 900px) {
  .category-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tag-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 559px) {
  .category-directory-grid {
    grid-template-columns: 1fr;
  }

  .tag-directory-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .tag-directory-popular {
    padding: 15px 0;
  }
}
