.game-board {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
}

.detonator-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md);
}

.detonator-dial {
  position: relative;
  width: 200px;
  height: 100px;
}

.detonator-track {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-sm);
  background: var(--color-bg-surface);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}

.detonator-step {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.9rem;
  border: 2px solid transparent;
  transition: all var(--transition-med);
}

.detonator-step.inactive {
  background: var(--color-bg-panel);
  color: var(--color-text-muted);
  opacity: 0.3;
}

.detonator-step.active-range {
  background: var(--color-bg-panel);
  color: var(--color-text-secondary);
  border-color: var(--color-border);
}

.detonator-step.current {
  background: var(--color-warning);
  color: var(--color-bg-primary);
  border-color: var(--color-warning);
  box-shadow: var(--shadow-glow-warning);
  animation: pulse 2s infinite;
}

.detonator-step.skull {
  background: var(--color-danger-soft);
  color: var(--color-danger);
  border-color: var(--color-danger);
  font-size: 1.2rem;
}

.detonator-step.passed {
  background: var(--color-danger-soft);
  color: var(--color-danger);
  opacity: 0.6;
}

.detonator-label {
  font-family: var(--font-display);
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: center;
}

.wire-tracker {
  display: flex;
  gap: 2px;
  padding: var(--space-sm);
  background: var(--color-bg-surface);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.tracker-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 32px;
}

.tracker-number {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--color-text-secondary);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  background: var(--color-bg-panel);
  border: 1px solid var(--color-border);
  transition: all var(--transition-fast);
}

.tracker-number.validated {
  background: var(--color-success);
  color: var(--color-text-bright);
  border-color: var(--color-success);
  box-shadow: var(--shadow-glow-success);
}

.tracker-number.has-cuts {
  border-color: var(--color-wire-blue);
  color: var(--color-wire-blue);
}

.tracker-cuts {
  font-size: 0.6rem;
  color: var(--color-text-muted);
  font-weight: 600;
}

.tracker-marker-row {
  display: flex;
  gap: 1px;
  margin-top: 2px;
}

.tracker-marker {
  width: 8px;
  height: 8px;
  border-radius: var(--radius-round);
  border: 1px solid;
}

.tracker-marker.red-marker {
  background: var(--color-wire-red);
  border-color: var(--color-wire-red);
}

.tracker-marker.yellow-marker {
  background: var(--color-wire-yellow);
  border-color: var(--color-wire-yellow);
}

.tracker-marker.unknown {
  opacity: 0.5;
}

.equipment-slots {
  display: flex;
  gap: var(--space-sm);
  overflow-x: auto;
  padding: var(--space-sm) 0;
  -webkit-overflow-scrolling: touch;
}

.equipment-card {
  min-width: 140px;
  background: var(--color-bg-panel);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-sm);
  transition: all var(--transition-fast);
  position: relative;
  flex-shrink: 0;
}

.equipment-card.locked {
  opacity: 0.5;
}

.equipment-card.locked::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 4px,
    rgba(0, 0, 0, 0.1) 4px,
    rgba(0, 0, 0, 0.1) 8px
  );
  border-radius: var(--radius-md);
  pointer-events: none;
}

.equipment-card.unlocked {
  border-color: var(--color-success);
  box-shadow: 0 0 8px var(--color-success-glow);
}

.equipment-card.used {
  opacity: 0.3;
  filter: grayscale(1);
}

.equipment-card-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--color-text-primary);
  margin-bottom: var(--space-xs);
}

.equipment-card-unlock {
  font-size: 0.7rem;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.equipment-unlock-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.7rem;
}

.equipment-card-desc {
  font-size: 0.7rem;
  color: var(--color-text-secondary);
  margin-top: var(--space-xs);
  line-height: 1.3;
}

.board-section-title {
  font-family: var(--font-display);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-sm);
}
