.skool-map {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: var(--ml-surface, #1f2937);
  border: 1px solid var(--ml-border, #374151);
  border-radius: var(--ml-radius, 12px);
}

.skool-map-node {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ml-bg-elevated, #111827);
  border: 1px solid var(--ml-border, #374151);
  border-radius: var(--ml-radius-sm, 8px);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  padding: 0.5rem;
  opacity: 0.65;
  color: var(--ml-text-muted, #9ca3af);
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.skool-map-node:hover {
  opacity: 0.9;
  border-color: var(--ml-accent, #818cf8);
}

.skool-map-node.active {
  opacity: 1;
  color: var(--ml-text, #f3f4f6);
  border-color: var(--ml-accent, #818cf8);
  box-shadow: 0 0 0 3px var(--ml-accent-muted, rgba(129, 140, 248, 0.15));
}

.skool-map-node.completed {
  border-color: var(--ml-pass, #34d399);
}
