.piece-counter-scene .counter-module { fill: #102f3c; stroke: #446b7a; stroke-width: 4; }
.piece-counter-scene .counter-display { fill: #071a22; stroke: #8ec4d9; stroke-width: 2; }
.piece-counter-scene .counter-label { fill: #cfe8f2; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.piece-counter-scene .counter-value { fill: #7ff0be; font-size: 30px; font-weight: 900; }
.piece-counter-scene .counter-pv { fill: #9eb7c1; font-size: 10px; font-weight: 800; }
.piece-counter-scene .count-slot { fill: #29424d; stroke: #526b76; stroke-width: 2; }
.piece-counter-scene .count-slot.filled { fill: #2bc77d; stroke: #82e5b8; }
.piece-counter-scene .pulse-lamp { fill: #73868f; stroke: #40545e; stroke-width: 2; }
.piece-counter-scene .pulse-lamp.active { fill: #ffbf35; filter: drop-shadow(0 0 7px rgba(255,191,53,.9)); }
.piece-counter-scene .pulse-copy { fill: #254553; font-size: 10px; font-weight: 900; }
.piece-counter-scene .batch-complete rect { fill: #147a4c; opacity: .96; }
.piece-counter-scene .batch-complete text { fill: #fff; font-size: 12px; font-weight: 900; letter-spacing: .04em; }
.piece-counter-scene .reset-on { fill: #ffd36a !important; }

@media (max-width: 760px) {
  .piece-counter-scene .counter-value { font-size: 24px; }
  .piece-counter-scene .pulse-copy { font-size: 9px; }
}
