.pb-slot {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  font-size: 8px;
  font-family: var(--font-mono);
  cursor: pointer;
  padding: 0;
  transition: background 0.1s, border-color 0.1s;
}
.pb-slot.filled {
  background: var(--bg-panel);
  border-color: #23d18b44;
  color: #23d18b;
}
.pb-slot.active {
  background: #23d18b22;
  border-color: #23d18b;
  color: #23d18b;
}
.pb-slot:hover { border-color: var(--border-default); }

.pb-ctx-menu {
  position: fixed;
  z-index: 1000;
  background: var(--bg-panel);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  overflow: hidden;
  min-width: 120px;
}
.pb-ctx-item {
  padding: 6px 12px;
  font-size: var(--text-xs);
  color: var(--text-secondary);
  cursor: pointer;
}
.pb-ctx-item:hover {
  background: var(--bg-elevated);
  color: var(--text-primary);
}
