:root {
  color-scheme: dark;
}

body {
  margin: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0b0b12;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #e8e8f0;
}

main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

#orb {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: radial-gradient(circle at 35% 30%, #4b5bff, #1a1a3d 70%);
  box-shadow: 0 0 40px rgba(75, 91, 255, 0.35);
  position: relative;
  transition: box-shadow 0.3s ease, transform 0.15s ease;
}

#orb:active {
  transform: scale(0.97);
}

#orb[aria-pressed='true'] {
  background: radial-gradient(circle at 35% 30%, #ff5ba0, #3d1a2e 70%);
  box-shadow: 0 0 60px rgba(255, 91, 160, 0.55);
  animation: pulse 1.8s ease-in-out infinite;
}

#orb[data-speaking='true'] {
  animation: pulse-fast 0.6s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 45px rgba(255, 91, 160, 0.4); }
  50% { box-shadow: 0 0 70px rgba(255, 91, 160, 0.7); }
}

@keyframes pulse-fast {
  0%, 100% { box-shadow: 0 0 55px rgba(255, 91, 160, 0.6); }
  50% { box-shadow: 0 0 90px rgba(255, 91, 160, 0.9); }
}

#status {
  font-size: 0.95rem;
  color: #a0a0b8;
  margin: 0;
}

#cost {
  font-size: 0.8rem;
  color: #6a6a80;
  margin: 0;
  font-variant-numeric: tabular-nums;
}
