.target-cursor-wrapper {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    pointer-events: none;
    z-index: 2147483000;
    mix-blend-mode: difference;
    transform: translate(-50%, -50%);
}

.target-cursor-dot {
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
    will-change: transform, background-color;
}

.target-cursor-corner {
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    border: 3px solid #fff;
    will-change: transform, border-color;
}

.target-cursor-corner--tl {
    transform: translate(-150%, -150%);
    border-right: 0;
    border-bottom: 0;
}

.target-cursor-corner--tr {
    transform: translate(50%, -150%);
    border-left: 0;
    border-bottom: 0;
}

.target-cursor-corner--br {
    transform: translate(50%, 50%);
    border-left: 0;
    border-top: 0;
}

.target-cursor-corner--bl {
    transform: translate(-150%, 50%);
    border-right: 0;
    border-top: 0;
}

html.target-cursor-enabled,
html.target-cursor-enabled body,
html.target-cursor-enabled body * {
    cursor: none !important;
}

html.target-cursor-enabled #custom-cursor,
html.target-cursor-enabled .custom-cursor,
html.target-cursor-enabled .tokyo-cursor,
html.target-cursor-enabled .cursor-frame,
html.target-cursor-enabled .cursor-dot {
    display: none !important;
}

html.target-cursor-touch,
html.target-cursor-touch body,
html.target-cursor-touch body * {
    cursor: auto !important;
}

html.target-cursor-touch #custom-cursor,
html.target-cursor-touch .custom-cursor,
html.target-cursor-touch .tokyo-cursor,
html.target-cursor-touch .cursor-frame,
html.target-cursor-touch .cursor-dot,
html.target-cursor-touch .target-cursor-wrapper {
    display: none !important;
}
