@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes pulse-glow{0%,to{transform:scale(1);box-shadow:0 0 #8b5cf6b3}50%{transform:scale(1.1);box-shadow:0 0 0 10px #8b5cf600}}@keyframes float-1{0%,to{transform:translate(-50%) translateY(0) scale(1);opacity:.6}50%{transform:translate(-50%) translateY(-8px) scale(1.2);opacity:1}}@keyframes float-2{0%,to{transform:translateY(0) translate(0) scale(1);opacity:.6}50%{transform:translateY(8px) translate(-8px) scale(1.2);opacity:1}}@keyframes float-3{0%,to{transform:translateY(-50%) translate(0) scale(1);opacity:.6}50%{transform:translateY(-50%) translate(8px) scale(1.2);opacity:1}}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}@keyframes fade-in-delayed{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-spin-reverse{animation:spin-reverse 1.5s linear infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-float-1{animation:float-1 3s ease-in-out infinite}.animate-float-2{animation:float-2 3.5s ease-in-out infinite}.animate-float-3{animation:float-3 2.8s ease-in-out infinite}.animate-pulse-text{animation:pulse-text 2s ease-in-out infinite}.animate-fade-in-delayed{animation:fade-in-delayed .8s ease-out forwards;animation-delay:.5s;opacity:0}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) rgba(255,255,255,.1)}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px;margin:8px 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#fff3,#ffffff1a);border-radius:10px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#ffffff4d,#fff3);border-color:#fff3}.custom-scrollbar::-webkit-scrollbar-corner{background:transparent}@keyframes modal-backdrop-in{0%{-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);background-color:#0000}to{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background-color:#0006}}@keyframes modal-backdrop-out{0%{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background-color:#0006}to{-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);background-color:#0000}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.95) translateY(16px);filter:blur(4px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0px)}}@keyframes modal-content-out{0%{opacity:1;transform:scale(1) translateY(0);filter:blur(0px)}to{opacity:0;transform:scale(.95) translateY(16px);filter:blur(4px)}}.animate-modal-backdrop-in{animation:modal-backdrop-in .4s ease-out forwards}.animate-modal-backdrop-out{animation:modal-backdrop-out .4s ease-out forwards}.animate-modal-content-in{animation:modal-content-in .4s ease-out forwards}.animate-modal-content-out{animation:modal-content-out .4s ease-out forwards}@media (prefers-reduced-motion: reduce){.animate-modal-backdrop-in,.animate-modal-backdrop-out,.animate-modal-content-in,.animate-modal-content-out{animation-duration:.15s}}[role=listbox] li,[role=option],.grade-selector-item{outline:none!important;border:none!important;box-shadow:none!important}[role=listbox] li:focus,[role=listbox] li:hover,[role=listbox] li:active,[role=option]:focus,[role=option]:hover,[role=option]:active{outline:none!important;border:none!important;box-shadow:none!important}.cursor-pointer:focus,.cursor-pointer:hover,.cursor-pointer:active{outline:none!important}.aurora-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.aurora-shape{position:absolute;border-radius:50%;filter:blur(40px);opacity:.3;animation-duration:20s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.aurora-shape-1{width:400px;height:400px;background:linear-gradient(45deg,#7c3aed,#db2777);top:10%;left:10%;animation-name:aurora-float-1}.aurora-shape-2{width:300px;height:300px;background:linear-gradient(135deg,#4f46e5,#7c3aed);top:60%;right:15%;animation-name:aurora-float-2;animation-delay:-10s}.aurora-shape-3{width:250px;height:250px;background:linear-gradient(225deg,#db2777,#4f46e5);bottom:20%;left:50%;transform:translate(-50%);animation-name:aurora-float-3;animation-delay:-5s}@keyframes aurora-float-1{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}@keyframes aurora-float-2{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-40px,-20px) rotate(120deg)}66%{transform:translate(20px,30px) rotate(240deg)}}@keyframes aurora-float-3{0%,to{transform:translate(-50%) translate(0) rotate(0)}33%{transform:translate(-50%) translate(20px,-40px) rotate(120deg)}66%{transform:translate(-50%) translate(-30px,10px) rotate(240deg)}}@keyframes entry{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-entry{animation:entry .6s ease-out forwards;opacity:0}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.premium-noise{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:3px 3px;opacity:.35}.glass-card{position:relative;background:linear-gradient(180deg,#11111ba6,#11111b73);border-radius:20px;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}.glass-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,#7c3aed59,#4f46e540,#ec489940);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.btn-holo{position:relative;background:linear-gradient(90deg,#7c3aed,#4f46e5);color:#fff;border-radius:12px;box-shadow:0 12px 30px #7c3aed40}.btn-holo:hover{opacity:.95}.btn-holo:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:14px;background:radial-gradient(50% 50% at 50% 0%,rgba(255,255,255,.35),transparent 60%);filter:blur(12px);opacity:.35;transition:opacity .2s ease;pointer-events:none}.btn-holo:hover:after{opacity:.6}.title-gradient{background:linear-gradient(90deg,#e9d5ff,#c7d2fe,#fbcfe8);-webkit-background-clip:text;background-clip:text;color:transparent}.pt-safe{padding-top:env(safe-area-inset-top)}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}.px-safe{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.py-safe{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.overscroll-contain{overscroll-behavior:contain}@keyframes settings-tab-select{0%{transform:scale(1);background-color:#ffffff1a}50%{transform:scale(1.05);background-color:#ffffff26}to{transform:scale(1.02);background-color:#fff3}}@keyframes color-scheme-preview{0%{opacity:.2;transform:scale(.9)}to{opacity:.3;transform:scale(1)}}@keyframes theme-toggle-switch{0%{transform:translate(0) rotate(0)}50%{transform:translate(20px) rotate(180deg) scale(1.1)}to{transform:translate(40px) rotate(360deg)}}.animate-settings-tab-select{animation:settings-tab-select .3s ease-out forwards}.animate-color-scheme-preview{animation:color-scheme-preview .4s ease-out forwards}.animate-theme-toggle{animation:theme-toggle-switch .5s ease-in-out forwards}.glass-morphism-enhanced{background:#ffffff1a;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.2);box-shadow:0 32px 64px #0000004d,0 0 0 1px #ffffff1a,inset 0 1px #ffffff1a,inset 0 -1px #ffffff0d}.glass-button{background:#ffffff1a;-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-button:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 8px 32px #0003,0 0 0 1px #ffffff26,inset 0 1px #fff3}.glass-button:active{transform:translateY(0);box-shadow:0 4px 16px #00000026,0 0 0 1px #ffffff1a,inset 0 1px #ffffff1a}.ea-checkbox{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%);background-size:400% 100%;border-radius:8px;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.typing-dot{width:8px;height:8px;border-radius:9999px;background:linear-gradient(135deg,#7c3aed,#4f46e5);display:inline-block;box-shadow:0 0 12px #7c3aed99;animation:typing-bounce 1s ease-in-out infinite}@keyframes typing-bounce{0%,80%,to{transform:translateY(0) scale(1);opacity:.8}40%{transform:translateY(-4px) scale(1.1);opacity:1}}.animate-chat-fade{animation:chat-fade-in .32s ease-out both}@keyframes chat-fade-in{0%{opacity:0;transform:translateY(6px) scale(.995);filter:saturate(.9)}60%{opacity:1;transform:translateY(0) scale(1)}to{opacity:1;filter:saturate(1)}}.animate-hero-underline{background-size:200% 100%;animation:hero-underline-move 6s ease-in-out infinite}@keyframes hero-underline-move{0%,to{background-position:0% 50%;opacity:.7}50%{background-position:100% 50%;opacity:1}}.panel-modern{position:relative;border-radius:20px;background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:0 24px 48px #00000059,0 0 0 1px #ffffff0f inset,0 -1px #ffffff0a inset;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.panel-modern:hover{border-color:#a855f759;box-shadow:0 28px 60px #7c3aed40,0 0 0 1px #a855f740 inset,0 -1px #ffffff0a inset}.panel-modern:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:22px;pointer-events:none;background:radial-gradient(60% 60% at 50% 0%,rgba(124,58,237,.25),rgba(79,70,229,.18) 40%,rgba(236,72,153,.12) 70%,transparent 80%);filter:blur(14px);opacity:.35}.panel-section-title{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px;background:linear-gradient(90deg,#e9d5ff,#c7d2fe,#fbcfe8);-webkit-background-clip:text;background-clip:text;color:transparent}.input-modern{background:linear-gradient(180deg,#111827f2,#111827e0);color:#e9d5ff;border-radius:14px;border:1px solid rgba(168,85,247,.25);transition:box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.input-modern::placeholder{color:#d8b4fe73}.input-modern:focus{outline:none;border-color:#a855f780;box-shadow:0 0 0 4px #a855f726,0 8px 28px #7c3aed40;color:#f5f3ff}.dropzone-immersive{position:relative;border-radius:18px;background:radial-gradient(120% 100% at 50% 0%,#7c3aed2e,#11182780 50%,#111827cc);border:1px dashed rgba(168,85,247,.35);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;box-shadow:0 18px 40px #7c3aed2e,inset 0 0 60px #4f46e51f}.dropzone-immersive:hover{transform:translateY(-1px);border-color:#a855f780}.dropzone-immersive:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:20px;pointer-events:none;background:conic-gradient(from 0deg,#7c3aed00,#7c3aed59,#ec489940,#7c3aed00);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;opacity:.55;filter:blur(4px);animation:border-sweep 6s linear infinite}@keyframes border-sweep{to{transform:rotate(360deg)}}.fade-up{animation:fade-up .42s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ea-send-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 10px 24px #4f46e559,0 2px #00000026,inset 0 1px #ffffff2e;transition:transform .16s ease,box-shadow .2s ease,filter .2s ease,opacity .2s ease}.ea-send-btn:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 30px #7c3aed73,0 3px #0000002e,inset 0 1px #ffffff38}.ea-send-btn:active{transform:translateY(0);filter:brightness(.98)}.ea-send-btn:disabled{opacity:.55;cursor:not-allowed;filter:none;box-shadow:0 6px 16px #4f46e52e,0 2px #0000001f}.ea-send-icon{transition:transform .16s ease}.ea-send-btn:hover .ea-send-icon{transform:translate(1px) rotate(-6deg)}.ea-checkbox input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ea-check{width:18px;height:18px;border-radius:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 10px #00000040,inset 0 1px #ffffff1f;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.ea-checkbox:hover .ea-check{transform:translateY(-1px) scale(1.03);border-color:#ffffff47}.ea-check:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff0f;pointer-events:none}.ea-check-icon{width:14px;height:14px;opacity:0;transform:scale(.6);transition:opacity .18s ease,transform .18s ease}.ea-checkbox input:checked+.ea-check{background:linear-gradient(135deg,var(--accent-primary, #7c3aed),var(--accent-secondary, #4f46e5));border-color:transparent;box-shadow:0 6px 16px #7c3aed59,0 0 0 1px #ffffff1f,inset 0 1px #fff3}.ea-checkbox input:checked+.ea-check .ea-check-icon{opacity:1;transform:scale(1)}.ea-checkbox input:focus-visible+.ea-check{outline:none;box-shadow:0 0 0 3px #7c3aed59,0 0 0 1px #fff3,inset 0 1px #fff3}
