/* screens/bomb-defuse.css — ARCLIGHT SYSTEMS 解除コンソール */
.sp-stage--bomb-defuse .sp-stage__canvas {
  background:
    radial-gradient(circle at center, #1a0505 0%, #050101 70%),
    #050101;
  color: #ffcccc;
  font-family: "SF Mono", "Menlo", "Consolas", "Roboto Mono", monospace;
  overflow: hidden;
}
.bd-wrap {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
}
.bd-head {
  padding: 12px 24px;
  border-bottom: 1px solid #3a0a0a;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px; letter-spacing: .14em;
  color: #ff8080;
}
.bd-head__brand { font-weight: 700; letter-spacing: .2em; }
.bd-head__unit { color: #a05555; font-size: 11px; }

.bd-body {
  flex: 1 1 auto;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 24px;
  padding: 20px;
}
.bd-timer {
  font-size: clamp(80px, 20vw, 220px);
  font-weight: 700;
  color: #ff2222;
  font-variant-numeric: tabular-nums;
  letter-spacing: .05em;
  line-height: 1;
  text-shadow: 0 0 30px rgba(255, 34, 34, .6), 0 0 60px rgba(255, 34, 34, .3);
  animation: bd-pulse 1s ease-in-out infinite;
}
.bd-timer.is-ok {
  color: #4ade80;
  text-shadow: 0 0 30px rgba(74, 222, 128, .6);
  animation: none;
}
.bd-timer.is-fail {
  color: #ffffff;
  text-shadow: 0 0 40px rgba(255, 255, 255, .9);
  animation: bd-boom 0.4s ease-out;
}
@keyframes bd-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .55; }
}
@keyframes bd-boom {
  0% { transform: scale(1.3); color: #ffffff; }
  100% { transform: scale(1); color: #ffffff; }
}
.bd-caption {
  font-size: 13px; letter-spacing: .18em; color: #ff8080;
  padding: 6px 20px;
  background: rgba(255, 68, 68, .1);
}
.bd-caption.is-ok   { color: #4ade80; background: rgba(74, 222, 128, .15); }
.bd-caption.is-fail { color: #ffffff; background: rgba(255, 68, 68, .35); }

.bd-wires {
  display: flex; flex-direction: column; gap: 12px;
  width: 100%; max-width: 560px;
}
.bd-wire {
  display: grid;
  grid-template-columns: 20px 1fr 20px 90px;
  align-items: center;
  gap: 12px;
}
.bd-wire__pin {
  width: 20px; height: 20px; border-radius: 50%;
  background: #333;
  border: 2px solid #555;
  box-shadow: inset 0 0 4px #000;
}
.bd-wire__line {
  height: 10px;
  background: var(--bd-wire-color);
  border-radius: 3px;
  box-shadow: 0 0 8px var(--bd-wire-color), inset 0 -2px 0 rgba(0,0,0,.3);
  transition: opacity 0.25s ease, background-color 0.25s ease;
}
.bd-wire.is-cut .bd-wire__line {
  background: repeating-linear-gradient(90deg, var(--bd-wire-color) 0 6px, transparent 6px 20px);
  opacity: .45;
}
.bd-wire__label {
  font-size: 11px; letter-spacing: .1em;
  color: var(--bd-wire-color);
  text-align: right;
}
.bd-wire.is-cut .bd-wire__label { color: #666; }

.bd-status {
  font-size: 12px; letter-spacing: .14em;
  padding: 4px 14px;
  color: #ff4444; border: 1px solid #ff4444;
}
.bd-status.is-ok   { color: #4ade80; border-color: #4ade80; }
.bd-status.is-fail { color: #ffffff; border-color: #ffffff; background: rgba(255,68,68,.3); }
