:root {
  --color-beginning: #94a3b8;
  --color-choice: #a78bfa;
  --color-branch-a: #4ade80;
  --color-branch-b: #fb923c;
  --color-ending-a: #3b82f6;
  --color-ending-b: #facc15;
}

.block {
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--secondary);
  border: 2px solid var(--border);
  cursor: grab;
  user-select: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.block:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.25); }
.block.dragging { opacity: .4; cursor: grabbing; }
.block .label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; }
.block .text { font-size: 14px; font-weight: 600; }

.block.type-beginning { border-color: var(--color-beginning); }
.block.type-beginning .label { color: var(--color-beginning); }

.block.type-choice { border-color: var(--color-choice); background: rgba(167,139,250,.1); }
.block.type-choice .label { color: var(--color-choice); }

.block.type-branch-a { border-color: var(--color-branch-a); background: rgba(74,222,128,.1); }
.block.type-branch-a .label { color: var(--color-branch-a); }

.block.type-branch-b { border-color: var(--color-branch-b); background: rgba(251,146,60,.1); }
.block.type-branch-b .label { color: var(--color-branch-b); }

.block.type-ending-a { border-color: var(--color-ending-a); background: rgba(59,130,246,.1); }
.block.type-ending-a .label { color: var(--color-ending-a); }

.block.type-ending-b { border-color: var(--color-ending-b); background: rgba(250,204,21,.1); }
.block.type-ending-b .label { color: var(--color-ending-b); }

.dropzone.drag-over { border-color: var(--brand) !important; background: rgba(251,94,61,.05); }
.dropzone-row { display: flex; align-items: center; gap: 8px; }
.dropzone-row .pos { width: 28px; height: 28px; border-radius: 50%; background: var(--secondary); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--muted-foreground); flex-shrink: 0; }
.empty-hint { pointer-events: none; }

.palette-block { margin-bottom: 0; }
