.root { position: absolute; inset: 0; z-index: 40; } .interactive { pointer-events: auto; } .passive { pointer-events: none; } .cursorZoomIn { cursor: zoom-in; } .cursorZoomOut { cursor: zoom-out; } .dim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.62); pointer-events: none; } .frame { position: absolute; z-index: 1; pointer-events: none; overflow: visible; } .frameEditable { pointer-events: auto; cursor: move; } .image { position: absolute; left: 50%; top: 50%; display: block; object-fit: fill; border-radius: 6px; box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55); user-select: none; pointer-events: none; transform-origin: center center; } .handle { position: absolute; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; background: var(--color-accent, #c9a227); padding: 0; z-index: 2; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45); pointer-events: auto; } .handle_nw { left: -6px; top: -6px; cursor: nwse-resize; } .handle_ne { right: -6px; top: -6px; cursor: nesw-resize; } .handle_sw { left: -6px; bottom: -6px; cursor: nesw-resize; } .handle_se { right: -6px; bottom: -6px; cursor: nwse-resize; } .close { position: absolute; top: 14px; right: 14px; z-index: 3; width: 36px; height: 36px; border: none; border-radius: 10px; background: rgba(12, 12, 16, 0.72); color: #fff; font-size: 24px; line-height: 1; cursor: pointer; display: grid; place-items: center; } .close:hover { background: rgba(24, 24, 32, 0.9); }