/* A student's map as a honeycomb: a region for each subject, its hexagons in the three states of the map's scale, those not
   opened, those touched and those new, and a dashed ring where a topic is typical for an age. Its motion is the design's,
   scaled by the person's: --access-motion is 1 for all of it and 0 for none, where the glow does not change. */
.k-atlas {
  display: flex;
  flex-direction: column;
  gap: var(--kartora-space-3);
  padding: var(--kartora-space-3);
  border: 1px solid var(--kartora-line);
  border-radius: var(--kartora-radius-lg);
  background: var(--kartora-surface);
}
.k-atlas-regions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 45%), 240px));
  justify-content: center;
  gap: var(--kartora-space-2);
}
.k-atlas-region {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 0;
  padding: var(--kartora-space-1);
  border: 2px solid transparent;
  border-radius: var(--kartora-radius-md);
  color: var(--kartora-ink);
  font-size: calc(var(--kartora-text-sm) * var(--k-scale));
  font-weight: 700;
  text-align: center;
}
.k-atlas-region--closed { font-weight: 400; color: var(--kartora-muted); }
.k-atlas-region svg { display: block; width: 100%; height: auto; }
.k-atlas-unmet { fill: var(--kartora-surface-3); }
.k-atlas-way { fill: color-mix(in srgb, var(--kartora-map-high) 40%, var(--kartora-map-low)); }
.k-atlas-held { fill: var(--kartora-map-high); }
.k-atlas-off { fill: var(--kartora-surface-2); }
.k-atlas-touched { fill: var(--kartora-tone-next); stroke: var(--kartora-ink); stroke-width: 1.4; }
.k-atlas-new {
  fill: var(--kartora-tone-next);
  stroke: var(--kartora-ink);
  stroke-width: 1.4;
  animation: k-atlas-lit 1.6s ease-in-out infinite alternate;
}
@keyframes k-atlas-lit {
  from { opacity: calc(1 - .45 * var(--access-motion, 1)); }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .k-atlas-new { animation: none; } }
.k-atlas-ring { fill: none; stroke: var(--kartora-ink); stroke-width: 1.6; stroke-dasharray: 6 5; }
