.nana-concentric-stage {
  position: relative;
  width: min(980px, 96vw);
  height: 880px;
  margin: 28px auto 48px;
  border-radius: 50%;
  background:
    radial-gradient(circle,
      rgba(36, 91, 160, .08) 0 16%,
      transparent 16.3% 31%,
      rgba(36, 91, 160, .07) 31.3% 31.8%,
      transparent 32.1% 48%,
      rgba(36, 91, 160, .06) 48.3% 48.8%,
      transparent 49.1% 100%);
}

.nana-orbit-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  border: 1px solid rgba(25, 68, 120, .18);
  border-radius: 50%;
  pointer-events: none;
}

.nana-ring-1 { width: 300px; height: 300px; }
.nana-ring-2 { width: 590px; height: 590px; }
.nana-ring-3 { width: 850px; height: 850px; }

.nana-center-hub {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  color: white;
  background:
    radial-gradient(circle at 35% 25%, #315d91, #102b4a 70%);
  border: 7px solid white;
  box-shadow:
    0 0 0 1px rgba(16,43,74,.15),
    0 20px 50px rgba(16,43,74,.24);
}

.nana-center-hub strong {
  display: block;
  font-size: 27px;
  letter-spacing: .06em;
}

.nana-center-hub span {
  display: block;
  margin-top: 7px;
  font-size: 12px;
  opacity: .8;
}

.nana-orbit-card {
  position: absolute !important;
  z-index: 5;
  width: 245px !important;
  height: 245px !important;
  box-sizing: border-box;
  border-radius: 50% !important;
  padding: 25px 22px !important;
  overflow: hidden;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(20,54,90,.16) !important;
  box-shadow: 0 14px 38px rgba(16,43,74,.13);
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease;
}

.nana-orbit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(16,43,74,.2);
}

.nana-orbit-card h1,
.nana-orbit-card h2,
.nana-orbit-card h3,
.nana-orbit-card h4,
.nana-orbit-card strong,
.nana-orbit-card b {
  text-align: center;
}

.nana-orbit-card input {
  width: 100% !important;
  box-sizing: border-box;
  font-size: 12px !important;
  padding: 7px 9px !important;
  margin: 4px 0 !important;
}

.nana-orbit-card button,
.nana-orbit-card a {
  font-size: 11px !important;
  padding: 6px 8px !important;
}

.nana-orbit-card:nth-of-type(4) {
  left: 50%;
  top: 0;
  translate: -50% 0;
}

.nana-orbit-card:nth-of-type(5) {
  right: 55px;
  top: 175px;
}

.nana-orbit-card:nth-of-type(6) {
  right: 55px;
  bottom: 175px;
}

.nana-orbit-card:nth-of-type(7) {
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}

.nana-orbit-card:nth-of-type(8) {
  left: 55px;
  bottom: 175px;
}

.nana-orbit-card:nth-of-type(9) {
  left: 55px;
  top: 175px;
}

@media (max-width: 820px) {
  .nana-concentric-stage {
    height: auto;
    padding: 240px 12px 24px;
    border-radius: 32px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    background: transparent;
  }

  .nana-orbit-ring {
    display: none;
  }

  .nana-center-hub {
    top: 110px;
  }

  .nana-orbit-card {
    position: relative !important;
    inset: auto !important;
    translate: none !important;
    width: min(100%, 260px) !important;
    height: 260px !important;
    margin: auto;
  }
}

@media (max-width: 560px) {
  .nana-concentric-stage {
    grid-template-columns: 1fr;
  }
}

/* CH12 — khóa bố cục đồng tâm ở trạng thái tĩnh */
.nana-concentric-stage,
.nana-concentric-stage *,
.nana-ring,
.nana-center-hub,
.nana-orbit-card {
  animation: none !important;
  transition: none !important;
}

.nana-ring,
.nana-center-hub,
.nana-orbit-card {
  transform-origin: center center !important;
}

.nana-orbit-card {
  cursor: default !important;
}

.nana-orbit-card input,
.nana-orbit-card textarea,
.nana-orbit-card button,
.nana-orbit-card a {
  pointer-events: auto !important;
}

/* CH12 — six static draggable ports */
.nana-concentric-stage {
  position: relative !important;
  width: min(900px, 94vw) !important;
  height: 760px !important;
  margin: 20px auto 45px !important;
  overflow: visible !important;
}

.nana-orbit-card {
  position: absolute !important;
  width: 210px !important;
  height: 210px !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  margin: 0 !important;
  z-index: 10 !important;
  cursor: grab !important;
  user-select: none !important;
  animation: none !important;
  transition: box-shadow .15s ease !important;
}

.nana-orbit-card.nana-dragging {
  cursor: grabbing !important;
  z-index: 100 !important;
  box-shadow: 0 18px 45px rgba(15,42,70,.24) !important;
}

.nana-orbit-card input,
.nana-orbit-card textarea,
.nana-orbit-card button,
.nana-orbit-card a {
  user-select: text !important;
  pointer-events: auto !important;
}
