/* ── Gender cheatsheet styles ── */
:root {
  --masc-color: #6eb8d7;
  --fem-color: #d47b9e;
  --neut-color: #7abf8e;
}

.container { max-width: 1080px; }

.hero h1 {
  font-size: clamp(2rem, 5vw, 3rem);
}

.gender-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 0.9rem 0;
}

.gender-panel {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0.85rem;
  background: rgba(0,0,0,0.14);
}

.gender-panel h4 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.45rem;
}

.gender-panel ul {
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.gender-panel li {
  font-size: 0.88rem;
  color: var(--text-muted);
}

.gender-panel.masc h4 { color: var(--masc-color); }
.gender-panel.fem h4  { color: var(--fem-color); }
.gender-panel.neut h4 { color: var(--neut-color); }

.tag-masc { background: rgba(110,184,215,0.15); color: var(--masc-color); }
.tag-fem  { background: rgba(212,123,158,0.15); color: var(--fem-color); }
.tag-neut { background: rgba(122,191,142,0.15); color: var(--neut-color); }

.gender-badge {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.1rem 0.45rem;
  border-radius: 4px;
  vertical-align: middle;
}
.gender-m { background: rgba(110,184,215,0.18); color: var(--masc-color); }
.gender-f { background: rgba(212,123,158,0.18); color: var(--fem-color); }
.gender-n { background: rgba(122,191,142,0.18); color: var(--neut-color); }

.gender-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.8rem 0;
  font-size: 0.88rem;
}
.gender-table th {
  font-weight: 600;
  text-align: left;
  padding: 0.5rem 0.7rem;
  border-bottom: 2px solid var(--border-accent);
  color: var(--accent-ice);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.gender-table td {
  padding: 0.45rem 0.7rem;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}
.gender-table tr:hover td {
  background: rgba(110,184,215,0.04);
}

.step-list {
  display: grid;
  gap: 0.55rem;
  counter-reset: steps;
}
.step-list .step {
  counter-increment: steps;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: start;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--border);
}
.step-list .step:last-child {
  border-bottom: none;
}
.step-list .step::before {
  content: counter(steps);
  font-family: var(--mono);
  font-size: 0.78rem;
  color: var(--accent-gold);
  border: 1px solid rgba(196,169,106,0.35);
  border-radius: 999px;
  width: 1.55rem;
  height: 1.55rem;
  display: grid;
  place-items: center;
}

.answer {
  color: var(--text-muted);
  font-size: 0.88rem;
}

details {
  margin-top: 0.8rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(0,0,0,0.12);
  padding: 0.7rem 0.9rem;
}
summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--accent-ice);
}

@media (max-width: 760px) {
  .gender-grid { grid-template-columns: 1fr; }
  .gender-table { font-size: 0.82rem; }
  .gender-table th, .gender-table td { padding: 0.35rem 0.45rem; }
}
