/* ─── COMMUNITY ───────────────────────────────────── */
.community-section {
  background: var(--bg-1);
  border-top: 1px solid var(--border);
}

.community-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-16);
  align-items: center;
}

.community-text {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
}

.community-text .section-title {
  text-align: left;
  margin-bottom: 0;
}

.community-desc {
  font-size: 17px;
  color: var(--text-1);
  line-height: 1.75;
}

.community-links {
  display: flex;
  gap: var(--sp-4);
  flex-wrap: wrap;
}

.community-visual {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  align-items: flex-end;
}

.contrib-grid {
  display: grid;
  grid-template-columns: repeat(52, 1fr);
  grid-template-rows: repeat(7, 1fr);
  gap: 3px;
  width: 100%;
}

.contrib-cell {
  aspect-ratio: 1;
  border-radius: 2px;
  background: var(--surface);
  transition: background var(--t-fast);
}

.contrib-cell:hover {
  outline: 1px solid var(--accent);
}

.contrib-cell[data-level="1"] { background: rgba(148,190,100,0.2); }
.contrib-cell[data-level="2"] { background: rgba(148,190,100,0.45); }
.contrib-cell[data-level="3"] { background: rgba(148,190,100,0.7); }
.contrib-cell[data-level="4"] { background: var(--accent); }

.contrib-label {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
}

@media (max-width: 900px) {
  .community-split {
    grid-template-columns: 1fr;
    gap: var(--sp-10);
  }
  .community-visual {
    align-items: flex-start;
  }
  .contrib-grid {
    grid-template-columns: repeat(26, 1fr);
    grid-template-rows: repeat(14, 1fr);
  }
}
