:root {
  --neon-cyan: #28c7d8;
  --neon-pink: #f26b5b;
  --neon-yellow: #ffc861;
  --neon-orange: #f26b5b;
  --neon-green: #28c7d8;
  --neon-purple: #c6a6ff;
  --dark-bg: #071a2a;
  --panel-bg: #09243a;
}

body,
html {
  background-color: var(--dark-bg) !important;
  background-image: linear-gradient(rgba(40, 199, 216, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(40, 199, 216, 0.035) 1px, transparent 1px) !important;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.cyber-card {
  border: 2px solid #21445f;
  box-shadow: 6px 6px 0 #1667b1;
}

.cyber-card::before,
.cyber-card::after,
.glitch-text {
  text-shadow: none;
}

.btn-cyber,
.btn-toggle,
.btn-adjust-sm,
.mode-tab,
.tempo-value {
  clip-path: none !important;
  border-radius: 0 !important;
  min-height: 48px;
}

.btn-adjust-sm {
  min-width: 48px;
}

.btn-start {
  background: #f26b5b;
  border: 2px solid #fff9e9;
  color: #071a2a;
  box-shadow: 4px 4px 0 #28c7d8;
}

.btn-stop,
.btn-end-round {
  border-width: 2px;
}

button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #28c7d8 !important;
  outline-offset: 4px !important;
}

#timer-display {
  color: #fff9e9;
}

#capability-status {
  min-height: 1rem;
  color: #ffc861;
  font-size: 0.7rem;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 440px) {
  .cyber-card {
    width: calc(100vw - 16px);
    padding: 0.75rem;
  }

  .settings-row {
    gap: 4px;
  }

  .setting-group {
    min-width: 0;
    padding: 6px 0;
  }

  .setting-group .controls {
    gap: 2px;
  }

  .setting-group .value {
    min-width: 34px;
    font-size: 12px;
  }
}
