.flashcard{perspective:1000px;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;min-height:400px;position:relative}.flashcard:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.flashcard.flipped{transform:rotateY(180deg)}.back-side,.front-side{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;min-height:350px}.front-side{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;transform:rotateY(0deg)}.back-side{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;transform:rotateY(180deg)}.dark .front-side{background:linear-gradient(135deg,#4c63d2,#5a4b7c)}.dark .back-side{background:linear-gradient(135deg,#d084cc,#c94656)}.response-buttons{animation:slideInUp .6s ease-out .3s both}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.response-buttons button{transition:all .3s cubic-bezier(.4,0,.2,1);transform:scale(1)}.response-buttons button:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.response-buttons button:active{transform:scale(.98)}.examples,.meaning,.translations{animation:fadeInSlide .8s ease-out both}.meaning{animation-delay:.1s}.examples{animation-delay:.2s}.translations{animation-delay:.3s}@keyframes fadeInSlide{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.progress-indicator{animation:bounceIn .8s ease-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.card-enter{animation:cardSlideIn .6s ease-out both}.card-exit{animation:cardSlideOut .4s ease-in both}@keyframes cardSlideIn{0%{opacity:0;transform:translateX(100px) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes cardSlideOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(-100px) scale(.8)}}.pulse-animation{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.feedback-correct{animation:correctFeedback .6s ease-out}.feedback-incorrect{animation:incorrectFeedback .6s ease-out}@keyframes correctFeedback{0%{transform:scale(1)}25%{transform:scale(1.02);background-color:rgba(34,197,94,.1)}50%{transform:scale(1.04);background-color:rgba(34,197,94,.2)}75%{transform:scale(1.02);background-color:rgba(34,197,94,.1)}to{transform:scale(1);background-color:transparent}}@keyframes incorrectFeedback{0%{transform:scale(1)}25%{transform:scale(1.02);background-color:rgba(239,68,68,.1)}50%{transform:scale(1.04);background-color:rgba(239,68,68,.2)}75%{transform:scale(1.02);background-color:rgba(239,68,68,.1)}to{transform:scale(1);background-color:transparent}}@media (max-width:640px){.flashcard{min-height:300px}.back-side,.front-side{min-height:250px;padding:1rem}.response-buttons{flex-direction:column;gap:.75rem}.response-buttons button{width:100%}}@media (prefers-reduced-motion:reduce){.flashcard,.flashcard *,.response-buttons,.response-buttons button{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus-visible:focus{outline:2px solid var(--ring);outline-offset:2px}.keyboard-nav :focus{outline:2px solid var(--primary);outline-offset:4px}.high-contrast{--background:#000;--foreground:#fff;--card:#000;--card-foreground:#fff;--popover:#000;--popover-foreground:#fff;--primary:#fff;--primary-foreground:#000;--secondary:#333;--secondary-foreground:#fff;--muted:#333;--muted-foreground:#ccc;--accent:#333;--accent-foreground:#fff;--destructive:red;--destructive-foreground:#fff;--border:#fff;--input:#fff;--ring:#fff}.high-contrast *{border-color:var(--border)!important}.high-contrast a,.high-contrast button{text-decoration:underline}.protanopia{filter:url(#protanopia-filter)}.deuteranopia{filter:url(#deuteranopia-filter)}.tritanopia{filter:url(#tritanopia-filter)}.font-normal{font-size:1rem}.font-large{font-size:1.125rem}.font-large h1{font-size:2.5rem}.font-large h2{font-size:2rem}.font-large h3{font-size:1.5rem}.font-extra-large{font-size:1.25rem}.font-extra-large h1{font-size:3rem}.font-extra-large h2{font-size:2.5rem}.font-extra-large h3{font-size:2rem}.reduce-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.focus-mode .distraction{display:none}.focus-mode main{max-width:800px;margin:0 auto}.skip-links a{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.skip-links a:focus{position:absolute;left:0;top:0;width:auto;height:auto;overflow:visible;z-index:100;padding:.5rem 1rem;background:var(--primary);color:var(--primary-foreground);text-decoration:none;border-radius:.25rem}@supports (filter:url("#protanopia-filter")){svg.color-filters{position:absolute;width:0;height:0}}:root{--safe-area-inset-top:env(safe-area-inset-top);--safe-area-inset-right:env(safe-area-inset-right);--safe-area-inset-bottom:env(safe-area-inset-bottom);--safe-area-inset-left:env(safe-area-inset-left)}@media (display-mode:standalone){body{-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.pwa-header{padding-top:calc(var(--safe-area-inset-top) + 1rem)}.pwa-bottom{padding-bottom:calc(var(--safe-area-inset-bottom) + 1rem)}}@media (hover:none) and (pointer:coarse){.touch-target,[role=button],button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}.touch-feedback{transition:transform .1s ease-out,opacity .1s ease-out}.touch-feedback:active{transform:scale(.98);opacity:.8}.mobile-scroll{-webkit-overflow-scrolling:touch;overflow-scrolling:touch;scroll-behavior:smooth}.no-drag,img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}}@media (max-width:767px){.mobile-only{display:block}.desktop-only{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;padding:.5rem;padding-bottom:calc(.5rem + var(--safe-area-inset-bottom));z-index:50}.mobile-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem;padding-top:calc(1rem + var(--safe-area-inset-top));z-index:40}.mobile-content{padding-bottom:calc(4rem + var(--safe-area-inset-bottom))}.mobile-card{margin:.5rem;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.mobile-modal{position:fixed;inset:0;background:#fff;z-index:50;padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom)}}@media (min-width:768px){.mobile-only{display:none}.desktop-only{display:block}}@media (orientation:landscape) and (max-height:500px){.landscape-compact{padding:.5rem}.landscape-compact .card{margin:.25rem}}@media (orientation:portrait){.portrait-layout{flex-direction:column}}.mobile-flashcard{transform-style:preserve-3d;perspective:1000px}.mobile-flashcard .card-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.mobile-flashcard .card-back{transform:rotateY(180deg)}.mobile-flashcard.flipped .card-front{transform:rotateY(-180deg)}.mobile-flashcard.flipped .card-back{transform:rotateY(0deg)}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease-out;pointer-events:none}.swipe-indicator.left{left:1rem}.swipe-indicator.right{right:1rem}.swipe-indicator.active{opacity:1}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top-left-radius:1rem;border-top-right-radius:1rem;z-index:50;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{width:2rem;height:.25rem;background:#d1d5db;border-radius:.125rem;margin:.5rem auto}.keyboard-adaptive{transition:height .2s ease-out}@supports (height:100dvh){.full-height{height:100dvh}}@supports not (height:100dvh){.full-height{height:100vh}}@media (prefers-color-scheme:dark){.mobile-nav{background:#1f2937;border-top-color:#374151}.mobile-header{border-bottom-color:#374151}.bottom-sheet,.mobile-header{background:#1f2937}}@media (prefers-contrast:high){.mobile-card,button{border:2px solid}}@media (prefers-reduced-motion:reduce){.bottom-sheet,.mobile-flashcard,.swipe-indicator,.touch-feedback{transition:none}}@supports (-webkit-appearance:none){.ios-safe-height{height:calc(100vh - var(--safe-area-inset-top) - var(--safe-area-inset-bottom))}}@media screen and (max-width:767px){.mobile-viewport{min-height:100vh;min-height:-webkit-fill-available}}.touch-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.touch-scroll::-webkit-scrollbar{display:none}.pull-to-refresh{position:relative}.pull-to-refresh-indicator{position:absolute;top:-3rem;left:50%;transform:translateX(-50%);opacity:0;transition:opacity .2s ease-out}.pull-to-refresh.pulling .pull-to-refresh-indicator{opacity:1}