.csp-board {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  margin: 14px 0 4px;
}

.csp-tube {
  display: flex;
  flex-direction: column-reverse;
  gap: 4px;
  padding: 6px;
  width: 48px;
  border: none;
  border-radius: 6px 6px 20px 20px;
  background: #eef5f9;
  box-shadow: inset 0 0 0 3px var(--color-border);
  cursor: pointer;
}
.csp-tube:hover { box-shadow: inset 0 0 0 3px var(--color-primary); }
.csp-tube--selected {
  box-shadow: inset 0 0 0 3px var(--color-primary);
  transform: translateY(-8px);
}

.csp-layer {
  width: 36px;
  height: 28px;
  border-radius: 6px;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.15);
}
.csp-layer--empty {
  background: transparent;
  box-shadow: none;
  border: 2px dashed rgba(0, 0, 0, 0.12);
}

.csp-controls {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
}

@media (max-width: 420px) {
  .csp-tube { width: 40px; }
  .csp-layer { width: 28px; height: 24px; }
}
