
body, html {
    cursor: auto; 
}


.target-cursor-wrapper {
    position: fixed;
    pointer-events: none;
    z-index: 9998;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    will-change: transform;
    transition: opacity 0.2s ease;
}




.target-cursor-dot {
    position: absolute;
    width: 4px;
    height: 4px;
    background: #ffee00;
    border: 1px solid #000;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 4px rgba(255, 238, 0, 0.6);
    will-change: transform;
}


.target-cursor-corner {
    position: absolute;
    width: 12px;
    height: 12px;
    border: 2px solid #ffee00;
    box-shadow: 0 0 4px rgba(255, 238, 0, 0.4);
    will-change: transform;
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.target-cursor-corner.corner-tl {
    border-right: none;
    border-bottom: none;
}

.target-cursor-corner.corner-tr {
    border-left: none;
    border-bottom: none;
}

.target-cursor-corner.corner-br {
    border-left: none;
    border-top: none;
}

.target-cursor-corner.corner-bl {
    border-right: none;
    border-top: none;
}


a, button, input, textarea, select, .btn, .product-card, .category-filter-btn, 
.nav-menu a, .cart-btn, .chat-btn, .discord-btn, [onclick], [role="button"] {
    cursor: pointer; 
}


input[type="text"], input[type="password"], input[type="email"], 
input[type="url"], textarea {
    cursor: text; 
}


.admin-container .btn, .admin-container button {
    cursor: pointer;
}

.admin-container input, .admin-container textarea, .admin-container select {
    cursor: text;
}


@media (max-width: 768px) {
    .target-cursor-wrapper {
        display: none;
    }
}


.target-cursor-wrapper * {
    backface-visibility: hidden;
    perspective: 1000px;
}


.target-cursor-wrapper.hovering .target-cursor-dot {
    background: #ff4444;
    box-shadow: 0 0 6px rgba(255, 68, 68, 0.8);
}

.target-cursor-wrapper.hovering .target-cursor-corner {
    border-color: #ff4444;
    box-shadow: 0 0 6px rgba(255, 68, 68, 0.6);
}