.flashcard-container{perspective:1000px;transform-style:preserve-3d}.card-slide-in-next{animation:cardSlideInNext .3s cubic-bezier(.16,1,.3,1) forwards}.card-slide-in-prev{animation:cardSlideInPrev .3s cubic-bezier(.16,1,.3,1) forwards}.card-slide-out-next{animation:cardSlideOutNext .3s cubic-bezier(.16,1,.3,1) forwards}.card-slide-out-prev{animation:cardSlideOutPrev .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes cardSlideInNext{0%{opacity:.5;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes cardSlideInPrev{0%{opacity:.5;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes cardSlideOutNext{0%{opacity:1;transform:translate(0)}to{opacity:.5;transform:translate(-30px)}}@keyframes cardSlideOutPrev{0%{opacity:1;transform:translate(0)}to{opacity:.5;transform:translate(30px)}}.flashcard-container.flipping .card-buttons,.flashcard-container.flipping .flip-indicator{opacity:0;transition:opacity .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gradualReveal{0%{opacity:0;filter:blur(8px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.reveal-text{display:inline-block;white-space:pre-wrap}.reveal-text span{opacity:0;filter:blur(4px);animation:gradualReveal .5s ease forwards}.reveal-text span:nth-child(1){animation-delay:.1s}.reveal-text span:nth-child(2){animation-delay:.12s}.reveal-text span:nth-child(3){animation-delay:.14s}.reveal-text span:nth-child(4){animation-delay:.16s}.reveal-text span:nth-child(5){animation-delay:.18s}.reveal-text span:nth-child(6){animation-delay:.2s}.reveal-text span:nth-child(7){animation-delay:.22s}.reveal-text span:nth-child(8){animation-delay:.24s}.reveal-text span:nth-child(9){animation-delay:.26s}.reveal-text span:nth-child(10){animation-delay:.28s}.reveal-text span:nth-child(11){animation-delay:.3s}.reveal-text span:nth-child(12){animation-delay:.32s}.reveal-text span:nth-child(13){animation-delay:.34s}.reveal-text span:nth-child(14){animation-delay:.36s}.reveal-text span:nth-child(15){animation-delay:.38s}.reveal-text span:nth-child(16){animation-delay:.4s}.reveal-text span:nth-child(17){animation-delay:.42s}.reveal-text span:nth-child(18){animation-delay:.44s}.reveal-text span:nth-child(19){animation-delay:.46s}.reveal-text span:nth-child(20){animation-delay:.48s}.reveal-text span:nth-child(n+21){animation-delay:.5s}.reveal-text span:nth-child(n+40){animation-delay:.6s}.reveal-text span:nth-child(n+60){animation-delay:.7s}.reveal-text span:nth-child(n+80){animation-delay:.8s}.reveal-text span:nth-child(n+100){animation-delay:.9s}.reveal-text span:nth-child(n+120){animation-delay:1s}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.flashcard{position:relative;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d}.card-buttons,.flip-indicator{transition:opacity .3s ease}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border-radius:.75rem;font-weight:600}.flashcard-front{z-index:2;transform:rotateY(0);background:linear-gradient(135deg,#1f2937,#111827)}.flashcard-back{transform:rotateY(180deg);background:linear-gradient(135deg,#1e1b4b,#172554)}.flashcard-content{width:100%;padding:1.5rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.flashcard-text{flex:1;display:flex;flex-direction:column;justify-content:center}.flashcard-image-container{flex-shrink:0;width:40%;max-width:280px;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.flashcard-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:transform .3s ease}.spaced-repetition-image-container{flex-shrink:0;width:40%;max-width:280px;height:auto;min-height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:1rem auto}.spaced-repetition-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:transform .3s ease}.flashcard-image:hover{transform:scale(1.02)}@media (max-width: 640px){.flashcard-content{flex-direction:column;padding:1rem;overflow-y:auto;max-height:100%}.flashcard-image-container{width:100%;max-width:100%;margin-top:1rem;height:auto}.flashcard-text{width:100%;overflow-y:auto}.prose{max-width:100%!important;overflow-wrap:break-word}.mt-3,.mt-4{margin-top:.75rem!important}.flashcard{min-height:350px}.flex.justify-center button{width:auto;max-width:100%;margin:.5rem auto}}.difficulty-btn{transition:all .2s ease}.difficulty-btn:hover{transform:translateY(-2px)}.difficulty-btn:active{transform:translateY(0)}@keyframes bookmark-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.bookmark-active{animation:bookmark-pulse .3s ease-in-out;color:#eab308}.progress-bar{height:4px;background:linear-gradient(to right,#818cf8,#6366f1);border-radius:2px;transition:width .3s ease}.nav-button{transition:opacity .2s ease;opacity:.7}.nav-button:hover{opacity:1}.flashcard:hover{box-shadow:0 15px 30px -8px #0000001f,0 10px 15px -3px #00000014}@media (prefers-color-scheme: dark){.progress-bar{background:linear-gradient(to right,#4f46e5,#818cf8)}.flashcard-front{background:linear-gradient(135deg,#1f2937,#111827)}.flashcard-back{background:linear-gradient(135deg,#0a1429,#050d1a)}}.flashcard-front:before,.flashcard-back:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:.75rem;background:linear-gradient(135deg,#8282ff1a,#8282ff00);pointer-events:none;z-index:1}.typing-indicator{display:flex;align-items:center;-moz-column-gap:3px;column-gap:3px}.typing-indicator span{height:4px;width:4px;background-color:#6366f1;border-radius:50%;display:block;opacity:.6}@media (prefers-color-scheme: dark){.typing-indicator span{background-color:#818cf8}}.typing-indicator span:nth-child(1){animation:typing 1.2s infinite ease-in-out;animation-delay:0s}.typing-indicator span:nth-child(2){animation:typing 1.2s infinite ease-in-out;animation-delay:.2s}.typing-indicator span:nth-child(3){animation:typing 1.2s infinite ease-in-out;animation-delay:.4s}@keyframes typing{0%{transform:translateY(0);opacity:.6}25%{transform:translateY(-3px);opacity:1}50%{transform:translateY(0);opacity:.6}to{transform:translateY(0);opacity:.6}}.tiptap .highlight[data-color=yellow],.tiptap .highlight-yellow{background-color:#fff59d!important;color:#222!important}.tiptap .highlight[data-color=green],.tiptap .highlight-green{background-color:#a5f3b4!important;color:#222!important}.tiptap .highlight[data-color=pink],.tiptap .highlight-pink{background-color:#fbcfe8!important;color:#ad1457!important}mark.highlight[data-color="#FBBF24"]{background-color:#fef9c3!important;color:#ca8a04!important;border:1px solid #FDE68A;border-radius:.2em;padding:0 .1em}mark.highlight[data-color="#4ADE80"]{background-color:#bbf7d0!important;color:#16a34a!important;border:1px solid #86EFAC;border-radius:.2em;padding:0 .1em}mark.highlight[data-color="#FB7185"]{background-color:#fbcfe8!important;color:#db2777!important;border:1px solid #F9A8D4;border-radius:.2em;padding:0 .1em}.modal-fade-in{animation:modalFadeIn .2s ease-out forwards}.modal-scale-in{animation:modalScaleIn .2s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
