:root {
  color-scheme: dark;
  --bg: #050509;
  --fg: #f5f5f5;
  --accent: #6bb6d6;
  --accent-soft: rgba(107, 182, 214, 0.2);
  --danger: #ff6b6b;
  --border: #272733;
  --muted: #a0a0b5;
}

* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: radial-gradient(circle at top, #101020, #050509 60%);
  color: var(--fg);
  font-family: system-ui;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app { width: 100%; max-width: 480px; padding: 1.5rem; }
h1 { text-align: center; margin-bottom: .75rem; }
.disclaimer {
  font-size: .8rem; color: var(--muted);
  border-left: 3px solid var(--danger);
  padding-left: .75rem; margin-bottom: 1.25rem;
}
.controls {
  border-radius: 16px; border: 1px solid var(--border);
  background: rgba(10,10,20,.9);
  padding: 1.25rem; display: flex; flex-direction: column;
  gap: .9rem;
}
.btn-primary {
  width: 100%; padding: .75rem;
  border-radius: 999px; border: none;
  font-size: 1rem; font-weight: 600;
  background: var(--accent); color: #020203;
  cursor: pointer;
  box-shadow: 0 0 16px var(--accent-soft);
}
.btn-primary:active {
  transform: scale(0.98);
}
.control-group { display: flex; flex-direction: column; gap: .35rem; }
input[type="range"] { accent-color: var(--accent); }
.status { margin-top: 1rem; text-align: center; color: var(--muted); }
.visual { margin-top: 1rem; display: flex; justify-content: center; }
.pulse {
  width: 120px; height: 120px; border-radius: 50%; border: 2px solid var(--accent);
  animation: breathe 4s ease-in-out infinite;
}
@keyframes breathe {
  0% { transform: scale(.9); }
  50% { transform: scale(1.05); }
  100% { transform: scale(.9); }
}
