@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-fade-out{animation:fadeOut var(--transition-normal) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) ease-out}.animate-fade-in-left{animation:fadeInLeft var(--transition-normal) ease-out}.animate-fade-in-right{animation:fadeInRight var(--transition-normal) ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out}.animate-scale-out{animation:scaleOut var(--transition-normal) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-normal) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.animate-slide-in-up{animation:slideInUp var(--transition-normal) ease-out}.animate-slide-in-down{animation:slideInDown var(--transition-normal) ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-fast{animation-duration:var(--transition-fast)}.animate-normal{animation-duration:var(--transition-normal)}.animate-slow{animation-duration:var(--transition-slow)}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-700{animation-delay:.7s}.animate-delay-1000{animation-delay:1s}.animate-fill-forwards{animation-fill-mode:forwards}.animate-fill-backwards{animation-fill-mode:backwards}.animate-fill-both{animation-fill-mode:both}.animate-infinite{animation-iteration-count:infinite}.animate-once{animation-iteration-count:1}.animate-twice{animation-iteration-count:2}.hover-scale:hover{transform:scale(1.05)}.hover-lift:hover,.hover-scale:hover{transition:transform var(--transition-fast)}.hover-lift:hover{transform:translateY(-4px)}.hover-rotate:hover{transform:rotate(5deg);transition:transform var(--transition-fast)}.hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,.3);transition:box-shadow var(--transition-fast)}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background-color:var(--color-primary-600);animation:loadingDots 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingDots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.transition-none{transition:none}.transition-all{transition:all var(--transition-fast)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.transition-opacity{transition:opacity var(--transition-fast)}.transition-shadow{transition:box-shadow var(--transition-fast)}.transition-transform{transition:transform var(--transition-fast)}.ease-linear{animation-timing-function:linear}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.hide-scrollbars{scrollbar-width:none;-ms-overflow-style:none;contain:layout style;max-width:100%}.hide-scrollbars::-webkit-scrollbar{display:none}.branded-scrollbar::-webkit-scrollbar{width:10px}.branded-scrollbar::-webkit-scrollbar-track{background:transparent}.branded-scrollbar::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px;border:3px solid transparent;background-clip:content-box}.branded-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}@supports not selector(::-webkit-scrollbar){.branded-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}}:focus{outline:1.5px solid var(--color-orange-500);outline-offset:10px}:focus:not(:focus-visible){outline:none}html{scroll-behavior:smooth}::selection{background-color:var(--color-primary-200);color:var(--color-primary-900)}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-o-font-smoothing:antialiased}.custom-lesson-sidebar-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-lesson-sidebar-scrollbar::-webkit-scrollbar-track{background:var(--bg-secondary)}.custom-lesson-sidebar-scrollbar::-webkit-scrollbar-thumb{border-radius:var(--radius-md);background:var(--color-primary-500)}.custom-lesson-sidebar-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-orange-500);cursor:grab}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none;scrollbar-width:none;-ms-overflow-style:none}@media print{*,:after,:before{background:transparent!important;color:black!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.ay-11-accessibility{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;z-index:60;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem 1rem;font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.ay-11-accessibility:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;position:absolute;top:1rem;left:1rem;outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{position:relative;overflow:hidden;background-color:#e5e7eb;background-image:linear-gradient(90deg,#e5e7eb,#f3f4f6 40px,#e5e7eb 80px);background-size:200px 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-circle{border-radius:9999px}