.resonance-stage {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}

.resonance-total {
  font-variant-numeric: tabular-nums;
}

.resonance-visual {
  align-items: center;
  background: radial-gradient(circle at 50% 50%, #f2f2f2 0%, #e6e6e6 60%, #dddddd 100%);
  border-radius: 16px;
  display: flex;
  justify-content: center;
}

.resonance-ball {
  background: radial-gradient(circle at 30% 30%, #4b7bff 0%, #2f4eb8 55%, #1c2c6e 100%);
  border-radius: 50%;
  height: 180px;
  transform: scale(0.4);
  transition: transform 0.05s linear, box-shadow 0.9s ease-out;
  width: 180px;
}

.routine .resonance-visual {
  background: radial-gradient(circle at 50% 50%, #2b3146 0%, #1c2233 60%, #121522 100%);
  box-shadow: 0 0 40px rgba(16, 20, 32, 0.6);
}

.routine .resonance-ball {
  background: radial-gradient(circle at 30% 30%, #86a8ff 0%, #4b6ed6 50%, #263b8a 100%);
  box-shadow: 0 0 40px rgba(58, 95, 210, 0.5);
}

.routine-resonance {
  background: radial-gradient(circle at 50% 50%, #1f2230 0%, #141724 55%, #0f111a 100%);
  box-sizing: border-box;
  color: #f4f4f5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  inset: 0;
  min-height: 100dvh;
  padding: 40px 24px;
  position: fixed;
  width: 100vw;
  z-index: 10001;
}

.routine-resonance .routine-content {
  margin: 0;
  width: min(520px, 90vw);
}

.routine-resonance .resonance-stage {
  width: 100%;
}

.routine-resonance .resonance-visual {
  background: radial-gradient(circle at 50% 50%, #2b3146 0%, #1c2233 60%, #121522 100%);
  box-shadow: 0 0 40px rgba(16, 20, 32, 0.6);
  height: min(520px, 70vh);
  margin: 0;
  width: 100%;
}

.routine-resonance .resonance-ball {
  background: radial-gradient(circle at 30% 30%, #86a8ff 0%, #4b6ed6 50%, #263b8a 100%);
  box-shadow: 0 0 40px rgba(58, 95, 210, 0.5);
}

.routine-resonance .resonance-total {
  font-size: 20px;
}

.routine-resonance .routine-footer {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .resonance-ball { transition: none; }
}
