/* Glossary — alphabet list, scoped under .gl-* */

:root {
  --gl-ink: #1c2430;
  --gl-muted: #5b6775;
  --gl-line: #d7dde5;
  --gl-card: #ffffff;
  --gl-accent: #6b4f2c;
  --gl-radius: 10px;
}

.gl-wrap {
  color: var(--gl-ink);
  max-width: 1100px;
}

.gl-wrap p,
.gl-wrap ul,
.gl-wrap li {
  margin: 0;
  padding: 0;
  list-style: none;
  color: inherit;
  font: inherit;
  line-height: inherit;
}

.gl-hero {
  margin: 0 0 1.25rem;
  padding: 1rem 1.25rem;
  background:
    radial-gradient(1200px 240px at 10% -40%, rgba(107, 79, 44, 0.14), transparent 60%),
    linear-gradient(135deg, #f5f0e8 0%, #f7f9fc 55%, #eef2f7 100%);
  border: 1px solid var(--gl-line);
  border-radius: calc(var(--gl-radius) + 4px);
}

.gl-hero p {
  margin: 0;
  color: var(--gl-muted);
  max-width: 52rem;
  font-size: 0.98rem;
  line-height: 1.5;
}

.gl-letters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0 0 1.25rem;
}

.gl-letters a {
  min-width: 1.8rem;
  text-align: center;
  padding: 0.3rem 0.45rem;
  border-radius: 6px;
  text-decoration: none;
  color: var(--gl-ink);
  background: #fff;
  border: 1px solid var(--gl-line);
  font-size: 0.85rem;
}

.gl-letters a:hover {
  background: var(--gl-accent);
  color: #fff;
  border-color: var(--gl-accent);
}

.gl-alpha__group {
  margin: 0 0 1.2rem;
}

.gl-alpha__letter {
  margin: 0 0 0.45rem;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid var(--gl-accent);
  display: inline-block;
  min-width: 2rem;
  font-size: 1.25rem;
}

.gl-alpha__list {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  gap: 1.5rem;
}

.gl-alpha__list li {
  break-inside: avoid;
  margin: 0.35rem 0;
}

.gl-alpha__list a {
  color: var(--gl-ink);
  text-decoration: none;
  font-weight: 600;
}

.gl-alpha__list a:hover {
  color: var(--gl-accent);
  text-decoration: underline;
}

.gl-extra {
  color: var(--gl-muted);
  font-size: 0.88em;
  font-weight: 400;
}

.gl-extra::before {
  content: " — ";
}

.gl-empty {
  padding: 1.2rem;
  border: 1px dashed var(--gl-line);
  border-radius: var(--gl-radius);
  color: var(--gl-muted);
}

.gl-detail {
  display: grid;
  gap: 1rem;
}

.gl-box {
  background: var(--gl-card);
  border: 1px solid var(--gl-line);
  border-radius: var(--gl-radius);
  padding: 1.1rem 1.2rem;
}

.gl-box h2 {
  margin: 0 0 0.6rem;
  font-size: 1.05rem;
}

.gl-box__body {
  color: var(--gl-ink);
  font-size: 1rem;
  line-height: 1.55;
}

.gl-back {
  display: inline-block;
  margin-top: 0.5rem;
  color: var(--gl-accent);
  text-decoration: none;
}

.gl-back:hover {
  text-decoration: underline;
}

@media (max-width: 860px) {
  .gl-alpha__list {
    columns: 1;
  }
}
