.language-card{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#667eea,#764ba2) border-box}.language-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 35px rgba(102,126,234,.25);border-color:#667eea}.language-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.4)}.language-card.selected:hover{transform:translateY(-2px) scale(1.01)}.flag-emoji{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:all .3s ease}.language-card:hover .flag-emoji{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.language-card.selected .flag-emoji{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.check-badge{animation:checkIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes checkIn{0%{transform:scale(0) rotate(180deg);opacity:0}50%{transform:scale(1.2) rotate(90deg);opacity:.8}to{transform:scale(1) rotate(0deg);opacity:1}}.gradient-header{background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.gradient-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.continue-button{background:linear-gradient(135deg,#28a745,#20c997);border:none;position:relative;overflow:hidden;transition:all .3s ease}.continue-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.continue-button:hover:before{left:100%}.continue-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(40,167,69,.4)}@media (max-width:768px){.language-card{min-height:80px}.flag-emoji{font-size:2rem}.language-card:hover{transform:translateY(-2px) scale(1.01)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-pulse{animation:pulse 2s infinite}