:root.dark{--bg-primary: #18181b;--bg-secondary: #000000;--bg-tertiary: #000000;--text-primary: #ffffff;--text-secondary: #ffffff;--text-tertiary: #ffffff;--border-color: #27272a;--hover-bg: #0a0a0a}.dark{color-scheme:dark}.dark body{background-color:#18181b;color:var(--text-primary)}.dark .bg-white{background-color:#000!important}.dark .bg-gray-50{background-color:#18181b!important}.dark .bg-gray-100,.dark .bg-gray-200{background-color:#000!important}.dark .bg-zinc-50{background-color:var(--bg-primary)!important}.dark .bg-zinc-100{background-color:#000!important}.dark .bg-zinc-900{background-color:#f5f5f5!important}.dark .text-gray-900,.dark .text-zinc-900{color:var(--text-primary)!important}.dark .text-gray-700,.dark .text-zinc-700,.dark .text-gray-600,.dark .text-zinc-600{color:var(--text-secondary)!important}.dark .text-gray-500,.dark .text-zinc-500{color:var(--text-tertiary)!important}.dark .text-gray-400,.dark .text-zinc-400{color:#fff!important}.dark .border-gray-200,.dark .border-zinc-200,.dark .border-gray-100,.dark .border-zinc-100{border-color:#27272a!important}.dark .hover\:bg-gray-50:hover,.dark .hover\:bg-zinc-50:hover{background-color:var(--hover-bg)!important}.dark .hover\:bg-gray-100:hover,.dark .hover\:bg-zinc-100:hover{background-color:var(--bg-tertiary)!important}.dark input,.dark textarea,.dark select{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.dark input::placeholder,.dark textarea::placeholder{color:var(--text-tertiary)!important}.dark input:focus,.dark textarea:focus,.dark select:focus{border-color:#3b82f6!important;background-color:var(--bg-secondary)!important}.dark .rounded-2xl,.dark .rounded-3xl,.dark .rounded-xl{background-color:var(--bg-secondary);border-color:var(--border-color)}.dark .shadow-sm{box-shadow:0 1px 2px #0000004d}.dark .shadow{box-shadow:0 1px 3px #0006,0 1px 2px -1px #0006}.dark .shadow-md{box-shadow:0 4px 6px -1px #0006,0 2px 4px -2px #0006}.dark .shadow-lg{box-shadow:0 10px 15px -3px #0006,0 4px 6px -4px #0006}.dark .shadow-xl{box-shadow:0 20px 25px -5px #0006,0 8px 10px -6px #0006}.dark button:not(.bg-sky-500):not(.bg-blue-500):not(.bg-red-500):not(.bg-green-500):not(.bg-amber-500):not(.bg-purple-500){background-color:#000;color:#fff}.dark button:not(.bg-sky-500):not(.bg-blue-500):not(.bg-red-500):not(.bg-green-500):not(.bg-amber-500):not(.bg-purple-500):hover{background-color:#0a0a0a}.dark .fixed.inset-0.bg-black\/50{background-color:#000000b3!important}.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track{background:var(--bg-primary)}.dark ::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover{background:#0a0a0a}.dark .divide-gray-100>:not([hidden])~:not([hidden]),.dark .divide-zinc-100>:not([hidden])~:not([hidden]){border-color:var(--border-color)}.dark .animate-pulse{background-color:var(--bg-tertiary)}.dark .recharts-surface{background-color:transparent}.dark .recharts-cartesian-grid-horizontal line,.dark .recharts-cartesian-grid-vertical line{stroke:var(--border-color)}.dark .recharts-text{fill:var(--text-tertiary)!important}.dark .bg-red-50{background-color:#ef44441a!important}.dark .bg-green-50{background-color:#22c55e1a!important}.dark .bg-amber-50{background-color:#f59e0b1a!important}.dark .bg-blue-50,.dark .bg-sky-50{background-color:#3b82f61a!important}.dark .bg-purple-50,.dark .bg-violet-50{background-color:#a855f71a!important}.dark img{filter:none}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}.dark svg,.dark svg path,.dark svg circle,.dark svg rect,.dark svg line,.dark svg polyline,.dark svg polygon{color:#fff!important;stroke:currentColor}.dark [class*=lucide],.dark [class*=icon],.dark .text-gray-300,.dark .text-zinc-300{color:#fff!important}.dark .hover\:bg-gray-100:hover,.dark .hover\:bg-zinc-100:hover{background-color:#0a0a0a!important}.dark input,.dark textarea,.dark select{background-color:#000!important;color:#fff!important;border-color:#1a1a1a!important}.dark input:focus,.dark textarea:focus,.dark select:focus{border-color:#3b82f6!important;background-color:#000!important}.dark .bg-zinc-50,.dark .bg-gray-50{background-color:#18181b!important}.dark .divide-gray-100>:not([hidden])~:not([hidden]),.dark .divide-zinc-100>:not([hidden])~:not([hidden]){border-color:#27272a}.dark .animate-pulse{background-color:#000}.dark ::-webkit-scrollbar-track{background:#18181b}.dark ::-webkit-scrollbar-thumb{background:#27272a;border-radius:4px}.dark aside button:hover,.dark .sidebar button:hover,.dark [class*=sidebar] button:hover{background-color:#27272a!important}.dark aside button.bg-zinc-900,.dark aside button[class*=active],.dark .sidebar button[class*=active]{background-color:#1e40af!important;color:#fff!important}.dark aside button:not(.bg-zinc-900):hover,.dark .sidebar button:not([class*=active]):hover{background-color:#27272a!important}.dark aside button,.dark .sidebar button{color:#a1a1aa!important}.dark aside button.bg-zinc-900,.dark aside button[class*=active],.dark .sidebar button[class*=active]{color:#fff!important}.dark aside button .bg-blue-500,.dark .sidebar button .bg-blue-500{background-color:#60a5fa!important}.dark .bg-red-500,.dark [class*=badge].bg-red-500,.dark span.bg-red-500{background-color:#ef4444!important;color:#fff!important}.dark .bg-green-100,.dark .bg-green-50{background-color:#166534!important}.dark .text-green-700,.dark .text-green-600{color:#4ade80!important}.dark .bg-amber-100,.dark .bg-amber-50{background-color:#78350f!important}.dark .text-amber-700,.dark .text-amber-600{color:#fbbf24!important}.dark .bg-blue-100,.dark .bg-sky-100,.dark .bg-blue-50,.dark .bg-sky-50{background-color:#1e3a8a!important}.dark .text-blue-700,.dark .text-blue-600,.dark .text-sky-700,.dark .text-sky-600{color:#60a5fa!important}.dark .bg-purple-100,.dark .bg-violet-100,.dark .bg-purple-50,.dark .bg-violet-50{background-color:#581c87!important}.dark .text-purple-700,.dark .text-purple-600,.dark .text-violet-700,.dark .text-violet-600{color:#c084fc!important}.dark span[class*=rounded-full]{font-weight:600}.dark .absolute.bg-red-500{background-color:#dc2626!important;box-shadow:0 0 0 2px #000}.dark .hover\:bg-gray-50:hover{background-color:#27272a!important}.dark .hover\:bg-gray-100:hover,.dark .hover\:bg-zinc-100:hover{background-color:#3f3f46!important}.dark button:hover:not(.bg-sky-500):not(.bg-blue-500):not(.bg-red-500):not(.bg-green-500):not(.bg-amber-500):not(.bg-purple-500){background-color:#27272a!important}.dark a:hover{color:#60a5fa!important}.dark .bg-zinc-900.text-white{background-color:#1e40af!important;color:#fff!important}.dark .text-zinc-500:hover{background-color:#27272a!important;color:#fff!important}.dark .text-zinc-400.group-hover\:text-zinc-900{color:#a1a1aa!important}.dark .bg-zinc-900 .text-zinc-300{color:#fff!important}.dark [class*=StudentSidebar] button:hover,.dark [class*=TeacherSidebar] button:hover{background-color:#27272a!important}.dark [class*=StudentSidebar] button[class*=bg-],.dark [class*=TeacherSidebar] button[class*=bg-]{background-color:#1e40af!important}.dark .sticky.top-20 button:hover{background-color:#27272a!important}.dark .text-sky-500{color:#60a5fa!important}.dark .bg-sky-500{background-color:#2563eb!important}.fade-in{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translate(-60px);transition:all .8s cubic-bezier(.4,0,.2,1)}.slide-in-left.visible{opacity:1;transform:translate(0)}.slide-in-right{opacity:0;transform:translate(60px);transition:all .8s cubic-bezier(.4,0,.2,1)}.slide-in-right.visible{opacity:1;transform:translate(0)}.scale-in{opacity:0;transform:scale(.9);transition:all .6s cubic-bezier(.4,0,.2,1)}.scale-in.visible{opacity:1;transform:scale(1)}.stagger-children>*{opacity:0;transform:translateY(30px);transition:all .5s cubic-bezier(.4,0,.2,1)}.stagger-children.visible>*:nth-child(1){transition-delay:.1s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(2){transition-delay:.2s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(3){transition-delay:.3s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(4){transition-delay:.4s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(5){transition-delay:.5s;opacity:1;transform:translateY(0)}.stagger-children.visible>*:nth-child(6){transition-delay:.6s;opacity:1;transform:translateY(0)}.card-hover{transition:all .4s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px #0000001a}.magnetic{transition:transform .3s ease}.magnetic:hover{transform:scale(1.05)}.morph-bg{background:linear-gradient(-45deg,#f8f8f8,#fff,#f0f0f0,#fff);background-size:400% 400%;animation:morphBg 15s ease infinite}@keyframes morphBg{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.floating{animation:floating 3s ease-in-out infinite}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pulse-dot{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}#mobileMenu{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}#mobileMenu.active{max-height:500px}.hamburger{transition:transform .3s ease}.hamburger:hover{transform:scale(1.1)}.nav-logo{transition:transform .3s ease,filter .3s ease}.nav-logo:hover{transform:scale(1.05) rotate(-2deg);filter:grayscale(0)}.nav-link{position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,transparent,#000,transparent);transform:translate(-50%);transition:width .4s cubic-bezier(.4,0,.2,1)}.nav-link:hover:before{width:100%}.nav-link:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.05),transparent);transition:left .5s ease}.nav-link:hover:after{left:100%}.nav-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#000,#333);box-shadow:0 4px 15px #0003}.nav-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.nav-cta:hover:before{left:100%}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.scroll-indicator{animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.feature-icon{transition:all .3s ease}.card-hover:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.stat-card-white{background:#fff;border:1px solid #e5e5e5;transition:all .4s ease}.stat-card-white:hover{border-color:#000;transform:translateY(-5px)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#0000001a;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:hover:after{width:300px;height:300px}.image-placeholder{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.image-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.02) 10px,rgba(0,0,0,.02) 20px)}.image-placeholder:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) rotate(25deg)}to{transform:translate(100%) rotate(25deg)}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}*{-webkit-tap-highlight-color:transparent}.font-adyson{font-family:Adyson,Poppins,sans-serif}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .3s ease-out forwards}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.animate-slide-down{animation:slideDown .3s ease-out forwards}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-slow{animation:pulse-slow 2s cubic-bezier(.4,0,.6,1) infinite}.video-player-container{position:relative;width:100%;background:#000}.video-controls{transition:opacity .3s ease}.video-controls:hover{opacity:1!important}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.upload-progress-shimmer{background:linear-gradient(90deg,#0ea5e9,#3b82f6,#0ea5e9);background-size:1000px 100%;animation:shimmer 2s infinite}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}input:focus,textarea:focus,button:focus{outline:none}html{scroll-behavior:smooth}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tooltip{position:relative}.tooltip:before{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:4px 8px;background:#000c;color:#fff;font-size:12px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;margin-bottom:4px}.tooltip:hover:before{opacity:1}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0 80px);background-size:200px 100%;animation:skeleton-loading 1.5s infinite}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-track{height:4px;border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:14px;width:14px;border-radius:50%;background:#3b82f6;cursor:pointer;margin-top:-5px;box-shadow:0 2px 4px #0003;transition:all .2s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 3px 6px #0000004d}input[type=range]::-moz-range-track{height:4px;border-radius:2px}input[type=range]::-moz-range-thumb{height:14px;width:14px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none;box-shadow:0 2px 4px #0003;transition:all .2s}input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 3px 6px #0000004d}img{image-rendering:-webkit-optimize-contrast}img[loading=lazy]{min-height:100px;background:#f3f4f6}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}@supports (backdrop-filter: blur(10px)){.backdrop-blur-custom{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@media print{.no-print{display:none!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-bounce-subtle{animation:bounce-subtle 2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}@keyframes pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn .2s ease-out forwards}.animate-pop{animation:pop .3s ease-out forwards}.swipe-transition{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.touch-feedback:active{transform:scale(.98);opacity:.9}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.overscroll-contain{overscroll-behavior:contain}@keyframes reaction-pop-in{0%{transform:scale(0) translateY(10px);opacity:0}50%{transform:scale(1.1) translateY(-2px)}to{transform:scale(1) translateY(0);opacity:1}}.reaction-pop-in{animation:reaction-pop-in .3s ease-out forwards}@keyframes reaction-hover{0%{transform:scale(1)}50%{transform:scale(1.3) translateY(-8px)}to{transform:scale(1.2) translateY(-6px)}}.reaction-hover{animation:reaction-hover .2s ease-out forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.toast-slide-in{animation:toast-slide-in .3s ease-out forwards}.toast-slide-out{animation:toast-slide-out .3s ease-out forwards}@keyframes progress-shrink{0%{width:100%}to{width:0%}}@keyframes haptic-pulse{0%{box-shadow:0 0 #3b82f666}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.haptic-pulse{animation:haptic-pulse .5s ease-out}.touch-none{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (max-width: 768px){*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}html,body{overflow-x:hidden;overscroll-behavior:none}.mobile-full-page{position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@keyframes slideInFromRight{0%{transform:translate(30%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutToRight{0%{transform:translate(0);opacity:1}to{transform:translate(30%);opacity:0}}@media (max-width: 768px){.animate-slide-in-right{animation:slideInFromRight .25s ease-out forwards}.animate-slide-out-right{animation:slideOutToRight .25s ease-out forwards}}@media (min-width: 769px){.animate-slide-in-right{animation:fadeIn .2s ease-out forwards}}.overscroll-none{overscroll-behavior:none}@keyframes modalSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}.modal-slide-up{animation:modalSlideUp .3s cubic-bezier(.32,.72,0,1) forwards}.modal-slide-down{animation:modalSlideDown .3s cubic-bezier(.32,.72,0,1) forwards}.backdrop-fade-in{animation:backdropFadeIn .3s ease-out forwards}.backdrop-fade-out{animation:backdropFadeOut .3s ease-out forwards}.modal-content-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body.modal-open{overflow:hidden;position:fixed;width:100%}.drag-handle{transition:background-color .2s ease}.drag-handle:active{background-color:#0003}@keyframes inputFocusGrow{0%{transform:scale(.98)}to{transform:scale(1)}}.input-focus-grow:focus{animation:inputFocusGrow .2s ease-out}@keyframes commentAppear{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.comment-appear{animation:commentAppear .3s ease-out forwards}
