/* Pulse — game-specific styles (on top of kit.css) */
.c00i-canvas { background: radial-gradient(120% 90% at 50% 0%, #1a1030 0%, #0a0a12 62%); }

.pulse-progress {
  position: fixed;
  top: calc(env(safe-area-inset-top) + 8px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: min(70vw, 460px);
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
.pulse-progress span {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent2), var(--accent) 60%, var(--pink));
  transition: width 0.08s linear;
}
.c00i-hud { top: calc(env(safe-area-inset-top) + 24px); }

.tap-hint {
  position: fixed;
  left: 50%;
  bottom: calc(env(safe-area-inset-bottom) + 26px);
  transform: translateX(-50%);
  z-index: 5;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(9, 10, 20, 0.6);
  backdrop-filter: blur(10px);
  font-weight: 800;
  font-size: 14px;
  color: var(--muted);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.tap-hint.show { opacity: 1; }

.level-select { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 4px 0 8px; }
.lvl {
  width: 56px; height: 56px; border-radius: 15px; border: 1px solid var(--line);
  font: inherit; font-weight: 900; font-size: 22px; cursor: pointer;
  color: #07111c; background: var(--grad);
}
.lvl:active { transform: scale(0.95); }
.lvl.locked { color: #6b7a8d; background: rgba(255, 255, 255, 0.08); cursor: default; }
.lvl.done { background: linear-gradient(160deg, #8fe0ff, #4aa6d6); }
