body {
    font-family: 'Outfit', sans-serif;
    background-color: #0f172a;
    background-image:
        radial-gradient(at 0% 0%, hsla(253, 16%, 7%, 1) 0, transparent 50%),
        radial-gradient(at 50% 0%, hsla(225, 39%, 30%, 1) 0, transparent 50%),
        radial-gradient(at 100% 0%, hsla(339, 49%, 30%, 1) 0, transparent 50%);
    -webkit-tap-highlight-color: transparent;
}

/* Custom 3D Utilities */
.perspective-1000 {
    perspective: 1000px;
}

.transform-style-3d {
    transform-style: preserve-3d;
}

.backface-hidden {
    backface-visibility: hidden;
}

.rotate-y-180 {
    transform: rotateY(180deg);
}

/* Utility to hide scrollbar but keep functionality */
.hide-scrollbar {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

.hide-scrollbar::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari and Opera */
}

/* Mobile touch helpers */
.touch-pan-y {
    touch-action: pan-y;
}

/* Mobile card content fixes */
@media (max-width: 640px) {
    /* Fix vertical centering - align content to top on mobile */
    .card-back .flex-grow {
        justify-content: flex-start !important;
        padding-top: 0.5rem;
    }
    
    /* Reduce card padding on mobile */
    .card-back,
    .backface-hidden {
        padding: 1.25rem !important;
    }
}