.layer { position: absolute; inset: 0; pointer-events: none; /* Выше brushLayer (3) и traps (5), ниже explosion (7) — drag должен стабильно ловиться. */ z-index: 8; } .token { position: absolute; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(0, 0, 0, 0.2); overflow: visible; pointer-events: none; touch-action: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3); } .tokenEditable { pointer-events: auto; cursor: grab; } .tokenEditable:active { cursor: grabbing; } .tokenInteractive { pointer-events: auto; cursor: context-menu; } .tokenFace { width: 100%; height: 100%; overflow: hidden; border-radius: 8px; pointer-events: none; } .tokenImg { width: 100%; height: 100%; object-fit: contain; display: block; pointer-events: none; border-radius: 8px; } .resizeHandle { position: absolute; right: -5px; bottom: -5px; width: 12px; height: 12px; border-radius: 2px; background: #f5c542; border: 1px solid #000; cursor: nwse-resize; touch-action: none; pointer-events: auto; z-index: 2; }