body { font-family: "Inter", sans-serif; } .perspective { perspective: 1000px; } .transform-style-preserve-3d { transform-style: preserve-3d; } .backface-hidden { backface-visibility: hidden; -webkit-backface-visibility: hidden; /* Safari */ } .rotate-y-180 { transform: rotateY(180deg); } /* Flashcard styles */ .flashcard-container { perspective: 1000px; width: 100%; max-width: 600px; height: 400px; cursor: pointer; margin: 0 auto; } .flashcard { position: relative; width: 100%; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; box-shadow: 0 4px 8px rgba(0,0,0,0.1); border-radius: 0.5rem; } .flipped .flashcard { transform: rotateY(180deg); } .flashcard-front, .flashcard-back { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; border-radius: 0.5rem; overflow: hidden; } .flashcard-front { z-index: 2; } .flashcard-back { transform: rotateY(180deg); } /* Card hover effect */ .flashcard-container:hover .flashcard { box-shadow: 0 8px 16px rgba(0,0,0,0.2); } /* Responsive adjustments */ @media (max-width: 640px) { .flashcard-container { height: 350px; } } /* Slide animations */ @keyframes slide-in-right { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .animate-slide-in-right { animation: slide-in-right 0.5s ease-out forwards; } @keyframes slide-in-left { from { transform: translateX(-100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .animate-slide-in-left { animation: slide-in-left 0.5s ease-out forwards; } @keyframes slide-out-left { from { transform: translateX(0); opacity: 1; } to { transform: translateX(-100%); opacity: 0; } } .animate-slide-out-left { animation: slide-out-left 0.5s ease-in forwards; } @keyframes slide-out-right { from { transform: translateX(0); opacity: 1; } to { transform: translateX(100%); opacity: 0; } } .animate-slide-out-right { animation: slide-out-right 0.5s ease-in forwards; }