.perspective-1000{perspective:1000px}.preserve-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden}.rotate-y-180{transform:rotateY(180deg)}.card-flip{transition:transform .6s;transform-style:preserve-3d}.card-flip.flipped{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:1.5rem}.card-back{transform:rotateY(180deg)}.card-container{transition:transform .3s ease-out}.card-container.dragging{transition:none}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);font-size:2rem;font-weight:700;opacity:0;transition:opacity .2s ease-out;pointer-events:none;z-index:10}.swipe-indicator.left{left:1rem;color:#ef4444}.swipe-indicator.right{right:1rem;color:#10b981}.swipe-indicator.visible{opacity:1}@media (max-width:640px){.card-container{touch-action:pan-y}}@media (prefers-color-scheme:dark){.swipe-indicator.left{color:#f87171}.swipe-indicator.right{color:#34d399}}.card-learned{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.card-not-learned{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.card-loading{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.pulse-on-tap{transition:transform .1s ease-out}.pulse-on-tap:active{transform:scale(.95)}.progress-bar{transition:width .5s ease-out}.celebration{animation:celebrate .6s ease-out}@keyframes celebrate{0%{transform:scale(.8) rotate(-5deg);opacity:0}50%{transform:scale(1.1) rotate(2deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.card-enter{animation:cardEnter .5s ease-out}@keyframes cardEnter{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (hover:hover){.control-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.15)}}@media (prefers-reduced-motion:reduce){.card-container,.card-enter,.card-flip,.celebration,.progress-bar{transition:none;animation:none}}