.layer { position: absolute; inset: 0; z-index: 9; pointer-events: none; } .token { position: absolute; left: 0; top: 0; overflow: visible; pointer-events: none; touch-action: none; } .token > * { pointer-events: none; } .token > .resizeHandle { pointer-events: auto; } .editable { pointer-events: auto; cursor: grab; } .editable:active { cursor: grabbing; } .initiativeActive { z-index: 10; } .hiddenFromPlayers { opacity: 0.55; } .hiddenFromPlayers::after { content: ''; position: absolute; inset: -3px; border-radius: 50%; border: 2px dashed var(--text2); pointer-events: none; } .concealedFromPlayers { visibility: hidden; } /* Кольцо строго по центру круга токена (обёртка = sizePx × sizePx). */ .initiativeActive::before { content: ''; position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); border-radius: 50%; border: 3px solid #f59e0b; background: transparent; box-shadow: none; pointer-events: none; z-index: 1; } .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; }