diff --git a/assets/AIChatPage-BnPgCn4P.js b/assets/AIChatPage-DDSYPYxd.js similarity index 95% rename from assets/AIChatPage-BnPgCn4P.js rename to assets/AIChatPage-DDSYPYxd.js index e0596564b532f1ecc489c289097b54470fd4cd2e..ea9e4478c3f82302252d16cac31a6f286abd3200 100644 --- a/assets/AIChatPage-BnPgCn4P.js +++ b/assets/AIChatPage-DDSYPYxd.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/apiService-BmQUiVGe.js","assets/index-CUP7q97n.js","assets/vendor-react-Dexh7fmo.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/index-CR2i2gnI.css"])))=>i.map(i=>d[i]); -import{z as B,_ as F,e as N,m as k}from"./index-CUP7q97n.js";import{r,j as e}from"./vendor-react-Dexh7fmo.js";import{B as $}from"./button-DWdPuxDU.js";import{I as S}from"./input-DBkKXOmF.js";import z from"./ChatMarkdown-BoigvQ2c.js";import{P as O}from"./plus-BqPmFcy0.js";import{S as H}from"./search-C5n5sv5I.js";import{T as Y}from"./trash-2-DhgLaJ_c.js";import{S as D}from"./send-D1NSm_uD.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-markdown-C5ikSDMA.js";const ie=()=>{const{sessions:C,activeSessionId:a,isLoading:l,loadingSessionId:I,setActiveSessionId:i,createNewSession:u,sendMessage:A,deleteSession:L,getActiveSession:T}=B(),[d,_]=r.useState(""),[o,f]=r.useState(""),[b,y]=r.useState(!1),c=r.useRef(null),x=r.useRef(!0),m=r.useRef(!1),n=T(),h=n?.messages||[],M=h.some(t=>t.sender==="ai"&&t.id.startsWith("stream-")),g=l&&a===I&&!M,j=(t="auto")=>{const s=c.current;s&&s.scrollTo({top:s.scrollHeight,behavior:t})},P=()=>{const t=c.current;return t?t.scrollHeight-t.scrollTop-t.clientHeight<=120:!0},E=()=>{x.current=P()};r.useEffect(()=>{F(async()=>{const{warmupBackend:t}=await import("./apiService-BmQUiVGe.js");return{warmupBackend:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8])).then(({warmupBackend:t})=>{t()}).catch(t=>{console.warn("AI chat warmup skipped:",t)})},[]),r.useEffect(()=>{if(!x.current)return;const t=window.requestAnimationFrame(()=>j("auto"));return()=>window.cancelAnimationFrame(t)},[h,g]),r.useEffect(()=>{x.current=!0,j("auto")},[a]);const v=async()=>{if(!(!o.trim()||l||b||m.current)){m.current=!0,y(!0);try{let t=a;t||(t=u(),i(t));const s=o.trim();f(""),await A(t,s)}finally{m.current=!1,y(!1)}}},w=()=>{const t=u();i(t)},R=(t,s)=>{s.stopPropagation(),L(t)},p=C.filter(t=>t.title.toLowerCase().includes(d.toLowerCase())||t.preview.toLowerCase().includes(d.toLowerCase()));return e.jsxs("div",{className:"h-full min-h-0 overflow-hidden flex gap-4 px-4 sm:px-6 xl:px-10 py-6",children:[e.jsxs("div",{className:"w-80 min-h-0 flex flex-col bg-[#f7f9fc] rounded-3xl border border-[#dde3eb] overflow-hidden",children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex-shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-12 h-12 bg-gradient-to-r from-sky-600 to-sky-500 rounded-2xl flex items-center justify-center",children:e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-10 h-10 object-contain drop-shadow-md"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-bold font-display text-[#0a1628]",children:"L.O.L.I."}),e.jsx("p",{className:"text-[10px] text-[#5a6578]",children:"Your AI Math Tutor"})]})]}),e.jsxs("button",{onClick:w,className:"w-full bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white px-4 py-3 rounded-xl text-sm font-bold transition-all shadow-md hover:shadow-lg flex items-center justify-center gap-2",children:[e.jsx(O,{size:18}),"New Chat"]}),e.jsxs("div",{className:"relative mt-3",children:[e.jsx(H,{className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-500",size:14}),e.jsx(S,{type:"text",placeholder:"Search conversations...",value:d,onChange:t=>_(t.target.value),className:"w-full pl-9 pr-3 py-2 text-xs rounded-xl border-[#dde3eb] focus:border-sky-600 focus:ring-2 focus:ring-sky-100"})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-3 space-y-2",children:[e.jsx("div",{className:"flex items-center justify-between mb-2 px-2",children:e.jsxs("span",{className:"text-xs font-bold text-[#5a6578]",children:[p.length," Conversations"]})}),e.jsx(N,{children:p.map(t=>e.jsxs(k.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},onClick:()=>i(t.id),className:`group p-3 rounded-2xl cursor-pointer transition-all duration-200 border relative ${a===t.id?"bg-sky-50 border-sky-200 shadow-sm":"bg-[#edf1f7] border-transparent hover:bg-[#dde3eb] hover:border-[#dde3eb]"}`,children:[e.jsxs("div",{className:"flex items-start justify-between mb-1",children:[e.jsx("h3",{className:`text-xs font-bold mb-0.5 pr-6 line-clamp-1 ${a===t.id?"text-sky-700":"text-[#0a1628]"}`,children:t.title}),e.jsx("button",{onClick:s=>R(t.id,s),className:"absolute top-2 right-2 p-1.5 rounded-lg opacity-0 group-hover:opacity-100 hover:bg-red-100 text-slate-500 hover:text-red-600 transition-all",children:e.jsx(Y,{size:12})})]}),e.jsx("p",{className:"text-[10px] text-[#5a6578] mb-2 line-clamp-2",children:t.preview}),e.jsxs("div",{className:"flex items-center justify-between text-[10px]",children:[e.jsx("span",{className:"text-slate-500",children:t.date}),e.jsxs("span",{className:`px-2 py-0.5 rounded-full ${a===t.id?"bg-sky-100 text-sky-600":"bg-[#dde3eb] text-[#5a6578]"}`,children:[t.messageCount," msgs"]})]})]},t.id))}),p.length===0&&e.jsxs("div",{className:"text-center py-8",children:[e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-16 h-16 object-contain mx-auto mb-2 opacity-60 drop-shadow-sm grayscale contrast-50"}),e.jsx("p",{className:"text-sm text-slate-500",children:"No conversations found"}),e.jsx("p",{className:"text-xs text-slate-500/60 mt-1",children:"Start a new chat!"})]})]})]}),e.jsx("div",{className:"flex-1 min-h-0 flex flex-col bg-[#f7f9fc] rounded-3xl border border-[#dde3eb] overflow-hidden",children:a?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex items-center justify-between flex-shrink-0",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"font-bold font-display text-[#0a1628]",children:n?.title}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:n?.date})]}),e.jsx("div",{className:"flex items-center gap-2",children:n?.topics.map((t,s)=>e.jsx("span",{className:"px-3 py-1 bg-sky-50 text-sky-600 text-xs font-bold rounded-lg",children:t},s))})]}),e.jsxs("div",{ref:c,onScroll:E,className:"flex-1 overflow-y-auto overscroll-contain p-6 space-y-4 bg-[#edf1f7] min-h-0",children:[e.jsx(N,{children:h.map(t=>e.jsx(k.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex ${t.sender==="user"?"justify-end":"justify-start"}`,children:e.jsxs("div",{className:`max-w-[70%] rounded-2xl px-5 py-3 ${t.sender==="user"?"bg-gradient-to-r from-sky-600 to-sky-500 text-white":"bg-white text-[#0a1628] shadow-md border border-[#dde3eb]"}`,children:[t.sender==="user"?e.jsx("p",{className:"text-sm whitespace-pre-wrap leading-relaxed",children:t.text}):e.jsx(z,{children:t.text}),e.jsx("p",{className:`text-[10px] mt-1.5 ${t.sender==="user"?"text-sky-200":"text-slate-500"}`,children:t.timestamp})]})},t.id))}),g&&e.jsx("div",{className:"flex justify-start",children:e.jsx("div",{className:"bg-white text-[#0a1628] shadow-md border border-[#dde3eb] rounded-2xl px-5 py-3 max-w-[70%]",children:e.jsxs("div",{className:"flex gap-1",children:[e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:150ms]"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:300ms]"})]})})})]}),e.jsx("div",{className:"p-4 border-t border-[#dde3eb] bg-white flex-shrink-0",children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx(S,{type:"text",value:o,onChange:t=>f(t.target.value),onKeyPress:t=>t.key==="Enter"&&v(),placeholder:"Ask me anything about math...",className:"flex-1 px-5 py-3 rounded-xl border-[#dde3eb] focus:border-sky-600 focus:ring-2 focus:ring-sky-100 text-sm"}),e.jsx($,{onClick:v,disabled:!o.trim()||l||b,className:"px-6 bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white rounded-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed shadow-md hover:shadow-lg",children:e.jsx(D,{size:18})})]})})]}):e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center p-8 text-center",children:[e.jsx("div",{className:"w-24 h-24 bg-gradient-to-r from-sky-100 to-cyan-100 rounded-3xl flex items-center justify-center mb-6",children:e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-20 h-20 object-contain drop-shadow-lg"})}),e.jsx("h2",{className:"text-2xl font-bold font-display text-[#0a1628] mb-1",children:"Welcome to L.O.L.I."}),e.jsx("p",{className:"text-sky-600 text-sm font-bold tracking-wide uppercase mb-4",children:"Logical Operations & Learning Intelligence"}),e.jsx("p",{className:"text-[#5a6578] mb-6 max-w-md",children:"Your personal AI math tutor is here to help! Start a new conversation or select one from the sidebar."}),e.jsx("button",{onClick:w,className:"px-6 py-3 bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white rounded-xl font-bold shadow-lg hover:shadow-xl transition-all",children:"Start Your First Chat"}),e.jsx("div",{className:"mt-8 grid grid-cols-3 gap-4 max-w-2xl",children:["Algebra","Geometry","Calculus"].map(t=>e.jsxs("div",{className:"p-4 bg-[#edf1f7] rounded-xl border border-[#dde3eb]",children:[e.jsx("p",{className:"text-sm font-bold text-[#0a1628]",children:t}),e.jsxs("p",{className:"text-xs text-[#5a6578] mt-1",children:["Get help with ",t.toLowerCase()]})]},t))})]})})]})};export{ie as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/apiService-BuaHZ1Ho.js","assets/index-DGWrSMOK.js","assets/vendor-react-Dexh7fmo.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/index-CR2i2gnI.css"])))=>i.map(i=>d[i]); +import{z as B,_ as F,e as N,m as k}from"./index-DGWrSMOK.js";import{r,j as e}from"./vendor-react-Dexh7fmo.js";import{B as $}from"./button-DWdPuxDU.js";import{I as S}from"./input-DBkKXOmF.js";import z from"./ChatMarkdown-BI4vbcO7.js";import{P as O}from"./plus-DVCmopn-.js";import{S as H}from"./search-O5gEqRZi.js";import{T as Y}from"./trash-2-CBQVcuBL.js";import{S as D}from"./send-nCgvy9cZ.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-markdown-C5ikSDMA.js";const ie=()=>{const{sessions:C,activeSessionId:a,isLoading:l,loadingSessionId:I,setActiveSessionId:i,createNewSession:u,sendMessage:A,deleteSession:L,getActiveSession:T}=B(),[d,_]=r.useState(""),[o,f]=r.useState(""),[b,y]=r.useState(!1),c=r.useRef(null),x=r.useRef(!0),m=r.useRef(!1),n=T(),h=n?.messages||[],M=h.some(t=>t.sender==="ai"&&t.id.startsWith("stream-")),g=l&&a===I&&!M,j=(t="auto")=>{const s=c.current;s&&s.scrollTo({top:s.scrollHeight,behavior:t})},P=()=>{const t=c.current;return t?t.scrollHeight-t.scrollTop-t.clientHeight<=120:!0},E=()=>{x.current=P()};r.useEffect(()=>{F(async()=>{const{warmupBackend:t}=await import("./apiService-BuaHZ1Ho.js");return{warmupBackend:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8])).then(({warmupBackend:t})=>{t()}).catch(t=>{console.warn("AI chat warmup skipped:",t)})},[]),r.useEffect(()=>{if(!x.current)return;const t=window.requestAnimationFrame(()=>j("auto"));return()=>window.cancelAnimationFrame(t)},[h,g]),r.useEffect(()=>{x.current=!0,j("auto")},[a]);const v=async()=>{if(!(!o.trim()||l||b||m.current)){m.current=!0,y(!0);try{let t=a;t||(t=u(),i(t));const s=o.trim();f(""),await A(t,s)}finally{m.current=!1,y(!1)}}},w=()=>{const t=u();i(t)},R=(t,s)=>{s.stopPropagation(),L(t)},p=C.filter(t=>t.title.toLowerCase().includes(d.toLowerCase())||t.preview.toLowerCase().includes(d.toLowerCase()));return e.jsxs("div",{className:"h-full min-h-0 overflow-hidden flex gap-4 px-4 sm:px-6 xl:px-10 py-6",children:[e.jsxs("div",{className:"w-80 min-h-0 flex flex-col bg-[#f7f9fc] rounded-3xl border border-[#dde3eb] overflow-hidden",children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex-shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"w-12 h-12 bg-gradient-to-r from-sky-600 to-sky-500 rounded-2xl flex items-center justify-center",children:e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-10 h-10 object-contain drop-shadow-md"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-bold font-display text-[#0a1628]",children:"L.O.L.I."}),e.jsx("p",{className:"text-[10px] text-[#5a6578]",children:"Your AI Math Tutor"})]})]}),e.jsxs("button",{onClick:w,className:"w-full bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white px-4 py-3 rounded-xl text-sm font-bold transition-all shadow-md hover:shadow-lg flex items-center justify-center gap-2",children:[e.jsx(O,{size:18}),"New Chat"]}),e.jsxs("div",{className:"relative mt-3",children:[e.jsx(H,{className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-500",size:14}),e.jsx(S,{type:"text",placeholder:"Search conversations...",value:d,onChange:t=>_(t.target.value),className:"w-full pl-9 pr-3 py-2 text-xs rounded-xl border-[#dde3eb] focus:border-sky-600 focus:ring-2 focus:ring-sky-100"})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-3 space-y-2",children:[e.jsx("div",{className:"flex items-center justify-between mb-2 px-2",children:e.jsxs("span",{className:"text-xs font-bold text-[#5a6578]",children:[p.length," Conversations"]})}),e.jsx(N,{children:p.map(t=>e.jsxs(k.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},onClick:()=>i(t.id),className:`group p-3 rounded-2xl cursor-pointer transition-all duration-200 border relative ${a===t.id?"bg-sky-50 border-sky-200 shadow-sm":"bg-[#edf1f7] border-transparent hover:bg-[#dde3eb] hover:border-[#dde3eb]"}`,children:[e.jsxs("div",{className:"flex items-start justify-between mb-1",children:[e.jsx("h3",{className:`text-xs font-bold mb-0.5 pr-6 line-clamp-1 ${a===t.id?"text-sky-700":"text-[#0a1628]"}`,children:t.title}),e.jsx("button",{onClick:s=>R(t.id,s),className:"absolute top-2 right-2 p-1.5 rounded-lg opacity-0 group-hover:opacity-100 hover:bg-red-100 text-slate-500 hover:text-red-600 transition-all",children:e.jsx(Y,{size:12})})]}),e.jsx("p",{className:"text-[10px] text-[#5a6578] mb-2 line-clamp-2",children:t.preview}),e.jsxs("div",{className:"flex items-center justify-between text-[10px]",children:[e.jsx("span",{className:"text-slate-500",children:t.date}),e.jsxs("span",{className:`px-2 py-0.5 rounded-full ${a===t.id?"bg-sky-100 text-sky-600":"bg-[#dde3eb] text-[#5a6578]"}`,children:[t.messageCount," msgs"]})]})]},t.id))}),p.length===0&&e.jsxs("div",{className:"text-center py-8",children:[e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-16 h-16 object-contain mx-auto mb-2 opacity-60 drop-shadow-sm grayscale contrast-50"}),e.jsx("p",{className:"text-sm text-slate-500",children:"No conversations found"}),e.jsx("p",{className:"text-xs text-slate-500/60 mt-1",children:"Start a new chat!"})]})]})]}),e.jsx("div",{className:"flex-1 min-h-0 flex flex-col bg-[#f7f9fc] rounded-3xl border border-[#dde3eb] overflow-hidden",children:a?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex items-center justify-between flex-shrink-0",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"font-bold font-display text-[#0a1628]",children:n?.title}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:n?.date})]}),e.jsx("div",{className:"flex items-center gap-2",children:n?.topics.map((t,s)=>e.jsx("span",{className:"px-3 py-1 bg-sky-50 text-sky-600 text-xs font-bold rounded-lg",children:t},s))})]}),e.jsxs("div",{ref:c,onScroll:E,className:"flex-1 overflow-y-auto overscroll-contain p-6 space-y-4 bg-[#edf1f7] min-h-0",children:[e.jsx(N,{children:h.map(t=>e.jsx(k.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`flex ${t.sender==="user"?"justify-end":"justify-start"}`,children:e.jsxs("div",{className:`max-w-[70%] rounded-2xl px-5 py-3 ${t.sender==="user"?"bg-gradient-to-r from-sky-600 to-sky-500 text-white":"bg-white text-[#0a1628] shadow-md border border-[#dde3eb]"}`,children:[t.sender==="user"?e.jsx("p",{className:"text-sm whitespace-pre-wrap leading-relaxed",children:t.text}):e.jsx(z,{children:t.text}),e.jsx("p",{className:`text-[10px] mt-1.5 ${t.sender==="user"?"text-sky-200":"text-slate-500"}`,children:t.timestamp})]})},t.id))}),g&&e.jsx("div",{className:"flex justify-start",children:e.jsx("div",{className:"bg-white text-[#0a1628] shadow-md border border-[#dde3eb] rounded-2xl px-5 py-3 max-w-[70%]",children:e.jsxs("div",{className:"flex gap-1",children:[e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:150ms]"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:300ms]"})]})})})]}),e.jsx("div",{className:"p-4 border-t border-[#dde3eb] bg-white flex-shrink-0",children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx(S,{type:"text",value:o,onChange:t=>f(t.target.value),onKeyPress:t=>t.key==="Enter"&&v(),placeholder:"Ask me anything about math...",className:"flex-1 px-5 py-3 rounded-xl border-[#dde3eb] focus:border-sky-600 focus:ring-2 focus:ring-sky-100 text-sm"}),e.jsx($,{onClick:v,disabled:!o.trim()||l||b,className:"px-6 bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white rounded-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed shadow-md hover:shadow-lg",children:e.jsx(D,{size:18})})]})})]}):e.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center p-8 text-center",children:[e.jsx("div",{className:"w-24 h-24 bg-gradient-to-r from-sky-100 to-cyan-100 rounded-3xl flex items-center justify-center mb-6",children:e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-20 h-20 object-contain drop-shadow-lg"})}),e.jsx("h2",{className:"text-2xl font-bold font-display text-[#0a1628] mb-1",children:"Welcome to L.O.L.I."}),e.jsx("p",{className:"text-sky-600 text-sm font-bold tracking-wide uppercase mb-4",children:"Logical Operations & Learning Intelligence"}),e.jsx("p",{className:"text-[#5a6578] mb-6 max-w-md",children:"Your personal AI math tutor is here to help! Start a new conversation or select one from the sidebar."}),e.jsx("button",{onClick:w,className:"px-6 py-3 bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white rounded-xl font-bold shadow-lg hover:shadow-xl transition-all",children:"Start Your First Chat"}),e.jsx("div",{className:"mt-8 grid grid-cols-3 gap-4 max-w-2xl",children:["Algebra","Geometry","Calculus"].map(t=>e.jsxs("div",{className:"p-4 bg-[#edf1f7] rounded-xl border border-[#dde3eb]",children:[e.jsx("p",{className:"text-sm font-bold text-[#0a1628]",children:t}),e.jsxs("p",{className:"text-xs text-[#5a6578] mt-1",children:["Get help with ",t.toLowerCase()]})]},t))})]})})]})};export{ie as default}; diff --git a/assets/AdminDashboard-C6SAt4d-.js b/assets/AdminDashboard-uzlVc26h.js similarity index 98% rename from assets/AdminDashboard-C6SAt4d-.js rename to assets/AdminDashboard-uzlVc26h.js index f636c70a81e3eba9d56544c6efff32004501aaa7..0f3cf58c22649610e1468ce14b2b4a76a092bb7a 100644 --- a/assets/AdminDashboard-C6SAt4d-.js +++ b/assets/AdminDashboard-uzlVc26h.js @@ -1,4 +1,4 @@ -import{r as c,j as e}from"./vendor-react-Dexh7fmo.js";import Ie from"./Sidebar-o2bWY_8O.js";import oe from"./ConfirmModal--kX4RdFk.js";import{B as W}from"./button-DWdPuxDU.js";import{I as z}from"./input-DBkKXOmF.js";import{R as Ae,D as De,a as Pe,b as Te,c as Me,d as Ee,e as Qe,F as rs,V as is,I as fe,f as ce,T as ns}from"./dialog-BJJiOR2B.js";import{S as F,a as O,b as B,c as q,d as h}from"./select-LT8ybtB9.js";import{h as X,e as V,q as me,o as ve,l as ye,w as Fe,u as Je,a as xe,d as Le,k as Ke,c as ds}from"./vendor-firebase-firestore-CkuVbeP5.js";import{c as Y,d as $,u as ze,t as M,m as _,T as we,Z as Ye,D as cs,j as os,k as ms,F as xs,M as hs}from"./index-CUP7q97n.js";import{apiService as Ze,ApiError as us}from"./apiService-BmQUiVGe.js";import{P as es}from"./plus-BqPmFcy0.js";import{L as Q}from"./loader-circle-kcw3SM4v.js";import{C as ps}from"./circle-check-big-5ddhW4zc.js";import{P as Oe}from"./pen-line-BrNinh8A.js";import{T as Se}from"./trash-2-DhgLaJ_c.js";import{S as Re}from"./search-C5n5sv5I.js";import{U as he}from"./users-BpOE7EHN.js";import{B as K}from"./book-open-CeQC7bWj.js";import{C as gs}from"./circle-help-CByYbu6M.js";import{C as ke}from"./calendar-BJy8dui2.js";import{C as be}from"./circle-alert-_UGdorkr.js";import{E as Be}from"./eye-CG0PWKAR.js";import{S as ie}from"./shield-U0fpKH0K.js";import{S as J}from"./switch-DbjIWZtF.js";import{S as fs}from"./LogoutActionButton-Js9om3fZ.js";import{B as bs}from"./bell-CPMVIplR.js";import{S as js}from"./save-DTLT0-dh.js";import{R as vs,I as Ns,F as ys}from"./vendor-radix-B-ht8aK0.js";import{c as $e}from"./utils-BQQgILNW.js";import{G as Ue}from"./graduation-cap-CCth-BT0.js";import{T as ss}from"./target-DaU28Ow3.js";import{C as ws}from"./clock-C56zvyHw.js";import{A as je}from"./award-BtESaHld.js";import{B as Ss}from"./brain-CaMXLcPK.js";import{F as ks,T as Cs}from"./trending-down-DhwTMb31.js";import{D as As}from"./download-DWfJPUrU.js";import{C as Ce}from"./chart-column-D_9m8xSU.js";import{a as Ds}from"./chevron-up-B9_iMYGp.js";import{M as Ps}from"./minus-FdgaZoCo.js";import{T as Ts}from"./trending-up-DmBYqjZb.js";import"./tooltip-D9lDiW9U.js";import"./x-DSPvcKpY.js";import"./chevron-right-BKVsZIKp.js";import"./message-square-C0Ume0lR.js";import"./swords-DXWdiz6s.js";import"./trophy-di6eNjuA.js";import"./shirt-Bw3DfDxH.js";import"./log-out-DSwWLQA-.js";import"./clsx-B-dksMZM.js";import"./check-DXbjXZsm.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** +import{r as c,j as e}from"./vendor-react-Dexh7fmo.js";import Ie from"./Sidebar-BH3yU0R9.js";import oe from"./ConfirmModal-B9CUrvQP.js";import{B as W}from"./button-DWdPuxDU.js";import{I as z}from"./input-DBkKXOmF.js";import{R as Ae,D as De,a as Pe,b as Te,c as Me,d as Ee,e as Qe,F as rs,V as is,I as fe,f as ce,T as ns}from"./dialog-C0Vo-dln.js";import{S as F,a as O,b as B,c as q,d as h}from"./select-CH9gS87N.js";import{h as X,e as V,q as me,o as ve,l as ye,w as Fe,u as Je,a as xe,d as Le,k as Ke,c as ds}from"./vendor-firebase-firestore-CkuVbeP5.js";import{c as Y,d as $,u as ze,t as M,m as _,T as we,Z as Ye,D as cs,j as os,k as ms,F as xs,M as hs}from"./index-DGWrSMOK.js";import{apiService as Ze,ApiError as us}from"./apiService-BuaHZ1Ho.js";import{P as es}from"./plus-DVCmopn-.js";import{L as Q}from"./loader-circle-BUf2fYcT.js";import{C as ps}from"./circle-check-big-mv2CRLCE.js";import{P as Oe}from"./pen-line-CX1xh2Q2.js";import{T as Se}from"./trash-2-CBQVcuBL.js";import{S as Re}from"./search-O5gEqRZi.js";import{U as he}from"./users-BRS21lR4.js";import{B as K}from"./book-open-B5Xvd1JL.js";import{C as gs}from"./circle-help-BOZYr6oH.js";import{C as ke}from"./calendar-19p2TrVX.js";import{C as be}from"./circle-alert-D8UKyVHS.js";import{E as Be}from"./eye-pSTVqBYO.js";import{S as ie}from"./shield-Cin8984_.js";import{S as J}from"./switch-DbjIWZtF.js";import{S as fs}from"./LogoutActionButton-D-8gok3U.js";import{B as bs}from"./bell-DeNrtKrI.js";import{S as js}from"./save-B5SCmCsP.js";import{R as vs,I as Ns,F as ys}from"./vendor-radix-B-ht8aK0.js";import{c as $e}from"./utils-BQQgILNW.js";import{G as Ue}from"./graduation-cap-Cr-ek4Bs.js";import{T as ss}from"./target-7Gevl8jn.js";import{C as ws}from"./clock-qHFbMxrB.js";import{A as je}from"./award-DpLN2BvV.js";import{B as Ss}from"./brain-DHmY5cbv.js";import{F as ks,T as Cs}from"./trending-down-C7JHnrbb.js";import{D as As}from"./download-DINpalm9.js";import{C as Ce}from"./chart-column-CJzwyNMx.js";import{a as Ds}from"./chevron-up-BJyzaJs7.js";import{M as Ps}from"./minus-BjTBUAx2.js";import{T as Ts}from"./trending-up-B2MPUPwk.js";import"./tooltip-D9lDiW9U.js";import"./x-Bj25rnWX.js";import"./chevron-right-DxXkA9aZ.js";import"./message-square-DIXhbelM.js";import"./swords-Bn50CmyM.js";import"./trophy-73YPSH67.js";import"./shirt-C4Gsu12G.js";import"./log-out-DYYu4gFF.js";import"./clsx-B-dksMZM.js";import"./check-BONc3QkK.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/AvatarShop-Dj-BWVeS.js b/assets/AvatarShop-D-gwLcZq.js similarity index 98% rename from assets/AvatarShop-Dj-BWVeS.js rename to assets/AvatarShop-D-gwLcZq.js index bba0e70de263f6ae67bafcb930a1ca5bc2c53c6e..0c74fde813c2464151e9af0efb9a2c82997ff6f3 100644 --- a/assets/AvatarShop-Dj-BWVeS.js +++ b/assets/AvatarShop-D-gwLcZq.js @@ -1,4 +1,4 @@ -import{r as c,j as e}from"./vendor-react-Dexh7fmo.js";import{T as y,b as j,c as n,a as k}from"./tabs-BJVl1n4R.js";import{B as N}from"./button-DWdPuxDU.js";import{c as i}from"./utils-BQQgILNW.js";import{c as h,u as _,l as S,m as o,t as d,K as T}from"./index-CUP7q97n.js";import{S as z}from"./shirt-Bw3DfDxH.js";import{S as A}from"./sparkles-Cg_SVFRk.js";import{L}from"./loader-circle-kcw3SM4v.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** +import{r as c,j as e}from"./vendor-react-Dexh7fmo.js";import{T as y,b as j,c as n,a as k}from"./tabs-BJVl1n4R.js";import{B as N}from"./button-DWdPuxDU.js";import{c as i}from"./utils-BQQgILNW.js";import{c as h,u as _,l as S,m as o,t as d,K as T}from"./index-DGWrSMOK.js";import{S as z}from"./shirt-C4Gsu12G.js";import{S as A}from"./sparkles-DxmNHQEo.js";import{L}from"./loader-circle-BUf2fYcT.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/ChatMarkdown-BoigvQ2c.js b/assets/ChatMarkdown-BI4vbcO7.js similarity index 97% rename from assets/ChatMarkdown-BoigvQ2c.js rename to assets/ChatMarkdown-BI4vbcO7.js index 76e12dafa5bbd595fd73150ffdf07925759c3121..fb61754cd28b91dc86dfa81ad0eaf0e51a61707c 100644 --- a/assets/ChatMarkdown-BoigvQ2c.js +++ b/assets/ChatMarkdown-BI4vbcO7.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-markdown-C5ikSDMA.js","assets/vendor-react-Dexh7fmo.js","assets/vendor-markdown-CBmFCdgC.css"])))=>i.map(i=>d[i]); -import{P as i,_ as c}from"./index-CUP7q97n.js";import{r as m,j as r}from"./vendor-react-Dexh7fmo.js";import{M as h,r as x,a as y}from"./vendor-markdown-C5ikSDMA.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";let a=null;const p=()=>(a||(a=c(()=>import("./vendor-markdown-C5ikSDMA.js").then(l=>l.k),__vite__mapDeps([0,1,2]))),a),v=({children:l})=>{if(m.useEffect(()=>{p()},[]),!l||typeof l!="string")return null;const t=i(l);return r.jsx("div",{className:"chat-markdown",children:r.jsx(h,{remarkPlugins:[y],rehypePlugins:[x],components:{a:({href:e,children:s})=>r.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:underline",children:s}),code:e=>{const{inline:s,className:n,children:o,...d}=e;return r.jsx("code",{className:`${s?"bg-gray-100 dark:bg-gray-800 rounded px-1 py-0.5 text-sm":"block bg-gray-100 dark:bg-gray-900 rounded p-3 overflow-x-auto my-2"} ${n||""}`,...d,children:o})},blockquote:({children:e})=>r.jsx("blockquote",{className:"border-l-4 border-gray-300 dark:border-gray-600 pl-4 italic text-gray-600 dark:text-gray-400 my-2",children:e}),h1:({children:e})=>r.jsx("h1",{className:"text-2xl font-bold my-2",children:e}),h2:({children:e})=>r.jsx("h2",{className:"text-xl font-bold my-2",children:e}),h3:({children:e})=>r.jsx("h3",{className:"text-lg font-bold my-2",children:e}),h4:({children:e})=>r.jsx("h4",{className:"text-base font-bold my-2",children:e}),h5:({children:e})=>r.jsx("h5",{className:"text-sm font-bold my-2",children:e}),h6:({children:e})=>r.jsx("h6",{className:"text-xs font-bold my-2",children:e}),ul:({children:e})=>r.jsx("ul",{className:"list-disc list-inside my-2",children:e}),ol:({children:e})=>r.jsx("ol",{className:"list-decimal list-inside my-2",children:e}),li:({children:e})=>r.jsx("li",{className:"ml-2",children:e}),hr:()=>r.jsx("hr",{className:"my-4 border-t border-gray-300 dark:border-gray-600"}),p:({children:e})=>r.jsx("p",{className:"my-1",children:e})},children:t})})};export{v as default}; +import{P as i,_ as c}from"./index-DGWrSMOK.js";import{r as m,j as r}from"./vendor-react-Dexh7fmo.js";import{M as h,r as x,a as y}from"./vendor-markdown-C5ikSDMA.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";let a=null;const p=()=>(a||(a=c(()=>import("./vendor-markdown-C5ikSDMA.js").then(l=>l.k),__vite__mapDeps([0,1,2]))),a),v=({children:l})=>{if(m.useEffect(()=>{p()},[]),!l||typeof l!="string")return null;const t=i(l);return r.jsx("div",{className:"chat-markdown",children:r.jsx(h,{remarkPlugins:[y],rehypePlugins:[x],components:{a:({href:e,children:s})=>r.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:underline",children:s}),code:e=>{const{inline:s,className:n,children:o,...d}=e;return r.jsx("code",{className:`${s?"bg-gray-100 dark:bg-gray-800 rounded px-1 py-0.5 text-sm":"block bg-gray-100 dark:bg-gray-900 rounded p-3 overflow-x-auto my-2"} ${n||""}`,...d,children:o})},blockquote:({children:e})=>r.jsx("blockquote",{className:"border-l-4 border-gray-300 dark:border-gray-600 pl-4 italic text-gray-600 dark:text-gray-400 my-2",children:e}),h1:({children:e})=>r.jsx("h1",{className:"text-2xl font-bold my-2",children:e}),h2:({children:e})=>r.jsx("h2",{className:"text-xl font-bold my-2",children:e}),h3:({children:e})=>r.jsx("h3",{className:"text-lg font-bold my-2",children:e}),h4:({children:e})=>r.jsx("h4",{className:"text-base font-bold my-2",children:e}),h5:({children:e})=>r.jsx("h5",{className:"text-sm font-bold my-2",children:e}),h6:({children:e})=>r.jsx("h6",{className:"text-xs font-bold my-2",children:e}),ul:({children:e})=>r.jsx("ul",{className:"list-disc list-inside my-2",children:e}),ol:({children:e})=>r.jsx("ol",{className:"list-decimal list-inside my-2",children:e}),li:({children:e})=>r.jsx("li",{className:"ml-2",children:e}),hr:()=>r.jsx("hr",{className:"my-4 border-t border-gray-300 dark:border-gray-600"}),p:({children:e})=>r.jsx("p",{className:"my-1",children:e})},children:t})})};export{v as default}; diff --git a/assets/CompetencyRadarChart-Dw0s090i.js b/assets/CompetencyRadarChart-Bv4P4qFs.js similarity index 98% rename from assets/CompetencyRadarChart-Dw0s090i.js rename to assets/CompetencyRadarChart-Bv4P4qFs.js index 439ba4a8214905b29a421828fc796aa3a87401dd..28d6101d039b3f72a9197316d1e539562d9453ba 100644 --- a/assets/CompetencyRadarChart-Dw0s090i.js +++ b/assets/CompetencyRadarChart-Bv4P4qFs.js @@ -1,2 +1,2 @@ -import{c as u,g as he,r as A,j as p}from"./vendor-react-Dexh7fmo.js";import{u as it,q as at,m as ot}from"./index-CUP7q97n.js";import{g as st,s as ke}from"./subjects-Cwbch54O.js";import{B as ct}from"./brain-CaMXLcPK.js";import{S as lt}from"./sparkles-Cg_SVFRk.js";import{f as b,x as w,y as qe,z as ut,A as We,D as ft,b as B,T as Ke,L as S,E as Ve,d as Ge,e as pt,F as He,H as dt,I as X,J as mt,K as yt,G as ht,M as we,N as vt,O as _e,r as gt,P as bt,R as xt,v as Pt}from"./generateCategoricalChart-CiUYzAvW.js";import{c as N}from"./clsx-B-dksMZM.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./trending-up-DmBYqjZb.js";import"./chart-column-D_9m8xSU.js";var Ot=["points","className","baseLinePoints","connectNulls"];function F(){return F=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function kt(t,e){if(t==null)return{};var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(e.indexOf(r)>=0)continue;n[r]=t[r]}return n}function Ae(t){return Et(t)||At(t)||_t(t)||wt()}function wt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +import{c as u,g as he,r as A,j as p}from"./vendor-react-Dexh7fmo.js";import{u as it,q as at,m as ot}from"./index-DGWrSMOK.js";import{g as st,s as ke}from"./subjects-DDYtJwQO.js";import{B as ct}from"./brain-DHmY5cbv.js";import{S as lt}from"./sparkles-DxmNHQEo.js";import{f as b,x as w,y as qe,z as ut,A as We,D as ft,b as B,T as Ke,L as S,E as Ve,d as Ge,e as pt,F as He,H as dt,I as X,J as mt,K as yt,G as ht,M as we,N as vt,O as _e,r as gt,P as bt,R as xt,v as Pt}from"./generateCategoricalChart-CiUYzAvW.js";import{c as N}from"./clsx-B-dksMZM.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./trending-up-B2MPUPwk.js";import"./chart-column-CJzwyNMx.js";var Ot=["points","className","baseLinePoints","connectNulls"];function F(){return F=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function kt(t,e){if(t==null)return{};var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(e.indexOf(r)>=0)continue;n[r]=t[r]}return n}function Ae(t){return Et(t)||At(t)||_t(t)||wt()}function wt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _t(t,e){if(t){if(typeof t=="string")return pe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return pe(t,e)}}function At(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Et(t){if(Array.isArray(t))return pe(t)}function pe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&arguments[0]!==void 0?arguments[0]:[],n=[[]];return e.forEach(function(r){Ee(r)?n[n.length-1].push(r):n[n.length-1].length>0&&n.push([])}),Ee(e[0])&&n[n.length-1].push(e[0]),n[n.length-1].length<=0&&(n=n.slice(0,-1)),n},V=function(e,n){var r=St(e);n&&(r=[r.reduce(function(a,o){return[].concat(Ae(a),Ae(o))},[])]);var i=r.map(function(a){return a.reduce(function(o,s,c){return"".concat(o).concat(c===0?"M":"L").concat(s.x,",").concat(s.y)},"")}).join("");return r.length===1?"".concat(i,"Z"):i},Nt=function(e,n,r){var i=V(e,r);return"".concat(i.slice(-1)==="Z"?i.slice(0,-1):i,"L").concat(V(n.reverse(),r).slice(1))},Ze=function(e){var n=e.points,r=e.className,i=e.baseLinePoints,a=e.connectNulls,o=jt(e,Ot);if(!n||!n.length)return null;var s=N("recharts-polygon",r);if(i&&i.length){var c=o.stroke&&o.stroke!=="none",d=Nt(n,i,a);return u.createElement("g",{className:s},u.createElement("path",F({},b(o,!0),{fill:d.slice(-1)==="Z"?o.fill:"none",stroke:"none",d})),c?u.createElement("path",F({},b(o,!0),{fill:"none",d:V(n,a)})):null,c?u.createElement("path",F({},b(o,!0),{fill:"none",d:V(i,a)})):null)}var f=V(n,a);return u.createElement("path",F({},b(o,!0),{fill:f.slice(-1)==="Z"?o.fill:"none",className:s,d:f}))},Tt=["cx","cy","innerRadius","outerRadius","gridType","radialLines"];function H(t){"@babel/helpers - typeof";return H=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(t)}function $t(t,e){if(t==null)return{};var n=Rt(t,e),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Rt(t,e){if(t==null)return{};var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(e.indexOf(r)>=0)continue;n[r]=t[r]}return n}function T(){return T=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Yt(t,e){if(t==null)return{};var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(e.indexOf(r)>=0)continue;n[r]=t[r]}return n}function Jt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Le(t,e){for(var n=0;nMe?o=i==="outer"?"start":"end":a<-Me?o=i==="outer"?"end":"start":o="middle",o}},{key:"renderAxisLine",value:function(){var r=this.props,i=r.cx,a=r.cy,o=r.radius,s=r.axisLine,c=r.axisLineType,d=L(L({},b(this.props,!1)),{},{fill:"none"},b(s,!1));if(c==="circle")return u.createElement(He,D({className:"recharts-polar-angle-axis-line"},d,{cx:i,cy:a,r:o}));var f=this.props.ticks,m=f.map(function(l){return w(i,a,o,l.coordinate)});return u.createElement(Ze,D({className:"recharts-polar-angle-axis-line"},d,{points:m}))}},{key:"renderTicks",value:function(){var r=this,i=this.props,a=i.ticks,o=i.tick,s=i.tickLine,c=i.tickFormatter,d=i.stroke,f=b(this.props,!1),m=b(o,!1),l=L(L({},f),{},{fill:"none"},b(s,!1)),v=a.map(function(y,h){var g=r.getTickLineCoord(y),O=r.getTickTextAnchor(y),j=L(L(L({textAnchor:O},f),{},{stroke:"none",fill:d},m),{},{index:h,payload:y,x:g.x2,y:g.y2});return u.createElement(S,D({className:N("recharts-polar-angle-axis-tick",Ve(o)),key:"tick-".concat(y.coordinate)},Ge(r.props,y,h)),s&&u.createElement("line",D({className:"recharts-polar-angle-axis-tick-line"},l,g)),o&&e.renderTickItem(o,j,c?c(y.value,h):y.value))});return u.createElement(S,{className:"recharts-polar-angle-axis-ticks"},v)}},{key:"render",value:function(){var r=this.props,i=r.ticks,a=r.radius,o=r.axisLine;return a<=0||!i||!i.length?null:u.createElement(S,{className:N("recharts-polar-angle-axis",this.props.className)},o&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(r,i,a){var o;return u.isValidElement(r)?o=u.cloneElement(r,i):B(r)?o=r(i):o=u.createElement(Ke,D({},i,{className:"recharts-polar-angle-axis-tick-value"}),a),o}}])})(A.PureComponent);ie(Y,"displayName","PolarAngleAxis");ie(Y,"axisType","angleAxis");ie(Y,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var ue,Ce;function pr(){if(Ce)return ue;Ce=1;function t(e){return e&&e.length?e[0]:void 0}return ue=t,ue}var fe,Be;function dr(){return Be||(Be=1,fe=pr()),fe}var mr=dr();const yr=he(mr);var hr=["key"];function W(t){"@babel/helpers - typeof";return W=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(t)}function vr(t,e){if(t==null)return{};var n=gr(t,e),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function gr(t,e){if(t==null)return{};var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(e.indexOf(r)>=0)continue;n[r]=t[r]}return n}function te(){return te=Object.assign?Object.assign.bind():function(t){for(var e=1;e=2&&(c=!0),d.push(P(P({},w(o,s,j,g)),{},{name:y,value:h,cx:o,cy:s,radius:j,angle:g,payload:l}))});var m=[];return c&&d.forEach(function(l){if(Array.isArray(l.value)){var v=yr(l.value),y=_e(v)?void 0:e.scale(v);m.push(P(P({},l),{},{radius:y},w(o,s,y,l.angle)))}else m.push(l)}),{points:d,isRange:c,baseLinePoints:m}});var _r=gt({chartName:"RadarChart",GraphicalChild:J,axisComponents:[{axisType:"angleAxis",AxisComp:Y},{axisType:"radiusAxis",AxisComp:U}],formatAxisMap:bt,defaultProps:{layout:"centric",startAngle:90,endAngle:-270,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}});const zr=()=>{const{userProfile:t}=it(),[e,n]=A.useState([]),[r,i]=A.useState([]),[a,o]=A.useState("N/A"),[s,c]=A.useState(!0),[d,f]=A.useState(!1),m=["#1FA7E1","#9956DE","#75D06A","#FFB356","#7274ED","#FF8B8B","#6ED1CF","#FB96BB"];return A.useEffect(()=>{if(!t?.uid){c(!1);return}const l=t.role==="student"?t.grade:null,y=st(l)[0]??"gen-math",h=ke.find(x=>x.id===y)?.modules||[],g=new Map;ke.forEach(x=>{x.modules.forEach($=>g.set($.id,x.id))});const O=h.map((x,$)=>({id:x.id,name:x.title.length>15?x.title.substring(0,15).trim()+"...":x.title,color:m[$%m.length]}));i(O);const j=[{key:"progress",label:"Overall Mastery"},{key:"concept",label:"Concept Grasp"},{key:"application",label:"Application"},{key:"engagement",label:"Engagement"},{key:"consistency",label:"Consistency"}],ae=x=>{let $=-1,ve="N/A";const ge=j.map(_=>{const K={metric:_.label,fullMark:100};return h.forEach(k=>{const I=g.get(k.id),M=I?x?.subjects?.[I]?.modulesProgress?.[k.id]:null,be=M?.progress||0,rt=x?.lessons??{},xe=k.lessons.length?k.lessons.reduce((Oe,je)=>{const se=rt?.[je.id]?.progressPercent;if(typeof se=="number"&&Number.isFinite(se))return Oe+Math.max(0,Math.min(100,se));const nt=!!M?.lessonsCompleted?.includes?.(je.id);return Oe+(nt?100:0)},0)/k.lessons.length:0,Pe=k.quizzes.length?(M?.quizzesCompleted?.length||0)/k.quizzes.length*100:0;let C=0;_.key==="progress"?C=be:_.key==="concept"?C=xe:_.key==="application"?C=Pe:_.key==="engagement"?C=Math.min(100,(xe+Pe*2)/1.5):_.key==="consistency"&&(C=Math.min(100,40+be*.6)),K[k.id]=C||0}),K});h.forEach(_=>{let K=0;ge.forEach(I=>{const M=I[_.id];K+=typeof M=="number"?M:0});const k=K/j.length;k>$&&($=k,ve=O.find(I=>I.id===_.id)?.name||"N/A")}),o(ve),n(ge),c(!1)};c(!0);const oe=at(t.uid,x=>{ae(x)});return()=>oe()},[t?.uid]),p.jsxs(ot.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,ease:[.22,1,.36,1]},className:"relative overflow-hidden bg-white/80 backdrop-blur-xl border border-white/50 shadow-[0_8px_30px_rgb(0,0,0,0.04)] rounded-[2rem] p-6 lg:p-8 isolate group",onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[p.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 bg-violet-400/5 rounded-full blur-3xl -translate-y-1/2 translate-x-1/4"}),p.jsx("div",{className:"absolute bottom-0 left-0 w-48 h-48 bg-rose-400/5 rounded-full blur-3xl translate-y-1/3 -translate-x-1/3"}),p.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between mb-8 relative z-10 gap-4",children:[p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[p.jsx("span",{className:"p-2 bg-violet-100 text-violet-600 rounded-xl",children:p.jsx(ct,{size:20,className:"stroke-[2.5]"})}),p.jsx("h3",{className:"text-xl font-display font-extrabold text-[#0a1628] tracking-tight",children:"Competency Matrix"})]}),p.jsx("p",{className:"text-sm text-[#5a6578] font-body ml-12",children:"Your realtime performance across modules"})]}),p.jsxs("div",{className:"flex items-center gap-3 bg-slate-50 border border-slate-100 px-4 py-2 rounded-2xl ml-12 sm:ml-0",children:[p.jsx("div",{className:"flex items-center justify-center w-8 h-8 rounded-full bg-white shadow-sm border border-slate-100",children:p.jsx(lt,{size:14,className:"text-amber-500"})}),p.jsxs("div",{children:[p.jsx("p",{className:"text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Top Module"}),p.jsx("p",{className:"text-sm font-bold text-slate-700",children:a})]})]})]}),p.jsx("div",{className:"h-[300px] sm:h-[360px] w-full relative z-10",children:s?p.jsx("div",{className:"w-full h-full flex items-center justify-center",children:p.jsxs("div",{className:"flex flex-col items-center gap-3",children:[p.jsx("div",{className:"w-8 h-8 border-4 border-violet-200 border-t-violet-500 rounded-full animate-spin"}),p.jsx("p",{className:"text-sm text-slate-400 font-medium",children:"Analyzing skill vectors..."})]})}):p.jsx(xt,{width:"100%",height:"100%",children:p.jsxs(_r,{cx:"50%",cy:"50%",outerRadius:d?"75%":"70%",data:e,children:[p.jsx(Ue,{stroke:"#e2e8f0",strokeDasharray:"4 4",polarRadius:[20,40,60,80,100]}),p.jsx(Y,{dataKey:"metric",tick:{fill:"#475569",fontSize:12,fontWeight:600,fontFamily:"Inter, sans-serif"}}),p.jsx(U,{angle:90,domain:[0,100],tick:{fill:"#94a3b8",fontSize:10},tickCount:6,axisLine:!1}),r.map(l=>p.jsx(J,{name:l.name,dataKey:l.id,stroke:l.color,strokeWidth:2,fill:l.color,fillOpacity:.35,dot:{r:3,fill:"#fff",stroke:l.color,strokeWidth:2},activeDot:{r:5,fill:l.color,stroke:"#fff",strokeWidth:2},isAnimationActive:!0,animationDuration:1500,animationEasing:"ease-out"},l.id)),p.jsx(Pt,{cursor:!1,content:({active:l,payload:v})=>l&&v&&v.length?p.jsxs("div",{className:"bg-white/95 backdrop-blur shadow-[0_10px_40px_-10px_rgba(0,0,0,0.15)] border border-slate-100 rounded-xl p-4",children:[p.jsx("p",{className:"font-display font-bold text-slate-800 text-sm mb-3",children:v[0].payload.metric}),p.jsx("div",{className:"flex flex-col gap-2",children:v.map(y=>p.jsxs("div",{className:"flex items-center justify-between gap-4",children:[p.jsxs("div",{className:"flex items-center gap-2",children:[p.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:y.stroke}}),p.jsx("span",{className:"text-xs font-bold text-slate-600 uppercase tracking-wide truncate max-w-[120px]",title:String(y.name),children:String(y.name)})]}),p.jsxs("span",{className:"text-sm font-black",style:{color:y.stroke},children:[Math.round(y.value),"%"]})]},y.name))})]}):null})]})})}),!s&&r.length>0&&p.jsx("div",{className:"flex flex-wrap justify-center items-center gap-3 md:gap-5 mt-[5px] z-10 relative",children:r.map(l=>p.jsxs("div",{className:"flex items-center gap-1.5",children:[p.jsx("div",{className:"w-2.5 h-2.5 rounded-full",style:{backgroundColor:l.color}}),p.jsx("span",{className:"text-[10px] font-bold text-slate-600 uppercase tracking-widest",children:l.name.length>15?l.name.substring(0,12)+"...":l.name})]},l.id))})]})};export{zr as CompetencyRadarChart}; diff --git a/assets/CompositeAvatar-DHpmR1ki.js b/assets/CompositeAvatar-CphZ-OWw.js similarity index 96% rename from assets/CompositeAvatar-DHpmR1ki.js rename to assets/CompositeAvatar-CphZ-OWw.js index 07d6a8de2ec9ba955b60be37569d9eab8f06d2f7..21c604e30153ad6a5c7ea85047704b63e524e212 100644 --- a/assets/CompositeAvatar-DHpmR1ki.js +++ b/assets/CompositeAvatar-CphZ-OWw.js @@ -1 +1 @@ -import{j as t}from"./vendor-react-Dexh7fmo.js";import{g as e}from"./avatarData-DykDiQ_Y.js";import{m as s}from"./index-CUP7q97n.js";const g=({layers:a,className:o="w-10 h-10 bg-slate-200 rounded-full",fallbackSrc:m})=>{const n=e(a?.top),i=e(a?.bottom),l=e(a?.shoes),r=e(a?.accessory),c=t.jsx("img",{src:"/avatar/avatar_body_base.png",alt:"base body",className:"absolute inset-0 w-full h-full object-contain z-10"}),u=t.jsxs(s.div,{className:"absolute inset-0 w-full h-full z-50 pointer-events-none",animate:{rotate:[-2,2,-2],y:[0,-3,0]},transition:{repeat:1/0,duration:4,ease:"easeInOut"},style:{originY:.7,originX:.5},children:[t.jsx(s.img,{src:"/avatar/left_horn.png",alt:"left horn",className:"absolute inset-0 w-full h-full object-contain origin-[50%_45%] z-0",animate:{rotate:[-4,4,-4]},transition:{repeat:1/0,duration:4,ease:"easeInOut"}}),t.jsx(s.img,{src:"/avatar/right_horn.png",alt:"right horn",className:"absolute inset-0 w-full h-full object-contain origin-[50%_45%] z-0",animate:{rotate:[4,-4,4]},transition:{repeat:1/0,duration:4,ease:"easeInOut"}}),t.jsx("img",{src:"/avatar/avatar_head_base.png",alt:"head base",className:"absolute inset-0 w-full h-full object-contain z-10"}),t.jsx(s.img,{src:"/avatar/eyes_default.png",alt:"Avatar Eyes",className:"absolute inset-0 w-full h-full object-contain z-10",style:{originY:"50%"},animate:{scaleY:[1,.1,1]},transition:{duration:.2,repeat:1/0,repeatDelay:3.8,ease:"easeInOut"}}),r&&t.jsx("img",{src:r,alt:"accessory",className:"absolute inset-0 w-full h-full object-contain z-20"})]});return!a||!a.top&&!a.bottom&&!a.shoes&&!a.accessory?t.jsxs("div",{className:`relative overflow-hidden ${o}`,children:[c,u]}):t.jsxs("div",{className:`relative overflow-hidden ${o}`,children:[c,i&&t.jsx("img",{src:i,alt:"bottom",className:"absolute inset-0 w-full h-full object-contain z-20"}),l&&t.jsx("img",{src:l,alt:"shoes",className:"absolute inset-0 w-full h-full object-contain z-30"}),n&&t.jsx("img",{src:n,alt:"top",className:"absolute inset-0 w-full h-full object-contain z-40"}),u]})};export{g as C}; +import{j as t}from"./vendor-react-Dexh7fmo.js";import{g as e}from"./avatarData-DykDiQ_Y.js";import{m as s}from"./index-DGWrSMOK.js";const g=({layers:a,className:o="w-10 h-10 bg-slate-200 rounded-full",fallbackSrc:m})=>{const n=e(a?.top),i=e(a?.bottom),l=e(a?.shoes),r=e(a?.accessory),c=t.jsx("img",{src:"/avatar/avatar_body_base.png",alt:"base body",className:"absolute inset-0 w-full h-full object-contain z-10"}),u=t.jsxs(s.div,{className:"absolute inset-0 w-full h-full z-50 pointer-events-none",animate:{rotate:[-2,2,-2],y:[0,-3,0]},transition:{repeat:1/0,duration:4,ease:"easeInOut"},style:{originY:.7,originX:.5},children:[t.jsx(s.img,{src:"/avatar/left_horn.png",alt:"left horn",className:"absolute inset-0 w-full h-full object-contain origin-[50%_45%] z-0",animate:{rotate:[-4,4,-4]},transition:{repeat:1/0,duration:4,ease:"easeInOut"}}),t.jsx(s.img,{src:"/avatar/right_horn.png",alt:"right horn",className:"absolute inset-0 w-full h-full object-contain origin-[50%_45%] z-0",animate:{rotate:[4,-4,4]},transition:{repeat:1/0,duration:4,ease:"easeInOut"}}),t.jsx("img",{src:"/avatar/avatar_head_base.png",alt:"head base",className:"absolute inset-0 w-full h-full object-contain z-10"}),t.jsx(s.img,{src:"/avatar/eyes_default.png",alt:"Avatar Eyes",className:"absolute inset-0 w-full h-full object-contain z-10",style:{originY:"50%"},animate:{scaleY:[1,.1,1]},transition:{duration:.2,repeat:1/0,repeatDelay:3.8,ease:"easeInOut"}}),r&&t.jsx("img",{src:r,alt:"accessory",className:"absolute inset-0 w-full h-full object-contain z-20"})]});return!a||!a.top&&!a.bottom&&!a.shoes&&!a.accessory?t.jsxs("div",{className:`relative overflow-hidden ${o}`,children:[c,u]}):t.jsxs("div",{className:`relative overflow-hidden ${o}`,children:[c,i&&t.jsx("img",{src:i,alt:"bottom",className:"absolute inset-0 w-full h-full object-contain z-20"}),l&&t.jsx("img",{src:l,alt:"shoes",className:"absolute inset-0 w-full h-full object-contain z-30"}),n&&t.jsx("img",{src:n,alt:"top",className:"absolute inset-0 w-full h-full object-contain z-40"}),u]})};export{g as C}; diff --git a/assets/ConfirmModal--kX4RdFk.js b/assets/ConfirmModal-B9CUrvQP.js similarity index 93% rename from assets/ConfirmModal--kX4RdFk.js rename to assets/ConfirmModal-B9CUrvQP.js index 096757978f0fad17242852a6f5c788e038021de5..bf11ed65c1232e778b3a67e684c87b41c7d27e79 100644 --- a/assets/ConfirmModal--kX4RdFk.js +++ b/assets/ConfirmModal-B9CUrvQP.js @@ -1 +1 @@ -import{j as e}from"./vendor-react-Dexh7fmo.js";import{B as i}from"./button-DWdPuxDU.js";import{e as f,m as r,T as h}from"./index-CUP7q97n.js";import{X as y}from"./x-DSPvcKpY.js";import{T as j}from"./trash-2-DhgLaJ_c.js";import{L as w}from"./log-out-DSwWLQA-.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const O=({isOpen:s,onClose:t,onConfirm:n,title:a,message:l,confirmText:c="Confirm",cancelText:d="Cancel",type:m="warning",icon:x="warning",zIndexClass:g="z-50"})=>{const b=()=>{switch(x){case"logout":return e.jsx(w,{size:32});case"delete":return e.jsx(j,{size:32});case"warning":default:return e.jsx(h,{size:32})}},o=(()=>{switch(m){case"danger":return{iconBg:"bg-red-100",iconColor:"text-red-600",buttonBg:"bg-red-600 hover:bg-red-700",buttonText:"text-white"};case"warning":return{iconBg:"bg-rose-100",iconColor:"text-rose-600",buttonBg:"bg-rose-600 hover:bg-rose-700",buttonText:"text-white"};case"info":default:return{iconBg:"bg-sky-100",iconColor:"text-sky-600",buttonBg:"bg-sky-600 hover:bg-sky-700",buttonText:"text-white"}}})(),p=async()=>{try{await n(),t()}catch{}};return e.jsx(f,{children:s&&e.jsx(e.Fragment,{children:e.jsx(r.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:`fixed inset-0 bg-black/50 backdrop-blur-sm ${g} flex items-center justify-center p-4`,children:e.jsxs(r.div,{initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:20},transition:{type:"spring",damping:25,stiffness:300},onClick:u=>u.stopPropagation(),className:"bg-[#f7f9fc] rounded-3xl shadow-2xl max-w-md w-full overflow-hidden border border-[#dde3eb]",children:[e.jsx("button",{onClick:t,className:"absolute top-4 right-4 p-2 text-slate-500 hover:text-[#0a1628] hover:bg-[#dde3eb] rounded-xl transition-colors z-10",children:e.jsx(y,{size:20})}),e.jsxs("div",{className:"p-8 text-center",children:[e.jsx(r.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1,type:"spring",damping:15},className:`w-20 h-20 ${o.iconBg} rounded-full flex items-center justify-center mx-auto mb-6 ${o.iconColor}`,children:b()}),e.jsx("h2",{className:"text-2xl font-display font-bold text-[#0a1628] mb-3",children:a}),e.jsx("p",{className:"text-[#5a6578] mb-8 leading-relaxed",children:l}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(i,{onClick:t,variant:"outline",size:"lg",className:"flex-1 h-12 rounded-xl border-[#dde3eb] hover:border-[#d1cec6] hover:bg-[#edf1f7] font-bold",children:d}),e.jsx(i,{onClick:p,size:"lg",className:`flex-1 h-12 rounded-xl font-bold ${o.buttonBg} ${o.buttonText} transition-colors shadow-lg`,children:c})]})]})]})})})})};export{O as default}; +import{j as e}from"./vendor-react-Dexh7fmo.js";import{B as i}from"./button-DWdPuxDU.js";import{e as f,m as r,T as h}from"./index-DGWrSMOK.js";import{X as y}from"./x-Bj25rnWX.js";import{T as j}from"./trash-2-CBQVcuBL.js";import{L as w}from"./log-out-DYYu4gFF.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const O=({isOpen:s,onClose:t,onConfirm:n,title:a,message:l,confirmText:c="Confirm",cancelText:d="Cancel",type:m="warning",icon:x="warning",zIndexClass:g="z-50"})=>{const b=()=>{switch(x){case"logout":return e.jsx(w,{size:32});case"delete":return e.jsx(j,{size:32});case"warning":default:return e.jsx(h,{size:32})}},o=(()=>{switch(m){case"danger":return{iconBg:"bg-red-100",iconColor:"text-red-600",buttonBg:"bg-red-600 hover:bg-red-700",buttonText:"text-white"};case"warning":return{iconBg:"bg-rose-100",iconColor:"text-rose-600",buttonBg:"bg-rose-600 hover:bg-rose-700",buttonText:"text-white"};case"info":default:return{iconBg:"bg-sky-100",iconColor:"text-sky-600",buttonBg:"bg-sky-600 hover:bg-sky-700",buttonText:"text-white"}}})(),p=async()=>{try{await n(),t()}catch{}};return e.jsx(f,{children:s&&e.jsx(e.Fragment,{children:e.jsx(r.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:`fixed inset-0 bg-black/50 backdrop-blur-sm ${g} flex items-center justify-center p-4`,children:e.jsxs(r.div,{initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:20},transition:{type:"spring",damping:25,stiffness:300},onClick:u=>u.stopPropagation(),className:"bg-[#f7f9fc] rounded-3xl shadow-2xl max-w-md w-full overflow-hidden border border-[#dde3eb]",children:[e.jsx("button",{onClick:t,className:"absolute top-4 right-4 p-2 text-slate-500 hover:text-[#0a1628] hover:bg-[#dde3eb] rounded-xl transition-colors z-10",children:e.jsx(y,{size:20})}),e.jsxs("div",{className:"p-8 text-center",children:[e.jsx(r.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.1,type:"spring",damping:15},className:`w-20 h-20 ${o.iconBg} rounded-full flex items-center justify-center mx-auto mb-6 ${o.iconColor}`,children:b()}),e.jsx("h2",{className:"text-2xl font-display font-bold text-[#0a1628] mb-3",children:a}),e.jsx("p",{className:"text-[#5a6578] mb-8 leading-relaxed",children:l}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(i,{onClick:t,variant:"outline",size:"lg",className:"flex-1 h-12 rounded-xl border-[#dde3eb] hover:border-[#d1cec6] hover:bg-[#edf1f7] font-bold",children:d}),e.jsx(i,{onClick:p,size:"lg",className:`flex-1 h-12 rounded-xl font-bold ${o.buttonBg} ${o.buttonText} transition-colors shadow-lg`,children:c})]})]})]})})})})};export{O as default}; diff --git a/assets/DashboardAvatar-CnjSyEt5.js b/assets/DashboardAvatar-MX9hSo-6.js similarity index 96% rename from assets/DashboardAvatar-CnjSyEt5.js rename to assets/DashboardAvatar-MX9hSo-6.js index 5f989a7d2b8ea57758ee2bab3164fda24a3967d8..75295d31350c41e655e361bd05845bcba2cd3b8f 100644 --- a/assets/DashboardAvatar-CnjSyEt5.js +++ b/assets/DashboardAvatar-MX9hSo-6.js @@ -1 +1 @@ -import{j as a}from"./vendor-react-Dexh7fmo.js";import{g as e}from"./avatarData-DykDiQ_Y.js";import{m as r}from"./index-CUP7q97n.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const x=({className:l="w-full h-full",layers:s})=>{const t="absolute inset-0 w-full h-full object-contain object-bottom",o=e(s?.top),i=e(s?.bottom),n=e(s?.shoes),c=e(s?.accessory);return a.jsxs("div",{className:`relative flex items-end justify-center ${l}`,children:[a.jsx("img",{src:"/avatar/avatar_body_base.png",alt:"Avatar Body",className:`${t} z-10`}),i&&a.jsx("img",{src:i,alt:"Pants",className:`${t} z-[12]`}),n&&a.jsx("img",{src:n,alt:"Shoes",className:`${t} z-[11]`}),o&&a.jsx("img",{src:o,alt:"Uniform",className:`${t} z-[13]`}),a.jsxs(r.div,{className:"absolute inset-0 w-full h-full z-30",style:{originY:"80%"},animate:{rotate:[-2,2,-2]},transition:{duration:4,ease:"easeInOut",repeat:1/0},children:[a.jsx("img",{src:"/avatar/avatar_head_base.png",alt:"Avatar Head",className:`${t} z-[1]`}),a.jsx(r.img,{src:"/avatar/eyes_default.png",alt:"Avatar Eyes",className:`${t} z-[2]`,style:{originY:"50%"},animate:{scaleY:[1,.1,1]},transition:{duration:.2,repeat:1/0,repeatDelay:3.8,ease:"easeInOut"}}),a.jsxs(r.div,{className:`${t} z-[3]`,style:{originY:"bottom"},animate:{rotate:[1,-1,1]},transition:{duration:3.5,ease:"easeInOut",repeat:1/0},children:[a.jsx("img",{src:"/avatar/left_horn.png",alt:"Left Horn",className:t}),a.jsx("img",{src:"/avatar/right_horn.png",alt:"Right Horn",className:t})]}),c&&a.jsx("img",{src:c,alt:"Accessory",className:`${t} z-[4]`})]})]})};export{x as DashboardAvatar,x as default}; +import{j as a}from"./vendor-react-Dexh7fmo.js";import{g as e}from"./avatarData-DykDiQ_Y.js";import{m as r}from"./index-DGWrSMOK.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const x=({className:l="w-full h-full",layers:s})=>{const t="absolute inset-0 w-full h-full object-contain object-bottom",o=e(s?.top),i=e(s?.bottom),n=e(s?.shoes),c=e(s?.accessory);return a.jsxs("div",{className:`relative flex items-end justify-center ${l}`,children:[a.jsx("img",{src:"/avatar/avatar_body_base.png",alt:"Avatar Body",className:`${t} z-10`}),i&&a.jsx("img",{src:i,alt:"Pants",className:`${t} z-[12]`}),n&&a.jsx("img",{src:n,alt:"Shoes",className:`${t} z-[11]`}),o&&a.jsx("img",{src:o,alt:"Uniform",className:`${t} z-[13]`}),a.jsxs(r.div,{className:"absolute inset-0 w-full h-full z-30",style:{originY:"80%"},animate:{rotate:[-2,2,-2]},transition:{duration:4,ease:"easeInOut",repeat:1/0},children:[a.jsx("img",{src:"/avatar/avatar_head_base.png",alt:"Avatar Head",className:`${t} z-[1]`}),a.jsx(r.img,{src:"/avatar/eyes_default.png",alt:"Avatar Eyes",className:`${t} z-[2]`,style:{originY:"50%"},animate:{scaleY:[1,.1,1]},transition:{duration:.2,repeat:1/0,repeatDelay:3.8,ease:"easeInOut"}}),a.jsxs(r.div,{className:`${t} z-[3]`,style:{originY:"bottom"},animate:{rotate:[1,-1,1]},transition:{duration:3.5,ease:"easeInOut",repeat:1/0},children:[a.jsx("img",{src:"/avatar/left_horn.png",alt:"Left Horn",className:t}),a.jsx("img",{src:"/avatar/right_horn.png",alt:"Right Horn",className:t})]}),c&&a.jsx("img",{src:c,alt:"Accessory",className:`${t} z-[4]`})]})]})};export{x as DashboardAvatar,x as default}; diff --git a/assets/DiagnosticAssessmentModal-B520o5zz.js b/assets/DiagnosticAssessmentModal-BoOvPWwv.js similarity index 97% rename from assets/DiagnosticAssessmentModal-B520o5zz.js rename to assets/DiagnosticAssessmentModal-BoOvPWwv.js index 930a25a846196b0edb4625c7b031af84c22bcb44..c391d48cb74b4de8728d9ef3188e1cf5de7101c4 100644 --- a/assets/DiagnosticAssessmentModal-B520o5zz.js +++ b/assets/DiagnosticAssessmentModal-BoOvPWwv.js @@ -1 +1 @@ -import{r as m,c as z,j as e}from"./vendor-react-Dexh7fmo.js";import{B as E}from"./button-DWdPuxDU.js";import{M as ye}from"./MathAnswerInput-BCqSwAnE.js";import be from"./ScientificCalculator-1iS2ZTqh.js";import{triggerDiagnosticCompleted as ge}from"./automationService-CH2Qjv3D.js";import{m as g,C as T,e as O,T as Q}from"./index-CUP7q97n.js";import{B as J}from"./brain-CaMXLcPK.js";import{X as Z}from"./x-DSPvcKpY.js";import{C as ee}from"./circle-check-big-5ddhW4zc.js";import{C as ve}from"./chevron-right-BKVsZIKp.js";import{C as we}from"./chart-column-D_9m8xSU.js";import{T as je}from"./trending-up-DmBYqjZb.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./apiService-BmQUiVGe.js";import"./chevron-up-B9_iMYGp.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const H="iar-v2-deped-g11-core-g12-candidate-shortform",ae=[{id:"iar-fn-01",topicArea:"Functions",gradeLevel:"G11",quarter:1,difficulty:"basic",competencyCode:"M11GM-Ia-2",competencyDescription:"Evaluates a function and solves basic linear expressions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"Solve for x: 3x - 4 = 17",options:["5","6","7","8"],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:35},{id:"iar-fn-02",topicArea:"Functions",gradeLevel:"G11",quarter:1,difficulty:"standard",competencyCode:"M11GM-Ib-5",competencyDescription:"Finds the domain of a rational function.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"What is the domain of f(x) = 5 / (x - 2)?",options:["All real numbers","x > 2","x ≠ 2","x < 2"],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-fn-03",topicArea:"Functions",gradeLevel:"G11",quarter:2,difficulty:"standard",competencyCode:"M11GM-Ie-f-1",competencyDescription:"Solves exponential equations in real-life growth contexts.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"A quantity doubles every hour. If it starts at 3, what is the value after 4 hours?",acceptableNumericAnswers:[48],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:55},{id:"iar-fn-04",topicArea:"Functions",gradeLevel:"G11",quarter:2,difficulty:"challenge",competencyCode:"M11GM-Ii-4",competencyDescription:"Determines intercepts and asymptotic behavior of logarithmic functions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"Which statement is true for f(x) = log(x - 1)?",options:["Domain is all real numbers.","Vertical asymptote is x = 1.","x-intercept is always 0.","Range is x > 1."],correctOptionIndex:1,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:55},{id:"iar-fn-c1",topicArea:"Functions",gradeLevel:"G11",quarter:2,difficulty:"standard",competencyCode:"M11GM-Id-2",competencyDescription:"Determines the inverse of a one-to-one function.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"If f(x) = 2x + 3, what is f⁻¹(11)?",acceptableNumericAnswers:[4],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:35},{id:"iar-bm-01",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"basic",competencyCode:"M11GM-IIa-b-1",competencyDescription:"Computes simple interest and maturity value.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"Find the simple interest on PHP 8,000 at 5% annual rate for 2 years.",acceptableNumericAnswers:[800],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-bm-02",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"standard",competencyCode:"M11GM-IIa-2",competencyDescription:"Distinguishes simple and compound interest contexts.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"Which statement correctly describes compound interest?",options:["Interest is based only on original principal.","Interest is computed once at maturity.","Interest is computed on principal plus accumulated interest.","Interest is always lower than simple interest."],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-bm-03",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"standard",competencyCode:"M11GM-IIc-d-1",competencyDescription:"Computes annuity future value in basic settings.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"A student saves PHP 1,000 monthly for 6 months with no interest. What is the accumulated amount?",options:["PHP 5,000","PHP 6,000","PHP 7,000","PHP 12,000"],correctOptionIndex:1,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40},{id:"iar-bm-04",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"challenge",competencyCode:"M11GM-IIf-3",competencyDescription:"Solves business and consumer loan scenarios.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"A borrower receives PHP 20,000 and repays PHP 22,400 after 1 year. What is the annual simple interest rate?",options:["8%","10%","12%","14%"],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:60},{id:"iar-bm-c1",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"standard",competencyCode:"M11GM-IIc-d-1",competencyDescription:"Finds future value and present value of annuities.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"Without interest, what is the present value of a 12-month annuity paying PHP 500 each month?",acceptableNumericAnswers:[6e3],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40},{id:"iar-lg-01",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"basic",competencyCode:"M11GM-IIg-1",competencyDescription:"Identifies and negates propositions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:'If p is "All triangles have three sides," what is not p?',options:["Some triangles have three sides.","No triangle has three sides.","At least one triangle does not have three sides.","All triangles are polygons."],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-lg-02",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"standard",competencyCode:"M11GM-IIh-1",competencyDescription:"Determines truth values of compound propositions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"When p is true and q is false, what is the truth value of p -> q?",options:["True","False","Cannot be determined","Both true and false"],correctOptionIndex:1,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40},{id:"iar-lg-03",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"standard",competencyCode:"M11GM-IIi-1",competencyDescription:"Identifies common reasoning fallacies in short arguments.",answerType:"shortAnswerText",depedBasis:"depedPattern",prompt:'A post says, "Everyone in my class passed because we used this lucky pen." Type the best label for this weak reasoning.',acceptableTextAnswers:["false cause","false causation","post hoc","hasty generalization"],isConfidenceProbe:!1,scorable:!0,estimatedSeconds:60},{id:"iar-lg-04",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"challenge",competencyCode:"M11GM-IIi-2",competencyDescription:"Determines the validity of categorical syllogisms.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"All squares are rectangles. All rectangles are quadrilaterals. Therefore all squares are quadrilaterals. This argument is:",options:["Valid","Invalid","A fallacy of composition","A contradiction"],correctOptionIndex:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:55},{id:"iar-lg-c1",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"standard",competencyCode:"M11GM-IIj-1",competencyDescription:"Illustrates methods of proof and disproof.",answerType:"MCQ",depedBasis:"depedPattern",prompt:'To prove "if n is even then n² is even," which method is commonly used?',options:["Direct proof","Proof by contradiction only","Survey method","Graph sketch only"],correctOptionIndex:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40}];function Ne(s){return s>=75?"Mastered":s>=40?"NeedsReview":"HighRisk"}function Ce(){return ae.filter(s=>s.depedBasis==="depedPattern"&&!!s.competencyCode)}function ke(s=ae){const n=s.reduce((p,h)=>p+h.estimatedSeconds,0);return Math.round(n/60*10)/10}const te={Functions:"Functions and Graphs",BusinessMath:"Business and Financial Mathematics",Logic:"Logic and Reasoning"},Me={atRiskSubjectIds:[],questionSetVersion:H},x=Ce(),se=s=>s.trim().toLowerCase().replace(/\s+/g," "),re=(s,n)=>{if(!s.scorable)return!1;if(s.answerType==="MCQ")return typeof n=="number"&&n===s.correctOptionIndex;if(s.answerType==="shortAnswerNumeric"){if(typeof n!="string")return!1;const p=Number(n);if(Number.isNaN(p))return!1;const h=s.numericTolerance??0;return(s.acceptableNumericAnswers||[]).some(B=>Math.abs(p-B)<=h)}if(s.answerType==="shortAnswerText"){if(typeof n!="string")return!1;const p=se(n);return(s.acceptableTextAnswers||[]).some(h=>se(h)===p)}return!1},Ae=s=>s==="Mastered"?"text-teal-600 bg-teal-50":s==="NeedsReview"?"text-amber-700 bg-amber-50":"text-red-600 bg-red-50",Ie=s=>s==="NeedsReview"?"Needs Review":s==="HighRisk"?"High Risk":"Mastered",et=({isOpen:s,onClose:n,onComplete:p,lrn:h,gradeLevel:B="Grade 11",workflowMode:ie="iar_only",assessmentType:N="initial_assessment"})=>{const[v,L]=m.useState("intro"),[y,W]=m.useState(0),[ne,_]=m.useState([]),[C,I]=m.useState(""),[w,j]=m.useState(!1),[oe,b]=m.useState(!1),[a,q]=m.useState(null),[u,$]=m.useState(null),[k,V]=m.useState([]),[Se,U]=m.useState(!1);z.useEffect(()=>{s&&(L("intro"),W(0),_([]),I(""),j(!1),b(!1),q(null),$(null),V([]))},[s]),z.useEffect(()=>{if(!s||v!=="test"){b(!1);return}if(y>0||w){b(!1);return}b(!0);const t=window.setTimeout(()=>{b(!1)},2800);return()=>window.clearTimeout(t)},[s,v,y,w]);const ce=()=>{p({status:"skipped",...Me}),n()},R=()=>{n()};z.useEffect(()=>{if(!s)return;const t=i=>{i.key==="Escape"&&R()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[s]);const le=()=>{L("test")},de=t=>{_(t),I(""),j(!1),y{W(i=>i+1)},300):pe(t)},K=t=>{const i=[...ne];i[y]=t,de(i)},G=()=>{C.trim()&&K(C.trim())},pe=async t=>{const i=[],S={Functions:{correct:0,total:0},BusinessMath:{correct:0,total:0},Logic:{correct:0,total:0}},fe={Functions:[],BusinessMath:[],Logic:[]},P={};x.forEach((r,c)=>{const l=t[c];if(r.answerType==="confidenceLikert"&&typeof l=="number"&&fe[r.topicArea].push(l+1),!r.scorable)return;const d=re(r,l);S[r.topicArea].total+=1,d&&(S[r.topicArea].correct+=1),P[r.topicArea]||(P[r.topicArea]=[]),P[r.topicArea].push({correct:d,questionId:r.id,difficulty:r.difficulty,gradeLevelTag:r.gradeLevel,quarter:r.quarter,answerType:r.answerType})});const o=Object.keys(S).reduce((r,c)=>{const{correct:l,total:d}=S[c],M=d>0?Math.round(l/d*100):0,A=Ne(M);return A!=="Mastered"&&i.push(c),r[c]={correct:l,total:d,scorePercent:M,classification:A},r},{}),D=x.filter(r=>r.scorable&&r.gradeLevel==="G12Candidate"),xe=D.reduce((r,c)=>{const l=x.findIndex(d=>d.id===c.id);return r+(re(c,t[l])?1:0)},0),F=D.length>0?xe/D.length:1,he={readyForFiniteMath:Object.values(o).filter(r=>r.classification==="Mastered").length/3>=.67&&o.Functions.classification!=="HighRisk"&&o.BusinessMath.classification!=="HighRisk"&&F>=.5,readyForAdvancedStats:o.Logic.classification==="Mastered"&&F>=.67,readyForCalcIntro:o.Functions.classification==="Mastered"&&F>=.67,needsStrongerFunctions:o.Functions.classification!=="Mastered",needsStrongerBusinessMath:o.BusinessMath.classification!=="Mastered"};if(Object.keys(o).sort((r,c)=>{const l=o[r],d=o[c],M=X=>X==="HighRisk"?0:X==="NeedsReview"?1:2,A=M(l.classification)-M(d.classification);return A!==0?A:l.scorePercent-d.scorePercent}),V(i),q(o),$(he),L("results"),h){U(!0);try{const r=Object.keys(o).map(c=>({subject:c,score:o[c].scorePercent}));await ge(h,r,B,P,ie,N),console.log("[OK] Automation: diagnostic pipeline completed")}catch(r){console.error("[WARN] Automation: diagnostic pipeline failed:",r)}finally{U(!1)}}},me=()=>{if(!a||!u){p({status:"completed",atRiskSubjectIds:k,questionSetVersion:H}),n();return}p({status:"completed",atRiskSubjectIds:k,topicScores:{Functions:a.Functions.scorePercent,BusinessMath:a.BusinessMath.scorePercent,Logic:a.Logic.scorePercent},topicClassifications:{Functions:a.Functions.classification,BusinessMath:a.BusinessMath.classification,Logic:a.Logic.classification},priorityTopics:Object.keys(a).sort((t,i)=>a[t].scorePercent-a[i].scorePercent),g12ReadinessIndicators:u,questionSetVersion:H}),n()},f=x[y],Y=Math.round(y/x.length*100),ue=ke(x);return s?e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",onClick:()=>{R()},children:[e.jsxs(g.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},className:"bg-white rounded-3xl shadow-2xl max-w-2xl w-full flex flex-col max-h-[90vh] pointer-events-auto overflow-hidden relative z-[51]",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"px-8 py-6 border-b border-[#dde3eb] flex items-center justify-between bg-[#edf1f7] flex-shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-sky-100 rounded-xl flex items-center justify-center text-sky-600",children:e.jsx(J,{size:24})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-[#0a1628]",children:N==="followup_diagnostic"?"Deep Diagnostic":"Initial Assessment"}),e.jsx("p",{className:"text-sm text-[#5a6578]",children:"Analyze your strengths & weaknesses"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 relative",children:[e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>{j(!w),b(!1)},className:`relative w-10 h-10 rounded-xl flex items-center justify-center transition-all duration-200 border-2 ${w?"bg-sky-100 border-sky-300 text-sky-700 shadow-sm":"bg-white border-[#dde3eb] text-slate-500 hover:text-sky-600 hover:border-sky-200 hover:bg-sky-50"}`,title:"Toggle Calculator",children:e.jsx(T,{size:20})}),e.jsx(O,{children:s&&v==="test"&&oe&&!w&&e.jsxs(g.div,{initial:{opacity:0,y:10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:10,scale:.95},className:"absolute right-0 top-full mt-3 w-[260px] bg-[#0a1628] text-white border border-[#2a3648] rounded-2xl p-4 shadow-2xl z-50 pointer-events-none",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-sky-500/20 flex items-center justify-center flex-shrink-0",children:e.jsx(T,{size:16,className:"text-sky-400"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-bold text-sm mb-1",children:"Calculator Available"}),e.jsx("p",{className:"text-xs text-slate-300 leading-relaxed",children:"You can freely use the scientific calculator at any time during this quiz."})]})]}),e.jsx("div",{className:"absolute -top-2 right-4 w-4 h-4 bg-[#0a1628] border-l border-t border-[#2a3648] rotate-45 rounded-tl-sm"})]})})]}),e.jsx("button",{onClick:()=>{R()},className:"w-10 h-10 rounded-xl flex items-center justify-center text-slate-500 border-2 border-transparent hover:text-[#5a6578] hover:bg-[#dde3eb] hover:border-[#dde3eb] transition-all",title:"Close assessment",children:e.jsx(Z,{size:20})})]})]}),e.jsx("div",{className:"p-8 overflow-y-auto",children:e.jsxs(O,{mode:"wait",children:[v==="intro"&&e.jsxs(g.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},className:"text-center space-y-6",children:[e.jsx("div",{className:"w-32 h-32 bg-sky-50 rounded-full flex items-center justify-center mx-auto mb-6",children:e.jsx(T,{size:64,className:"text-sky-600"})}),e.jsx("h3",{className:"text-2xl font-bold text-[#0a1628]",children:N==="followup_diagnostic"?"Let's close the gaps":"Welcome to MathPulse AI!"}),e.jsx("p",{className:"text-[#5a6578] max-w-md mx-auto leading-relaxed",children:N==="followup_diagnostic"?"You have pending weak-area checks from your initial assessment. Complete this deep diagnostic to unlock regular modules and practice.":`To personalize your learning path, complete a DepEd competency-based SHS diagnostic (${x.length} items, around ${ue} minutes).`}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 max-w-lg mx-auto text-left",children:[e.jsxs("div",{className:"bg-[#edf1f7] p-4 rounded-xl border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center gap-2 font-bold text-[#0a1628] mb-1",children:[e.jsx(ee,{size:16,className:"text-teal-500"}),"Personalized Path"]}),e.jsx("p",{className:"text-xs text-[#5a6578] pl-6",children:"Get recommendations based on your level."})]}),e.jsxs("div",{className:"bg-[#edf1f7] p-4 rounded-xl border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center gap-2 font-bold text-[#0a1628] mb-1",children:[e.jsx(Q,{size:16,className:"text-rose-500"}),"Identify Risks"]}),e.jsx("p",{className:"text-xs text-[#5a6578] pl-6",children:"Spot areas that need more attention early."})]})]}),e.jsxs("div",{className:"pt-4 space-y-3",children:[e.jsx(E,{onClick:le,className:"bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white px-8 py-6 rounded-xl text-lg font-bold shadow-lg shadow-sky-200 w-full max-w-xs mx-auto",children:N==="followup_diagnostic"?"Start Deep Diagnostic":"Start Assessment"}),e.jsx("button",{onClick:()=>{ce()},className:"block mx-auto text-sm text-slate-500 hover:text-[#5a6578] transition-colors font-medium",children:"Skip for now →"})]})]},"intro"),v==="test"&&e.jsxs(g.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},className:"space-y-8",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm font-bold text-[#5a6578] mb-2",children:[e.jsxs("span",{children:["Question ",y+1," of ",x.length]}),e.jsxs("span",{children:[Y,"% Completed"]})]}),e.jsx("div",{className:"h-2 bg-[#edf1f7] rounded-full overflow-hidden mb-8",children:e.jsx(g.div,{className:"h-full bg-sky-600 rounded-full",initial:{width:0},animate:{width:`${Y}%`}})}),e.jsxs("div",{className:"bg-[#edf1f7] p-6 rounded-2xl border border-[#dde3eb] mb-6",children:[e.jsxs("p",{className:"text-xs font-bold uppercase tracking-wide text-slate-500 mb-2",children:[te[f.topicArea]," • ",f.difficulty]}),e.jsx("h3",{className:"text-xl font-bold text-[#0a1628] leading-relaxed",children:f.prompt})]}),(f.answerType==="MCQ"||f.answerType==="confidenceLikert")&&e.jsx("div",{className:"grid grid-cols-1 gap-3",children:(f.options||[]).map((t,i)=>e.jsxs("button",{onClick:()=>K(i),className:"w-full text-left p-4 rounded-xl border-2 border-[#dde3eb] hover:border-indigo-600 hover:bg-sky-50 transition-all font-medium text-[#0a1628] group flex items-center justify-between",children:[e.jsxs("span",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"w-8 h-8 rounded-lg bg-white border border-[#dde3eb] flex items-center justify-center text-sm font-bold text-[#5a6578] group-hover:border-sky-300 group-hover:text-sky-600",children:String.fromCharCode(65+i)}),t]}),e.jsx(ve,{size:18,className:"opacity-0 group-hover:opacity-100 text-sky-600 transition-opacity"})]},i))}),(f.answerType==="shortAnswerNumeric"||f.answerType==="shortAnswerText")&&e.jsxs("div",{className:"space-y-3",children:[f.answerType==="shortAnswerNumeric"?e.jsx(e.Fragment,{children:e.jsx(ye,{value:C,onChange:I,placeholder:"Type numeric answer",onSubmit:G,onCalculatorOpen:()=>{j(!0),b(!1)}})}):e.jsx("input",{id:"diagnostic-short-answer",name:"diagnostic-short-answer","aria-label":"Short answer response",value:C,onChange:t=>I(t.target.value),onKeyDown:t=>{t.key==="Enter"&&G()},className:"w-full p-4 rounded-xl border-2 border-[#dde3eb] focus:outline-none focus:ring-2 focus:ring-sky-200 focus:border-sky-500",placeholder:"Type short answer"}),e.jsx(E,{onClick:G,disabled:!C.trim(),className:"w-full bg-sky-600 hover:bg-sky-700 text-white py-3 rounded-xl font-bold",children:"Submit Answer"})]})]},"test"),v==="results"&&e.jsxs(g.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"text-center space-y-6",children:[e.jsx("div",{className:"w-24 h-24 bg-teal-100 rounded-full flex items-center justify-center mx-auto mb-4 animate-bounce",children:e.jsx(ee,{size:48,className:"text-teal-600"})}),e.jsx("h3",{className:"text-2xl font-bold text-[#0a1628]",children:"Assessment Completed!"}),e.jsx("p",{className:"text-[#5a6578]",children:"We computed topic-level placement from your IAR responses."}),e.jsxs("div",{className:"bg-[#edf1f7] rounded-2xl p-6 border border-[#dde3eb] text-left space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(we,{size:18,strokeWidth:2.4})}),e.jsx("h4",{className:"font-display font-black text-[22px] text-slate-800 tracking-tight",children:"Topic Analysis"})]}),e.jsx("div",{className:"space-y-3",children:a&&Object.keys(a).map(t=>e.jsxs("div",{className:"flex items-center justify-between p-3 bg-white rounded-xl border border-[#dde3eb]",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-[#0a1628]",children:te[t]}),e.jsxs("p",{className:"text-xs text-slate-500",children:[a[t].correct,"/",a[t].total," correct • ",a[t].scorePercent,"%"]})]}),e.jsxs("span",{className:`text-xs font-bold px-2 py-1 rounded-lg flex items-center gap-1 ${Ae(a[t].classification)}`,children:[a[t].classification==="Mastered"?e.jsx(je,{size:12}):e.jsx(Q,{size:12}),Ie(a[t].classification)]})]},t))})]}),u&&e.jsxs("div",{className:"bg-sky-50 rounded-2xl p-6 border border-sky-100 text-left space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(J,{size:18,strokeWidth:2.4})}),e.jsx("h4",{className:"font-display font-black text-[22px] text-slate-800 tracking-tight",children:"Grade 12 Readiness Signals"})]}),e.jsx("p",{className:"text-xs text-slate-600",children:"These indicators come from challenge and candidate items only."}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-2 text-xs",children:[e.jsxs("span",{className:`px-2 py-1 rounded-md font-bold ${u.readyForFiniteMath?"bg-teal-50 text-teal-700":"bg-slate-100 text-slate-600"}`,children:["Finite Math: ",u.readyForFiniteMath?"Ready":"Build More"]}),e.jsxs("span",{className:`px-2 py-1 rounded-md font-bold ${u.readyForAdvancedStats?"bg-teal-50 text-teal-700":"bg-slate-100 text-slate-600"}`,children:["Advanced Stats: ",u.readyForAdvancedStats?"Ready":"Build More"]}),e.jsxs("span",{className:`px-2 py-1 rounded-md font-bold ${u.readyForCalcIntro?"bg-teal-50 text-teal-700":"bg-slate-100 text-slate-600"}`,children:["Calculus Intro: ",u.readyForCalcIntro?"Ready":"Build More"]})]})]}),k.length>0&&e.jsxs("div",{className:"flex items-start gap-3 p-4 bg-rose-50 border border-rose-100 rounded-xl text-left",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-rose-100 border border-rose-200 flex items-center justify-center text-rose-600 shadow-inner shrink-0",children:e.jsx(Q,{size:18,strokeWidth:2.3})}),e.jsxs("div",{children:[e.jsx("h5",{className:"font-display font-black text-[20px] tracking-tight text-rose-800 leading-none mb-1",children:"Attention Needed"}),e.jsxs("p",{className:"text-rose-700 text-xs mt-1",children:["We flagged ",k.length," topic area",k.length>1?"s":""," for review. In IAR + Diagnostic mode, focused deep diagnostics may launch before full unlock."]})]})]}),e.jsx("div",{className:"pt-4",children:e.jsx(E,{onClick:me,className:"bg-sky-600 hover:bg-sky-700 text-white px-8 py-4 rounded-xl text-lg font-bold w-full",children:"Go to Dashboard"})})]},"results")]})})]}),e.jsx(O,{children:w&&e.jsxs(g.div,{drag:!0,dragMomentum:!1,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{type:"spring",damping:25,stiffness:200},style:{position:"absolute",top:"50%",left:"calc(50% + 390px)",y:"-50%"},className:"w-[420px] max-w-[calc(100vw-24px)] bg-white rounded-3xl shadow-2xl border border-slate-200 flex flex-col pointer-events-auto overflow-hidden z-[60]",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex items-center justify-between bg-[#edf1f7] flex-shrink-0 cursor-move",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-xl bg-sky-100 flex items-center justify-center text-sky-600",children:e.jsx(T,{size:18})}),e.jsx("h3",{className:"font-bold text-[#0a1628] select-none",children:"Scientific Calc"})]}),e.jsx("button",{onClick:t=>{t.stopPropagation(),j(!1)},className:"w-8 h-8 flex items-center justify-center text-slate-500 hover:text-[#0a1628] hover:bg-[#dde3eb] rounded-lg transition-colors cursor-pointer",title:"Close Calculator",children:e.jsx(Z,{size:16})})]}),e.jsx("div",{className:"p-4 bg-[#f7f9fc]",children:e.jsx(be,{isOpen:!0,onClose:()=>j(!1),inline:!0})})]})})]}):null};export{et as default}; +import{r as m,c as z,j as e}from"./vendor-react-Dexh7fmo.js";import{B as E}from"./button-DWdPuxDU.js";import{M as ye}from"./MathAnswerInput-Bx58557t.js";import be from"./ScientificCalculator-BP-XvW_h.js";import{triggerDiagnosticCompleted as ge}from"./automationService-1THdsq3v.js";import{m as g,C as T,e as O,T as Q}from"./index-DGWrSMOK.js";import{B as J}from"./brain-DHmY5cbv.js";import{X as Z}from"./x-Bj25rnWX.js";import{C as ee}from"./circle-check-big-mv2CRLCE.js";import{C as ve}from"./chevron-right-DxXkA9aZ.js";import{C as we}from"./chart-column-CJzwyNMx.js";import{T as je}from"./trending-up-B2MPUPwk.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./apiService-BuaHZ1Ho.js";import"./chevron-up-BJyzaJs7.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const H="iar-v2-deped-g11-core-g12-candidate-shortform",ae=[{id:"iar-fn-01",topicArea:"Functions",gradeLevel:"G11",quarter:1,difficulty:"basic",competencyCode:"M11GM-Ia-2",competencyDescription:"Evaluates a function and solves basic linear expressions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"Solve for x: 3x - 4 = 17",options:["5","6","7","8"],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:35},{id:"iar-fn-02",topicArea:"Functions",gradeLevel:"G11",quarter:1,difficulty:"standard",competencyCode:"M11GM-Ib-5",competencyDescription:"Finds the domain of a rational function.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"What is the domain of f(x) = 5 / (x - 2)?",options:["All real numbers","x > 2","x ≠ 2","x < 2"],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-fn-03",topicArea:"Functions",gradeLevel:"G11",quarter:2,difficulty:"standard",competencyCode:"M11GM-Ie-f-1",competencyDescription:"Solves exponential equations in real-life growth contexts.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"A quantity doubles every hour. If it starts at 3, what is the value after 4 hours?",acceptableNumericAnswers:[48],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:55},{id:"iar-fn-04",topicArea:"Functions",gradeLevel:"G11",quarter:2,difficulty:"challenge",competencyCode:"M11GM-Ii-4",competencyDescription:"Determines intercepts and asymptotic behavior of logarithmic functions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"Which statement is true for f(x) = log(x - 1)?",options:["Domain is all real numbers.","Vertical asymptote is x = 1.","x-intercept is always 0.","Range is x > 1."],correctOptionIndex:1,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:55},{id:"iar-fn-c1",topicArea:"Functions",gradeLevel:"G11",quarter:2,difficulty:"standard",competencyCode:"M11GM-Id-2",competencyDescription:"Determines the inverse of a one-to-one function.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"If f(x) = 2x + 3, what is f⁻¹(11)?",acceptableNumericAnswers:[4],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:35},{id:"iar-bm-01",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"basic",competencyCode:"M11GM-IIa-b-1",competencyDescription:"Computes simple interest and maturity value.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"Find the simple interest on PHP 8,000 at 5% annual rate for 2 years.",acceptableNumericAnswers:[800],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-bm-02",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"standard",competencyCode:"M11GM-IIa-2",competencyDescription:"Distinguishes simple and compound interest contexts.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"Which statement correctly describes compound interest?",options:["Interest is based only on original principal.","Interest is computed once at maturity.","Interest is computed on principal plus accumulated interest.","Interest is always lower than simple interest."],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-bm-03",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"standard",competencyCode:"M11GM-IIc-d-1",competencyDescription:"Computes annuity future value in basic settings.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"A student saves PHP 1,000 monthly for 6 months with no interest. What is the accumulated amount?",options:["PHP 5,000","PHP 6,000","PHP 7,000","PHP 12,000"],correctOptionIndex:1,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40},{id:"iar-bm-04",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"challenge",competencyCode:"M11GM-IIf-3",competencyDescription:"Solves business and consumer loan scenarios.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"A borrower receives PHP 20,000 and repays PHP 22,400 after 1 year. What is the annual simple interest rate?",options:["8%","10%","12%","14%"],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:60},{id:"iar-bm-c1",topicArea:"BusinessMath",gradeLevel:"G11",quarter:3,difficulty:"standard",competencyCode:"M11GM-IIc-d-1",competencyDescription:"Finds future value and present value of annuities.",answerType:"shortAnswerNumeric",depedBasis:"depedPattern",prompt:"Without interest, what is the present value of a 12-month annuity paying PHP 500 each month?",acceptableNumericAnswers:[6e3],numericTolerance:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40},{id:"iar-lg-01",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"basic",competencyCode:"M11GM-IIg-1",competencyDescription:"Identifies and negates propositions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:'If p is "All triangles have three sides," what is not p?',options:["Some triangles have three sides.","No triangle has three sides.","At least one triangle does not have three sides.","All triangles are polygons."],correctOptionIndex:2,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:45},{id:"iar-lg-02",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"standard",competencyCode:"M11GM-IIh-1",competencyDescription:"Determines truth values of compound propositions.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"When p is true and q is false, what is the truth value of p -> q?",options:["True","False","Cannot be determined","Both true and false"],correctOptionIndex:1,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40},{id:"iar-lg-03",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"standard",competencyCode:"M11GM-IIi-1",competencyDescription:"Identifies common reasoning fallacies in short arguments.",answerType:"shortAnswerText",depedBasis:"depedPattern",prompt:'A post says, "Everyone in my class passed because we used this lucky pen." Type the best label for this weak reasoning.',acceptableTextAnswers:["false cause","false causation","post hoc","hasty generalization"],isConfidenceProbe:!1,scorable:!0,estimatedSeconds:60},{id:"iar-lg-04",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"challenge",competencyCode:"M11GM-IIi-2",competencyDescription:"Determines the validity of categorical syllogisms.",answerType:"MCQ",depedBasis:"depedPattern",prompt:"All squares are rectangles. All rectangles are quadrilaterals. Therefore all squares are quadrilaterals. This argument is:",options:["Valid","Invalid","A fallacy of composition","A contradiction"],correctOptionIndex:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:55},{id:"iar-lg-c1",topicArea:"Logic",gradeLevel:"G11",quarter:4,difficulty:"standard",competencyCode:"M11GM-IIj-1",competencyDescription:"Illustrates methods of proof and disproof.",answerType:"MCQ",depedBasis:"depedPattern",prompt:'To prove "if n is even then n² is even," which method is commonly used?',options:["Direct proof","Proof by contradiction only","Survey method","Graph sketch only"],correctOptionIndex:0,isConfidenceProbe:!1,scorable:!0,estimatedSeconds:40}];function Ne(s){return s>=75?"Mastered":s>=40?"NeedsReview":"HighRisk"}function Ce(){return ae.filter(s=>s.depedBasis==="depedPattern"&&!!s.competencyCode)}function ke(s=ae){const n=s.reduce((p,h)=>p+h.estimatedSeconds,0);return Math.round(n/60*10)/10}const te={Functions:"Functions and Graphs",BusinessMath:"Business and Financial Mathematics",Logic:"Logic and Reasoning"},Me={atRiskSubjectIds:[],questionSetVersion:H},x=Ce(),se=s=>s.trim().toLowerCase().replace(/\s+/g," "),re=(s,n)=>{if(!s.scorable)return!1;if(s.answerType==="MCQ")return typeof n=="number"&&n===s.correctOptionIndex;if(s.answerType==="shortAnswerNumeric"){if(typeof n!="string")return!1;const p=Number(n);if(Number.isNaN(p))return!1;const h=s.numericTolerance??0;return(s.acceptableNumericAnswers||[]).some(B=>Math.abs(p-B)<=h)}if(s.answerType==="shortAnswerText"){if(typeof n!="string")return!1;const p=se(n);return(s.acceptableTextAnswers||[]).some(h=>se(h)===p)}return!1},Ae=s=>s==="Mastered"?"text-teal-600 bg-teal-50":s==="NeedsReview"?"text-amber-700 bg-amber-50":"text-red-600 bg-red-50",Ie=s=>s==="NeedsReview"?"Needs Review":s==="HighRisk"?"High Risk":"Mastered",et=({isOpen:s,onClose:n,onComplete:p,lrn:h,gradeLevel:B="Grade 11",workflowMode:ie="iar_only",assessmentType:N="initial_assessment"})=>{const[v,L]=m.useState("intro"),[y,W]=m.useState(0),[ne,_]=m.useState([]),[C,I]=m.useState(""),[w,j]=m.useState(!1),[oe,b]=m.useState(!1),[a,q]=m.useState(null),[u,$]=m.useState(null),[k,V]=m.useState([]),[Se,U]=m.useState(!1);z.useEffect(()=>{s&&(L("intro"),W(0),_([]),I(""),j(!1),b(!1),q(null),$(null),V([]))},[s]),z.useEffect(()=>{if(!s||v!=="test"){b(!1);return}if(y>0||w){b(!1);return}b(!0);const t=window.setTimeout(()=>{b(!1)},2800);return()=>window.clearTimeout(t)},[s,v,y,w]);const ce=()=>{p({status:"skipped",...Me}),n()},R=()=>{n()};z.useEffect(()=>{if(!s)return;const t=i=>{i.key==="Escape"&&R()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[s]);const le=()=>{L("test")},de=t=>{_(t),I(""),j(!1),y{W(i=>i+1)},300):pe(t)},K=t=>{const i=[...ne];i[y]=t,de(i)},G=()=>{C.trim()&&K(C.trim())},pe=async t=>{const i=[],S={Functions:{correct:0,total:0},BusinessMath:{correct:0,total:0},Logic:{correct:0,total:0}},fe={Functions:[],BusinessMath:[],Logic:[]},P={};x.forEach((r,c)=>{const l=t[c];if(r.answerType==="confidenceLikert"&&typeof l=="number"&&fe[r.topicArea].push(l+1),!r.scorable)return;const d=re(r,l);S[r.topicArea].total+=1,d&&(S[r.topicArea].correct+=1),P[r.topicArea]||(P[r.topicArea]=[]),P[r.topicArea].push({correct:d,questionId:r.id,difficulty:r.difficulty,gradeLevelTag:r.gradeLevel,quarter:r.quarter,answerType:r.answerType})});const o=Object.keys(S).reduce((r,c)=>{const{correct:l,total:d}=S[c],M=d>0?Math.round(l/d*100):0,A=Ne(M);return A!=="Mastered"&&i.push(c),r[c]={correct:l,total:d,scorePercent:M,classification:A},r},{}),D=x.filter(r=>r.scorable&&r.gradeLevel==="G12Candidate"),xe=D.reduce((r,c)=>{const l=x.findIndex(d=>d.id===c.id);return r+(re(c,t[l])?1:0)},0),F=D.length>0?xe/D.length:1,he={readyForFiniteMath:Object.values(o).filter(r=>r.classification==="Mastered").length/3>=.67&&o.Functions.classification!=="HighRisk"&&o.BusinessMath.classification!=="HighRisk"&&F>=.5,readyForAdvancedStats:o.Logic.classification==="Mastered"&&F>=.67,readyForCalcIntro:o.Functions.classification==="Mastered"&&F>=.67,needsStrongerFunctions:o.Functions.classification!=="Mastered",needsStrongerBusinessMath:o.BusinessMath.classification!=="Mastered"};if(Object.keys(o).sort((r,c)=>{const l=o[r],d=o[c],M=X=>X==="HighRisk"?0:X==="NeedsReview"?1:2,A=M(l.classification)-M(d.classification);return A!==0?A:l.scorePercent-d.scorePercent}),V(i),q(o),$(he),L("results"),h){U(!0);try{const r=Object.keys(o).map(c=>({subject:c,score:o[c].scorePercent}));await ge(h,r,B,P,ie,N),console.log("[OK] Automation: diagnostic pipeline completed")}catch(r){console.error("[WARN] Automation: diagnostic pipeline failed:",r)}finally{U(!1)}}},me=()=>{if(!a||!u){p({status:"completed",atRiskSubjectIds:k,questionSetVersion:H}),n();return}p({status:"completed",atRiskSubjectIds:k,topicScores:{Functions:a.Functions.scorePercent,BusinessMath:a.BusinessMath.scorePercent,Logic:a.Logic.scorePercent},topicClassifications:{Functions:a.Functions.classification,BusinessMath:a.BusinessMath.classification,Logic:a.Logic.classification},priorityTopics:Object.keys(a).sort((t,i)=>a[t].scorePercent-a[i].scorePercent),g12ReadinessIndicators:u,questionSetVersion:H}),n()},f=x[y],Y=Math.round(y/x.length*100),ue=ke(x);return s?e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",onClick:()=>{R()},children:[e.jsxs(g.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},className:"bg-white rounded-3xl shadow-2xl max-w-2xl w-full flex flex-col max-h-[90vh] pointer-events-auto overflow-hidden relative z-[51]",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"px-8 py-6 border-b border-[#dde3eb] flex items-center justify-between bg-[#edf1f7] flex-shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-sky-100 rounded-xl flex items-center justify-center text-sky-600",children:e.jsx(J,{size:24})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-[#0a1628]",children:N==="followup_diagnostic"?"Deep Diagnostic":"Initial Assessment"}),e.jsx("p",{className:"text-sm text-[#5a6578]",children:"Analyze your strengths & weaknesses"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 relative",children:[e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>{j(!w),b(!1)},className:`relative w-10 h-10 rounded-xl flex items-center justify-center transition-all duration-200 border-2 ${w?"bg-sky-100 border-sky-300 text-sky-700 shadow-sm":"bg-white border-[#dde3eb] text-slate-500 hover:text-sky-600 hover:border-sky-200 hover:bg-sky-50"}`,title:"Toggle Calculator",children:e.jsx(T,{size:20})}),e.jsx(O,{children:s&&v==="test"&&oe&&!w&&e.jsxs(g.div,{initial:{opacity:0,y:10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:10,scale:.95},className:"absolute right-0 top-full mt-3 w-[260px] bg-[#0a1628] text-white border border-[#2a3648] rounded-2xl p-4 shadow-2xl z-50 pointer-events-none",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-sky-500/20 flex items-center justify-center flex-shrink-0",children:e.jsx(T,{size:16,className:"text-sky-400"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-bold text-sm mb-1",children:"Calculator Available"}),e.jsx("p",{className:"text-xs text-slate-300 leading-relaxed",children:"You can freely use the scientific calculator at any time during this quiz."})]})]}),e.jsx("div",{className:"absolute -top-2 right-4 w-4 h-4 bg-[#0a1628] border-l border-t border-[#2a3648] rotate-45 rounded-tl-sm"})]})})]}),e.jsx("button",{onClick:()=>{R()},className:"w-10 h-10 rounded-xl flex items-center justify-center text-slate-500 border-2 border-transparent hover:text-[#5a6578] hover:bg-[#dde3eb] hover:border-[#dde3eb] transition-all",title:"Close assessment",children:e.jsx(Z,{size:20})})]})]}),e.jsx("div",{className:"p-8 overflow-y-auto",children:e.jsxs(O,{mode:"wait",children:[v==="intro"&&e.jsxs(g.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},className:"text-center space-y-6",children:[e.jsx("div",{className:"w-32 h-32 bg-sky-50 rounded-full flex items-center justify-center mx-auto mb-6",children:e.jsx(T,{size:64,className:"text-sky-600"})}),e.jsx("h3",{className:"text-2xl font-bold text-[#0a1628]",children:N==="followup_diagnostic"?"Let's close the gaps":"Welcome to MathPulse AI!"}),e.jsx("p",{className:"text-[#5a6578] max-w-md mx-auto leading-relaxed",children:N==="followup_diagnostic"?"You have pending weak-area checks from your initial assessment. Complete this deep diagnostic to unlock regular modules and practice.":`To personalize your learning path, complete a DepEd competency-based SHS diagnostic (${x.length} items, around ${ue} minutes).`}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 max-w-lg mx-auto text-left",children:[e.jsxs("div",{className:"bg-[#edf1f7] p-4 rounded-xl border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center gap-2 font-bold text-[#0a1628] mb-1",children:[e.jsx(ee,{size:16,className:"text-teal-500"}),"Personalized Path"]}),e.jsx("p",{className:"text-xs text-[#5a6578] pl-6",children:"Get recommendations based on your level."})]}),e.jsxs("div",{className:"bg-[#edf1f7] p-4 rounded-xl border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center gap-2 font-bold text-[#0a1628] mb-1",children:[e.jsx(Q,{size:16,className:"text-rose-500"}),"Identify Risks"]}),e.jsx("p",{className:"text-xs text-[#5a6578] pl-6",children:"Spot areas that need more attention early."})]})]}),e.jsxs("div",{className:"pt-4 space-y-3",children:[e.jsx(E,{onClick:le,className:"bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white px-8 py-6 rounded-xl text-lg font-bold shadow-lg shadow-sky-200 w-full max-w-xs mx-auto",children:N==="followup_diagnostic"?"Start Deep Diagnostic":"Start Assessment"}),e.jsx("button",{onClick:()=>{ce()},className:"block mx-auto text-sm text-slate-500 hover:text-[#5a6578] transition-colors font-medium",children:"Skip for now →"})]})]},"intro"),v==="test"&&e.jsxs(g.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},className:"space-y-8",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm font-bold text-[#5a6578] mb-2",children:[e.jsxs("span",{children:["Question ",y+1," of ",x.length]}),e.jsxs("span",{children:[Y,"% Completed"]})]}),e.jsx("div",{className:"h-2 bg-[#edf1f7] rounded-full overflow-hidden mb-8",children:e.jsx(g.div,{className:"h-full bg-sky-600 rounded-full",initial:{width:0},animate:{width:`${Y}%`}})}),e.jsxs("div",{className:"bg-[#edf1f7] p-6 rounded-2xl border border-[#dde3eb] mb-6",children:[e.jsxs("p",{className:"text-xs font-bold uppercase tracking-wide text-slate-500 mb-2",children:[te[f.topicArea]," • ",f.difficulty]}),e.jsx("h3",{className:"text-xl font-bold text-[#0a1628] leading-relaxed",children:f.prompt})]}),(f.answerType==="MCQ"||f.answerType==="confidenceLikert")&&e.jsx("div",{className:"grid grid-cols-1 gap-3",children:(f.options||[]).map((t,i)=>e.jsxs("button",{onClick:()=>K(i),className:"w-full text-left p-4 rounded-xl border-2 border-[#dde3eb] hover:border-indigo-600 hover:bg-sky-50 transition-all font-medium text-[#0a1628] group flex items-center justify-between",children:[e.jsxs("span",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"w-8 h-8 rounded-lg bg-white border border-[#dde3eb] flex items-center justify-center text-sm font-bold text-[#5a6578] group-hover:border-sky-300 group-hover:text-sky-600",children:String.fromCharCode(65+i)}),t]}),e.jsx(ve,{size:18,className:"opacity-0 group-hover:opacity-100 text-sky-600 transition-opacity"})]},i))}),(f.answerType==="shortAnswerNumeric"||f.answerType==="shortAnswerText")&&e.jsxs("div",{className:"space-y-3",children:[f.answerType==="shortAnswerNumeric"?e.jsx(e.Fragment,{children:e.jsx(ye,{value:C,onChange:I,placeholder:"Type numeric answer",onSubmit:G,onCalculatorOpen:()=>{j(!0),b(!1)}})}):e.jsx("input",{id:"diagnostic-short-answer",name:"diagnostic-short-answer","aria-label":"Short answer response",value:C,onChange:t=>I(t.target.value),onKeyDown:t=>{t.key==="Enter"&&G()},className:"w-full p-4 rounded-xl border-2 border-[#dde3eb] focus:outline-none focus:ring-2 focus:ring-sky-200 focus:border-sky-500",placeholder:"Type short answer"}),e.jsx(E,{onClick:G,disabled:!C.trim(),className:"w-full bg-sky-600 hover:bg-sky-700 text-white py-3 rounded-xl font-bold",children:"Submit Answer"})]})]},"test"),v==="results"&&e.jsxs(g.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"text-center space-y-6",children:[e.jsx("div",{className:"w-24 h-24 bg-teal-100 rounded-full flex items-center justify-center mx-auto mb-4 animate-bounce",children:e.jsx(ee,{size:48,className:"text-teal-600"})}),e.jsx("h3",{className:"text-2xl font-bold text-[#0a1628]",children:"Assessment Completed!"}),e.jsx("p",{className:"text-[#5a6578]",children:"We computed topic-level placement from your IAR responses."}),e.jsxs("div",{className:"bg-[#edf1f7] rounded-2xl p-6 border border-[#dde3eb] text-left space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(we,{size:18,strokeWidth:2.4})}),e.jsx("h4",{className:"font-display font-black text-[22px] text-slate-800 tracking-tight",children:"Topic Analysis"})]}),e.jsx("div",{className:"space-y-3",children:a&&Object.keys(a).map(t=>e.jsxs("div",{className:"flex items-center justify-between p-3 bg-white rounded-xl border border-[#dde3eb]",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-[#0a1628]",children:te[t]}),e.jsxs("p",{className:"text-xs text-slate-500",children:[a[t].correct,"/",a[t].total," correct • ",a[t].scorePercent,"%"]})]}),e.jsxs("span",{className:`text-xs font-bold px-2 py-1 rounded-lg flex items-center gap-1 ${Ae(a[t].classification)}`,children:[a[t].classification==="Mastered"?e.jsx(je,{size:12}):e.jsx(Q,{size:12}),Ie(a[t].classification)]})]},t))})]}),u&&e.jsxs("div",{className:"bg-sky-50 rounded-2xl p-6 border border-sky-100 text-left space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(J,{size:18,strokeWidth:2.4})}),e.jsx("h4",{className:"font-display font-black text-[22px] text-slate-800 tracking-tight",children:"Grade 12 Readiness Signals"})]}),e.jsx("p",{className:"text-xs text-slate-600",children:"These indicators come from challenge and candidate items only."}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-2 text-xs",children:[e.jsxs("span",{className:`px-2 py-1 rounded-md font-bold ${u.readyForFiniteMath?"bg-teal-50 text-teal-700":"bg-slate-100 text-slate-600"}`,children:["Finite Math: ",u.readyForFiniteMath?"Ready":"Build More"]}),e.jsxs("span",{className:`px-2 py-1 rounded-md font-bold ${u.readyForAdvancedStats?"bg-teal-50 text-teal-700":"bg-slate-100 text-slate-600"}`,children:["Advanced Stats: ",u.readyForAdvancedStats?"Ready":"Build More"]}),e.jsxs("span",{className:`px-2 py-1 rounded-md font-bold ${u.readyForCalcIntro?"bg-teal-50 text-teal-700":"bg-slate-100 text-slate-600"}`,children:["Calculus Intro: ",u.readyForCalcIntro?"Ready":"Build More"]})]})]}),k.length>0&&e.jsxs("div",{className:"flex items-start gap-3 p-4 bg-rose-50 border border-rose-100 rounded-xl text-left",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-rose-100 border border-rose-200 flex items-center justify-center text-rose-600 shadow-inner shrink-0",children:e.jsx(Q,{size:18,strokeWidth:2.3})}),e.jsxs("div",{children:[e.jsx("h5",{className:"font-display font-black text-[20px] tracking-tight text-rose-800 leading-none mb-1",children:"Attention Needed"}),e.jsxs("p",{className:"text-rose-700 text-xs mt-1",children:["We flagged ",k.length," topic area",k.length>1?"s":""," for review. In IAR + Diagnostic mode, focused deep diagnostics may launch before full unlock."]})]})]}),e.jsx("div",{className:"pt-4",children:e.jsx(E,{onClick:me,className:"bg-sky-600 hover:bg-sky-700 text-white px-8 py-4 rounded-xl text-lg font-bold w-full",children:"Go to Dashboard"})})]},"results")]})})]}),e.jsx(O,{children:w&&e.jsxs(g.div,{drag:!0,dragMomentum:!1,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{type:"spring",damping:25,stiffness:200},style:{position:"absolute",top:"50%",left:"calc(50% + 390px)",y:"-50%"},className:"w-[420px] max-w-[calc(100vw-24px)] bg-white rounded-3xl shadow-2xl border border-slate-200 flex flex-col pointer-events-auto overflow-hidden z-[60]",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex items-center justify-between bg-[#edf1f7] flex-shrink-0 cursor-move",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-xl bg-sky-100 flex items-center justify-center text-sky-600",children:e.jsx(T,{size:18})}),e.jsx("h3",{className:"font-bold text-[#0a1628] select-none",children:"Scientific Calc"})]}),e.jsx("button",{onClick:t=>{t.stopPropagation(),j(!1)},className:"w-8 h-8 flex items-center justify-center text-slate-500 hover:text-[#0a1628] hover:bg-[#dde3eb] rounded-lg transition-colors cursor-pointer",title:"Close Calculator",children:e.jsx(Z,{size:16})})]}),e.jsx("div",{className:"p-4 bg-[#f7f9fc]",children:e.jsx(be,{isOpen:!0,onClose:()=>j(!1),inline:!0})})]})})]}):null};export{et as default}; diff --git a/assets/FloatingAITutor-C31CfNiH.js b/assets/FloatingAITutor-DYvlvoVe.js similarity index 94% rename from assets/FloatingAITutor-C31CfNiH.js rename to assets/FloatingAITutor-DYvlvoVe.js index ba8a23874b6b00ada6b76618672d2707d3130b60..a3803353b02d24af2b462dc619944cf4774f6dbc 100644 --- a/assets/FloatingAITutor-C31CfNiH.js +++ b/assets/FloatingAITutor-DYvlvoVe.js @@ -1,7 +1,7 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatMarkdown-BoigvQ2c.js","assets/index-CUP7q97n.js","assets/vendor-react-Dexh7fmo.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/index-CR2i2gnI.css","assets/vendor-markdown-C5ikSDMA.js","assets/vendor-markdown-CBmFCdgC.css","assets/apiService-BmQUiVGe.js"])))=>i.map(i=>d[i]); -import{c as S,z as A,_ as w,m as p,B as M}from"./index-CUP7q97n.js";import{r as a,j as e}from"./vendor-react-Dexh7fmo.js";import{M as f}from"./minus-FdgaZoCo.js";import{X as b}from"./x-DSPvcKpY.js";import{S as C}from"./send-D1NSm_uD.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatMarkdown-BI4vbcO7.js","assets/index-DGWrSMOK.js","assets/vendor-react-Dexh7fmo.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/index-CR2i2gnI.css","assets/vendor-markdown-C5ikSDMA.js","assets/vendor-markdown-CBmFCdgC.css","assets/apiService-BuaHZ1Ho.js"])))=>i.map(i=>d[i]); +import{c as S,z as A,_ as w,m as p,B as M}from"./index-DGWrSMOK.js";import{r as a,j as e}from"./vendor-react-Dexh7fmo.js";import{M as f}from"./minus-BjTBUAx2.js";import{X as b}from"./x-Bj25rnWX.js";import{S as C}from"./send-nCgvy9cZ.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const L=[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]],E=S("maximize-2",L),O=a.lazy(()=>w(()=>import("./ChatMarkdown-BoigvQ2c.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]))),X=({constraintsRef:T,onFullScreen:y})=>{const{activeSessionId:n,setActiveSessionId:g,createNewSession:j,getActiveSession:v,sendMessage:N,isLoading:o}=A(),[s,r]=a.useState(!1),[l,c]=a.useState(()=>typeof window>"u"?!1:window.localStorage.getItem("floating_ai_tutor_minimized")==="1"),[i,d]=a.useState(""),u=a.useRef(null);a.useEffect(()=>{typeof window>"u"||window.localStorage.setItem("floating_ai_tutor_minimized",l?"1":"0")},[l]),a.useEffect(()=>{s&&w(async()=>{const{warmupBackend:t}=await import("./apiService-BmQUiVGe.js");return{warmupBackend:t}},__vite__mapDeps([11,1,2,3,4,5,6,7,8])).then(({warmupBackend:t})=>{t()}).catch(t=>{console.warn("Floating tutor warmup skipped:",t)})},[s]),a.useEffect(()=>{if(s&&!n){const t={id:"1",sender:"ai",text:"Hi! I'm your AI math tutor. What would you like to learn about today?",timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},_=j(t);g(_)}},[s]);const m=v()?.messages||[],k=()=>{u.current?.scrollIntoView({behavior:"smooth"})};a.useEffect(()=>{k()},[m]);const x=async()=>{if(!i.trim()||!n||o)return;const t=i.trim();d(""),await N(n,t)},I=()=>{y()},h=()=>{r(!1),c(!0)},z=()=>{c(!1)};return e.jsxs("div",{className:"pointer-events-none flex flex-col items-end",children:[e.jsxs("div",{className:`pointer-events-auto mb-4 w-80 bg-[#f7f9fc] rounded-3xl shadow-2xl border border-[#dde3eb] flex flex-col overflow-hidden transition-all duration-300 origin-bottom-right select-none ${s?"opacity-100 scale-100 translate-y-0":"opacity-0 scale-95 translate-y-10 pointer-events-none h-0"}`,style:{maxHeight:s?"32rem":"0"},children:[e.jsxs("div",{className:"bg-gradient-to-r from-sky-600 to-sky-500 p-4 flex items-center justify-between flex-shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center backdrop-blur-sm",children:e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-9 h-9 object-contain drop-shadow-md"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-white font-bold text-sm",children:"L.O.L.I."}),e.jsxs("p",{className:"text-sky-100 text-[10px] leading-tight",children:["Logical Operations &",e.jsx("br",{}),"Learning Intelligence"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:I,type:"button","aria-label":"Open fullscreen",className:"p-2 hover:bg-white/20 rounded-lg transition-colors",title:"Open fullscreen",children:e.jsx(E,{size:16,className:"text-white"})}),e.jsx("button",{type:"button","aria-label":"Minimize AI tutor launcher",onClick:h,className:"p-2 hover:bg-white/20 rounded-lg transition-colors",title:"Minimize",children:e.jsx(f,{size:16,className:"text-white"})}),e.jsx("button",{type:"button","aria-label":"Close chat",onClick:()=>r(!1),className:"p-2 hover:bg-white/20 rounded-lg transition-colors",children:e.jsx(b,{size:16,className:"text-white"})})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-4 space-y-3 bg-[#edf1f7]",children:[m.map(t=>e.jsx("div",{className:`flex ${t.sender==="user"?"justify-end":"justify-start"}`,children:e.jsxs("div",{className:`max-w-[75%] rounded-2xl px-4 py-2.5 ${t.sender==="user"?"bg-sky-600 text-white":"bg-white text-[#0a1628] shadow-sm border border-[#dde3eb]"}`,children:[t.sender==="user"?e.jsx("p",{className:"text-sm whitespace-pre-wrap",children:t.text}):e.jsx(a.Suspense,{fallback:e.jsx("p",{className:"text-sm whitespace-pre-wrap",children:t.text}),children:e.jsx(O,{children:t.text})}),e.jsx("p",{className:`text-[10px] mt-1 ${t.sender==="user"?"text-sky-200":"text-slate-500"}`,children:t.timestamp})]})},t.id)),o&&e.jsx("div",{className:"flex justify-start",children:e.jsx("div",{className:"bg-white text-[#0a1628] shadow-sm border border-[#dde3eb] rounded-2xl px-4 py-2.5 max-w-[75%]",children:e.jsxs("div",{className:"flex gap-1",children:[e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:150ms]"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:300ms]"})]})})}),e.jsx("div",{ref:u})]}),e.jsx("div",{className:"p-4 border-t border-[#dde3eb] bg-white flex-shrink-0",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{id:"ai-tutor-input",name:"ai-tutor-input","aria-label":"Ask AI tutor a question",type:"text",value:i,onChange:t=>d(t.target.value),onKeyPress:t=>t.key==="Enter"&&x(),placeholder:"Ask me anything...",className:"flex-1 px-4 py-2.5 rounded-xl border border-[#dde3eb] focus:outline-none focus:ring-2 focus:ring-sky-500 text-sm bg-[#f7f9fc]"}),e.jsx("button",{type:"button","aria-label":"Send message",onClick:x,className:"p-2.5 bg-sky-600 hover:bg-sky-700 text-white rounded-xl transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:!i.trim()||o,children:e.jsx(C,{size:18})})]})})]}),e.jsx("div",{className:"pointer-events-auto relative self-end",children:l?e.jsx(p.button,{type:"button",onClick:z,whileHover:{scale:1.08},whileTap:{scale:.95},className:"h-9 w-9 rounded-full bg-slate-900/85 text-white shadow-lg ring-1 ring-white/20 backdrop-blur-sm flex items-center justify-center","aria-label":"Restore AI tutor launcher",title:"Show AI tutor",children:e.jsx(M,{size:14})}):e.jsxs("div",{className:"relative group",children:[!s&&e.jsxs("div",{className:"absolute right-full mr-4 top-1/2 -translate-y-1/2 px-4 py-2 bg-slate-800 text-white text-sm rounded-xl opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none whitespace-nowrap shadow-xl z-50",children:["Hello! I'm L.O.L.I., how may I help you?",e.jsx("div",{className:"absolute top-1/2 -translate-y-1/2 -right-1 w-3 h-3 bg-slate-800 rotate-45"})]}),!s&&e.jsx("button",{type:"button","aria-label":"Minimize AI tutor launcher",title:"Minimize",onClick:h,className:"absolute -top-2 -left-2 z-10 h-6 w-6 rounded-full bg-white text-slate-700 border border-slate-200 shadow-md hover:bg-slate-100 transition-colors flex items-center justify-center",children:e.jsx(f,{size:12})}),e.jsx(p.button,{type:"button",onClick:()=>r(!s),whileHover:{scale:1.1},whileTap:{scale:.9},className:"w-16 h-16 bg-gradient-to-br from-sky-600 to-sky-500 rounded-xl shadow-2xl flex items-center justify-center text-white hover:shadow-sky-300/50 transition-all","aria-label":s?"Close AI tutor chat":"Open AI tutor chat",children:s?e.jsx(b,{size:28}):e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-14 h-14 object-contain drop-shadow-lg"})})]})})]})};export{X as default}; + */const L=[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]],E=S("maximize-2",L),O=a.lazy(()=>w(()=>import("./ChatMarkdown-BI4vbcO7.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]))),X=({constraintsRef:T,onFullScreen:y})=>{const{activeSessionId:n,setActiveSessionId:g,createNewSession:j,getActiveSession:v,sendMessage:N,isLoading:o}=A(),[s,r]=a.useState(!1),[l,c]=a.useState(()=>typeof window>"u"?!1:window.localStorage.getItem("floating_ai_tutor_minimized")==="1"),[i,d]=a.useState(""),u=a.useRef(null);a.useEffect(()=>{typeof window>"u"||window.localStorage.setItem("floating_ai_tutor_minimized",l?"1":"0")},[l]),a.useEffect(()=>{s&&w(async()=>{const{warmupBackend:t}=await import("./apiService-BuaHZ1Ho.js");return{warmupBackend:t}},__vite__mapDeps([11,1,2,3,4,5,6,7,8])).then(({warmupBackend:t})=>{t()}).catch(t=>{console.warn("Floating tutor warmup skipped:",t)})},[s]),a.useEffect(()=>{if(s&&!n){const t={id:"1",sender:"ai",text:"Hi! I'm your AI math tutor. What would you like to learn about today?",timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},_=j(t);g(_)}},[s]);const m=v()?.messages||[],k=()=>{u.current?.scrollIntoView({behavior:"smooth"})};a.useEffect(()=>{k()},[m]);const x=async()=>{if(!i.trim()||!n||o)return;const t=i.trim();d(""),await N(n,t)},I=()=>{y()},h=()=>{r(!1),c(!0)},z=()=>{c(!1)};return e.jsxs("div",{className:"pointer-events-none flex flex-col items-end",children:[e.jsxs("div",{className:`pointer-events-auto mb-4 w-80 bg-[#f7f9fc] rounded-3xl shadow-2xl border border-[#dde3eb] flex flex-col overflow-hidden transition-all duration-300 origin-bottom-right select-none ${s?"opacity-100 scale-100 translate-y-0":"opacity-0 scale-95 translate-y-10 pointer-events-none h-0"}`,style:{maxHeight:s?"32rem":"0"},children:[e.jsxs("div",{className:"bg-gradient-to-r from-sky-600 to-sky-500 p-4 flex items-center justify-between flex-shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center backdrop-blur-sm",children:e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-9 h-9 object-contain drop-shadow-md"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-white font-bold text-sm",children:"L.O.L.I."}),e.jsxs("p",{className:"text-sky-100 text-[10px] leading-tight",children:["Logical Operations &",e.jsx("br",{}),"Learning Intelligence"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:I,type:"button","aria-label":"Open fullscreen",className:"p-2 hover:bg-white/20 rounded-lg transition-colors",title:"Open fullscreen",children:e.jsx(E,{size:16,className:"text-white"})}),e.jsx("button",{type:"button","aria-label":"Minimize AI tutor launcher",onClick:h,className:"p-2 hover:bg-white/20 rounded-lg transition-colors",title:"Minimize",children:e.jsx(f,{size:16,className:"text-white"})}),e.jsx("button",{type:"button","aria-label":"Close chat",onClick:()=>r(!1),className:"p-2 hover:bg-white/20 rounded-lg transition-colors",children:e.jsx(b,{size:16,className:"text-white"})})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-4 space-y-3 bg-[#edf1f7]",children:[m.map(t=>e.jsx("div",{className:`flex ${t.sender==="user"?"justify-end":"justify-start"}`,children:e.jsxs("div",{className:`max-w-[75%] rounded-2xl px-4 py-2.5 ${t.sender==="user"?"bg-sky-600 text-white":"bg-white text-[#0a1628] shadow-sm border border-[#dde3eb]"}`,children:[t.sender==="user"?e.jsx("p",{className:"text-sm whitespace-pre-wrap",children:t.text}):e.jsx(a.Suspense,{fallback:e.jsx("p",{className:"text-sm whitespace-pre-wrap",children:t.text}),children:e.jsx(O,{children:t.text})}),e.jsx("p",{className:`text-[10px] mt-1 ${t.sender==="user"?"text-sky-200":"text-slate-500"}`,children:t.timestamp})]})},t.id)),o&&e.jsx("div",{className:"flex justify-start",children:e.jsx("div",{className:"bg-white text-[#0a1628] shadow-sm border border-[#dde3eb] rounded-2xl px-4 py-2.5 max-w-[75%]",children:e.jsxs("div",{className:"flex gap-1",children:[e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:150ms]"}),e.jsx("div",{className:"w-2 h-2 bg-sky-400 rounded-full animate-bounce [animation-delay:300ms]"})]})})}),e.jsx("div",{ref:u})]}),e.jsx("div",{className:"p-4 border-t border-[#dde3eb] bg-white flex-shrink-0",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{id:"ai-tutor-input",name:"ai-tutor-input","aria-label":"Ask AI tutor a question",type:"text",value:i,onChange:t=>d(t.target.value),onKeyPress:t=>t.key==="Enter"&&x(),placeholder:"Ask me anything...",className:"flex-1 px-4 py-2.5 rounded-xl border border-[#dde3eb] focus:outline-none focus:ring-2 focus:ring-sky-500 text-sm bg-[#f7f9fc]"}),e.jsx("button",{type:"button","aria-label":"Send message",onClick:x,className:"p-2.5 bg-sky-600 hover:bg-sky-700 text-white rounded-xl transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:!i.trim()||o,children:e.jsx(C,{size:18})})]})})]}),e.jsx("div",{className:"pointer-events-auto relative self-end",children:l?e.jsx(p.button,{type:"button",onClick:z,whileHover:{scale:1.08},whileTap:{scale:.95},className:"h-9 w-9 rounded-full bg-slate-900/85 text-white shadow-lg ring-1 ring-white/20 backdrop-blur-sm flex items-center justify-center","aria-label":"Restore AI tutor launcher",title:"Show AI tutor",children:e.jsx(M,{size:14})}):e.jsxs("div",{className:"relative group",children:[!s&&e.jsxs("div",{className:"absolute right-full mr-4 top-1/2 -translate-y-1/2 px-4 py-2 bg-slate-800 text-white text-sm rounded-xl opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none whitespace-nowrap shadow-xl z-50",children:["Hello! I'm L.O.L.I., how may I help you?",e.jsx("div",{className:"absolute top-1/2 -translate-y-1/2 -right-1 w-3 h-3 bg-slate-800 rotate-45"})]}),!s&&e.jsx("button",{type:"button","aria-label":"Minimize AI tutor launcher",title:"Minimize",onClick:h,className:"absolute -top-2 -left-2 z-10 h-6 w-6 rounded-full bg-white text-slate-700 border border-slate-200 shadow-md hover:bg-slate-100 transition-colors flex items-center justify-center",children:e.jsx(f,{size:12})}),e.jsx(p.button,{type:"button",onClick:()=>r(!s),whileHover:{scale:1.1},whileTap:{scale:.9},className:"w-16 h-16 bg-gradient-to-br from-sky-600 to-sky-500 rounded-xl shadow-2xl flex items-center justify-center text-white hover:shadow-sky-300/50 transition-all","aria-label":s?"Close AI tutor chat":"Open AI tutor chat",children:s?e.jsx(b,{size:28}):e.jsx("img",{src:"/avatar/avatar_icon.png",alt:"AI Tutor",className:"w-14 h-14 object-contain drop-shadow-lg"})})]})})]})};export{X as default}; diff --git a/assets/GradesPage-NucBV7D9.js b/assets/GradesPage-BIf0hX4r.js similarity index 96% rename from assets/GradesPage-NucBV7D9.js rename to assets/GradesPage-BIf0hX4r.js index 22aef8daec3d1c7f3c29cb30f075d6a9d874cea2..70855fff1126ba1cd5c4205b01fe080dc0d6d70c 100644 --- a/assets/GradesPage-NucBV7D9.js +++ b/assets/GradesPage-BIf0hX4r.js @@ -1,2 +1,2 @@ -import{r as n,j as e}from"./vendor-react-Dexh7fmo.js";import{B as S}from"./button-DWdPuxDU.js";import{u as $,m as H,g as W}from"./index-CUP7q97n.js";import{g as V,S as k}from"./subjects-Cwbch54O.js";import{A as T}from"./award-BtESaHld.js";import{T as A}from"./trending-up-DmBYqjZb.js";import{T as C}from"./target-DaU28Ow3.js";import{C as P}from"./calendar-BJy8dui2.js";import{D as _}from"./download-DWfJPUrU.js";import{T as J,F as K}from"./trending-down-DhwTMb31.js";import{C as X}from"./chevron-right-BKVsZIKp.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./chart-column-D_9m8xSU.js";const je=()=>{const{currentUser:p,userProfile:Q}=$(),[o,u]=n.useState("all"),[f,D]=n.useState("all"),[Y,j]=n.useState(!0),[i,R]=n.useState(null),E=Q?.grade,g=V(E),y=new Set(g);n.useEffect(()=>{(async()=>{if(p){j(!0);try{const s=await W(p.uid);R(s)}catch(s){console.error("Error loading grades:",s)}finally{j(!1)}}})()},[p]);const N=i?.quizAttempts||[],M=i?.totalQuizzesCompleted||0,h=i?.averageScore||0,U=h>0?Math.min(h/25,4).toFixed(2):"0.00",F={"gen-math":"blue","stats-prob":"cyan","pre-calc":"teal","basic-calc":"orange"},b=k.reduce((t,s)=>(t[s.id]={label:s.name,color:F[s.id]||"slate"},t),{}),c=k.filter(t=>y.has(t.id)).map(t=>t.name),v=Object.entries(i?.subjects||{}).filter(([t])=>y.has(t)).map(([t,s])=>{const a=b[t]||{label:t,color:"slate"},d=N.filter(l=>l.quizId?.startsWith(t)),m=d.length>0?Math.round(d.reduce((l,r)=>l+r.score,0)/d.length):Math.round(s.progress);return{subject:a.label,average:m,quizzes:d.length||s.completedModules,color:a.color,trend:"up"}}),G=g.map(t=>{const s=b[t]||{label:t,color:"slate"};return{subject:s.label,average:0,quizzes:0,color:s.color,trend:"up"}}),I=v.length>0?v:G,w=N.sort((t,s)=>new Date(s.completedAt).getTime()-new Date(t.completedAt).getTime()).slice(0,10).map((t,s)=>({id:s+1,title:t.quizId?.replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())||`Quiz ${s+1}`,subject:Object.entries(b).find(([a])=>t.quizId?.startsWith(a))?.[1]?.label||"General",score:t.score,total:100,date:t.completedAt instanceof Date?t.completedAt.toISOString().split("T")[0]:new Date(t.completedAt).toISOString().split("T")[0],type:t.quizId?.includes("practice")?"practice":"module",status:t.score>=60?"passed":"failed"})).filter(t=>c.includes(t.subject)),x={gpa:parseFloat(U),totalQuizzes:M,averageScore:h,trendValue:0},z=w.filter(t=>{if(!c.includes(t.subject))return!1;const s=o==="all"||t.subject===o,a=f==="all"||t.type===f;return s&&a});n.useEffect(()=>{o!=="all"&&(c.includes(o)||u("all"))},[c,o]);const O=()=>{const t=["Quiz","Subject","Type","Score","Date","Status"],s=w.map(r=>[r.title,r.subject,r.type,`${r.score}%`,r.date,r.status]),a=[t,...s].map(r=>r.join(",")).join(` +import{r as n,j as e}from"./vendor-react-Dexh7fmo.js";import{B as S}from"./button-DWdPuxDU.js";import{u as $,m as H,g as W}from"./index-DGWrSMOK.js";import{g as V,S as k}from"./subjects-DDYtJwQO.js";import{A as T}from"./award-DpLN2BvV.js";import{T as A}from"./trending-up-B2MPUPwk.js";import{T as C}from"./target-7Gevl8jn.js";import{C as P}from"./calendar-19p2TrVX.js";import{D as _}from"./download-DINpalm9.js";import{T as J,F as K}from"./trending-down-C7JHnrbb.js";import{C as X}from"./chevron-right-DxXkA9aZ.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./chart-column-CJzwyNMx.js";const je=()=>{const{currentUser:p,userProfile:Q}=$(),[o,u]=n.useState("all"),[f,D]=n.useState("all"),[Y,j]=n.useState(!0),[i,R]=n.useState(null),E=Q?.grade,g=V(E),y=new Set(g);n.useEffect(()=>{(async()=>{if(p){j(!0);try{const s=await W(p.uid);R(s)}catch(s){console.error("Error loading grades:",s)}finally{j(!1)}}})()},[p]);const N=i?.quizAttempts||[],M=i?.totalQuizzesCompleted||0,h=i?.averageScore||0,U=h>0?Math.min(h/25,4).toFixed(2):"0.00",F={"gen-math":"blue","stats-prob":"cyan","pre-calc":"teal","basic-calc":"orange"},b=k.reduce((t,s)=>(t[s.id]={label:s.name,color:F[s.id]||"slate"},t),{}),c=k.filter(t=>y.has(t.id)).map(t=>t.name),v=Object.entries(i?.subjects||{}).filter(([t])=>y.has(t)).map(([t,s])=>{const a=b[t]||{label:t,color:"slate"},d=N.filter(l=>l.quizId?.startsWith(t)),m=d.length>0?Math.round(d.reduce((l,r)=>l+r.score,0)/d.length):Math.round(s.progress);return{subject:a.label,average:m,quizzes:d.length||s.completedModules,color:a.color,trend:"up"}}),G=g.map(t=>{const s=b[t]||{label:t,color:"slate"};return{subject:s.label,average:0,quizzes:0,color:s.color,trend:"up"}}),I=v.length>0?v:G,w=N.sort((t,s)=>new Date(s.completedAt).getTime()-new Date(t.completedAt).getTime()).slice(0,10).map((t,s)=>({id:s+1,title:t.quizId?.replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())||`Quiz ${s+1}`,subject:Object.entries(b).find(([a])=>t.quizId?.startsWith(a))?.[1]?.label||"General",score:t.score,total:100,date:t.completedAt instanceof Date?t.completedAt.toISOString().split("T")[0]:new Date(t.completedAt).toISOString().split("T")[0],type:t.quizId?.includes("practice")?"practice":"module",status:t.score>=60?"passed":"failed"})).filter(t=>c.includes(t.subject)),x={gpa:parseFloat(U),totalQuizzes:M,averageScore:h,trendValue:0},z=w.filter(t=>{if(!c.includes(t.subject))return!1;const s=o==="all"||t.subject===o,a=f==="all"||t.type===f;return s&&a});n.useEffect(()=>{o!=="all"&&(c.includes(o)||u("all"))},[c,o]);const O=()=>{const t=["Quiz","Subject","Type","Score","Date","Status"],s=w.map(r=>[r.title,r.subject,r.type,`${r.score}%`,r.date,r.status]),a=[t,...s].map(r=>r.join(",")).join(` `),d=new Blob([a],{type:"text/csv;charset=utf-8;"}),m=URL.createObjectURL(d),l=document.createElement("a");l.href=m,l.download=`mathpulse-grades-${new Date().toISOString().split("T")[0]}.csv`,l.click(),URL.revokeObjectURL(m)},L=t=>t>=90?"text-emerald-600 bg-emerald-50":t>=80?"text-sky-600 bg-sky-50":t>=70?"text-rose-600 bg-rose-50":"text-red-600 bg-red-50",B=t=>t>=90?"A":t>=80?"B":t>=70?"C":t>=60?"D":"F";return e.jsxs("div",{className:"space-y-6 px-4 sm:px-6 xl:px-10 py-6 sm:py-8",children:[e.jsxs("div",{className:"bg-gradient-to-br from-white via-sky-50/30 to-white rounded-2xl p-7 card-elevated-lg relative overflow-hidden border border-slate-200/80",children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-sky-400/40 to-transparent"}),e.jsx("div",{className:"absolute top-0 right-0 w-48 h-48 bg-sky-100/40 rounded-full -translate-y-1/2 translate-x-1/2"}),e.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[e.jsxs("div",{className:"bg-white rounded-lg p-4 border border-slate-200/80 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(T,{size:18,className:"text-rose-500"}),e.jsx("span",{className:"text-xs text-slate-500 font-body",children:"Overall GPA"})]}),e.jsx("p",{className:"text-3xl font-display font-bold text-[#0a1628]",children:x.gpa}),e.jsxs("div",{className:"flex items-center gap-1 mt-2",children:[e.jsx(A,{size:14,className:"text-emerald-500"}),e.jsxs("span",{className:"text-xs text-slate-500 font-body",children:["+",x.trendValue,"% this month"]})]})]}),e.jsxs("div",{className:"bg-white rounded-lg p-4 border border-slate-200/80 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(C,{size:18,className:"text-sky-500"}),e.jsx("span",{className:"text-xs text-slate-500 font-body",children:"Average Score"})]}),e.jsxs("p",{className:"text-3xl font-display font-bold text-[#0a1628]",children:[x.averageScore,"%"]}),e.jsx("p",{className:"text-xs text-slate-500 font-body mt-2",children:"Across all subjects"})]}),e.jsxs("div",{className:"bg-white rounded-lg p-4 border border-slate-200/80 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(P,{size:18,className:"text-rose-500"}),e.jsx("span",{className:"text-xs text-slate-500 font-body",children:"Total Quizzes"})]}),e.jsx("p",{className:"text-3xl font-display font-bold text-[#0a1628]",children:x.totalQuizzes}),e.jsx("p",{className:"text-xs text-slate-500 font-body mt-2",children:"Completed"})]}),e.jsxs("div",{className:"bg-white rounded-lg p-4 border border-slate-200/80 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(T,{size:18,className:"text-rose-500"}),e.jsx("span",{className:"text-xs text-slate-500 font-body",children:"Grade Rank"})]}),e.jsx("p",{className:"text-3xl font-display font-bold text-[#0a1628]",children:"Top 15%"}),e.jsx("p",{className:"text-xs text-slate-500 font-body mt-2",children:"In your class"})]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(C,{size:20,strokeWidth:2.5})}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"Subject Performance"})]}),e.jsxs(S,{variant:"outline",size:"sm",className:"rounded-lg font-body border-[#dde3eb] text-[#5a6578]",onClick:O,children:[e.jsx(_,{size:16,className:"mr-2"}),"Export Report"]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-4",children:I.map(t=>e.jsxs(H.div,{whileHover:{scale:1.02},className:"bg-white rounded-xl p-5 border border-[#dde3eb] card-elevated cursor-pointer",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"font-display font-bold text-[#0a1628] mb-1",children:t.subject}),e.jsxs("p",{className:"text-xs text-[#5a6578] font-body",children:[t.quizzes," quizzes completed"]})]}),e.jsx("div",{className:`w-14 h-14 rounded-lg bg-${t.color}-50 flex items-center justify-center`,children:e.jsx("span",{className:`text-xl font-display font-bold text-${t.color}-600`,children:B(t.average)})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"text-3xl font-display font-bold text-[#0a1628]",children:[t.average,"%"]}),e.jsx("p",{className:"text-xs text-[#5a6578] font-body mt-1",children:"Average"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[t.trend==="up"?e.jsx(A,{size:18,className:"text-green-500"}):e.jsx(J,{size:18,className:"text-red-500"}),e.jsx(X,{size:16,className:"text-[#d1cec6]"})]})]})]},t.subject))})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(P,{size:20,strokeWidth:2.5})}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"Quiz History"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("select",{value:o,onChange:t=>u(t.target.value),className:"px-3 py-2 border border-[#dde3eb] rounded-lg text-sm font-body bg-white text-[#0a1628]",children:[e.jsx("option",{value:"all",children:"All Subjects"}),c.map(t=>e.jsx("option",{value:t,children:t},t))]}),e.jsxs("select",{value:f,onChange:t=>D(t.target.value),className:"px-3 py-2 border border-[#dde3eb] rounded-lg text-sm font-body bg-white text-[#0a1628]",children:[e.jsx("option",{value:"all",children:"All Types"}),e.jsx("option",{value:"practice",children:"Practice"}),e.jsx("option",{value:"module",children:"Module"})]})]})]}),e.jsxs("div",{className:"bg-white rounded-xl border border-[#dde3eb] card-elevated overflow-hidden",children:[e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{className:"bg-[#f7f9fc] border-b border-[#dde3eb]",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-6 py-3 text-left text-[10px] font-body font-semibold text-[#5a6578] uppercase tracking-wider",children:"Quiz"}),e.jsx("th",{className:"px-6 py-3 text-left text-[10px] font-body font-semibold text-[#5a6578] uppercase tracking-wider",children:"Subject"}),e.jsx("th",{className:"px-6 py-3 text-left text-[10px] font-body font-semibold text-[#5a6578] uppercase tracking-wider",children:"Type"}),e.jsx("th",{className:"px-6 py-3 text-left text-[10px] font-body font-semibold text-[#5a6578] uppercase tracking-wider",children:"Score"}),e.jsx("th",{className:"px-6 py-3 text-left text-[10px] font-body font-semibold text-[#5a6578] uppercase tracking-wider",children:"Date"}),e.jsx("th",{className:"px-6 py-3 text-left text-[10px] font-body font-semibold text-[#5a6578] uppercase tracking-wider",children:"Action"})]})}),e.jsx("tbody",{children:z.map(t=>e.jsxs("tr",{className:"border-b border-[#edf1f7] hover:bg-[#f7f9fc] transition-colors",children:[e.jsx("td",{className:"px-6 py-4",children:e.jsx("p",{className:"font-body font-semibold text-[#0a1628] text-sm",children:t.title})}),e.jsx("td",{className:"px-6 py-4",children:e.jsx("span",{className:"text-sm text-[#5a6578] font-body",children:t.subject})}),e.jsx("td",{className:"px-6 py-4",children:e.jsx("span",{className:"px-2.5 py-1 bg-[#edf1f7] text-[#5a6578] text-xs font-body font-semibold rounded-md capitalize",children:t.type})}),e.jsx("td",{className:"px-6 py-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:`px-2.5 py-1 rounded-md text-sm font-body font-semibold ${L(t.score)}`,children:[t.score,"%"]}),e.jsxs("span",{className:"text-xs text-slate-500 font-body",children:["(",t.score,"/",t.total,")"]})]})}),e.jsx("td",{className:"px-6 py-4",children:e.jsx("span",{className:"text-sm text-[#5a6578] font-body",children:t.date})}),e.jsx("td",{className:"px-6 py-4",children:e.jsx(S,{variant:"outline",size:"sm",className:"rounded-lg",children:"Review"})})]},t.id))})]}),z.length===0&&e.jsxs("div",{className:"text-center py-12",children:[e.jsx(K,{size:40,className:"text-[#d1cec6] mx-auto mb-3"}),e.jsx("p",{className:"text-[#5a6578] font-body",children:"No quizzes found with current filters"}),e.jsx("p",{className:"text-xs text-slate-500 font-body mt-1",children:"Try adjusting your filters"})]})]})]})]})};export{je as default}; diff --git a/assets/HeroBanner-h-p9WeQe.js b/assets/HeroBanner-DgRlQubI.js similarity index 94% rename from assets/HeroBanner-h-p9WeQe.js rename to assets/HeroBanner-DgRlQubI.js index 28d5b44965543195ffa77d332763425bd6cd7916..01a938dc25fb1c11800794b68bb826f1fc4402f9 100644 --- a/assets/HeroBanner-h-p9WeQe.js +++ b/assets/HeroBanner-DgRlQubI.js @@ -1,7 +1,7 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardAvatar-CnjSyEt5.js","assets/vendor-react-Dexh7fmo.js","assets/avatarData-DykDiQ_Y.js","assets/index-CUP7q97n.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/index-CR2i2gnI.css"])))=>i.map(i=>d[i]); -import{c as x,m as t,Z as c,A as p,_ as b}from"./index-CUP7q97n.js";import{j as e,r}from"./vendor-react-Dexh7fmo.js";import{B as h}from"./brain-CaMXLcPK.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardAvatar-MX9hSo-6.js","assets/vendor-react-Dexh7fmo.js","assets/avatarData-DykDiQ_Y.js","assets/index-DGWrSMOK.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/index-CR2i2gnI.css"])))=>i.map(i=>d[i]); +import{c as x,m as t,Z as c,A as p,_ as b}from"./index-DGWrSMOK.js";import{j as e,r}from"./vendor-react-Dexh7fmo.js";import{B as h}from"./brain-DHmY5cbv.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const g=[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]],u=x("hand",g),v=r.lazy(()=>b(()=>import("./DashboardAvatar-CnjSyEt5.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),A=({userName:a="Student",userLevel:o=1,avatarLayers:l,onContinueLearning:n,showAssessmentTooltip:i,onOpenAssessment:d})=>{const m=()=>{const s=new Date().getHours();return s<12?"Good Morning":s<18?"Good Afternoon":"Good Evening"};return e.jsxs(t.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,ease:[.22,1,.36,1]},className:"relative w-full mt-0 rounded-[2rem] p-6 lg:p-8 bg-gradient-to-br from-white via-sky-50/50 to-white border border-slate-200/80 card-elevated-lg",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden rounded-[2rem] pointer-events-none",children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-sky-400/50 to-transparent"}),e.jsx("div",{className:"absolute top-0 right-0 w-96 h-96 bg-sky-100/40 rounded-full blur-3xl -translate-y-1/2 translate-x-1/4"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-64 h-64 bg-rose-100/30 rounded-full blur-3xl translate-y-1/2 -translate-x-1/4"}),e.jsx("div",{className:"absolute inset-0 bg-dot-pattern opacity-40"})]}),e.jsx("div",{className:"relative z-10 flex min-h-[140px] lg:min-h-[160px] items-center justify-between gap-6 pb-0",children:e.jsxs("div",{className:"flex-1 min-w-0 pr-40 lg:pr-[280px] py-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("div",{className:"px-3 md:px-4 py-1.5 rounded-full bg-sky-100 border border-sky-200",children:e.jsxs("span",{className:"text-xs md:text-sm font-body font-bold text-sky-700",children:["Level ",o]})}),e.jsxs("div",{className:"px-3 md:px-4 py-1.5 rounded-full bg-rose-50 border border-rose-200",children:[e.jsx(c,{size:14,className:"inline -mt-0.5 text-rose-500 mr-1"}),e.jsx("span",{className:"text-xs md:text-sm font-body font-bold text-rose-700",children:"Active"})]})]}),e.jsxs("h1",{className:"text-xl md:text-2xl lg:text-3xl font-display font-black text-[#0a1628] mb-1.5 tracking-tight leading-[1.1]",children:[m(),", ",a,"! ",e.jsx(u,{size:20,className:"inline -mt-1 ml-1"})]}),e.jsx("p",{className:"text-slate-500 mb-1 text-xs md:text-sm font-body font-bold",children:"Today is a great day to move one step forward in math mastery."}),e.jsx("p",{className:"text-[11px] md:text-xs text-slate-400 font-body mb-4",children:"Focus on your next recommended lesson and keep your momentum."}),e.jsxs(t.button,{onClick:n,whileHover:{scale:1.03},whileTap:{scale:.97},className:"mt-2 bg-gradient-to-r from-purple-600 to-[#9956DE] text-white px-5 py-2 rounded-xl font-body font-bold text-sm shadow-lg shadow-purple-500/20 hover:shadow-purple-500/30 transition-all flex items-center gap-2 group",children:["Continue Learning",e.jsx(p,{size:14,className:"group-hover:translate-x-1 transition-transform"})]})]})}),i&&e.jsx(t.div,{initial:{opacity:0,scale:.9,x:10},animate:{opacity:1,scale:1,x:0},transition:{delay:.5,type:"spring"},onClick:d,className:"absolute hidden md:block right-[150px] lg:right-[250px] bottom-16 lg:bottom-20 z-30 cursor-pointer drop-shadow-lg group",children:e.jsxs("div",{className:"bg-white px-4 py-3 rounded-2xl rounded-br-sm border-2 border-amber-300 relative transition-all group-hover:bg-amber-50 group-hover:border-amber-400 group-hover:-translate-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-amber-500",children:e.jsx(h,{size:16})}),e.jsxs("p",{className:"text-xs lg:text-sm font-bold text-amber-900 leading-tight",children:["Don't forget to take the",e.jsx("br",{}),"Initial Assessment!"]})]}),e.jsx("div",{className:"absolute -right-2 bottom-0 w-4 h-4 bg-white border-2 border-transparent border-r-amber-300 border-b-amber-300 rotate-45 group-hover:bg-amber-50 group-hover:border-r-amber-400 group-hover:border-b-amber-400 transition-colors"})]})}),e.jsx("div",{className:"hidden md:block absolute right-0 lg:right-10 bottom-0 w-[150px] lg:w-[270px] pointer-events-none z-20",style:{clipPath:"inset(-100% -50% 0 -50%)"},children:e.jsx("div",{className:"relative w-full aspect-[4/5] translate-y-[21%] lg:translate-y-[19%] drop-shadow-2xl",children:e.jsx(r.Suspense,{fallback:e.jsx("div",{className:"w-full h-full scale-[1.25] lg:scale-[1.3] origin-bottom"}),children:e.jsx(v,{layers:l,className:"w-full h-full scale-[1.25] lg:scale-[1.3] origin-bottom"})})})})]})};export{A as default}; + */const g=[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]],u=x("hand",g),v=r.lazy(()=>b(()=>import("./DashboardAvatar-MX9hSo-6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),A=({userName:a="Student",userLevel:o=1,avatarLayers:l,onContinueLearning:n,showAssessmentTooltip:i,onOpenAssessment:d})=>{const m=()=>{const s=new Date().getHours();return s<12?"Good Morning":s<18?"Good Afternoon":"Good Evening"};return e.jsxs(t.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,ease:[.22,1,.36,1]},className:"relative w-full mt-0 rounded-[2rem] p-6 lg:p-8 bg-gradient-to-br from-white via-sky-50/50 to-white border border-slate-200/80 card-elevated-lg",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden rounded-[2rem] pointer-events-none",children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-sky-400/50 to-transparent"}),e.jsx("div",{className:"absolute top-0 right-0 w-96 h-96 bg-sky-100/40 rounded-full blur-3xl -translate-y-1/2 translate-x-1/4"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-64 h-64 bg-rose-100/30 rounded-full blur-3xl translate-y-1/2 -translate-x-1/4"}),e.jsx("div",{className:"absolute inset-0 bg-dot-pattern opacity-40"})]}),e.jsx("div",{className:"relative z-10 flex min-h-[140px] lg:min-h-[160px] items-center justify-between gap-6 pb-0",children:e.jsxs("div",{className:"flex-1 min-w-0 pr-40 lg:pr-[280px] py-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("div",{className:"px-3 md:px-4 py-1.5 rounded-full bg-sky-100 border border-sky-200",children:e.jsxs("span",{className:"text-xs md:text-sm font-body font-bold text-sky-700",children:["Level ",o]})}),e.jsxs("div",{className:"px-3 md:px-4 py-1.5 rounded-full bg-rose-50 border border-rose-200",children:[e.jsx(c,{size:14,className:"inline -mt-0.5 text-rose-500 mr-1"}),e.jsx("span",{className:"text-xs md:text-sm font-body font-bold text-rose-700",children:"Active"})]})]}),e.jsxs("h1",{className:"text-xl md:text-2xl lg:text-3xl font-display font-black text-[#0a1628] mb-1.5 tracking-tight leading-[1.1]",children:[m(),", ",a,"! ",e.jsx(u,{size:20,className:"inline -mt-1 ml-1"})]}),e.jsx("p",{className:"text-slate-500 mb-1 text-xs md:text-sm font-body font-bold",children:"Today is a great day to move one step forward in math mastery."}),e.jsx("p",{className:"text-[11px] md:text-xs text-slate-400 font-body mb-4",children:"Focus on your next recommended lesson and keep your momentum."}),e.jsxs(t.button,{onClick:n,whileHover:{scale:1.03},whileTap:{scale:.97},className:"mt-2 bg-gradient-to-r from-purple-600 to-[#9956DE] text-white px-5 py-2 rounded-xl font-body font-bold text-sm shadow-lg shadow-purple-500/20 hover:shadow-purple-500/30 transition-all flex items-center gap-2 group",children:["Continue Learning",e.jsx(p,{size:14,className:"group-hover:translate-x-1 transition-transform"})]})]})}),i&&e.jsx(t.div,{initial:{opacity:0,scale:.9,x:10},animate:{opacity:1,scale:1,x:0},transition:{delay:.5,type:"spring"},onClick:d,className:"absolute hidden md:block right-[150px] lg:right-[250px] bottom-16 lg:bottom-20 z-30 cursor-pointer drop-shadow-lg group",children:e.jsxs("div",{className:"bg-white px-4 py-3 rounded-2xl rounded-br-sm border-2 border-amber-300 relative transition-all group-hover:bg-amber-50 group-hover:border-amber-400 group-hover:-translate-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-amber-500",children:e.jsx(h,{size:16})}),e.jsxs("p",{className:"text-xs lg:text-sm font-bold text-amber-900 leading-tight",children:["Don't forget to take the",e.jsx("br",{}),"Initial Assessment!"]})]}),e.jsx("div",{className:"absolute -right-2 bottom-0 w-4 h-4 bg-white border-2 border-transparent border-r-amber-300 border-b-amber-300 rotate-45 group-hover:bg-amber-50 group-hover:border-r-amber-400 group-hover:border-b-amber-400 transition-colors"})]})}),e.jsx("div",{className:"hidden md:block absolute right-0 lg:right-10 bottom-0 w-[150px] lg:w-[270px] pointer-events-none z-20",style:{clipPath:"inset(-100% -50% 0 -50%)"},children:e.jsx("div",{className:"relative w-full aspect-[4/5] translate-y-[21%] lg:translate-y-[19%] drop-shadow-2xl",children:e.jsx(r.Suspense,{fallback:e.jsx("div",{className:"w-full h-full scale-[1.25] lg:scale-[1.3] origin-bottom"}),children:e.jsx(v,{layers:l,className:"w-full h-full scale-[1.25] lg:scale-[1.3] origin-bottom"})})})})]})};export{A as default}; diff --git a/assets/LeaderboardPage-CjX6Lh56.js b/assets/LeaderboardPage-C97hWKsZ.js similarity index 97% rename from assets/LeaderboardPage-CjX6Lh56.js rename to assets/LeaderboardPage-C97hWKsZ.js index f6c40f04425df2159b88e678d64847189c728483..7238da8873da6e462236725de77577fd4ea5d0fc 100644 --- a/assets/LeaderboardPage-CjX6Lh56.js +++ b/assets/LeaderboardPage-C97hWKsZ.js @@ -1,4 +1,4 @@ -import{r as o,j as e}from"./vendor-react-Dexh7fmo.js";import{c as O,E as R,e as W,m as d,F as A,l as X,u as $,G as H}from"./index-CUP7q97n.js";import{X as U}from"./x-DSPvcKpY.js";import{B as y}from"./book-open-CeQC7bWj.js";import{T as B}from"./target-DaU28Ow3.js";import{A as k}from"./award-BtESaHld.js";import{C as q}from"./clock-C56zvyHw.js";import{T as v}from"./trophy-di6eNjuA.js";import{T as P}from"./trending-up-DmBYqjZb.js";import{L as M}from"./loader-circle-kcw3SM4v.js";import{S as G}from"./star-CX9mS3Me.js";import{U as L}from"./user-BXAf0Aum.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** +import{r as o,j as e}from"./vendor-react-Dexh7fmo.js";import{c as O,E as R,e as W,m as d,F as A,l as X,u as $,G as H}from"./index-DGWrSMOK.js";import{X as U}from"./x-Bj25rnWX.js";import{B as y}from"./book-open-B5Xvd1JL.js";import{T as B}from"./target-7Gevl8jn.js";import{A as k}from"./award-DpLN2BvV.js";import{C as q}from"./clock-qHFbMxrB.js";import{T as v}from"./trophy-73YPSH67.js";import{T as P}from"./trending-up-B2MPUPwk.js";import{L as M}from"./loader-circle-BUf2fYcT.js";import{S as G}from"./star-DqP0S0c5.js";import{U as L}from"./user-Br5UzORP.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/LearningPath-DlUcYiIS.js b/assets/LearningPath-CTKb6bQc.js similarity index 85% rename from assets/LearningPath-DlUcYiIS.js rename to assets/LearningPath-CTKb6bQc.js index fc1faf3d7c23362ebdde95a582d2a570d1bea6b6..2946e16de03bf6d3d06cf16c8f575a0be14f9d53 100644 --- a/assets/LearningPath-DlUcYiIS.js +++ b/assets/LearningPath-CTKb6bQc.js @@ -1 +1 @@ -import{r as p,c as h,j as t}from"./vendor-react-Dexh7fmo.js";import{u as S,o as k,p as v,g as w,A as C}from"./index-CUP7q97n.js";import{g as L,s as M}from"./subjects-Cwbch54O.js";import{M as A}from"./ModuleFolderCard-Z8brsNEm.js";import{B as E}from"./book-open-CeQC7bWj.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./trending-up-DmBYqjZb.js";import"./chart-column-D_9m8xSU.js";import"./clock-C56zvyHw.js";const H=({onNavigateToModules:c,atRiskSubjects:g=[],priorityTopics:d=[]})=>{const{userProfile:i}=S(),[x,f]=p.useState(null),b=i?.grade,j=L(b),m=M.filter(e=>j.includes(e.id)),l=m.find(e=>e.id==="gen-math")??m[0],a=h.useMemo(()=>{const e=d.length>0?d:g.map(s=>k(s)).filter(s=>s!==null),r=new Set;return e.filter(s=>r.has(s)?!1:(r.add(s),!0))},[d,g]),P=h.useMemo(()=>{const e=l?.modules??[];if(a.length===0)return e;const r=new Map(a.map((s,o)=>[v[s],o]));return[...e].sort((s,o)=>{const n=r.get(s.id)??Number.POSITIVE_INFINITY,N=r.get(o.id)??Number.POSITIVE_INFINITY;return n-N})},[l?.modules,a]);p.useEffect(()=>{i?.uid&&w(i.uid).then(f).catch(console.error)},[i?.uid]);const u=P.slice(0,4).map(e=>{const o=x?.subjects?.[l.id]?.modulesProgress?.[e.id]?.lessonsCompleted?.length||0,n=e.lessons.length>0?Math.round(o/e.lessons.length*100):0;return{...e,progress:n,status:n===100?"Completed":n>0?"In Progress":"Not Started"}}),I=u.some(e=>e.progress>0)?"Continue Learning":"Start Learning";return t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-center mb-6 px-1",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:t.jsx(E,{size:20,strokeWidth:2.5})}),t.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:I})]}),t.jsxs("button",{onClick:()=>c?.(),className:"text-primary font-bold text-sm flex items-center gap-1 hover:gap-2 transition-all bg-primary/10 px-4 py-2 rounded-xl hover:bg-primary/20",children:["View All ",t.jsx(C,{size:16})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:u.map((e,r)=>t.jsx(A,{module:e,index:r,onClick:()=>c?.(e.id),isAtRisk:a.length>0,badgeLabel:e.status!=="Not Started"?e.status:void 0},e.id))})]})};export{H as default}; +import{r as p,c as h,j as t}from"./vendor-react-Dexh7fmo.js";import{u as S,o as k,p as v,g as w,A as C}from"./index-DGWrSMOK.js";import{g as L,s as M}from"./subjects-DDYtJwQO.js";import{M as A}from"./ModuleFolderCard-BGJM_1PJ.js";import{B as E}from"./book-open-B5Xvd1JL.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./trending-up-B2MPUPwk.js";import"./chart-column-CJzwyNMx.js";import"./clock-qHFbMxrB.js";const H=({onNavigateToModules:c,atRiskSubjects:g=[],priorityTopics:d=[]})=>{const{userProfile:i}=S(),[x,f]=p.useState(null),b=i?.grade,j=L(b),m=M.filter(e=>j.includes(e.id)),l=m.find(e=>e.id==="gen-math")??m[0],a=h.useMemo(()=>{const e=d.length>0?d:g.map(s=>k(s)).filter(s=>s!==null),r=new Set;return e.filter(s=>r.has(s)?!1:(r.add(s),!0))},[d,g]),P=h.useMemo(()=>{const e=l?.modules??[];if(a.length===0)return e;const r=new Map(a.map((s,o)=>[v[s],o]));return[...e].sort((s,o)=>{const n=r.get(s.id)??Number.POSITIVE_INFINITY,N=r.get(o.id)??Number.POSITIVE_INFINITY;return n-N})},[l?.modules,a]);p.useEffect(()=>{i?.uid&&w(i.uid).then(f).catch(console.error)},[i?.uid]);const u=P.slice(0,4).map(e=>{const o=x?.subjects?.[l.id]?.modulesProgress?.[e.id]?.lessonsCompleted?.length||0,n=e.lessons.length>0?Math.round(o/e.lessons.length*100):0;return{...e,progress:n,status:n===100?"Completed":n>0?"In Progress":"Not Started"}}),I=u.some(e=>e.progress>0)?"Continue Learning":"Start Learning";return t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-center mb-6 px-1",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:t.jsx(E,{size:20,strokeWidth:2.5})}),t.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:I})]}),t.jsxs("button",{onClick:()=>c?.(),className:"text-primary font-bold text-sm flex items-center gap-1 hover:gap-2 transition-all bg-primary/10 px-4 py-2 rounded-xl hover:bg-primary/20",children:["View All ",t.jsx(C,{size:16})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:u.map((e,r)=>t.jsx(A,{module:e,index:r,onClick:()=>c?.(e.id),isAtRisk:a.length>0,badgeLabel:e.status!=="Not Started"?e.status:void 0},e.id))})]})};export{H as default}; diff --git a/assets/LoginPage-CUimtvyL.js b/assets/LoginPage-BTBes4zQ.js similarity index 97% rename from assets/LoginPage-CUimtvyL.js rename to assets/LoginPage-BTBes4zQ.js index a0cb21e868ceb9a0702398b1460f59c4a3ffd049..768a7e583109ea5d31707c1bf042ef6dfd907ca3 100644 --- a/assets/LoginPage-CUimtvyL.js +++ b/assets/LoginPage-BTBes4zQ.js @@ -1 +1 @@ -import{r as s,j as e}from"./vendor-react-Dexh7fmo.js";import{B as Me}from"./button-DWdPuxDU.js";import{I as D}from"./input-DBkKXOmF.js";import{m as r,A as te,s as se,a as Ee,b as ae}from"./index-CUP7q97n.js";import{S as Te}from"./sparkles-Cg_SVFRk.js";import{B as Re}from"./brain-CaMXLcPK.js";import{T as Ce}from"./trending-up-DmBYqjZb.js";import{A as Ie}from"./award-BtESaHld.js";import{U as re}from"./users-BpOE7EHN.js";import{G as ie}from"./graduation-cap-CCth-BT0.js";import{B as oe}from"./book-open-CeQC7bWj.js";import{M as Le}from"./mail-Dt-oZ527.js";import{L as le}from"./lock-lKS0Wfg_.js";import{E as De}from"./eye-off-D5b_ErbA.js";import{E as Be}from"./eye-CG0PWKAR.js";import{S as ze}from"./shield-check-g-gosqjU.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const ne="/assets/shader-bg-DA7bEbBA.mp4",qe=[{id:"length",label:"At least 8 characters",test:i=>i.length>=8},{id:"upper-lower",label:"Contains uppercase and lowercase letters",test:i=>/[A-Z]/.test(i)&&/[a-z]/.test(i)},{id:"number",label:"Contains at least one number",test:i=>/\d/.test(i)},{id:"special",label:"Contains at least one special character",test:i=>/[^A-Za-z0-9]/.test(i)}],B="Use at least 8 characters with uppercase, lowercase, number, and special character.",Oe=i=>{const c=typeof i=="object"&&i!==null?i:null,o=i instanceof Error?i.message:"";if(c?.code&&typeof c.code=="string")return{code:c.code.toLowerCase(),message:o};const d=o.match(/auth\/[a-z-]+/i);return{code:d?d[0].toLowerCase():"",message:o}},_e=i=>i.replace(/^Firebase:\s*/i,"").replace(/\s*\(auth\/[a-z-]+\)\.?/i,"").trim(),ce=(i,c)=>{const{code:o,message:d}=Oe(i),h=_e(d);return o==="auth/invalid-credential"||o==="auth/wrong-password"||o==="auth/user-not-found"?"Invalid email or password. Please check your credentials and try again.":o==="auth/email-already-in-use"?"This email is already registered. Please sign in instead.":o==="auth/weak-password"||o==="auth/password-does-not-meet-requirements"?h?`Password does not meet signup requirements. ${h}`:`Password does not meet signup requirements. ${B}`:o==="auth/too-many-requests"?"Access to this account has been temporarily disabled due to many failed login attempts. You can immediately restore it by resetting your password or you can try again later.":o==="auth/network-request-failed"?"Network error. Please check your internet connection and try again.":o.startsWith("auth/")?h||c:d.includes("Firebase:")||d.includes("auth/")?c:d||c},ut=()=>{const i=["Grade 11","Grade 12"],c={"Grade 11":["STEM A","STEM B","ABM A","HUMSS A"],"Grade 12":["STEM A","STEM B","ABM A","HUMSS A"]},o={teacher:["Mathematics","Science","English","Technology","Humanities"]},[d,h]=s.useState(""),[b,z]=s.useState(""),[A,de]=s.useState(!1),[l,q]=s.useState(!1),[M,me]=s.useState(""),[n,O]=s.useState("student"),[f,ue]=s.useState("Grade 11"),[w,_]=s.useState(c["Grade 11"][0]),[g,G]=s.useState("Mathematics"),[V,x]=s.useState(!1),[v,u]=s.useState(null),[pe,xe]=s.useState(!1),[ye,he]=s.useState(!1),[E,fe]=s.useState(16),[F,U]=s.useState("primary"),[$,T]=s.useState(0),R=s.useRef(null),C=s.useRef(null),N=pe&&ye,j=s.useRef("primary"),k=s.useRef(0),S=s.useRef(!1),W=1.1,H=.34,Y=t=>{const a=Math.max(0,Math.min(1,t));Math.abs(k.current-a)<.02||(k.current=a,T(a))},Z=t=>{!Number.isFinite(t)||t<=0||Math.abs(E-t)>.05&&fe(t)},I=s.useMemo(()=>qe.map(t=>({...t,met:t.test(b)})),[b]),be=s.useMemo(()=>I.every(t=>t.met),[I]),J=s.useMemo(()=>{if(!l||!v)return!1;const t=v.toLowerCase();return t.includes("password requirements not met")||t.includes("password does not meet")},[v,l]),ge=()=>{const t=R.current?.duration;t&&Number.isFinite(t)&&t>0&&Z(t)},ve=()=>{const t=C.current?.duration;t&&Number.isFinite(t)&&t>0&&Z(t)};s.useEffect(()=>{if(!N)return;const t=R.current,a=C.current;if(!t||!a)return;let m=!1,p=0;j.current="primary",U("primary"),S.current=!1,k.current=0,T(0),t.loop=!1,a.loop=!1,t.currentTime=0,a.currentTime=0,a.pause(),t.play().catch(()=>{});const P=()=>{if(m)return;const y=j.current==="primary"?t:a,K=j.current==="primary"?a:t,Pe=Number.isFinite(y.duration)&&y.duration>0?y.duration:E,L=Math.max(Pe-y.currentTime,0);if(L<=W){S.current||(S.current=!0,K.currentTime=0,K.play().catch(()=>{}));const Ae=1-L/W;if(Y(Ae),L<=.03||y.ended){y.pause(),y.currentTime=0;const ee=j.current==="primary"?"secondary":"primary";j.current=ee,U(ee),S.current=!1,k.current=0,T(0)}}else Y(0);p=window.requestAnimationFrame(P)};return p=window.requestAnimationFrame(P),()=>{m=!0,p&&window.cancelAnimationFrame(p)}},[E,N]);const Q=N?H*(1-$):0,X=N?H*$:0,je=F==="primary"?Q:X,we=F==="secondary"?Q:X;s.useEffect(()=>{n==="teacher"&&!o.teacher.includes(g)&&G(o.teacher[0])},[g,n]),s.useEffect(()=>{const t=c[f]||[];t.length>0&&!t.includes(w)&&_(t[0])},[f,w]);const Ne=[{label:"Student",role:"student",email:"teststudent@school.edu",password:"TestPass123!",icon:ie,color:"sky"},{label:"Teacher",role:"teacher",email:"testteacher@school.edu",password:"TestPass123!",icon:oe,color:"emerald"},{label:"Admin",role:"admin",email:"testadmin@school.edu",password:"TestPass123!",icon:ze,color:"rose"}],ke=async(t,a,m)=>{u(null),x(!0),h(t),z(a),O(m),q(!1);try{se(m),await ae(t,a)}catch(p){u(ce(p,"Demo sign-in failed. Please try again.")),x(!1)}},Se=async t=>{t.preventDefault(),u(null),x(!0);try{if(l){if(!M.trim()){u("Please enter your name"),x(!1);return}if(n==="student"&&!f){u("Please select a grade level"),x(!1);return}if(n!=="student"&&!g){u("Please select a department"),x(!1);return}if(n==="admin"){u("Admin account creation is restricted. Please contact an existing administrator."),x(!1);return}if(!be){u(`Password does not meet signup requirements. ${B}`),x(!1);return}se(n),await Ee(d,b,M,n,n==="student"?{grade:f,section:w}:{department:g})}else await ae(d,b)}catch(a){const m=l?`Sign-up failed. ${B}`:"Sign-in failed. Please check your credentials and try again.";u(ce(a,m)),x(!1)}};return e.jsxs("div",{className:"h-screen w-full flex items-center justify-center px-6 overflow-hidden relative",style:{background:"linear-gradient(135deg, #f0f9ff 0%, #f8fafc 30%, #fff1f2 60%, #f0f9ff 100%)"},children:[e.jsx("video",{ref:R,autoPlay:!0,muted:!0,playsInline:!0,preload:"auto",onCanPlay:()=>xe(!0),onLoadedMetadata:ge,className:"absolute inset-0 w-full h-full object-cover transition-opacity duration-150",style:{opacity:je},src:ne}),e.jsx("video",{ref:C,autoPlay:!0,muted:!0,playsInline:!0,preload:"auto",onCanPlay:()=>he(!0),onLoadedMetadata:ve,className:"absolute inset-0 w-full h-full object-cover transition-opacity duration-150",style:{opacity:we},src:ne}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse at 30% 50%, rgba(240,249,255,0.2) 0%, rgba(248,250,252,0.5) 50%, rgba(255,241,242,0.4) 80%, rgba(248,250,252,0.85) 100%)"}}),e.jsx("div",{className:"absolute top-[10%] left-[-10%] w-[60%] h-[60%] rounded-full blur-[140px] pointer-events-none mix-blend-multiply",style:{background:"radial-gradient(circle, rgba(168,85,247,0.3) 0%, transparent 70%)"}}),e.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] w-[70%] h-[70%] rounded-full blur-[160px] pointer-events-none mix-blend-multiply",style:{background:"radial-gradient(circle, rgba(236,72,153,0.25) 0%, transparent 70%)"}}),e.jsx("div",{className:"absolute top-[40%] left-[40%] w-[40%] h-[40%] rounded-full blur-[120px] pointer-events-none mix-blend-screen",style:{background:"radial-gradient(circle, rgba(56,189,248,0.2) 0%, transparent 70%)"}}),e.jsx("div",{className:"relative z-10 w-full max-w-6xl mx-auto",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 items-center",children:[e.jsxs(r.div,{initial:{opacity:0,x:-40},animate:{opacity:1,x:0},transition:{duration:.8,ease:[.22,1,.36,1]},className:"flex flex-col justify-center space-y-8",children:[e.jsxs(r.div,{className:"flex items-center gap-2.5",children:[e.jsx(r.div,{className:"relative flex items-center justify-center drop-shadow-md",children:e.jsx("img",{src:"/mathpulse_logo.png",alt:"MathPulse AI Logo",className:"w-16 h-16 object-contain flex-shrink-0"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-display font-black tracking-tight text-slate-900 bg-clip-text text-transparent bg-gradient-to-r from-purple-600 via-pink-600 to-sky-500",children:"MathPulse"}),e.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[e.jsx(Te,{size:12,className:"text-rose-500"}),e.jsx("span",{className:"text-xs text-slate-500 font-body font-medium tracking-wide",children:"Powered by Machine Learning"})]})]})]}),e.jsxs(r.div,{className:"space-y-5",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2,duration:.8},children:[e.jsxs("h2",{className:"text-4xl lg:text-5xl xl:text-[3.4rem] font-display font-extrabold leading-[1.1] tracking-tight text-slate-900",children:["Transform Your",e.jsx("br",{}),e.jsx("span",{className:"bg-gradient-to-r from-sky-600 via-cyan-500 to-sky-500 bg-clip-text text-transparent",children:"Math Journey"})]}),e.jsx("p",{className:"text-base text-slate-500 leading-relaxed max-w-md font-body",children:"AI-powered predictive system designed to identify at-risk students and provide personalized learning recommendations."})]}),e.jsx("div",{className:"grid grid-cols-3 gap-3",children:[{icon:Re,label:"AI Predictions",desc:"Smart detection",color:"sky"},{icon:Ce,label:"Analytics",desc:"Real-time data",color:"rose"},{icon:Ie,label:"Gamified",desc:"Learn & earn",color:"emerald"}].map((t,a)=>{const m=t.icon,p={sky:"border-sky-200/60 hover:border-sky-300",rose:"border-rose-200/60 hover:border-rose-300",emerald:"border-emerald-200/60 hover:border-emerald-300"},P={sky:"text-sky-600",rose:"text-rose-500",emerald:"text-emerald-600"},y={sky:"bg-sky-100",rose:"bg-rose-100",emerald:"bg-emerald-100"};return e.jsxs(r.div,{className:`bg-white/80 backdrop-blur-xl border ${p[t.color]} rounded-xl p-4 transition-all cursor-pointer group shadow-md shadow-slate-900/[0.04]`,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.5+a*.1},whileHover:{scale:1.03,y:-4},children:[e.jsx("div",{className:`w-9 h-9 rounded-lg ${y[t.color]} flex items-center justify-center mb-3`,children:e.jsx(m,{size:18,className:P[t.color]})}),e.jsx("h3",{className:"text-sm font-display font-semibold text-slate-800 mb-0.5",children:t.label}),e.jsx("p",{className:"text-xs text-slate-400 font-body",children:t.desc})]},a)})})]}),e.jsx(r.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:[.22,1,.36,1]},className:"relative flex justify-center lg:justify-end",children:e.jsxs("div",{className:"bg-white/85 backdrop-blur-2xl border border-slate-200/60 rounded-3xl p-7 w-full max-w-md relative overflow-hidden shadow-[0_20px_60px_-15px_rgba(168,85,247,0.15)]",children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-[3px] bg-gradient-to-r from-purple-500 via-pink-500 to-sky-500"}),e.jsx("div",{className:"absolute -top-40 left-1/2 -translate-x-1/2 w-80 h-80 bg-gradient-to-br from-purple-400/20 to-pink-400/20 rounded-full blur-[60px] pointer-events-none"}),e.jsxs("div",{className:"text-center mb-6 relative",children:[e.jsx(r.h3,{className:"text-2xl font-display font-bold text-slate-900 mb-2",initial:{opacity:0},animate:{opacity:1},transition:{delay:.4},children:l?"Create Account":"Welcome Back"}),e.jsx(r.p,{className:"text-sm text-slate-500 font-body",initial:{opacity:0},animate:{opacity:1},transition:{delay:.5},children:l?"Begin your learning journey":"Sign in to continue learning"})]}),e.jsxs("form",{onSubmit:Se,className:"space-y-4 mb-5 relative",children:[v&&!J&&e.jsx(r.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},className:"bg-rose-50 border border-rose-200 text-rose-600 px-4 py-3 rounded-lg text-sm font-body",children:v}),l&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Full Name"}),e.jsxs("div",{className:"relative",children:[e.jsx(re,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx(D,{type:"text",placeholder:"Your Name",value:M,onChange:t=>me(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border-slate-200/80 text-slate-900 placeholder:text-slate-400 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all",required:!0})]})]}),l&&e.jsxs(r.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.45},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Account Type"}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:[{role:"student",label:"Student"},{role:"teacher",label:"Teacher"}].map(t=>{const a=n===t.role;return e.jsx("button",{type:"button",onClick:()=>O(t.role),className:`rounded-lg border px-3 py-2 text-xs font-body font-semibold transition-all ${a?"border-sky-400 bg-sky-50 text-sky-700":"border-slate-200 bg-slate-50 text-slate-500 hover:border-slate-300"}`,children:t.label},t.role)})})]}),l&&n==="student"&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Grade Level"}),e.jsxs("div",{className:"relative",children:[e.jsx(ie,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx("select",{value:f,onChange:t=>ue(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border border-slate-200/80 text-slate-900 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all appearance-none",required:!0,children:i.map(t=>e.jsx("option",{value:t,children:t},t))})]})]}),l&&n==="student"&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Section"}),e.jsxs("div",{className:"relative",children:[e.jsx(re,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx("select",{value:w,onChange:t=>_(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border border-slate-200/80 text-slate-900 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all appearance-none",required:!0,children:(c[f]||[]).map(t=>e.jsx("option",{value:t,children:t},t))})]})]}),l&&n!=="student"&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Department"}),e.jsxs("div",{className:"relative",children:[e.jsx(oe,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx("select",{value:g,onChange:t=>G(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border border-slate-200/80 text-slate-900 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all appearance-none",required:!0,children:o.teacher.map(t=>e.jsx("option",{value:t,children:t},t))})]})]}),e.jsxs(r.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.5},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Email Address"}),e.jsxs("div",{className:"relative",children:[e.jsx(Le,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx(D,{type:"email",placeholder:"your.email@school.edu",value:d,onChange:t=>h(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border-slate-200/80 text-slate-900 placeholder:text-slate-400 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all",required:!0})]})]}),e.jsxs(r.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.6},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Password"}),e.jsxs("div",{className:"relative",children:[e.jsx(le,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx(D,{type:A?"text":"password",placeholder:"••••••••",value:b,onChange:t=>z(t.target.value),className:"w-full pl-11 pr-11 py-3 rounded-lg bg-slate-100/70 border-slate-200/80 text-slate-900 placeholder:text-slate-400 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all",required:!0,minLength:l?8:6}),e.jsx(r.button,{type:"button",onClick:()=>de(!A),className:"absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-600 transition-colors",whileTap:{scale:.9},children:A?e.jsx(De,{size:16}):e.jsx(Be,{size:16})})]}),l&&e.jsxs("div",{className:"mt-2 rounded-lg border border-sky-100/80 bg-sky-50/70 px-3 py-2",children:[e.jsx("p",{className:"text-[11px] font-body font-semibold uppercase tracking-wider text-slate-600",children:"Password requirements"}),e.jsx("ul",{className:"mt-2 space-y-1",children:I.map(t=>e.jsxs("li",{className:`flex items-center gap-2 text-[11px] font-body ${t.met?"text-emerald-700":"text-slate-500"}`,children:[e.jsx("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${t.met?"bg-emerald-500":"bg-slate-300"}`}),e.jsx("span",{children:t.label})]},t.id))}),J&&e.jsx("p",{className:"mt-2 text-[11px] font-body font-semibold text-rose-600",children:"Password does not meet signup requirements."})]})]}),e.jsx(r.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.7},children:e.jsxs(Me,{type:"submit",disabled:V,className:"w-full bg-gradient-to-r from-purple-600 to-pink-500 hover:from-purple-500 hover:to-pink-400 text-white font-body font-semibold py-3 rounded-xl shadow-lg shadow-purple-600/25 hover:shadow-pink-500/35 hover:scale-[1.02] transition-all text-sm group relative overflow-hidden disabled:opacity-50 disabled:cursor-not-allowed",children:[e.jsx(r.span,{className:"absolute inset-0 bg-gradient-to-r from-white/0 via-white/15 to-white/0",animate:{x:["-100%","100%"]},transition:{duration:3,repeat:1/0,repeatDelay:2}}),e.jsxs("span",{className:"relative flex items-center justify-center gap-2",children:[V?"Please wait...":l?"Create Account":"Sign In",e.jsx(te,{size:16,className:"group-hover:translate-x-1 transition-transform"})]})]})}),e.jsx("div",{className:"text-center",children:e.jsx("button",{type:"button",onClick:()=>{q(!l),u(null)},className:"text-sm text-slate-400 hover:text-sky-500 font-body font-medium transition-colors",children:l?"Already have an account? Sign in":"Don't have an account? Create one"})})]}),!l&&e.jsxs(r.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.85},className:"mb-4 relative",children:[e.jsxs("div",{className:"relative flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"flex-1 h-px bg-slate-200"}),e.jsx("span",{className:"text-[10px] font-body font-semibold text-slate-400 uppercase tracking-widest",children:"Quick Demo Access"}),e.jsx("div",{className:"flex-1 h-px bg-slate-200"})]}),e.jsx("div",{className:"flex flex-col gap-2",children:Ne.map(t=>{const a=t.icon,m={sky:"bg-sky-100",emerald:"bg-emerald-100",rose:"bg-rose-100"},p={sky:"text-sky-600",emerald:"text-emerald-600",rose:"text-rose-500"};return e.jsxs(r.button,{type:"button",onClick:()=>ke(t.email,t.password,t.role),className:"group flex items-center gap-3 w-full px-4 py-2.5 rounded-lg bg-slate-50/80 border border-slate-200/70 hover:border-sky-300 hover:bg-sky-50/80 hover:shadow-sm transition-all text-left",whileHover:{scale:1.01},whileTap:{scale:.99},children:[e.jsx("div",{className:`w-8 h-8 rounded-md flex items-center justify-center shrink-0 ${m[t.color]}`,children:e.jsx(a,{size:15,className:p[t.color]})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("p",{className:"text-xs font-body font-semibold text-slate-700 group-hover:text-sky-600 transition-colors",children:[t.label," Account"]}),e.jsx("p",{className:"text-[10px] text-slate-400 font-body truncate",children:t.email})]}),e.jsx(te,{size:14,className:"text-slate-300 group-hover:text-sky-500 group-hover:translate-x-0.5 transition-all shrink-0"})]},t.label)})})]}),e.jsxs(r.p,{className:"text-xs text-slate-400 text-center mt-4 font-body relative",initial:{opacity:0},animate:{opacity:1},transition:{delay:1},children:[e.jsx(le,{size:10,className:"inline mr-1 -mt-0.5"})," Your data is encrypted and secure"]})]})})]})})]})};export{ut as default}; +import{r as s,j as e}from"./vendor-react-Dexh7fmo.js";import{B as Me}from"./button-DWdPuxDU.js";import{I as D}from"./input-DBkKXOmF.js";import{m as r,A as te,s as se,a as Ee,b as ae}from"./index-DGWrSMOK.js";import{S as Te}from"./sparkles-DxmNHQEo.js";import{B as Re}from"./brain-DHmY5cbv.js";import{T as Ce}from"./trending-up-B2MPUPwk.js";import{A as Ie}from"./award-DpLN2BvV.js";import{U as re}from"./users-BRS21lR4.js";import{G as ie}from"./graduation-cap-Cr-ek4Bs.js";import{B as oe}from"./book-open-B5Xvd1JL.js";import{M as Le}from"./mail-D-r4ZWDN.js";import{L as le}from"./lock-C6XEepuP.js";import{E as De}from"./eye-off-DCr0gD8u.js";import{E as Be}from"./eye-pSTVqBYO.js";import{S as ze}from"./shield-check-B-VFrdlh.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const ne="/assets/shader-bg-DA7bEbBA.mp4",qe=[{id:"length",label:"At least 8 characters",test:i=>i.length>=8},{id:"upper-lower",label:"Contains uppercase and lowercase letters",test:i=>/[A-Z]/.test(i)&&/[a-z]/.test(i)},{id:"number",label:"Contains at least one number",test:i=>/\d/.test(i)},{id:"special",label:"Contains at least one special character",test:i=>/[^A-Za-z0-9]/.test(i)}],B="Use at least 8 characters with uppercase, lowercase, number, and special character.",Oe=i=>{const c=typeof i=="object"&&i!==null?i:null,o=i instanceof Error?i.message:"";if(c?.code&&typeof c.code=="string")return{code:c.code.toLowerCase(),message:o};const d=o.match(/auth\/[a-z-]+/i);return{code:d?d[0].toLowerCase():"",message:o}},_e=i=>i.replace(/^Firebase:\s*/i,"").replace(/\s*\(auth\/[a-z-]+\)\.?/i,"").trim(),ce=(i,c)=>{const{code:o,message:d}=Oe(i),h=_e(d);return o==="auth/invalid-credential"||o==="auth/wrong-password"||o==="auth/user-not-found"?"Invalid email or password. Please check your credentials and try again.":o==="auth/email-already-in-use"?"This email is already registered. Please sign in instead.":o==="auth/weak-password"||o==="auth/password-does-not-meet-requirements"?h?`Password does not meet signup requirements. ${h}`:`Password does not meet signup requirements. ${B}`:o==="auth/too-many-requests"?"Access to this account has been temporarily disabled due to many failed login attempts. You can immediately restore it by resetting your password or you can try again later.":o==="auth/network-request-failed"?"Network error. Please check your internet connection and try again.":o.startsWith("auth/")?h||c:d.includes("Firebase:")||d.includes("auth/")?c:d||c},ut=()=>{const i=["Grade 11","Grade 12"],c={"Grade 11":["STEM A","STEM B","ABM A","HUMSS A"],"Grade 12":["STEM A","STEM B","ABM A","HUMSS A"]},o={teacher:["Mathematics","Science","English","Technology","Humanities"]},[d,h]=s.useState(""),[b,z]=s.useState(""),[A,de]=s.useState(!1),[l,q]=s.useState(!1),[M,me]=s.useState(""),[n,O]=s.useState("student"),[f,ue]=s.useState("Grade 11"),[w,_]=s.useState(c["Grade 11"][0]),[g,G]=s.useState("Mathematics"),[V,x]=s.useState(!1),[v,u]=s.useState(null),[pe,xe]=s.useState(!1),[ye,he]=s.useState(!1),[E,fe]=s.useState(16),[F,U]=s.useState("primary"),[$,T]=s.useState(0),R=s.useRef(null),C=s.useRef(null),N=pe&&ye,j=s.useRef("primary"),k=s.useRef(0),S=s.useRef(!1),W=1.1,H=.34,Y=t=>{const a=Math.max(0,Math.min(1,t));Math.abs(k.current-a)<.02||(k.current=a,T(a))},Z=t=>{!Number.isFinite(t)||t<=0||Math.abs(E-t)>.05&&fe(t)},I=s.useMemo(()=>qe.map(t=>({...t,met:t.test(b)})),[b]),be=s.useMemo(()=>I.every(t=>t.met),[I]),J=s.useMemo(()=>{if(!l||!v)return!1;const t=v.toLowerCase();return t.includes("password requirements not met")||t.includes("password does not meet")},[v,l]),ge=()=>{const t=R.current?.duration;t&&Number.isFinite(t)&&t>0&&Z(t)},ve=()=>{const t=C.current?.duration;t&&Number.isFinite(t)&&t>0&&Z(t)};s.useEffect(()=>{if(!N)return;const t=R.current,a=C.current;if(!t||!a)return;let m=!1,p=0;j.current="primary",U("primary"),S.current=!1,k.current=0,T(0),t.loop=!1,a.loop=!1,t.currentTime=0,a.currentTime=0,a.pause(),t.play().catch(()=>{});const P=()=>{if(m)return;const y=j.current==="primary"?t:a,K=j.current==="primary"?a:t,Pe=Number.isFinite(y.duration)&&y.duration>0?y.duration:E,L=Math.max(Pe-y.currentTime,0);if(L<=W){S.current||(S.current=!0,K.currentTime=0,K.play().catch(()=>{}));const Ae=1-L/W;if(Y(Ae),L<=.03||y.ended){y.pause(),y.currentTime=0;const ee=j.current==="primary"?"secondary":"primary";j.current=ee,U(ee),S.current=!1,k.current=0,T(0)}}else Y(0);p=window.requestAnimationFrame(P)};return p=window.requestAnimationFrame(P),()=>{m=!0,p&&window.cancelAnimationFrame(p)}},[E,N]);const Q=N?H*(1-$):0,X=N?H*$:0,je=F==="primary"?Q:X,we=F==="secondary"?Q:X;s.useEffect(()=>{n==="teacher"&&!o.teacher.includes(g)&&G(o.teacher[0])},[g,n]),s.useEffect(()=>{const t=c[f]||[];t.length>0&&!t.includes(w)&&_(t[0])},[f,w]);const Ne=[{label:"Student",role:"student",email:"teststudent@school.edu",password:"TestPass123!",icon:ie,color:"sky"},{label:"Teacher",role:"teacher",email:"testteacher@school.edu",password:"TestPass123!",icon:oe,color:"emerald"},{label:"Admin",role:"admin",email:"testadmin@school.edu",password:"TestPass123!",icon:ze,color:"rose"}],ke=async(t,a,m)=>{u(null),x(!0),h(t),z(a),O(m),q(!1);try{se(m),await ae(t,a)}catch(p){u(ce(p,"Demo sign-in failed. Please try again.")),x(!1)}},Se=async t=>{t.preventDefault(),u(null),x(!0);try{if(l){if(!M.trim()){u("Please enter your name"),x(!1);return}if(n==="student"&&!f){u("Please select a grade level"),x(!1);return}if(n!=="student"&&!g){u("Please select a department"),x(!1);return}if(n==="admin"){u("Admin account creation is restricted. Please contact an existing administrator."),x(!1);return}if(!be){u(`Password does not meet signup requirements. ${B}`),x(!1);return}se(n),await Ee(d,b,M,n,n==="student"?{grade:f,section:w}:{department:g})}else await ae(d,b)}catch(a){const m=l?`Sign-up failed. ${B}`:"Sign-in failed. Please check your credentials and try again.";u(ce(a,m)),x(!1)}};return e.jsxs("div",{className:"h-screen w-full flex items-center justify-center px-6 overflow-hidden relative",style:{background:"linear-gradient(135deg, #f0f9ff 0%, #f8fafc 30%, #fff1f2 60%, #f0f9ff 100%)"},children:[e.jsx("video",{ref:R,autoPlay:!0,muted:!0,playsInline:!0,preload:"auto",onCanPlay:()=>xe(!0),onLoadedMetadata:ge,className:"absolute inset-0 w-full h-full object-cover transition-opacity duration-150",style:{opacity:je},src:ne}),e.jsx("video",{ref:C,autoPlay:!0,muted:!0,playsInline:!0,preload:"auto",onCanPlay:()=>he(!0),onLoadedMetadata:ve,className:"absolute inset-0 w-full h-full object-cover transition-opacity duration-150",style:{opacity:we},src:ne}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse at 30% 50%, rgba(240,249,255,0.2) 0%, rgba(248,250,252,0.5) 50%, rgba(255,241,242,0.4) 80%, rgba(248,250,252,0.85) 100%)"}}),e.jsx("div",{className:"absolute top-[10%] left-[-10%] w-[60%] h-[60%] rounded-full blur-[140px] pointer-events-none mix-blend-multiply",style:{background:"radial-gradient(circle, rgba(168,85,247,0.3) 0%, transparent 70%)"}}),e.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] w-[70%] h-[70%] rounded-full blur-[160px] pointer-events-none mix-blend-multiply",style:{background:"radial-gradient(circle, rgba(236,72,153,0.25) 0%, transparent 70%)"}}),e.jsx("div",{className:"absolute top-[40%] left-[40%] w-[40%] h-[40%] rounded-full blur-[120px] pointer-events-none mix-blend-screen",style:{background:"radial-gradient(circle, rgba(56,189,248,0.2) 0%, transparent 70%)"}}),e.jsx("div",{className:"relative z-10 w-full max-w-6xl mx-auto",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 items-center",children:[e.jsxs(r.div,{initial:{opacity:0,x:-40},animate:{opacity:1,x:0},transition:{duration:.8,ease:[.22,1,.36,1]},className:"flex flex-col justify-center space-y-8",children:[e.jsxs(r.div,{className:"flex items-center gap-2.5",children:[e.jsx(r.div,{className:"relative flex items-center justify-center drop-shadow-md",children:e.jsx("img",{src:"/mathpulse_logo.png",alt:"MathPulse AI Logo",className:"w-16 h-16 object-contain flex-shrink-0"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-display font-black tracking-tight text-slate-900 bg-clip-text text-transparent bg-gradient-to-r from-purple-600 via-pink-600 to-sky-500",children:"MathPulse"}),e.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[e.jsx(Te,{size:12,className:"text-rose-500"}),e.jsx("span",{className:"text-xs text-slate-500 font-body font-medium tracking-wide",children:"Powered by Machine Learning"})]})]})]}),e.jsxs(r.div,{className:"space-y-5",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.2,duration:.8},children:[e.jsxs("h2",{className:"text-4xl lg:text-5xl xl:text-[3.4rem] font-display font-extrabold leading-[1.1] tracking-tight text-slate-900",children:["Transform Your",e.jsx("br",{}),e.jsx("span",{className:"bg-gradient-to-r from-sky-600 via-cyan-500 to-sky-500 bg-clip-text text-transparent",children:"Math Journey"})]}),e.jsx("p",{className:"text-base text-slate-500 leading-relaxed max-w-md font-body",children:"AI-powered predictive system designed to identify at-risk students and provide personalized learning recommendations."})]}),e.jsx("div",{className:"grid grid-cols-3 gap-3",children:[{icon:Re,label:"AI Predictions",desc:"Smart detection",color:"sky"},{icon:Ce,label:"Analytics",desc:"Real-time data",color:"rose"},{icon:Ie,label:"Gamified",desc:"Learn & earn",color:"emerald"}].map((t,a)=>{const m=t.icon,p={sky:"border-sky-200/60 hover:border-sky-300",rose:"border-rose-200/60 hover:border-rose-300",emerald:"border-emerald-200/60 hover:border-emerald-300"},P={sky:"text-sky-600",rose:"text-rose-500",emerald:"text-emerald-600"},y={sky:"bg-sky-100",rose:"bg-rose-100",emerald:"bg-emerald-100"};return e.jsxs(r.div,{className:`bg-white/80 backdrop-blur-xl border ${p[t.color]} rounded-xl p-4 transition-all cursor-pointer group shadow-md shadow-slate-900/[0.04]`,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.5+a*.1},whileHover:{scale:1.03,y:-4},children:[e.jsx("div",{className:`w-9 h-9 rounded-lg ${y[t.color]} flex items-center justify-center mb-3`,children:e.jsx(m,{size:18,className:P[t.color]})}),e.jsx("h3",{className:"text-sm font-display font-semibold text-slate-800 mb-0.5",children:t.label}),e.jsx("p",{className:"text-xs text-slate-400 font-body",children:t.desc})]},a)})})]}),e.jsx(r.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,delay:.15,ease:[.22,1,.36,1]},className:"relative flex justify-center lg:justify-end",children:e.jsxs("div",{className:"bg-white/85 backdrop-blur-2xl border border-slate-200/60 rounded-3xl p-7 w-full max-w-md relative overflow-hidden shadow-[0_20px_60px_-15px_rgba(168,85,247,0.15)]",children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-[3px] bg-gradient-to-r from-purple-500 via-pink-500 to-sky-500"}),e.jsx("div",{className:"absolute -top-40 left-1/2 -translate-x-1/2 w-80 h-80 bg-gradient-to-br from-purple-400/20 to-pink-400/20 rounded-full blur-[60px] pointer-events-none"}),e.jsxs("div",{className:"text-center mb-6 relative",children:[e.jsx(r.h3,{className:"text-2xl font-display font-bold text-slate-900 mb-2",initial:{opacity:0},animate:{opacity:1},transition:{delay:.4},children:l?"Create Account":"Welcome Back"}),e.jsx(r.p,{className:"text-sm text-slate-500 font-body",initial:{opacity:0},animate:{opacity:1},transition:{delay:.5},children:l?"Begin your learning journey":"Sign in to continue learning"})]}),e.jsxs("form",{onSubmit:Se,className:"space-y-4 mb-5 relative",children:[v&&!J&&e.jsx(r.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},className:"bg-rose-50 border border-rose-200 text-rose-600 px-4 py-3 rounded-lg text-sm font-body",children:v}),l&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Full Name"}),e.jsxs("div",{className:"relative",children:[e.jsx(re,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx(D,{type:"text",placeholder:"Your Name",value:M,onChange:t=>me(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border-slate-200/80 text-slate-900 placeholder:text-slate-400 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all",required:!0})]})]}),l&&e.jsxs(r.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.45},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Account Type"}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:[{role:"student",label:"Student"},{role:"teacher",label:"Teacher"}].map(t=>{const a=n===t.role;return e.jsx("button",{type:"button",onClick:()=>O(t.role),className:`rounded-lg border px-3 py-2 text-xs font-body font-semibold transition-all ${a?"border-sky-400 bg-sky-50 text-sky-700":"border-slate-200 bg-slate-50 text-slate-500 hover:border-slate-300"}`,children:t.label},t.role)})})]}),l&&n==="student"&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Grade Level"}),e.jsxs("div",{className:"relative",children:[e.jsx(ie,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx("select",{value:f,onChange:t=>ue(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border border-slate-200/80 text-slate-900 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all appearance-none",required:!0,children:i.map(t=>e.jsx("option",{value:t,children:t},t))})]})]}),l&&n==="student"&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Section"}),e.jsxs("div",{className:"relative",children:[e.jsx(re,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx("select",{value:w,onChange:t=>_(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border border-slate-200/80 text-slate-900 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all appearance-none",required:!0,children:(c[f]||[]).map(t=>e.jsx("option",{value:t,children:t},t))})]})]}),l&&n!=="student"&&e.jsxs(r.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Department"}),e.jsxs("div",{className:"relative",children:[e.jsx(oe,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx("select",{value:g,onChange:t=>G(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border border-slate-200/80 text-slate-900 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all appearance-none",required:!0,children:o.teacher.map(t=>e.jsx("option",{value:t,children:t},t))})]})]}),e.jsxs(r.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.5},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Email Address"}),e.jsxs("div",{className:"relative",children:[e.jsx(Le,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx(D,{type:"email",placeholder:"your.email@school.edu",value:d,onChange:t=>h(t.target.value),className:"w-full pl-11 pr-4 py-3 rounded-lg bg-slate-100/70 border-slate-200/80 text-slate-900 placeholder:text-slate-400 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all",required:!0})]})]}),e.jsxs(r.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:.6},children:[e.jsx("label",{className:"block text-xs font-body font-semibold text-slate-500 mb-2 uppercase tracking-wider",children:"Password"}),e.jsxs("div",{className:"relative",children:[e.jsx(le,{size:16,className:"absolute left-4 top-1/2 -translate-y-1/2 text-slate-400"}),e.jsx(D,{type:A?"text":"password",placeholder:"••••••••",value:b,onChange:t=>z(t.target.value),className:"w-full pl-11 pr-11 py-3 rounded-lg bg-slate-100/70 border-slate-200/80 text-slate-900 placeholder:text-slate-400 focus:border-sky-400 focus:ring-2 focus:ring-sky-400/20 focus:bg-white text-sm font-body transition-all",required:!0,minLength:l?8:6}),e.jsx(r.button,{type:"button",onClick:()=>de(!A),className:"absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-600 transition-colors",whileTap:{scale:.9},children:A?e.jsx(De,{size:16}):e.jsx(Be,{size:16})})]}),l&&e.jsxs("div",{className:"mt-2 rounded-lg border border-sky-100/80 bg-sky-50/70 px-3 py-2",children:[e.jsx("p",{className:"text-[11px] font-body font-semibold uppercase tracking-wider text-slate-600",children:"Password requirements"}),e.jsx("ul",{className:"mt-2 space-y-1",children:I.map(t=>e.jsxs("li",{className:`flex items-center gap-2 text-[11px] font-body ${t.met?"text-emerald-700":"text-slate-500"}`,children:[e.jsx("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${t.met?"bg-emerald-500":"bg-slate-300"}`}),e.jsx("span",{children:t.label})]},t.id))}),J&&e.jsx("p",{className:"mt-2 text-[11px] font-body font-semibold text-rose-600",children:"Password does not meet signup requirements."})]})]}),e.jsx(r.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.7},children:e.jsxs(Me,{type:"submit",disabled:V,className:"w-full bg-gradient-to-r from-purple-600 to-pink-500 hover:from-purple-500 hover:to-pink-400 text-white font-body font-semibold py-3 rounded-xl shadow-lg shadow-purple-600/25 hover:shadow-pink-500/35 hover:scale-[1.02] transition-all text-sm group relative overflow-hidden disabled:opacity-50 disabled:cursor-not-allowed",children:[e.jsx(r.span,{className:"absolute inset-0 bg-gradient-to-r from-white/0 via-white/15 to-white/0",animate:{x:["-100%","100%"]},transition:{duration:3,repeat:1/0,repeatDelay:2}}),e.jsxs("span",{className:"relative flex items-center justify-center gap-2",children:[V?"Please wait...":l?"Create Account":"Sign In",e.jsx(te,{size:16,className:"group-hover:translate-x-1 transition-transform"})]})]})}),e.jsx("div",{className:"text-center",children:e.jsx("button",{type:"button",onClick:()=>{q(!l),u(null)},className:"text-sm text-slate-400 hover:text-sky-500 font-body font-medium transition-colors",children:l?"Already have an account? Sign in":"Don't have an account? Create one"})})]}),!l&&e.jsxs(r.div,{initial:{opacity:0},animate:{opacity:1},transition:{delay:.85},className:"mb-4 relative",children:[e.jsxs("div",{className:"relative flex items-center gap-3 mb-4",children:[e.jsx("div",{className:"flex-1 h-px bg-slate-200"}),e.jsx("span",{className:"text-[10px] font-body font-semibold text-slate-400 uppercase tracking-widest",children:"Quick Demo Access"}),e.jsx("div",{className:"flex-1 h-px bg-slate-200"})]}),e.jsx("div",{className:"flex flex-col gap-2",children:Ne.map(t=>{const a=t.icon,m={sky:"bg-sky-100",emerald:"bg-emerald-100",rose:"bg-rose-100"},p={sky:"text-sky-600",emerald:"text-emerald-600",rose:"text-rose-500"};return e.jsxs(r.button,{type:"button",onClick:()=>ke(t.email,t.password,t.role),className:"group flex items-center gap-3 w-full px-4 py-2.5 rounded-lg bg-slate-50/80 border border-slate-200/70 hover:border-sky-300 hover:bg-sky-50/80 hover:shadow-sm transition-all text-left",whileHover:{scale:1.01},whileTap:{scale:.99},children:[e.jsx("div",{className:`w-8 h-8 rounded-md flex items-center justify-center shrink-0 ${m[t.color]}`,children:e.jsx(a,{size:15,className:p[t.color]})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("p",{className:"text-xs font-body font-semibold text-slate-700 group-hover:text-sky-600 transition-colors",children:[t.label," Account"]}),e.jsx("p",{className:"text-[10px] text-slate-400 font-body truncate",children:t.email})]}),e.jsx(te,{size:14,className:"text-slate-300 group-hover:text-sky-500 group-hover:translate-x-0.5 transition-all shrink-0"})]},t.label)})})]}),e.jsxs(r.p,{className:"text-xs text-slate-400 text-center mt-4 font-body relative",initial:{opacity:0},animate:{opacity:1},transition:{delay:1},children:[e.jsx(le,{size:10,className:"inline mr-1 -mt-0.5"})," Your data is encrypted and secure"]})]})})]})})]})};export{ut as default}; diff --git a/assets/LogoutActionButton-Js9om3fZ.js b/assets/LogoutActionButton-D-8gok3U.js similarity index 94% rename from assets/LogoutActionButton-Js9om3fZ.js rename to assets/LogoutActionButton-D-8gok3U.js index 1d85c739108b2d8ee10d447eb13e213ea911e445..cf86eb9f91f0f5ea050d5f5acb8affc4d6a69907 100644 --- a/assets/LogoutActionButton-Js9om3fZ.js +++ b/assets/LogoutActionButton-D-8gok3U.js @@ -1,4 +1,4 @@ -import{c as a,m as s}from"./index-CUP7q97n.js";import{j as e}from"./vendor-react-Dexh7fmo.js";import{c as n}from"./utils-BQQgILNW.js";import{L as i}from"./log-out-DSwWLQA-.js";/** +import{c as a,m as s}from"./index-DGWrSMOK.js";import{j as e}from"./vendor-react-Dexh7fmo.js";import{c as n}from"./utils-BQQgILNW.js";import{L as i}from"./log-out-DYYu4gFF.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/MathAnswerInput-BCqSwAnE.js b/assets/MathAnswerInput-Bx58557t.js similarity index 98% rename from assets/MathAnswerInput-BCqSwAnE.js rename to assets/MathAnswerInput-Bx58557t.js index 707fc3a880c62164eb8e5208144e423fcd2a369c..1e868a30208ff35174182fbadd8af49576bd83e7 100644 --- a/assets/MathAnswerInput-BCqSwAnE.js +++ b/assets/MathAnswerInput-Bx58557t.js @@ -1 +1 @@ -import{r as c,c as y,j as e}from"./vendor-react-Dexh7fmo.js";import{C as P}from"./index-CUP7q97n.js";const N={0:"⁰",1:"¹",2:"²",3:"³",4:"⁴",5:"⁵",6:"⁶",7:"⁷",8:"⁸",9:"⁹"};function S(i){let t=i;return t=t.replace(/sin⁻¹/g,"sin-1"),t=t.replace(/cos⁻¹/g,"cos-1"),t=t.replace(/tan⁻¹/g,"tan-1"),t=t.replace(/⁻¹/g,"-1"),t=t.replace(/²/g,"2"),t=t.replace(/³/g,"3"),t=t.replace(/[⁰¹⁴⁵⁶⁷⁸⁹]/g,d=>`${{"⁰":"0","¹":"1","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9"}[d]??d}`),t=t.replace(/√/g,"√"),t=t.replace(/π/g,"π"),t=t.replace(/<(?!\/?(?:sup|sub)\b)[^>]*>/gi,""),t}const R=({value:i,onChange:t,placeholder:d,onCalculatorOpen:h,onSubmit:f})=>{const[b,g]=c.useState(!1),[m,j]=c.useState(null),[w,v]=c.useState({top:0,left:0}),p=c.useRef(null),x=c.useRef(!1),s=c.useCallback(n=>{const o=p.current;if(!o){t(i+n);return}const l=o.selectionStart??i.length,u=o.selectionEnd??i.length,D=i.slice(0,l)+n+i.slice(u);t(D),setTimeout(()=>{o.setSelectionRange(l+n.length,l+n.length),o.focus()},0)},[i,t]),C=c.useCallback(n=>{const o=n.key;if(o==="Enter"){n.preventDefault(),f?.();return}if(o==="^"){x.current=!0,n.preventDefault();return}if(x.current){if(o==="-"){s("⁻"),n.preventDefault();return}if(/^[0-9]$/.test(o)&&N[o]){s(N[o]),x.current=!1,n.preventDefault();return}x.current=!1}if(o==="Tab"&&m!==null){s(m),j(null),n.preventDefault();return}setTimeout(()=>{const l=p.current?.value??i;if(l.endsWith("pi"))t(l.slice(0,-2)+"π"),j(null);else if(l.endsWith("sqrt"))t(l.slice(0,-4)+"√");else if(l.endsWith("sin-1")||l.endsWith("sin^-1")){const u=l.endsWith("sin^-1")?6:5;t(l.slice(0,-u)+"sin⁻¹")}else if(l.endsWith("cos-1")||l.endsWith("cos^-1")){const u=l.endsWith("cos^-1")?6:5;t(l.slice(0,-u)+"cos⁻¹")}else if(l.endsWith("tan-1")||l.endsWith("tan^-1")){const u=l.endsWith("tan^-1")?6:5;t(l.slice(0,-u)+"tan⁻¹")}},0)},[i,t,m,s,f]),a=c.useCallback(()=>{if(p.current){const n=p.current.getBoundingClientRect();v({top:Math.max(20,n.bottom-280),left:Math.max(10,n.left-240)})}},[]),E=c.useCallback(()=>{a(),g(!0)},[a]);y.useEffect(()=>{const n=setTimeout(()=>{a(),g(!0)},50);return()=>clearTimeout(n)},[a]),y.useEffect(()=>{if(b)return window.addEventListener("resize",a),window.addEventListener("scroll",a,!0),()=>{window.removeEventListener("resize",a),window.removeEventListener("scroll",a,!0)}},[b,a]);const T=c.useCallback(()=>{},[]),k=S(i),W=k!==i&&i.length>0,r="bg-slate-100 hover:bg-slate-200 text-[#0a1628] text-sm px-2 py-1 rounded-lg transition-colors";return e.jsxs("div",{className:"relative",children:[b&&e.jsxs("div",{className:"fixed z-[60] bg-white border border-slate-200 rounded-xl shadow-xl px-3 py-3 flex flex-col gap-3 w-[220px] pointer-events-auto",style:{top:w.top,left:w.left},onMouseDown:n=>n.preventDefault(),children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Powers"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx("button",{type:"button",className:r,title:"Square",onClick:()=>s("²"),children:"x²"}),e.jsx("button",{type:"button",className:r,title:"Cube",onClick:()=>s("³"),children:"x³"}),e.jsx("button",{type:"button",className:r,title:"Power",onClick:()=>s("^"),children:"xⁿ"}),e.jsx("button",{type:"button",className:r,title:"Inverse",onClick:()=>s("⁻¹"),children:"x⁻¹"}),e.jsx("button",{type:"button",className:r,title:"Square root",onClick:()=>s("√("),children:"√"}),e.jsx("button",{type:"button",className:r,title:"Cube root",onClick:()=>s("∛("),children:"∛"})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Inverse Trig"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx("button",{type:"button",className:r,title:"Inverse sine",onClick:()=>s("sin⁻¹("),children:"sin⁻¹"}),e.jsx("button",{type:"button",className:r,title:"Inverse cosine",onClick:()=>s("cos⁻¹("),children:"cos⁻¹"}),e.jsx("button",{type:"button",className:r,title:"Inverse tangent",onClick:()=>s("tan⁻¹("),children:"tan⁻¹"})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Symbols"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx("button",{type:"button",className:r,title:"Pi",onClick:()=>s("π"),children:"π"}),e.jsx("button",{type:"button",className:r,title:"Euler's number",onClick:()=>s("e"),children:"e"}),e.jsx("button",{type:"button",className:r,title:"Infinity",onClick:()=>s("∞"),children:"∞"}),e.jsx("button",{type:"button",className:r,title:"Plus-minus",onClick:()=>s("±"),children:"±"}),e.jsx("button",{type:"button",className:r,title:"Approximately",onClick:()=>s("≈"),children:"≈"}),e.jsx("button",{type:"button",className:r,title:"Degree",onClick:()=>s("°"),children:"°"})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Other"}),e.jsxs("div",{className:"flex gap-1 items-center",children:[e.jsx("button",{type:"button",className:r,title:"Fraction",onClick:()=>s("(/)"),children:"a/b"}),e.jsx("div",{className:"ml-auto",children:e.jsxs("button",{type:"button",className:"bg-sky-600 hover:bg-rose-500 text-white text-xs px-3 py-1 rounded-lg flex items-center gap-1",onClick:()=>h?.(),children:[e.jsx(P,{size:12}),"Use Calc"]})})]})]})]}),e.jsx("input",{ref:p,id:"math-answer-input",name:"math-answer-input","aria-label":"Math answer input",type:"text",value:i,onChange:n=>t(n.target.value),onKeyDown:C,onFocus:E,onBlur:T,placeholder:d||"Type your answer... use ^ for powers e.g. x^2 for x²",className:"w-full bg-white border border-slate-200 focus:border-sky-500 rounded-xl px-4 py-3 text-[#0a1628] font-mono text-base outline-none transition-colors"}),W&&e.jsx("div",{className:"text-rose-300 text-sm font-mono mt-1",dangerouslySetInnerHTML:{__html:k}})]})};export{R as M}; +import{r as c,c as y,j as e}from"./vendor-react-Dexh7fmo.js";import{C as P}from"./index-DGWrSMOK.js";const N={0:"⁰",1:"¹",2:"²",3:"³",4:"⁴",5:"⁵",6:"⁶",7:"⁷",8:"⁸",9:"⁹"};function S(i){let t=i;return t=t.replace(/sin⁻¹/g,"sin-1"),t=t.replace(/cos⁻¹/g,"cos-1"),t=t.replace(/tan⁻¹/g,"tan-1"),t=t.replace(/⁻¹/g,"-1"),t=t.replace(/²/g,"2"),t=t.replace(/³/g,"3"),t=t.replace(/[⁰¹⁴⁵⁶⁷⁸⁹]/g,d=>`${{"⁰":"0","¹":"1","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9"}[d]??d}`),t=t.replace(/√/g,"√"),t=t.replace(/π/g,"π"),t=t.replace(/<(?!\/?(?:sup|sub)\b)[^>]*>/gi,""),t}const R=({value:i,onChange:t,placeholder:d,onCalculatorOpen:h,onSubmit:f})=>{const[b,g]=c.useState(!1),[m,j]=c.useState(null),[w,v]=c.useState({top:0,left:0}),p=c.useRef(null),x=c.useRef(!1),s=c.useCallback(n=>{const o=p.current;if(!o){t(i+n);return}const l=o.selectionStart??i.length,u=o.selectionEnd??i.length,D=i.slice(0,l)+n+i.slice(u);t(D),setTimeout(()=>{o.setSelectionRange(l+n.length,l+n.length),o.focus()},0)},[i,t]),C=c.useCallback(n=>{const o=n.key;if(o==="Enter"){n.preventDefault(),f?.();return}if(o==="^"){x.current=!0,n.preventDefault();return}if(x.current){if(o==="-"){s("⁻"),n.preventDefault();return}if(/^[0-9]$/.test(o)&&N[o]){s(N[o]),x.current=!1,n.preventDefault();return}x.current=!1}if(o==="Tab"&&m!==null){s(m),j(null),n.preventDefault();return}setTimeout(()=>{const l=p.current?.value??i;if(l.endsWith("pi"))t(l.slice(0,-2)+"π"),j(null);else if(l.endsWith("sqrt"))t(l.slice(0,-4)+"√");else if(l.endsWith("sin-1")||l.endsWith("sin^-1")){const u=l.endsWith("sin^-1")?6:5;t(l.slice(0,-u)+"sin⁻¹")}else if(l.endsWith("cos-1")||l.endsWith("cos^-1")){const u=l.endsWith("cos^-1")?6:5;t(l.slice(0,-u)+"cos⁻¹")}else if(l.endsWith("tan-1")||l.endsWith("tan^-1")){const u=l.endsWith("tan^-1")?6:5;t(l.slice(0,-u)+"tan⁻¹")}},0)},[i,t,m,s,f]),a=c.useCallback(()=>{if(p.current){const n=p.current.getBoundingClientRect();v({top:Math.max(20,n.bottom-280),left:Math.max(10,n.left-240)})}},[]),E=c.useCallback(()=>{a(),g(!0)},[a]);y.useEffect(()=>{const n=setTimeout(()=>{a(),g(!0)},50);return()=>clearTimeout(n)},[a]),y.useEffect(()=>{if(b)return window.addEventListener("resize",a),window.addEventListener("scroll",a,!0),()=>{window.removeEventListener("resize",a),window.removeEventListener("scroll",a,!0)}},[b,a]);const T=c.useCallback(()=>{},[]),k=S(i),W=k!==i&&i.length>0,r="bg-slate-100 hover:bg-slate-200 text-[#0a1628] text-sm px-2 py-1 rounded-lg transition-colors";return e.jsxs("div",{className:"relative",children:[b&&e.jsxs("div",{className:"fixed z-[60] bg-white border border-slate-200 rounded-xl shadow-xl px-3 py-3 flex flex-col gap-3 w-[220px] pointer-events-auto",style:{top:w.top,left:w.left},onMouseDown:n=>n.preventDefault(),children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Powers"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx("button",{type:"button",className:r,title:"Square",onClick:()=>s("²"),children:"x²"}),e.jsx("button",{type:"button",className:r,title:"Cube",onClick:()=>s("³"),children:"x³"}),e.jsx("button",{type:"button",className:r,title:"Power",onClick:()=>s("^"),children:"xⁿ"}),e.jsx("button",{type:"button",className:r,title:"Inverse",onClick:()=>s("⁻¹"),children:"x⁻¹"}),e.jsx("button",{type:"button",className:r,title:"Square root",onClick:()=>s("√("),children:"√"}),e.jsx("button",{type:"button",className:r,title:"Cube root",onClick:()=>s("∛("),children:"∛"})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Inverse Trig"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx("button",{type:"button",className:r,title:"Inverse sine",onClick:()=>s("sin⁻¹("),children:"sin⁻¹"}),e.jsx("button",{type:"button",className:r,title:"Inverse cosine",onClick:()=>s("cos⁻¹("),children:"cos⁻¹"}),e.jsx("button",{type:"button",className:r,title:"Inverse tangent",onClick:()=>s("tan⁻¹("),children:"tan⁻¹"})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Symbols"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx("button",{type:"button",className:r,title:"Pi",onClick:()=>s("π"),children:"π"}),e.jsx("button",{type:"button",className:r,title:"Euler's number",onClick:()=>s("e"),children:"e"}),e.jsx("button",{type:"button",className:r,title:"Infinity",onClick:()=>s("∞"),children:"∞"}),e.jsx("button",{type:"button",className:r,title:"Plus-minus",onClick:()=>s("±"),children:"±"}),e.jsx("button",{type:"button",className:r,title:"Approximately",onClick:()=>s("≈"),children:"≈"}),e.jsx("button",{type:"button",className:r,title:"Degree",onClick:()=>s("°"),children:"°"})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] text-[#5a6578] uppercase tracking-wider mb-0.5 block",children:"Other"}),e.jsxs("div",{className:"flex gap-1 items-center",children:[e.jsx("button",{type:"button",className:r,title:"Fraction",onClick:()=>s("(/)"),children:"a/b"}),e.jsx("div",{className:"ml-auto",children:e.jsxs("button",{type:"button",className:"bg-sky-600 hover:bg-rose-500 text-white text-xs px-3 py-1 rounded-lg flex items-center gap-1",onClick:()=>h?.(),children:[e.jsx(P,{size:12}),"Use Calc"]})})]})]})]}),e.jsx("input",{ref:p,id:"math-answer-input",name:"math-answer-input","aria-label":"Math answer input",type:"text",value:i,onChange:n=>t(n.target.value),onKeyDown:C,onFocus:E,onBlur:T,placeholder:d||"Type your answer... use ^ for powers e.g. x^2 for x²",className:"w-full bg-white border border-slate-200 focus:border-sky-500 rounded-xl px-4 py-3 text-[#0a1628] font-mono text-base outline-none transition-colors"}),W&&e.jsx("div",{className:"text-rose-300 text-sm font-mono mt-1",dangerouslySetInnerHTML:{__html:k}})]})};export{R as M}; diff --git a/assets/ModuleFolderCard-Z8brsNEm.js b/assets/ModuleFolderCard-BGJM_1PJ.js similarity index 96% rename from assets/ModuleFolderCard-Z8brsNEm.js rename to assets/ModuleFolderCard-BGJM_1PJ.js index 1fd5d21b0abfa9433cda99cf2997b3969d9427e3..88309786389903710138ce367d0a2dad8bc9ea72 100644 --- a/assets/ModuleFolderCard-Z8brsNEm.js +++ b/assets/ModuleFolderCard-BGJM_1PJ.js @@ -1 +1 @@ -import{j as e}from"./vendor-react-Dexh7fmo.js";import{m as d,T as n}from"./index-CUP7q97n.js";import{B as x}from"./book-open-CeQC7bWj.js";import{C as h}from"./clock-C56zvyHw.js";const r=[{bg:"bg-[#9956DE]",tab:"bg-[#8248c2]",shadow:"shadow-[#9956DE]/30"},{bg:"bg-[#1FA7E1]",tab:"bg-[#198abf]",shadow:"shadow-[#1FA7E1]/30"},{bg:"bg-[#FFB356]",tab:"bg-[#e09841]",shadow:"shadow-[#FFB356]/30"},{bg:"bg-[#FB96BB]",tab:"bg-[#de7b9f]",shadow:"shadow-[#FB96BB]/30"}],g=({module:s,index:l,onClick:o,isAtRisk:i,badgeLabel:t})=>{const a=r[l%r.length];return e.jsxs(d.button,{whileHover:{y:-8},onClick:o,className:"relative text-left rounded-[1.4rem] overflow-visible min-h-[290px] bg-transparent group w-full",children:[e.jsx("div",{className:`absolute top-0 left-4 h-7 w-32 rounded-t-xl shadow-sm transition-colors duration-300 ${a.tab}`}),e.jsxs("div",{className:`relative mt-6 rounded-[1.4rem] p-6 transition-all duration-300 overflow-hidden flex flex-col h-[calc(100%-24px)] ${a.bg} shadow-[0_18px_30px_-20px_rgba(0,0,0,0.45)] group-hover:shadow-[0_24px_40px_-15px_rgba(0,0,0,0.5)]`,children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 mix-blend-overlay bg-white/40"}),e.jsx("div",{className:"absolute -bottom-8 right-[-20%] w-48 h-48 bg-white opacity-10 rounded-full transition-transform duration-500 group-hover:scale-110"}),e.jsx("div",{className:"absolute bottom-4 right-12 w-32 h-32 bg-white opacity-10 rounded-full transition-transform duration-500 group-hover:scale-110 delay-75"}),e.jsxs("div",{className:"relative z-10 flex-1 flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsx("span",{className:"px-3 py-1.5 rounded-full bg-white/20 text-white text-[10px] font-black uppercase tracking-wider backdrop-blur-sm shadow-sm border border-white/10",children:"General Mathematics"}),(t||s.status==="Locked")&&e.jsx("span",{className:"px-2.5 py-1 rounded-full bg-black/30 text-white/90 text-[10px] font-black uppercase tracking-wider backdrop-blur-sm",children:t||"Locked"})]}),e.jsx("h3",{className:"text-2xl md:text-[22px] font-display font-black text-white leading-[1.1] mb-2 drop-shadow-sm pr-4 line-clamp-2",children:s.title}),e.jsx("p",{className:"text-white/85 text-sm line-clamp-2 mb-6 font-medium leading-relaxed pr-2",children:s.subtitle||s.description||"Master this module to unlock the next level of your mathematical journey."}),e.jsxs("div",{className:"mt-auto",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 bg-white/20 rounded-xl text-white font-bold text-[13px] backdrop-blur-sm shadow-sm border border-white/10",children:[e.jsx(x,{size:14,className:"opacity-90"})," ",s.totalLessons||s.lessons?.length||0," lessons"]}),e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 bg-white/20 rounded-xl text-white font-bold text-[13px] backdrop-blur-sm shadow-sm border border-white/10",children:[e.jsx(h,{size:14,className:"opacity-90"})," ",s.totalQuizzes||s.quizzes?.length||0," quizzes"]})]}),e.jsxs("div",{className:"flex justify-between text-white font-bold text-[13px] mb-1.5 drop-shadow-sm",children:[e.jsx("span",{children:"Progress"}),e.jsxs("span",{children:[s.progress>0?s.progress:0,"%"]})]}),e.jsx("div",{className:"w-full h-2.5 rounded-full bg-black/20 overflow-hidden shadow-inner flex-shrink-0",children:e.jsx("div",{className:"h-full bg-white rounded-full transition-all duration-1000 ease-out",style:{width:`${s.progress>0?s.progress:0}%`}})})]}),i&&e.jsxs("div",{className:"absolute -top-3 -right-2 bg-rose-500 text-white px-3 py-1.5 rounded-full text-[11px] font-black uppercase tracking-wider flex items-center gap-1.5 shadow-lg border border-rose-400 animate-pulse",children:[e.jsx(n,{size:12,strokeWidth:3})," Review"]})]})]})]})};export{g as M}; +import{j as e}from"./vendor-react-Dexh7fmo.js";import{m as d,T as n}from"./index-DGWrSMOK.js";import{B as x}from"./book-open-B5Xvd1JL.js";import{C as h}from"./clock-qHFbMxrB.js";const r=[{bg:"bg-[#9956DE]",tab:"bg-[#8248c2]",shadow:"shadow-[#9956DE]/30"},{bg:"bg-[#1FA7E1]",tab:"bg-[#198abf]",shadow:"shadow-[#1FA7E1]/30"},{bg:"bg-[#FFB356]",tab:"bg-[#e09841]",shadow:"shadow-[#FFB356]/30"},{bg:"bg-[#FB96BB]",tab:"bg-[#de7b9f]",shadow:"shadow-[#FB96BB]/30"}],g=({module:s,index:l,onClick:o,isAtRisk:i,badgeLabel:t})=>{const a=r[l%r.length];return e.jsxs(d.button,{whileHover:{y:-8},onClick:o,className:"relative text-left rounded-[1.4rem] overflow-visible min-h-[290px] bg-transparent group w-full",children:[e.jsx("div",{className:`absolute top-0 left-4 h-7 w-32 rounded-t-xl shadow-sm transition-colors duration-300 ${a.tab}`}),e.jsxs("div",{className:`relative mt-6 rounded-[1.4rem] p-6 transition-all duration-300 overflow-hidden flex flex-col h-[calc(100%-24px)] ${a.bg} shadow-[0_18px_30px_-20px_rgba(0,0,0,0.45)] group-hover:shadow-[0_24px_40px_-15px_rgba(0,0,0,0.5)]`,children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 mix-blend-overlay bg-white/40"}),e.jsx("div",{className:"absolute -bottom-8 right-[-20%] w-48 h-48 bg-white opacity-10 rounded-full transition-transform duration-500 group-hover:scale-110"}),e.jsx("div",{className:"absolute bottom-4 right-12 w-32 h-32 bg-white opacity-10 rounded-full transition-transform duration-500 group-hover:scale-110 delay-75"}),e.jsxs("div",{className:"relative z-10 flex-1 flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsx("span",{className:"px-3 py-1.5 rounded-full bg-white/20 text-white text-[10px] font-black uppercase tracking-wider backdrop-blur-sm shadow-sm border border-white/10",children:"General Mathematics"}),(t||s.status==="Locked")&&e.jsx("span",{className:"px-2.5 py-1 rounded-full bg-black/30 text-white/90 text-[10px] font-black uppercase tracking-wider backdrop-blur-sm",children:t||"Locked"})]}),e.jsx("h3",{className:"text-2xl md:text-[22px] font-display font-black text-white leading-[1.1] mb-2 drop-shadow-sm pr-4 line-clamp-2",children:s.title}),e.jsx("p",{className:"text-white/85 text-sm line-clamp-2 mb-6 font-medium leading-relaxed pr-2",children:s.subtitle||s.description||"Master this module to unlock the next level of your mathematical journey."}),e.jsxs("div",{className:"mt-auto",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 bg-white/20 rounded-xl text-white font-bold text-[13px] backdrop-blur-sm shadow-sm border border-white/10",children:[e.jsx(x,{size:14,className:"opacity-90"})," ",s.totalLessons||s.lessons?.length||0," lessons"]}),e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 bg-white/20 rounded-xl text-white font-bold text-[13px] backdrop-blur-sm shadow-sm border border-white/10",children:[e.jsx(h,{size:14,className:"opacity-90"})," ",s.totalQuizzes||s.quizzes?.length||0," quizzes"]})]}),e.jsxs("div",{className:"flex justify-between text-white font-bold text-[13px] mb-1.5 drop-shadow-sm",children:[e.jsx("span",{children:"Progress"}),e.jsxs("span",{children:[s.progress>0?s.progress:0,"%"]})]}),e.jsx("div",{className:"w-full h-2.5 rounded-full bg-black/20 overflow-hidden shadow-inner flex-shrink-0",children:e.jsx("div",{className:"h-full bg-white rounded-full transition-all duration-1000 ease-out",style:{width:`${s.progress>0?s.progress:0}%`}})})]}),i&&e.jsxs("div",{className:"absolute -top-3 -right-2 bg-rose-500 text-white px-3 py-1.5 rounded-full text-[11px] font-black uppercase tracking-wider flex items-center gap-1.5 shadow-lg border border-rose-400 animate-pulse",children:[e.jsx(n,{size:12,strokeWidth:3})," Review"]})]})]})]})};export{g as M}; diff --git a/assets/ModulesPage-C8056uyx.js b/assets/ModulesPage-C8056uyx.js new file mode 100644 index 0000000000000000000000000000000000000000..4b70fc3ca283dcd99a35477b40302ce0b14a7fc6 --- /dev/null +++ b/assets/ModulesPage-C8056uyx.js @@ -0,0 +1,112 @@ +import{r as o,j as e,c as He}from"./vendor-react-Dexh7fmo.js";import{M as je}from"./ModuleFolderCard-BGJM_1PJ.js";import{B as K}from"./button-DWdPuxDU.js";import{I as Xe}from"./input-DBkKXOmF.js";import{c as R,m as h,Z as re,F as oe,e as ee,A as Ae,C as ue,u as Ce,q as Ye,r as Ue,v as Te,w as Ke,x as Je,g as et,o as tt,p as st,T as at,y as it}from"./index-DGWrSMOK.js";import{T as te}from"./trophy-73YPSH67.js";import{S as ve}from"./sparkles-DxmNHQEo.js";import{T as X}from"./target-7Gevl8jn.js";import{A as ce}from"./award-DpLN2BvV.js";import{S as Se}from"./star-DqP0S0c5.js";import{C as pe}from"./check-BONc3QkK.js";import{X as Y}from"./x-Bj25rnWX.js";import{C as nt}from"./circle-help-BOZYr6oH.js";import{a as ze,s as le,g as rt}from"./subjects-DDYtJwQO.js";import{T as fe}from"./trending-up-B2MPUPwk.js";import{B as U}from"./book-open-B5Xvd1JL.js";import{L as Me,c as ot,a as lt}from"./quizService-BkrCeM05.js";import{C as ne}from"./circle-check-big-mv2CRLCE.js";import{L as De}from"./lock-C6XEepuP.js";import{C as J}from"./clock-qHFbMxrB.js";import Pe from"./confetti.module-C94ZD2ww.js";import{triggerQuizSubmitted as ct}from"./automationService-1THdsq3v.js";import dt from"./ScientificCalculator-BP-XvW_h.js";import{M as xt}from"./MathAnswerInput-Bx58557t.js";import Ie from"./SupplementalBanner-COM6ABNZ.js";import{P as mt}from"./pen-line-CX1xh2Q2.js";import{C as ht}from"./chevron-right-DxXkA9aZ.js";import{S as pt}from"./search-O5gEqRZi.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./chart-column-CJzwyNMx.js";import"./apiService-BuaHZ1Ho.js";import"./chevron-up-BJyzaJs7.js";import"./brain-DHmY5cbv.js";/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ut=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Ne=R("arrow-left",ut);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ft=[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]],bt=R("binary",ft);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gt=[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]],qe=R("bookmark",gt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const yt=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],Ee=R("box",yt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const wt=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Le=R("braces",wt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const jt=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],vt=R("circle-check",jt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Nt=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Be=R("circle-x",Nt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const kt=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],_e=R("circle",kt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const At=[["circle",{cx:"12",cy:"6",r:"1",key:"1bh7o1"}],["line",{x1:"5",x2:"19",y1:"12",y2:"12",key:"13b5wn"}],["circle",{cx:"12",cy:"18",r:"1",key:"lqb9t5"}]],ye=R("divide",At);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ct=[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]],St=R("flag",Ct);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Tt=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],Fe=R("hash",Tt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const zt=[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]],ke=R("pen-tool",zt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Mt=[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]],We=R("percent",Mt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Pt=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],Ve=R("play",Pt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const It=[["path",{d:"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z",key:"icamh8"}],["path",{d:"m14.5 12.5 2-2",key:"inckbg"}],["path",{d:"m11.5 9.5 2-2",key:"fmmyf7"}],["path",{d:"m8.5 6.5 2-2",key:"vc6u1g"}],["path",{d:"m17.5 15.5 2-2",key:"wo5hmg"}]],qt=R("ruler",It);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Et=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M14 15H9v-5",key:"pi4jk9"}],["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M21 3 9 15",key:"15kdhq"}]],Lt=R("scaling",Et);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Bt=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3",key:"m1af9g"}],["path",{d:"M9 11.2h5.7",key:"3zgcl2"}]],we=R("square-function",Bt);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _t=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],$e=R("square",_t);/** + * @license lucide-react v0.487.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ft=[["path",{d:"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"14u9p9"}]],Ge=R("triangle",Ft),Qe=()=>{const t=["#4F46E5","#EC4899","#f43f5e","#10B981","#0ea5e9"],n=Array.from({length:50},(c,d)=>({id:d,left:Math.random()*100,animationDelay:Math.random()*.5,backgroundColor:t[Math.floor(Math.random()*t.length)],rotation:Math.random()*360}));return e.jsx("div",{className:"fixed inset-0 pointer-events-none z-[100] overflow-hidden",children:n.map(c=>e.jsx(h.div,{initial:{y:-20,x:`${c.left}vw`,opacity:1,rotate:0},animate:{y:"100vh",rotate:c.rotation,opacity:0},transition:{duration:2+Math.random()*2,delay:c.animationDelay,ease:"easeIn"},style:{position:"absolute",width:"10px",height:"10px",backgroundColor:c.backgroundColor},className:"rounded-sm"},c.id))})},Wt=({streak:t})=>t<3?null:e.jsx(h.div,{initial:{scale:0,y:50},animate:{scale:1,y:0},exit:{scale:0,opacity:0},className:"fixed top-24 left-1/2 -translate-x-1/2 z-[70] pointer-events-none",children:e.jsxs("div",{className:"bg-gradient-to-r from-orange-500 to-red-500 text-white px-6 py-3 rounded-2xl shadow-2xl flex items-center gap-3",children:[e.jsx(oe,{size:24,className:"animate-pulse"}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-lg font-black",children:[t,"x STREAK!"]}),e.jsxs("p",{className:"text-xs font-bold opacity-90",children:["+",t*5," Bonus XP"]})]})]})}),$t=({lesson:t,questions:n,onComplete:c,onBack:d})=>{const[i,m]=o.useState(0),[l,S]=o.useState(null),[L,j]=o.useState(""),[p,F]=o.useState(!1),[q,C]=o.useState(!1),[W,E]=o.useState(0),[$,B]=o.useState(0),[a,_]=o.useState(0),[b,D]=o.useState(!1),[u,N]=o.useState([]),[g,v]=o.useState(!1),[V,T]=o.useState(!1),[r,A]=o.useState([]),[k]=o.useState(Date.now()),[z,M]=o.useState(0),y=n[i],Q=t.title,G=t.type,P=s=>{const x={correct:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",incorrect:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",complete:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",streak:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w=="};try{const f=new Audio(x[s]);f.volume=.3,f.play().catch(()=>{})}catch{}};o.useEffect(()=>{y?.type==="multiple-choice"&&y.options&&N([...y.options].sort(()=>Math.random()-.5))},[i,y]),o.useEffect(()=>{const s=x=>{x.key==="Enter"&&(!p&&O()?de():p&&xe())};return window.addEventListener("keypress",s),()=>window.removeEventListener("keypress",s)},[p,l,L]);const O=()=>y.type==="fill-in-blank"?L.trim().length>0:l!==null,de=()=>{if(!O())return;let s=!1,x="";if(y.type==="fill-in-blank"){x=L.trim().toLowerCase();const f=y.correctAnswer.toLowerCase().trim();s=x===f||x.replace(/\s+/g,"")===f.replace(/\s+/g,"")}else{if(!l)return;x=l,s=x===y.correctAnswer}if(C(s),F(!0),A([...r,s]),s){E(I=>I+1);const f=$+1;if(B(f),_(Math.max(a,f)),f>=3){const I=f*5;M(H=>H+I),v(!0),P("streak"),setTimeout(()=>v(!1),2e3)}else P("correct")}else B(0),P("incorrect")},xe=()=>{iT(!1),3e3)),m(s=>s+1),F(!1),S(null),j(""),C(!1)):me()},me=()=>{D(!0),T(!0),P("complete"),setTimeout(()=>T(!1),5e3)},Z=G==="quiz"?{gradient:"bg-gradient-to-br from-indigo-600 via-sky-600 to-indigo-800",text:"text-sky-900",bgLight:"bg-sky-50",border:"border-sky-200"}:{gradient:"bg-gradient-to-br from-teal-500 via-emerald-500 to-teal-700",text:"text-teal-900",bgLight:"bg-teal-50",border:"border-teal-200"},se=(()=>{const s=Q.toLowerCase();return s.includes("geometry")||s.includes("shape")?[Ge,_e,$e,Ee,qt,Lt]:s.includes("algebra")||s.includes("equation")?[Y,ye,Le,we,ue,We]:s.includes("calculus")||s.includes("derivative")||s.includes("integral")?[ze,we,fe,ue,ye,Le]:s.includes("statistics")||s.includes("probability")?[X,fe,Ee,_e,Ge,$e]:[ue,ze,ye,We,we,bt]})(),w=se[0];if(b){const s=Math.round(W/n.length*100),x=G==="quiz"?100:50,f=Math.round(W/n.length*100),I=x+f+z,H=Math.floor((Date.now()-k)/1e3),Ze=Math.floor(H/60),Oe=H%60;return e.jsxs(e.Fragment,{children:[V&&e.jsx(Qe,{}),e.jsx("div",{className:"fixed inset-0 z-[60] flex items-center justify-center bg-black/60 backdrop-blur-md p-4 animate-in fade-in duration-500",children:e.jsxs(h.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},transition:{type:"spring",duration:.5},className:"bg-white rounded-[32px] w-full max-w-lg p-6 text-center shadow-2xl relative overflow-hidden",children:[e.jsx("div",{className:`absolute top-0 left-0 w-full h-24 ${Z.gradient} opacity-10 rounded-b-[50%]`}),e.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none opacity-[0.03]",children:se.map((he,ae)=>e.jsx(he,{className:"absolute text-[#0a1628]",size:30+ae%3*15,style:{top:`${Math.random()*100}%`,left:`${Math.random()*100}%`,transform:`rotate(${Math.random()*360}deg)`}},ae))}),e.jsxs("div",{className:"relative mb-4 flex justify-center",children:[e.jsx(h.div,{initial:{scale:0,rotate:-180},animate:{scale:1,rotate:0},transition:{type:"spring",delay:.2},className:"w-20 h-20 bg-gradient-to-br from-rose-400 to-orange-500 rounded-full flex items-center justify-center text-white shadow-2xl shadow-rose-200",children:e.jsx(te,{size:40,fill:"currentColor"})}),e.jsx(h.div,{animate:{scale:[1,1.2,1],rotate:[0,180,360]},transition:{duration:2,repeat:1/0},className:"absolute top-0 right-1/3 text-xl",children:e.jsx(ve,{size:20,className:"text-rose-400"})}),e.jsx(h.div,{animate:{scale:[1,1.2,1],rotate:[0,-180,-360]},transition:{duration:2,repeat:1/0,delay:.5},className:"absolute bottom-0 left-1/3 text-xl",children:e.jsx(ve,{size:20,className:"text-rose-400"})})]}),e.jsx(h.h2,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.3},className:"text-3xl font-bold text-[#0a1628] mb-2",children:s>=90?"Perfect!":s>=80?"Excellent Job!":s>=70?"Great Work!":s>=60?"Good Effort!":"Keep Practicing!"}),e.jsxs(h.p,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.4},className:"text-[#5a6578] mb-6 font-medium",children:["You answered ",W," out of ",n.length," questions correctly"]}),e.jsxs(h.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.5},className:"grid grid-cols-2 gap-3 mb-5",children:[e.jsxs("div",{className:"bg-gradient-to-br from-indigo-50 to-indigo-100 rounded-2xl p-4 border-2 border-sky-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(X,{className:"text-sky-600",size:20})}),e.jsx("p",{className:"text-[10px] text-sky-600 font-bold uppercase mb-1 tracking-wider",children:"Accuracy"}),e.jsxs("p",{className:"text-3xl font-black text-sky-700",children:[s,"%"]})]}),e.jsxs("div",{className:"bg-gradient-to-br from-orange-50 to-orange-100 rounded-2xl p-4 border-2 border-orange-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(re,{className:"text-orange-600",size:20})}),e.jsx("p",{className:"text-[10px] text-orange-600 font-bold uppercase mb-1 tracking-wider",children:"Total XP"}),e.jsxs("p",{className:"text-3xl font-black text-orange-600",children:["+",I]})]}),e.jsxs("div",{className:"bg-gradient-to-br from-teal-50 to-teal-100 rounded-2xl p-4 border-2 border-teal-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(oe,{className:"text-teal-600",size:20})}),e.jsx("p",{className:"text-[10px] text-teal-600 font-bold uppercase mb-1 tracking-wider",children:"Best Streak"}),e.jsxs("p",{className:"text-3xl font-black text-teal-700",children:[a,"x"]})]}),e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-sky-100 rounded-2xl p-4 border-2 border-sky-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(ce,{className:"text-sky-600",size:20})}),e.jsx("p",{className:"text-[10px] text-sky-600 font-bold uppercase mb-1 tracking-wider",children:"Time"}),e.jsxs("p",{className:"text-3xl font-black text-sky-700",children:[Ze,":",Oe.toString().padStart(2,"0")]})]})]}),e.jsxs(h.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.6},className:"bg-[#edf1f7] rounded-2xl p-4 mb-5 text-left",children:[e.jsxs("h3",{className:"font-bold text-[#0a1628] mb-2 flex items-center gap-2 text-sm",children:[e.jsx(Se,{className:"text-rose-500",size:16}),"XP Breakdown"]}),e.jsxs("div",{className:"space-y-1.5 text-sm",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("span",{className:"text-[#5a6578] text-xs",children:["Base XP (",G,")"]}),e.jsxs("span",{className:"font-bold text-[#0a1628] text-sm",children:["+",x]})]}),e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("span",{className:"text-[#5a6578] text-xs",children:["Score Bonus (",s,"%)"]}),e.jsxs("span",{className:"font-bold text-[#0a1628] text-sm",children:["+",f]})]}),z>0&&e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-[#5a6578] text-xs",children:"Streak Bonuses"}),e.jsxs("span",{className:"font-bold text-orange-600 text-sm",children:["+",z]})]}),e.jsxs("div",{className:"border-t-2 border-[#dde3eb] pt-1.5 flex justify-between items-center",children:[e.jsx("span",{className:"text-[#0a1628] font-bold text-xs",children:"Total XP Earned"}),e.jsxs("span",{className:"font-black text-orange-600",children:["+",I]})]})]})]}),e.jsx(h.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.7},className:"flex items-center justify-center gap-1.5 mb-6",children:r.map((he,ae)=>e.jsx(h.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.7+ae*.05},className:`w-7 h-7 rounded-lg flex items-center justify-center ${he?"bg-teal-500":"bg-red-400"}`,children:he?e.jsx(pe,{className:"text-white",size:14}):e.jsx(Y,{className:"text-white",size:14})},ae))}),e.jsx(h.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.8},children:e.jsx(K,{onClick:()=>c(s,I),className:`w-full py-5 rounded-2xl font-bold ${Z.gradient} text-white hover:opacity-90 shadow-xl hover:shadow-2xl transition-all hover:scale-[1.02] active:scale-[0.98]`,children:"Continue Learning"})})]})})]})}return e.jsxs(e.Fragment,{children:[V&&e.jsx(Qe,{}),e.jsx(ee,{children:g&&e.jsx(Wt,{streak:$})}),e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-[#edf1f7] overflow-hidden font-sans",children:[e.jsxs("div",{className:`absolute top-0 left-0 right-0 h-[45vh] ${Z.gradient} rounded-b-[60px] md:rounded-b-[80px] shadow-2xl z-0 overflow-hidden`,children:[e.jsx("div",{className:"absolute top-0 left-0 w-64 h-64 bg-white opacity-5 rounded-full -translate-x-1/2 -translate-y-1/2 blur-2xl"}),e.jsx("div",{className:"absolute bottom-0 right-0 w-80 h-80 bg-white opacity-10 rounded-full translate-x-1/3 translate-y-1/3 blur-3xl"}),e.jsx("div",{className:"absolute top-1/4 right-1/4 w-32 h-32 bg-white opacity-5 rounded-full blur-xl"}),e.jsxs("div",{className:"absolute inset-0 overflow-hidden",children:[se.map((s,x)=>e.jsx("div",{className:"absolute text-white/10 animate-pulse",style:{top:`${10+x*15}%`,left:`${10+x*25%80}%`,animationDuration:`${3+x}s`,transform:`rotate(${x*45}deg) scale(${1+x%3*.2})`},children:e.jsx(s,{size:48+x%2*32})},x)),e.jsx("div",{className:"absolute -bottom-10 -left-10 text-white/5 rotate-12",children:e.jsx(w,{size:200})})]})]}),e.jsxs("header",{className:"relative z-[60] h-20 flex items-center justify-between px-6 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-1",children:[e.jsx("button",{onClick:d,className:"w-10 h-10 rounded-xl bg-white/20 backdrop-blur-md flex items-center justify-center text-white hover:bg-white/30 transition-all border border-slate-300 hover:scale-110 active:scale-95",children:e.jsx(Y,{size:20})}),e.jsxs("div",{className:"text-white",children:[e.jsx("h1",{className:"font-bold text-lg leading-tight",children:Q}),e.jsxs("div",{className:"flex items-center gap-2 opacity-80 text-xs font-medium uppercase tracking-wide",children:[e.jsx("span",{children:G}),e.jsx("span",{className:"w-1 h-1 bg-white rounded-full"}),e.jsxs("span",{children:["Question ",i+1,"/",n.length]})]})]})]}),e.jsx("div",{className:"flex items-center gap-4",children:e.jsxs(h.div,{animate:$>=3?{scale:[1,1.1,1]}:{},transition:{duration:.5,repeat:$>=3?1/0:0},className:"flex items-center gap-2 bg-black/20 backdrop-blur-md px-3 py-1.5 rounded-full border border-slate-300",children:[e.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white shadow-sm ${$>=3?"bg-gradient-to-r from-orange-500 to-red-500":"bg-orange-500"}`,children:e.jsx(oe,{size:14,fill:"currentColor"})}),e.jsx("span",{className:"text-sm font-bold text-white",children:$})]})})]}),e.jsxs("main",{className:"relative z-10 flex-1 flex flex-col items-center justify-start px-4 sm:px-6 xl:px-10 pb-8 pt-4 md:pt-8 overflow-y-auto",children:[e.jsxs("div",{className:"w-full max-w-md mb-8 px-2",children:[e.jsxs("div",{className:"flex justify-between text-[10px] font-bold text-white/80 mb-2 uppercase tracking-wider",children:[e.jsx("span",{children:"Progress"}),e.jsxs("span",{children:[Math.round(i/n.length*100),"%"]})]}),e.jsx("div",{className:"h-2 w-full bg-black/20 rounded-full overflow-hidden backdrop-blur-sm",children:e.jsx(h.div,{initial:{width:0},animate:{width:`${i/n.length*100}%`},transition:{duration:.5,ease:"easeOut"},className:"h-full bg-white rounded-full shadow-[0_0_10px_rgba(255,255,255,0.5)]"})})]}),i===Math.floor(n.length/2)&&i>0&&e.jsxs(h.div,{initial:{scale:0,y:20},animate:{scale:1,y:0},className:"mb-4 bg-white/20 backdrop-blur-md text-white px-6 py-3 rounded-2xl font-bold shadow-lg",children:[e.jsx(X,{size:20,className:"inline mr-2 text-white"}),"Halfway there! Keep it up!"]}),e.jsx(ee,{mode:"wait",children:e.jsxs(h.div,{initial:{opacity:0,x:100},animate:{opacity:1,x:0},exit:{opacity:0,x:-100},transition:{type:"spring",stiffness:300,damping:30},className:"w-full max-w-3xl",children:[e.jsxs("div",{className:"bg-white rounded-[40px] shadow-[0_20px_60px_-15px_rgba(0,0,0,0.2)] overflow-hidden border border-[#dde3eb] min-h-[450px] flex flex-col relative",children:[e.jsxs("div",{className:"p-8 md:p-12 flex-1 flex flex-col items-center justify-center text-center",children:[e.jsx("span",{className:`inline-block px-4 py-1.5 ${Z.bgLight} ${Z.text} rounded-full text-[11px] font-black mb-8 uppercase tracking-widest border ${Z.border}`,children:y.type==="multiple-choice"?"Multiple Choice":y.type==="true-false"?"True or False":"Fill in the Blank"}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#0a1628] leading-snug max-w-2xl",children:y.question})]}),e.jsxs("div",{className:"p-6 md:p-10 bg-[#edf1f7]/80 backdrop-blur-sm border-t border-[#dde3eb]",children:[(y.type==="multiple-choice"||y.type==="true-false")&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:(y.type==="true-false"?["True","False"]:u).map((s,x)=>{let f="hover:border-[#dde3eb] hover:shadow-lg bg-white border-[#dde3eb] text-[#5a6578] shadow-sm";return p?s===y.correctAnswer?f="bg-teal-50 border-teal-500 text-teal-700 shadow-teal-100 ring-2 ring-teal-200":s===l?f="bg-red-50 border-red-500 text-red-700 shadow-red-100 ring-2 ring-red-200":f="bg-[#edf1f7] border-[#dde3eb] text-slate-500 opacity-60 scale-[0.98]":l===s&&(f=`${Z.bgLight} ${Z.border} ${Z.text} ring-2 ring-indigo-100 shadow-md scale-[1.02] z-10`),e.jsxs(h.button,{disabled:p,onClick:()=>S(s),whileHover:p?{}:{scale:1.02},whileTap:p?{}:{scale:.98},className:` + relative p-6 rounded-2xl border-2 font-bold text-lg transition-all duration-200 text-left flex items-center justify-between group + ${f} + `,children:[e.jsx("span",{className:"relative z-10",children:s}),p&&s===y.correctAnswer&&e.jsx(h.div,{initial:{scale:0},animate:{scale:1},className:"bg-teal-100 p-1 rounded-full",children:e.jsx(pe,{size:18,className:"text-teal-600"})}),p&&s===l&&s!==y.correctAnswer&&e.jsx(h.div,{initial:{scale:0},animate:{scale:1},className:"bg-red-100 p-1 rounded-full",children:e.jsx(Y,{size:18,className:"text-red-600"})}),!p&&e.jsx("div",{className:`w-6 h-6 rounded-full border-2 border-[#dde3eb] group-hover:border-[#dde3eb] transition-colors ${l===s?`bg-current border-current ${Z.text}`:""}`})]},x)})}),p&&e.jsxs(h.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},className:"space-y-3 mt-6",children:[!q&&l&&l!==y.correctAnswer&&e.jsx("div",{className:"bg-red-50 border-2 border-red-200 rounded-2xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx(Y,{size:18,className:"text-red-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-red-700 mb-1",children:"Not quite"}),e.jsx("p",{className:"text-red-800 text-sm leading-relaxed",children:y.optionExplanations?.[l]||`${l} is not the correct answer. Review the concept and try again.`})]})]})}),e.jsx("div",{className:"bg-teal-50 border-2 border-teal-200 rounded-2xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx(pe,{size:18,className:"text-teal-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-teal-700 mb-1",children:q?"That's right!":"Right answer"}),e.jsx("p",{className:"text-teal-800 text-sm leading-relaxed",children:y.explanation||y.optionExplanations?.[y.correctAnswer]||`${y.correctAnswer} is the correct answer.`})]})]})})]})]}),y.type==="fill-in-blank"&&e.jsxs("div",{className:"max-w-md mx-auto",children:[e.jsxs("div",{className:"relative group",children:[e.jsx(Xe,{disabled:p,value:L,onChange:s=>j(s.target.value),placeholder:"Type your answer here...",className:` + py-8 px-6 text-xl rounded-2xl border-2 font-bold transition-all text-center placeholder:font-medium placeholder:text-slate-500 + ${p?q?"bg-teal-50 border-teal-500 text-teal-800":"bg-red-50 border-red-500 text-red-800":"bg-white border-[#dde3eb] focus:border-indigo-500 focus:ring-4 focus:ring-indigo-100 shadow-sm"} + `}),p&&e.jsx(h.div,{initial:{scale:0},animate:{scale:1},className:"absolute right-4 top-1/2 -translate-y-1/2",children:q?e.jsx("div",{className:"bg-teal-100 p-1.5 rounded-full",children:e.jsx(pe,{className:"text-teal-600",size:20})}):e.jsx("div",{className:"bg-red-100 p-1.5 rounded-full",children:e.jsx(Y,{className:"text-red-600",size:20})})})]}),p&&!q&&e.jsxs(h.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},className:"mt-4 text-center",children:[e.jsx("p",{className:"text-slate-500 text-xs font-bold uppercase tracking-wider mb-1",children:"Correct answer"}),e.jsx("p",{className:"text-teal-600 font-black text-xl",children:y.correctAnswer})]})]})]}),e.jsxs("div",{className:"p-6 border-t border-[#dde3eb] bg-white flex items-center justify-between",children:[e.jsxs(K,{variant:"ghost",size:"sm",className:"text-slate-500 hover:text-[#5a6578] hover:bg-[#edf1f7] rounded-xl",children:[e.jsx(St,{size:16,className:"mr-2"})," Report"]}),p?e.jsxs(K,{onClick:xe,className:`px-10 py-7 rounded-2xl font-bold text-base shadow-xl transition-all flex items-center gap-2 hover:-translate-y-1 ${q?"bg-teal-500 hover:bg-teal-600 text-white shadow-teal-200":"bg-sky-600 hover:bg-sky-700 text-white shadow-sm"}`,children:[i({title:t,sections:[{type:"text",heading:"Introduction",content:`Welcome to this lesson on ${t}. In this lesson, you'll learn the fundamental concepts and practical applications that will build your mathematical foundation.`},{type:"key-point",heading:"Key Concepts",content:"Understanding the core principles is essential for mastering this topic. Pay close attention to the definitions and properties we'll explore."},{type:"video",heading:"Video Lesson",content:"Watch this explanation to understand the concepts visually.",videoUrl:"https://www.youtube.com/embed/dQw4w9WgXcQ"},{type:"example",heading:"Worked Examples",content:"Let's work through some examples to see these concepts in action.",examples:[{problem:"Example Problem 1: Apply the concept to solve this problem.",solution:`Step 1: Identify what we know. +Step 2: Apply the formula or method. +Step 3: Simplify and solve. +Answer: The solution demonstrates how to approach similar problems.`},{problem:"Example Problem 2: A more complex application.",solution:`Step 1: Break down the problem. +Step 2: Use what we learned. +Step 3: Verify our answer. +Answer: This shows the method works for various cases.`}]},{type:"text",heading:"Important Notes",content:`Remember these key points as you practice: +G�� Always check your work +G�� Look for patterns +G�� Practice makes perfect +G�� Don't hesitate to review if needed`},{type:"practice",heading:"Try It Yourself",content:"Now it's your turn! Try applying what you've learned. You can practice with the exercises at the end of this module."},{type:"text",heading:"Summary",content:`Great job! You've completed the lesson on ${t}. Make sure you understand the key concepts before moving on. Feel free to review this lesson anytime.`}]}),Qt=({lesson:t,lessonCompletionXP:n=10,practiceQuiz:c,practiceQuizCompleted:d=!1,initialSection:i=0,onStartPractice:m,onBack:l,onComplete:S,onProgressUpdate:L})=>{const[j,p]=o.useState(0),[F,q]=o.useState(!1),[C,W]=o.useState(0),[E,$]=o.useState(!1),B=Gt(t.title),a=B.sections.length,_=()=>{if(i===-1){const T=B.sections.findIndex(r=>r.type==="practice");return T>=0?T:0}return i<0?0:i>=a?Math.max(0,a-1):i},b=!!(c&&!d);o.useEffect(()=>{p(_()),$(!1),q(!1),W(0)},[t.id,t.title,i]),o.useEffect(()=>{const T=(j+1)/a*100;W(T),L?.(T)},[j,a,L]);const D=()=>{if(jT+1);else{if(b)return;$(!0)}},u=()=>{j>0&&p(T=>T-1)},N=T=>{S(void 0,void 0,T)},g=B.sections[j],V=g&&{text:"=���",example:"=���",video:"=�ļ","key-point":"=���",practice:"G��n+�"}[g.type]||"=���";return e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-[radial-gradient(circle_at_top_left,#f8fbff_0%,#eef4ff_40%,#f8f4ff_100%)] overflow-hidden",children:[e.jsx("header",{className:"flex-none bg-white/90 backdrop-blur-md border-b border-[#dde3eb] px-6 sm:px-10 lg:px-16 py-4 shadow-sm relative z-40",children:e.jsxs("div",{className:"max-w-5xl mx-auto flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("button",{onClick:l,className:"w-10 h-10 rounded-xl bg-[#edf1f7] hover:bg-[#dde3eb] flex items-center justify-center text-[#5a6578] transition-all hover:scale-110",children:e.jsx(Ne,{size:20})}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-[#5a6578] font-medium mb-1 uppercase tracking-wider",children:[e.jsx(U,{size:14}),e.jsx("span",{children:"Notebook Lesson"})]}),e.jsx("h1",{className:"font-bold text-lg text-[#0a1628]",children:B.title})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"text-right mr-3",children:[e.jsx("p",{className:"text-xs text-[#5a6578] font-medium",children:"Progress"}),e.jsxs("p",{className:"text-sm font-bold text-[#0a1628]",children:[Math.round(C),"%"]})]}),e.jsx("div",{className:"w-32 h-2 bg-[#dde3eb] rounded-full overflow-hidden",children:e.jsx(h.div,{className:"h-full bg-gradient-to-r from-teal-500 to-emerald-500 rounded-full",initial:{width:0},animate:{width:`${C}%`},transition:{duration:.3}})})]})]})}),e.jsx("main",{className:"flex-1 overflow-y-auto px-6 sm:px-10 lg:px-16 py-10",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx(ee,{mode:"wait",children:e.jsxs(h.div,{initial:{opacity:0,x:50},animate:{opacity:1,x:0},exit:{opacity:0,x:-50},transition:{duration:.3},children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("div",{className:"flex items-center gap-2 text-sm text-[#5a6578] font-medium mb-2",children:e.jsxs("span",{children:["Section ",j+1," of ",a]})}),g.heading&&e.jsxs("h2",{className:"text-3xl font-black text-[#0a1628] mb-4 tracking-tight flex items-center gap-3",children:[e.jsx("span",{className:"text-2xl","aria-hidden":"true",children:V}),e.jsx("span",{children:g.heading})]})]}),e.jsxs("div",{className:"relative bg-white rounded-3xl p-8 shadow-lg border border-[#dde3eb] min-h-[500px] overflow-hidden",children:[e.jsx("div",{className:"absolute left-12 top-0 bottom-0 w-0.5 bg-rose-200/70 pointer-events-none"}),e.jsx("div",{className:"absolute left-[56px] top-0 bottom-0 w-px bg-rose-100/60 pointer-events-none"}),e.jsx("div",{className:"absolute inset-0 pointer-events-none opacity-60",style:{backgroundImage:"repeating-linear-gradient(transparent, transparent 37px, #e9eef8 37px, #e9eef8 38px)"}}),e.jsxs("div",{className:"relative z-10 pl-8 md:pl-12",children:[g.type==="text"&&e.jsx("div",{className:"prose prose-slate max-w-none",children:e.jsx("p",{className:"text-lg text-[#0a1628] leading-relaxed whitespace-pre-line",children:g.content})}),g.type==="key-point"&&e.jsx("div",{className:"bg-gradient-to-br from-rose-50 to-orange-50 rounded-2xl p-6 border-2 border-rose-200",children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 bg-rose-500 rounded-xl flex items-center justify-center flex-shrink-0",children:e.jsx(Me,{size:24,className:"text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-bold text-rose-900 mb-2 text-lg",children:"Important!"}),e.jsx("p",{className:"text-rose-800 leading-relaxed",children:g.content})]})]})}),g.type==="video"&&e.jsxs("div",{children:[e.jsx("div",{className:"bg-slate-900 rounded-2xl overflow-hidden mb-4 aspect-video flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"w-20 h-20 bg-white/10 rounded-full flex items-center justify-center mx-auto mb-4",children:e.jsx(Ve,{size:32,className:"text-white ml-1"})}),e.jsx("p",{className:"text-white/70 text-sm",children:"Video content would be embedded here"}),e.jsx("p",{className:"text-white/50 text-xs mt-2",children:"In production, this would show actual video lessons"})]})}),e.jsx("p",{className:"text-[#5a6578]",children:g.content})]}),g.type==="example"&&e.jsxs("div",{children:[e.jsx("p",{className:"text-[#0a1628] mb-6",children:g.content}),e.jsx("div",{className:"space-y-4",children:g.examples?.map((T,r)=>e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-cyan-50 rounded-2xl p-6 border-2 border-sky-200",children:[e.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[e.jsx("div",{className:"w-8 h-8 bg-sky-500 rounded-lg flex items-center justify-center flex-shrink-0",children:e.jsx(ue,{size:18,className:"text-white"})}),e.jsx("div",{className:"flex-1",children:e.jsx("h4",{className:"font-bold text-sky-900 mb-2",children:T.problem})})]}),e.jsxs("div",{className:"ml-11 bg-white/60 rounded-xl p-4 border border-sky-100",children:[e.jsx("p",{className:"text-sm font-bold text-sky-700 mb-2",children:"Solution:"}),e.jsx("p",{className:"text-[#0a1628] whitespace-pre-line text-sm leading-relaxed",children:T.solution})]})]},r))})]}),g.type==="practice"&&e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-cyan-50 rounded-2xl p-8 border-2 border-sky-200 text-center",children:[e.jsx("div",{className:"w-16 h-16 bg-sky-500 rounded-full flex items-center justify-center mx-auto mb-4",children:e.jsx(ne,{size:32,className:"text-white"})}),e.jsx("h3",{className:"text-2xl font-bold text-sky-900 mb-3",children:g.heading}),e.jsx("p",{className:"text-sky-800 text-lg mb-6",children:g.content}),e.jsx("div",{className:"bg-white/60 rounded-xl p-4 inline-block",children:e.jsxs("p",{className:"text-sm text-sky-700",children:[e.jsx(Me,{size:14,className:"inline mr-1 -mt-0.5"}),e.jsx("strong",{children:"Tip:"})," Complete the practice quizzes after this lesson to reinforce your learning!"]})}),c&&e.jsx("div",{className:"mt-6 bg-white/80 rounded-2xl p-5 border border-sky-100 text-left",children:e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-black uppercase tracking-wider text-sky-600 mb-1",children:"Practice Quiz"}),e.jsx("p",{className:"text-base font-bold text-slate-800",children:c.title}),e.jsxs("p",{className:"text-xs text-slate-600 mt-1",children:[c.questions," questions G�� ",c.duration]})]}),e.jsx("button",{type:"button",onClick:m,className:`px-4 py-2 rounded-lg text-xs font-black tracking-wide transition ${c.locked?"bg-slate-200 text-slate-400 cursor-not-allowed":d?"bg-emerald-100 text-emerald-700 hover:bg-emerald-200":"bg-sky-500 text-white hover:bg-sky-600"}`,disabled:c.locked||!m,children:d?"REVIEW PRACTICE":"START PRACTICE"})]})})]})]})]})]},j)}),e.jsx("div",{className:"flex items-center justify-center gap-2 mt-8 mb-4",children:B.sections.map((T,r)=>e.jsx("button",{onClick:()=>p(r),className:`h-2 rounded-full transition-all ${r===j?"w-8 bg-teal-500":rN(!0),disabled:b,className:`w-full py-3.5 rounded-xl font-bold text-[15px] transition-all outline-none ${b?"bg-slate-200 text-slate-400 cursor-not-allowed":"bg-gradient-to-r from-teal-500 to-emerald-500 text-white hover:shadow-lg hover:shadow-teal-500/25 hover:-translate-y-0.5"}`,children:"Continue to Next Lesson"}),e.jsx("button",{onClick:()=>N(!1),className:"w-full py-3.5 rounded-xl font-bold text-[15px] bg-slate-100 text-slate-600 hover:bg-slate-200 hover:text-slate-700 transition-all outline-none",children:"Back to Modules"})]})]})})]})},ie={"gm-1":[{id:1,type:"multiple-choice",question:"Which statement best describes a function?",options:["Each input has exactly one output","Each output has exactly one input","Inputs and outputs must be equal","A function is always linear"],correctAnswer:"Each input has exactly one output",explanation:"A relation is a function when every input is paired with only one output value.",optionExplanations:{"Each input has exactly one output":"Correct. This is the defining condition of a function.","Each output has exactly one input":"Not required. Different inputs can share the same output.","Inputs and outputs must be equal":"Functions can map inputs to different values.","A function is always linear":"Many functions are nonlinear."}},{id:2,type:"multiple-choice",question:"If f(x) = 2x + 3, what is f(4)?",options:["8","11","10","5"],correctAnswer:"11",explanation:"Substitute x = 4. f(4) = 2(4) + 3 = 11.",optionExplanations:{8:"This is 2x only. Add 3 as well.",11:"Correct. 2(4)+3 = 11.",10:"Check substitution carefully.",5:"This would come from a different expression."}},{id:3,type:"fill-in-blank",question:"For f(x) = x^2, the range is y ___ 0 (answer with >= or >).",correctAnswer:">=",explanation:"Squares are never negative, and 0 is included when x = 0."},{id:4,type:"multiple-choice",question:"If f(x) = x - 5 and g(x) = x^2, what is (g o f)(x)?",options:["x^2 - 5","(x - 5)^2","x^2 + 5","2x - 5"],correctAnswer:"(x - 5)^2",explanation:"Compose by substituting f(x) into g. g(f(x)) = g(x-5) = (x-5)^2.",optionExplanations:{"x^2 - 5":"This is not the result of composition.","(x - 5)^2":"Correct. Substitute x-5 into g(x)=x^2.","x^2 + 5":"Incorrect sign and operation.","2x - 5":"This is linear, but g(x) is quadratic."}},{id:5,type:"true-false",question:"A one-to-one function always has an inverse that is also a function.",correctAnswer:"True",explanation:"One-to-one functions pass the horizontal line test, which guarantees an inverse function.",optionExplanations:{True:"Correct. One-to-one is the key condition for inverses to be functions.",False:"If a function is one-to-one, its inverse relation is a function."}},{id:6,type:"multiple-choice",question:"Which parent graph has a horizontal asymptote at y = 0?",options:["y = log(x)","y = x^2","y = 2^x","y = x + 1"],correctAnswer:"y = 2^x",explanation:"Basic exponential functions approach y = 0 but never reach it.",optionExplanations:{"y = log(x)":"Logarithmic functions have a vertical asymptote at x = 0.","y = x^2":"Parabolas have no horizontal asymptote.","y = 2^x":"Correct. Exponential graphs approach y = 0.","y = x + 1":"Linear functions do not have asymptotes."}}],"gm-2":[{id:1,type:"multiple-choice",question:"What is the simple interest on Php 8,000 at 6% per year for 2 years?",options:["Php 480","Php 960","Php 1,200","Php 1,600"],correctAnswer:"Php 960",explanation:"Simple interest I = Prt = 8000(0.06)(2) = 960.",optionExplanations:{"Php 480":"That is one year of interest only.","Php 960":"Correct. Multiply principal, rate, and time.","Php 1,200":"Check the rate and time values.","Php 1,600":"This overstates the computed interest."}},{id:2,type:"multiple-choice",question:"Which formula gives compound amount after t periods?",options:["A = P(1 + rt)","A = P(1 + r)^t","A = P - rt","A = Prt"],correctAnswer:"A = P(1 + r)^t",explanation:"Compound growth multiplies by (1 + r) each period.",optionExplanations:{"A = P(1 + rt)":"This is the simple interest amount form.","A = P(1 + r)^t":"Correct. This is the standard compound amount formula.","A = P - rt":"This is not an amount model.","A = Prt":"This computes simple interest, not total compound amount."}},{id:3,type:"fill-in-blank",question:"If the future value is 12,000 and discount rate is 20%, present value is ___",correctAnswer:"10000",explanation:"Present value PV = FV/(1+r) = 12000/1.2 = 10000."},{id:4,type:"true-false",question:"A general annuity has payment interval different from the compounding interval.",correctAnswer:"True",explanation:"That mismatch between payment and conversion periods defines a general annuity.",optionExplanations:{True:"Correct. Different intervals make it a general annuity.",False:"Matching intervals correspond to a simple annuity."}},{id:5,type:"multiple-choice",question:"In an amortization schedule, each regular payment is split into:",options:["Tax and insurance","Principal and interest","Deposit and withdrawal","Discount and markup"],correctAnswer:"Principal and interest",explanation:"Loan payments reduce outstanding principal and cover interest charges.",optionExplanations:{"Tax and insurance":"These may appear in housing payments, but are not the core loan split.","Principal and interest":"Correct. This is the fundamental breakdown.","Deposit and withdrawal":"These terms describe bank account activity, not amortization.","Discount and markup":"These are pricing terms, not amortization terms."}},{id:6,type:"multiple-choice",question:"Which statement is true about a stock market index?",options:["It guarantees profit","It tracks performance of a selected group of stocks","It sets loan interest rates","It replaces bond yields"],correctAnswer:"It tracks performance of a selected group of stocks",explanation:"An index is a benchmark that summarizes how a basket of stocks performs.",optionExplanations:{"It guarantees profit":"No index can guarantee returns.","It tracks performance of a selected group of stocks":"Correct. That is the purpose of an index.","It sets loan interest rates":"Loan rates are set by lenders and market conditions, not indexes directly.","It replaces bond yields":"Bond yields and stock indexes measure different markets."}}],"gm-3":[{id:1,type:"multiple-choice",question:"Which of the following is a proposition?",options:["Open the door.","x + 5 = 12","Manila is in the Philippines.","How are you?"],correctAnswer:"Manila is in the Philippines.",explanation:"A proposition is a declarative statement that is either true or false.",optionExplanations:{"Open the door.":"This is a command, not a proposition.","x + 5 = 12":"Without a value for x, this is an open sentence.","Manila is in the Philippines.":"Correct. This statement has a definite truth value.","How are you?":"This is a question, not a proposition."}},{id:2,type:"true-false",question:"If p is true and q is false, then p AND q is false.",correctAnswer:"True",explanation:"A conjunction p AND q is true only when both p and q are true.",optionExplanations:{True:"Correct. One false part makes the conjunction false.",False:"Conjunction requires both components to be true."}},{id:3,type:"multiple-choice",question:'What is the negation of the statement: "All students passed"?',options:["No student passed","At least one student did not pass","Some students passed","All students did not pass"],correctAnswer:"At least one student did not pass",explanation:'Negating "all" gives "there exists at least one" that does not satisfy the statement.',optionExplanations:{"No student passed":"This is stronger than the logical negation.","At least one student did not pass":"Correct. This is the precise negation.","Some students passed":"This can still be true with the original statement.","All students did not pass":'This is not equivalent to the negation of "all passed".'}},{id:4,type:"fill-in-blank",question:'In logic, "if p then q" is written as p ___ q',correctAnswer:"->",explanation:"The conditional symbol is arrow, often typed as ->."},{id:5,type:"multiple-choice",question:"Which argument form is valid?",options:["If p then q; q; therefore p","If p then q; p; therefore q","p OR q; p; therefore not q","If p then q; not p; therefore not q"],correctAnswer:"If p then q; p; therefore q",explanation:"This is modus ponens, a valid argument form.",optionExplanations:{"If p then q; q; therefore p":"This is affirming the consequent, invalid.","If p then q; p; therefore q":"Correct. This is modus ponens.","p OR q; p; therefore not q":"From inclusive OR, not q does not follow.","If p then q; not p; therefore not q":"This is denying the antecedent, invalid."}},{id:6,type:"multiple-choice",question:"A tautology is a proposition that is:",options:["Always true","Always false","True only when p is true","Undefined"],correctAnswer:"Always true",explanation:"A tautology evaluates to true for all possible truth assignments.",optionExplanations:{"Always true":"Correct. This is the definition of tautology.","Always false":"That describes a contradiction.","True only when p is true":"That depends on p and is not always true.",Undefined:"Tautologies are fully defined and always true."}}],"gm-4":[{id:1,type:"multiple-choice",question:"Solve for x: 2x + 4 = 10",options:["x = 3","x = 2","x = 6","x = 4"],correctAnswer:"x = 3",explanation:"Subtract 4: 2x = 6. Divide by 2: x = 3.",optionExplanations:{"x = 3":"Correct! 2(3)+4 = 10.","x = 2":"2(2)+4 = 8, not 10.","x = 6":"You may have forgotten to divide by 2.","x = 4":"2(4)+4 = 12, not 10."}},{id:2,type:"fill-in-blank",question:"Simplify: 3(x + 2) = ___",correctAnswer:"3x + 6",explanation:"Distribute: 3-+x + 3-+2 = 3x + 6."},{id:3,type:"true-false",question:"The expression 5x G�� 3x simplifies to 2x.",correctAnswer:"True",explanation:"Combine like terms: 5x G�� 3x = 2x.",optionExplanations:{True:"Correct! Subtracting coefficients: 5G��3 = 2.",False:"5x and 3x are like terms and can be combined."}},{id:4,type:"multiple-choice",question:"What is the slope-intercept form of a linear equation?",options:["ax + by = c","y = mx + b","x = my + b","y = mx G�� b"],correctAnswer:"y = mx + b",explanation:"Slope-intercept form is y = mx + b, where m is slope and b is y-intercept.",optionExplanations:{"ax + by = c":"This is standard form.","y = mx + b":"Correct! m = slope, b = y-intercept.","x = my + b":"x and y are reversed.","y = mx G�� b":"The intercept should be + b."}},{id:5,type:"multiple-choice",question:"If f(x) = 3x + 2, what is f(4)?",options:["10","12","14","16"],correctAnswer:"14",explanation:"f(4) = 3(4) + 2 = 12 + 2 = 14.",optionExplanations:{10:"Check: 3(4)+2 = 14, not 10.",12:"You forgot to add 2. 3(4) = 12, then +2 = 14.",14:"Correct! 3(4)+2 = 14.",16:"Check your multiplication: 3+�4 = 12, not 14."}}],"gm-5":[{id:1,type:"multiple-choice",question:"What is the sum of interior angles in a triangle?",options:["90-�","180-�","270-�","360-�"],correctAnswer:"180-�",explanation:"The sum of interior angles in any triangle is always 180-�.",optionExplanations:{"90-�":"That is a right angle, not the sum of all angles.","180-�":"Correct! All triangle angles sum to 180-�.","270-�":"This is the sum for a different shape.","360-�":"This is the sum for a quadrilateral."}},{id:2,type:"fill-in-blank",question:"The area of a rectangle with length 8 and width 5 is ___",correctAnswer:"40",explanation:"Area = length +� width = 8 +� 5 = 40."},{id:3,type:"true-false",question:"A square is a special type of rectangle.",correctAnswer:"True",explanation:"A square has four right angles and opposite sides equal, meeting all rectangle criteria.",optionExplanations:{True:"Correct! A square is a rectangle with all sides equal.",False:"A square satisfies all properties of a rectangle."}},{id:4,type:"multiple-choice",question:"What is the circumference of a circle with radius 7? (Use -� G�� 22/7)",options:["22","44","154","14"],correctAnswer:"44",explanation:"C = 2-�r = 2 +� 22/7 +� 7 = 44.",optionExplanations:{22:"This is -�r, not 2-�r.",44:"Correct! 2 +� 22/7 +� 7 = 44.",154:"This is the area (-�r-�), not circumference.",14:"This is the diameter (2r)."}},{id:5,type:"multiple-choice",question:"How many sides does a hexagon have?",options:["5","6","7","8"],correctAnswer:"6",explanation:'A hexagon has 6 sides. The prefix "hex" means 6.',optionExplanations:{5:"That is a pentagon.",6:"Correct! Hexagon = 6 sides.",7:"That is a heptagon.",8:"That is an octagon."}}],"gm-6":[{id:1,type:"multiple-choice",question:"If A = {1,2,3} and B = {2,3,4}, what is A G� B?",options:["{1,2,3,4}","{2,3}","{1,4}","{1}"],correctAnswer:"{2,3}",explanation:"A G� B (intersection) contains elements common to both: {2,3}.",optionExplanations:{"{1,2,3,4}":"That is A G� B (union).","{2,3}":"Correct! The intersection has shared elements.","{1,4}":"These elements are only in one set each.","{1}":"1 is only in A, not in both."}},{id:2,type:"true-false",question:"The empty set is a subset of every set.",correctAnswer:"True",explanation:"By definition, the empty set G�� is a subset of every set.",optionExplanations:{True:"Correct! G�� G�� A for any set A.",False:"The empty set is indeed a subset of every set by definition."}},{id:3,type:"fill-in-blank",question:"If A = {a, b, c}, the number of elements |A| = ___",correctAnswer:"3",explanation:"The cardinality |A| counts the elements: a, b, c G�� 3."},{id:4,type:"multiple-choice",question:"What does A G� B represent?",options:["Elements in both A and B","Elements in A or B or both","Elements in A but not B","Elements not in A"],correctAnswer:"Elements in A or B or both",explanation:"Union (G�) combines all elements from both sets.",optionExplanations:{"Elements in both A and B":"That describes intersection (G�).","Elements in A or B or both":"Correct! Union includes all elements.","Elements in A but not B":"That describes set difference AG��B.","Elements not in A":"That describes the complement of A."}},{id:5,type:"multiple-choice",question:'Which logical connective represents "and"?',options:["G�","G�","-�","G��"],correctAnswer:"G�",explanation:"G� is the logical AND connective.",optionExplanations:{"G�":"G� means OR.","G�":"Correct! G� means AND.","-�":"-� means NOT.","G��":"G�� means IMPLIES."}}],"pc-1":[{id:1,type:"multiple-choice",question:"If f(x) = x-� + 1, what is f(3)?",options:["7","9","10","12"],correctAnswer:"10",explanation:"f(3) = 3-� + 1 = 9 + 1 = 10.",optionExplanations:{7:"Check: 3-�+1 = 10.",9:"You forgot to add 1.",10:"Correct! 9+1 = 10.",12:"Check your calculation."}},{id:2,type:"true-false",question:"Every function is a relation, but not every relation is a function.",correctAnswer:"True",explanation:"A function is a special relation where each input has exactly one output.",optionExplanations:{True:"Correct! Functions are a subset of relations.",False:"Functions require unique outputs for each input, making them a special type of relation."}},{id:3,type:"fill-in-blank",question:"The domain of f(x) = 1/x excludes x = ___",correctAnswer:"0",explanation:"Division by zero is undefined, so x = 0 is excluded."},{id:4,type:"multiple-choice",question:"What is the range of f(x) = x-�?",options:["All real numbers","x G�� 0","y G�� 0","y > 0"],correctAnswer:"y G�� 0",explanation:"x-� is always non-negative, so the range is y G�� 0.",optionExplanations:{"All real numbers":"x-� can never be negative.","x G�� 0":"This describes the domain restriction, not the range.","y G�� 0":"Correct! Squares are always G�� 0.","y > 0":"f(0) = 0, so y = 0 is included."}},{id:5,type:"multiple-choice",question:"If f(x) = 2x and g(x) = x+3, what is (fG��g)(x)?",options:["2x+3","2x+6","2(x+3)","Both B and C"],correctAnswer:"Both B and C",explanation:"f(g(x)) = f(x+3) = 2(x+3) = 2x+6. Both B and C are equivalent.",optionExplanations:{"2x+3":"This adds 3 after multiplying. The correct order is f(g(x)) = 2(x+3).","2x+6":"Correct form! 2(x+3) = 2x+6.","2(x+3)":"Correct form! This equals 2x+6.","Both B and C":"Correct! 2(x+3) and 2x+6 are equivalent."}}],bc:[{id:1,type:"multiple-choice",question:"What is the derivative of x-�?",options:["2x","x","2","x-�"],correctAnswer:"2x",explanation:"Using the power rule d/dx[xG�+] = nxG�+G�+-�: derivative of x-� is 2x.",optionExplanations:{"2x":"Correct! Power rule: 2x-�G�+-� = 2x.",x:"This would be the derivative of x-�/2.",2:"The derivative of x-� varies with x.","x-�":"This is the original function."}},{id:2,type:"true-false",question:"The limit of a function always exists at every point.",correctAnswer:"False",explanation:"Limits don't always exist, e.g. lim(xG��0) 1/x does not exist.",optionExplanations:{True:"Limits can fail at discontinuities or asymptotes.",False:"Correct! Limits do not always exist."}},{id:3,type:"fill-in-blank",question:"The integral of 2x is ___",correctAnswer:"x-�",explanation:"G�2x dx = x-� + C."},{id:4,type:"multiple-choice",question:"What is the derivative of sin(x)?",options:["cos(x)","-cos(x)","sin(x)","-sin(x)"],correctAnswer:"cos(x)",explanation:"d/dx[sin(x)] = cos(x).",optionExplanations:{"cos(x)":"Correct!","-cos(x)":"The derivative of sin is positive cos.","sin(x)":"sin is the original, not the derivative.","-sin(x)":"This is the derivative of cos(x)."}},{id:5,type:"multiple-choice",question:"What does the derivative represent geometrically?",options:["Area under the curve","Slope of the tangent line","Y-intercept","Maximum value"],correctAnswer:"Slope of the tangent line",explanation:"The derivative at a point gives the slope of the tangent line at that point.",optionExplanations:{"Area under the curve":"That is the integral.","Slope of the tangent line":"Correct!","Y-intercept":"The y-intercept is f(0).","Maximum value":"Derivatives help find max/min but don't directly give them."}}],sp:[{id:1,type:"multiple-choice",question:"What is the mean of {2, 4, 6, 8, 10}?",options:["4","5","6","8"],correctAnswer:"6",explanation:"Mean = (2+4+6+8+10)/5 = 30/5 = 6.",optionExplanations:{4:"Sum is 30, not 20.",5:"There are 5 numbers but the mean is sum/count = 30/5 = 6.",6:"Correct! 30/5 = 6.",8:"Check the sum: 2+4+6+8+10 = 30."}},{id:2,type:"fill-in-blank",question:"The probability of getting heads on a fair coin flip is ___",correctAnswer:"0.5",explanation:"A fair coin has equal probability: 1/2 = 0.5."},{id:3,type:"true-false",question:"The median of a dataset is always equal to the mean.",correctAnswer:"False",explanation:"Median and mean are equal only in symmetric distributions.",optionExplanations:{True:"They are equal only in perfectly symmetric distributions.",False:"Correct! Skewed data has different mean and median."}},{id:4,type:"multiple-choice",question:"What is the mode of {3, 5, 5, 7, 9}?",options:["3","5","7","9"],correctAnswer:"5",explanation:"Mode is the most frequent value. 5 appears twice.",optionExplanations:{3:"3 appears once.",5:"Correct! 5 appears most frequently (twice).",7:"7 appears once.",9:"9 appears once."}},{id:5,type:"multiple-choice",question:"If P(A) = 0.3, what is P(not A)?",options:["0.3","0.5","0.7","1.0"],correctAnswer:"0.7",explanation:"P(not A) = 1 G�� P(A) = 1 G�� 0.3 = 0.7.",optionExplanations:{"0.3":"That is P(A), not its complement.","0.5":"Complements only equal 0.5 when P(A) = 0.5.","0.7":"Correct! 1 G�� 0.3 = 0.7.","1.0":"1.0 means certain, but A doesn't always not happen."}}]},Rt=(t,n)=>{const c=t.split("-");let d="";if(c.length>=3?d=`${c[0]}-${c[1]}`:c.length===2&&(d=t),ie[d])return ie[d];const i=c[0],l={gm:"gm-4",pc:"pc-1",bc:"bc",sp:"sp"}[i];return l&&ie[l]?ie[l]:ie["gm-4"]},Dt=({module:t,onBack:n,onEarnXP:c})=>{const[i,m]=o.useState(null),{userProfile:l}=Ce(),[S,L]=o.useState(null),j=o.useMemo(()=>{const r=Number(t.id.split("-").pop());return Number.isFinite(r)&&r>0?r:1},[t.id]),p=o.useMemo(()=>le.find(A=>A.modules.some(k=>k.id===t.id))?.id??null,[t.id]),F=["#1FA7E1","#9956DE","#75D06A","#FFB356","#7274ED","#FF8B8B","#6ED1CF","#FB96BB"];o.useMemo(()=>{const A=(p?le.find(z=>z.id===p):null)?.modules?.findIndex(z=>z.id===t.id)??0,k=A>=0?A:0;return F[k%F.length]},[t.id,p]),o.useEffect(()=>{if(l?.uid)return Ye(l.uid,L)},[l?.uid]);const q=o.useMemo(()=>p?S?.subjects?.[p]?.modulesProgress?.[t.id]??null:null,[t.id,p,S?.subjects]),[C,W]=o.useState(null),E=o.useMemo(()=>{const r=q?.lessonsCompleted??[];return new Set(r)},[q?.lessonsCompleted]),$=o.useMemo(()=>{const r=q?.quizzesCompleted??[];return new Set(r)},[q?.quizzesCompleted]),B=q?.lessonsCompleted?.length??t.lessons.filter(r=>r.completed).length,a=q?.quizzesCompleted?.length??t.quizzes.filter(r=>r.completed).length,_=q?.progress??t.progress,b=t.lessons.length+t.quizzes.length,D=B+a;t.lessons.length&&B/t.lessons.length*100,t.quizzes.length&&a/t.quizzes.length*100;const u=(r,A)=>{const k=S?.lessons?.[r]?.score;return typeof k=="number"&&Number.isFinite(k)?Math.max(0,Math.min(100,k)):A?100:0},N=o.useMemo(()=>{if(!b)return 0;const r=t.lessons.reduce((k,z)=>{const M=E.has(z.id)||z.completed;return k+u(z.id,M)},0),A=a*100;return Math.round((r+A)/b)},[E,a,t.lessons,t.quizzes.length,b,S?.lessons]),g=_>0?_:N,v=o.useMemo(()=>t.quizzes.find(r=>r.type==="final"||/module\s+quiz|general\s+quiz/i.test(r.title))??null,[t.quizzes]),V=o.useMemo(()=>{const r=new Map;t.lessons.forEach(k=>{r.set(k.id,[])});const A=t.lessons.length;return A===0||t.quizzes.forEach((k,z)=>{if(v?.id===k.id)return;const M=Math.min(z,A-1),y=t.lessons[M];if(!y)return;const Q=r.get(y.id)??[];Q.push(k),r.set(y.id,Q)}),r},[t.lessons,t.quizzes,v?.id]),T=o.useMemo(()=>Math.max(1,Math.ceil(t.lessons.length/2)),[t.lessons.length]);if(i)if(i.type==="lesson"){const r=V.get(i.lesson.id)?.[0]??null,A=r?$.has(r.id)||r.completed:!1;return e.jsx(Qt,{lesson:i.lesson,lessonCompletionXP:10,practiceQuiz:r,practiceQuizCompleted:A,initialSection:i.returnFromQuiz?-1:0,onBack:()=>{m(null),W(null)},onStartPractice:()=>{r&&(W(i.lesson),m({type:"quiz",quiz:r}))},onProgressUpdate:k=>{l?.uid&&Ke(l.uid,i.lesson.id,k),L(z=>{if(!z)return z;const M=i.lesson.id,y=z.lessons?.[M]?.score,Q=typeof y=="number"&&Number.isFinite(y)?y:0,G=Math.max(Q,Math.max(0,Math.min(100,k)));return{...z,lessons:{...z.lessons||{},[M]:{...z.lessons?.[M]||{},lessonId:M,score:G}},updatedAt:new Date}})},onComplete:(k,z,M)=>{if(console.log("[LessonComplete] XP Award:",10,"for",i.lesson.title),c?.(10,`Completed "${i.lesson.title}"`),l?.uid&&p&&(async()=>{try{await Ue(l.uid,p,t.id,i.lesson.id,0,10),await Te(l.uid,p,t.id,t.lessons.length,t.quizzes.length)}catch(Q){console.error("[LessonComplete] Failed to persist progress:",Q)}})(),M){const Q=t.lessons.findIndex(G=>G.id===i.lesson.id);Q!==-1&&Q0?m({type:"quiz",quiz:t.quizzes[0]}):m(null)}else m(null)}})}else{const r=Rt(i.quiz.id);return e.jsx($t,{lesson:{id:parseInt(i.quiz.id.split("-").pop()||"1"),title:i.quiz.title,duration:i.quiz.duration,type:"quiz",completed:i.quiz.completed,locked:i.quiz.locked},questions:r,onBack:()=>{C?(m({type:"lesson",lesson:C,returnFromQuiz:!0}),W(null)):m(null)},onComplete:(A,k)=>{console.log("[QuizComplete] Score:",A,"totalXP from calculator:",k);const z=k&&k>0?k:Math.max(100,Math.round(A*1.5));console.log("[QuizComplete] Awarding XP:",z),c?.(z,`Scored ${A}% on "${i.quiz.title}"`),l?.uid&&p&&(async()=>{try{await Je(l.uid,p,t.id,i.quiz.id,A,[],0),await Te(l.uid,p,t.id,t.lessons.length,t.quizzes.length)}catch(M){console.error("[QuizComplete] Failed to persist progress:",M)}})(),C?(m({type:"lesson",lesson:C,returnFromQuiz:!0}),W(null)):m(null)}})}return e.jsxs("div",{className:"h-full flex flex-col px-4 sm:px-6 xl:px-10 py-6 sm:py-8 lg:overflow-hidden relative",children:[e.jsx("div",{className:"sticky top-0 sm:top-4 z-50 mb-6 xl:mb-8 w-full sm:w-max",children:e.jsxs("button",{onClick:n,className:"flex items-center gap-2 px-4 py-2.5 rounded-full bg-white/80 backdrop-blur-xl border border-slate-200/60 text-slate-600 hover:text-indigo-600 font-bold text-sm tracking-wide transition-all hover:-translate-x-1 shadow-sm hover:shadow-md",children:[e.jsx(Ne,{size:18}),"Back"]})}),e.jsxs(h.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},className:`relative mb-6 lg:mb-8 rounded-[2rem] ${t.accentColor} shadow-[0_20px_40px_-15px_rgba(0,0,0,0.3)] shrink-0 overflow-hidden`,children:[e.jsx("div",{className:"absolute inset-0 bg-black/60 pointer-events-none z-0"}),e.jsx("div",{className:"absolute inset-0 opacity-10 pointer-events-none",style:{backgroundImage:"repeating-linear-gradient(0deg, transparent, transparent 39px, #ffffff 39px, #ffffff 40px), repeating-linear-gradient(90deg, transparent, transparent 39px, #ffffff 39px, #ffffff 40px)"}}),e.jsx("div",{className:"absolute top-0 right-0 w-[400px] h-[400px] bg-sky-500/20 blur-[100px] rounded-full pointer-events-none"}),e.jsxs("div",{className:"relative p-5 sm:p-7 md:p-10 flex flex-col md:flex-row md:items-center justify-between gap-6 md:gap-8",children:[e.jsxs("div",{className:"flex-1 text-white",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-4 md:mb-5",children:[e.jsxs("div",{className:"px-3 py-1 bg-white/10 backdrop-blur-md rounded-full text-[11px] font-black uppercase tracking-widest text-[#f8fafc] border border-white/20 shadow-sm flex items-center gap-1.5",children:[e.jsx(qe,{size:14})," Chapter ",t.id.split("-").pop()||"1"]}),e.jsxs("div",{className:"px-3 py-1 bg-white/10 backdrop-blur-md rounded-full text-[11px] font-black uppercase tracking-widest text-emerald-400 border border-emerald-400/30",children:["Lv ",j]})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-display font-black text-white mb-3 md:mb-4 tracking-[-0.02em] leading-tight",children:t.title}),e.jsx("p",{className:"text-slate-300 text-sm md:text-[15px] max-w-2xl font-medium leading-relaxed mb-6 md:mb-8",children:t.description}),e.jsxs("div",{className:"bg-black/20 backdrop-blur-md rounded-2xl p-4 md:p-5 border border-white/10 max-w-xl",children:[e.jsxs("div",{className:"flex justify-between items-end mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(ce,{size:20,className:"text-emerald-400"}),e.jsx("span",{className:"text-[12px] md:text-[13px] font-black text-white uppercase tracking-wider",children:"Module Mastery"})]}),e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsxs("span",{className:"text-[12px] md:text-[13px] font-bold text-slate-400 mb-0.5",children:[D,"/",b," steps"]}),e.jsxs("span",{className:"text-xl md:text-2xl font-black text-white shrink-0 leading-none",children:[Math.round(g),"%"]})]})]}),e.jsx("div",{className:"h-3 bg-black/40 rounded-full overflow-hidden shadow-inner ring-1 ring-white/10 p-0.5",children:e.jsx(h.div,{initial:{width:0},animate:{width:`${g}%`},transition:{duration:1.5,ease:"easeOut",delay:.2},className:`h-full rounded-full relative ${g===100?"bg-gradient-to-r from-emerald-400 to-teal-300":t.accentColor}`,children:e.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPgo8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMSI+PC9yZWN0Pgo8L3N2Zz4=')] opacity-30 mix-blend-overlay"})})})]})]}),e.jsxs("div",{className:"hidden lg:flex w-48 h-48 bg-white/5 rounded-[2rem] border border-white/10 backdrop-blur-md items-center justify-center transform rotate-[-3deg] shadow-2xl relative group hover:rotate-0 transition-all duration-500 shrink-0",children:[e.jsx("div",{className:`absolute inset-0 opacity-40 rounded-[2rem] ${t.progress===100?"bg-gradient-to-br from-emerald-400 to-teal-600":t.accentColor}`}),g===100?e.jsx(te,{size:80,className:"text-white drop-shadow-xl z-10 scale-100 group-hover:scale-110 transition-transform duration-500",strokeWidth:1}):e.jsx(U,{size:80,className:"text-white drop-shadow-xl z-10 scale-100 group-hover:scale-110 transition-transform duration-500",strokeWidth:1}),e.jsx(h.div,{animate:{y:[-5,5,-5],rotate:[-10,10,-10]},transition:{duration:4,repeat:1/0},className:"absolute top-6 left-6 text-emerald-300 z-20",children:e.jsx(Se,{size:20,fill:"currentColor"})}),e.jsx(h.div,{animate:{y:[5,-5,5],rotate:[10,-10,10]},transition:{duration:3.5,repeat:1/0},className:"absolute bottom-8 right-6 text-sky-300 z-20",children:e.jsx(Fe,{size:24})})]})]})]}),e.jsx("div",{className:"flex-1 overflow-y-auto pr-2 pb-8 scrollbar-hide",children:e.jsxs("div",{className:"relative rounded-[2rem] border border-slate-200 bg-white/90 shadow-sm overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 pointer-events-none bg-[radial-gradient(circle_at_top_right,rgba(153,86,222,0.08),transparent_45%),radial-gradient(circle_at_bottom_left,rgba(31,167,225,0.08),transparent_45%)]"}),e.jsxs("div",{className:"relative z-10 px-4 sm:px-6 md:px-8 py-5 md:py-6 border-b border-slate-200/70 bg-white/70 backdrop-blur-sm flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("h2",{className:"font-display font-black text-xl md:text-2xl text-slate-800 flex items-center gap-3",children:[e.jsx(U,{size:24,className:"text-sky-500"}),"Study Journey"]}),e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsxs("div",{className:"text-xs md:text-sm font-bold bg-sky-100 text-sky-700 px-3 py-1 rounded-full shadow-sm border border-sky-200/50",children:["Lessons ",B,"/",t.lessons.length]}),e.jsxs("div",{className:"text-xs md:text-sm font-bold bg-rose-100 text-rose-700 px-3 py-1 rounded-full shadow-sm border border-rose-200/50",children:["Quizzes ",a,"/",t.quizzes.length]})]})]}),e.jsxs("div",{className:"relative z-10 px-4 sm:px-6 md:px-8 py-5 md:py-6 space-y-5",children:[t.lessons.map((r,A)=>{const k=E.has(r.id)||r.completed,z=u(r.id,k);V.get(r.id);const M=F[A%F.length];return e.jsxs(He.Fragment,{children:[e.jsxs(h.div,{initial:{opacity:0,y:14},animate:{opacity:1,y:0},transition:{delay:A*.05},className:`relative rounded-[1.5rem] border overflow-hidden group transition-all duration-500 mb-6 ${r.locked?"border-slate-200 opacity-65 saturate-50":"border-slate-200/80 hover:border-slate-300 hover:shadow-[0_16px_40px_-15px_rgba(0,0,0,0.12)] hover:-translate-y-0.5"}`,children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-[6px] z-20 bg-slate-100 overflow-hidden",children:e.jsx(h.div,{initial:{width:0},animate:{width:`${Math.max(2,z)}%`},transition:{duration:1.2,ease:"easeOut",delay:.1+A*.05},className:"h-full relative",style:{backgroundColor:M},children:e.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPgo8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMSI+PC9yZWN0Pgo8L3N2Zz4=')] opacity-30 mix-blend-overlay"})})}),e.jsx("div",{className:"absolute inset-0 bg-white transition-opacity duration-500 group-hover:opacity-90",style:{backgroundImage:`linear-gradient(to right, ${M}44 0%, ${M}11 50%, white 100%)`}}),e.jsx("div",{className:"absolute inset-0 opacity-[0.2] pointer-events-none",style:{backgroundImage:`radial-gradient(circle at 2px 2px, ${M} 1.5px, transparent 0)`,backgroundSize:"24px 24px"}}),e.jsx("div",{className:"absolute -top-12 -left-10 h-40 w-40 rounded-full blur-[32px] pointer-events-none transition-transform duration-700 group-hover:scale-[1.3] group-hover:translate-x-4",style:{backgroundColor:`${M}22`}}),e.jsx("div",{className:"absolute -bottom-8 right-8 h-32 w-32 rounded-full blur-2xl pointer-events-none transition-transform duration-700 group-hover:scale-125 group-hover:-translate-y-4",style:{backgroundColor:`${M}11`}}),e.jsx("div",{className:"absolute right-4 top-4 opacity-10 pointer-events-none transition-all duration-500 group-hover:rotate-12 group-hover:scale-110 drop-shadow-sm",style:{color:M},children:e.jsx(Fe,{size:56,strokeWidth:1})}),e.jsx("div",{className:"absolute right-16 bottom-5 opacity-10 pointer-events-none transition-all duration-500 group-hover:-rotate-6 group-hover:-translate-y-2 drop-shadow-sm",style:{color:M},children:e.jsx(U,{size:40,strokeWidth:1})}),e.jsxs("div",{className:"relative z-10 p-4 md:p-5 pt-6 space-y-4",children:[e.jsxs("button",{type:"button",onClick:()=>!r.locked&&m({lesson:r,type:"lesson"}),className:`w-full text-left flex flex-wrap items-center justify-between gap-3 rounded-2xl px-5 py-4 transition shadow-sm ${r.locked?"cursor-not-allowed border border-slate-200 bg-white/70":"cursor-pointer bg-white hover:bg-slate-50"}`,children:[e.jsxs("div",{className:"flex items-center gap-4 min-w-0",children:[e.jsx("div",{className:`w-12 h-12 rounded-full flex items-center justify-center shrink-0 transition-colors shadow-sm ${r.locked?"bg-slate-100 text-slate-400":"text-white"}`,style:r.locked?{}:k?{backgroundColor:"#0ea5e9"}:{backgroundColor:M},children:r.locked?e.jsx(De,{size:18}):k?e.jsx(vt,{size:24}):e.jsx(Ve,{size:20,className:"ml-0.5"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"text-[11px] md:text-[12px] font-black uppercase tracking-wider text-slate-500 mb-0.5",children:["Lesson ",A+1]}),e.jsx("h3",{className:"font-bold text-[16px] md:text-[18px] text-[#0a1628] truncate",children:r.title})]})]}),e.jsx("div",{className:"flex items-center justify-end",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-slate-500 text-xs md:text-sm font-semibold bg-slate-100/80 px-3 py-1.5 rounded-xl",children:[e.jsx(J,{size:14}),r.duration]})})]}),e.jsxs("div",{className:"flex flex-wrap gap-3 px-1",children:[e.jsxs("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-1.5 text-[12px] font-bold shadow-sm transition hover:-translate-y-0.5",style:{color:M},children:[e.jsx(U,{size:14})," Study Materials"]}),e.jsxs("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-1.5 text-[12px] font-bold shadow-sm transition hover:-translate-y-0.5",style:{color:M},children:[e.jsx(qe,{size:14})," Flashcards"]})]})]})]}),v&&A===T-1&&e.jsxs(h.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{delay:.15+A*.03},className:"mt-8 mb-6",children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx("div",{className:"flex-1 h-px bg-slate-200"}),e.jsx("span",{className:"text-xs font-bold text-indigo-400 uppercase tracking-widest text-center",children:"mid-module checkpoint"}),e.jsx("div",{className:"flex-1 h-px bg-slate-200"})]}),e.jsxs("div",{className:"relative rounded-[1.5rem] bg-[#533ab6] p-5 shadow-lg overflow-hidden group transition-all hover:shadow-xl hover:-translate-y-1",children:[e.jsx("div",{className:"absolute right-4 md:right-10 top-1/2 -translate-y-1/2 text-white/5 text-[140px] font-black font-display pointer-events-none group-hover:scale-110 transition-transform duration-500",children:"?"}),e.jsxs("div",{className:"relative z-10 flex flex-wrap items-center gap-4 md:gap-5",children:[e.jsx("div",{className:"w-14 h-14 rounded-[14px] bg-white/10 backdrop-blur-md border border-white/10 shrink-0 flex items-center justify-center shadow-inner",children:e.jsx(X,{size:28,className:"text-rose-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-[10px] md:text-[11px] font-black uppercase tracking-widest text-[#a3b1ee] mb-1 drop-shadow-sm",children:"Module Task G�� General Quiz"}),e.jsx("h3",{className:"font-display font-medium text-[20px] md:text-[22px] text-white leading-tight mb-2 tracking-tight",children:v.title}),e.jsxs("p",{className:"text-xs font-semibold text-white/80 flex items-center gap-3",children:[e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(ke,{size:12})," ",v.questions," Qs"]}),e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(J,{size:12})," ",v.duration]}),e.jsxs("span",{className:"inline-flex items-center gap-1 text-amber-300 drop-shadow-md",children:[e.jsx(re,{size:12,className:"fill-amber-300"})," +50 XP"]})]})]}),e.jsx("button",{type:"button",onClick:()=>!v.locked&&m({quiz:v,type:"quiz"}),className:`px-6 py-2.5 rounded-xl text-xs md:text-sm font-bold tracking-wider transition-all backdrop-blur-sm self-center shrink-0 ${v.locked?"bg-white/5 text-white/30 border border-white/10 cursor-not-allowed":$.has(v.id)||v.completed?"bg-white/20 text-white border border-white/40 hover:bg-white/30 shadow-sm":"bg-transparent text-white border border-white/40 hover:bg-white/10 shadow-sm"}`,children:$.has(v.id)||v.completed?"REVIEW":"START"})]})]})]})]},r.id)}),t.lessons.length===0&&v&&e.jsxs("div",{className:"relative rounded-[1.5rem] bg-[#533ab6] p-5 shadow-lg overflow-hidden group",children:[e.jsx("div",{className:"absolute right-4 md:right-10 top-1/2 -translate-y-1/2 text-white/5 text-[140px] font-black font-display pointer-events-none group-hover:scale-110 transition-transform duration-500",children:"?"}),e.jsxs("div",{className:"relative z-10 flex flex-wrap items-center justify-between gap-4 md:gap-5",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-1",children:[e.jsx("div",{className:"w-14 h-14 rounded-[14px] bg-white/10 backdrop-blur-md border border-white/10 shrink-0 flex items-center justify-center shadow-inner",children:e.jsx(X,{size:28,className:"text-rose-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[10px] md:text-[11px] font-black uppercase tracking-widest text-[#a3b1ee] mb-1 drop-shadow-sm",children:"Module Task G�� General Quiz"}),e.jsx("h3",{className:"font-display font-medium text-[20px] md:text-[22px] text-white leading-tight mb-2 tracking-tight",children:v.title}),e.jsxs("p",{className:"text-xs font-semibold text-white/80 flex items-center gap-3",children:[e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(ke,{size:12})," ",v.questions," Qs"]}),e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(J,{size:12})," ",v.duration]}),e.jsxs("span",{className:"inline-flex items-center gap-1 text-amber-300 drop-shadow-md",children:[e.jsx(re,{size:12,className:"fill-amber-300"})," +50 XP"]})]})]})]}),e.jsx("button",{type:"button",onClick:()=>!v.locked&&m({quiz:v,type:"quiz"}),className:`px-6 py-2.5 rounded-xl text-xs md:text-sm font-bold tracking-wider transition-all backdrop-blur-sm self-center shrink-0 ${v.locked?"bg-white/5 text-white/30 border border-white/10 cursor-not-allowed":$.has(v.id)||v.completed?"bg-white/20 text-white border border-white/40 hover:bg-white/30 shadow-sm":"bg-transparent text-white border border-white/40 hover:bg-white/10 shadow-sm"}`,children:$.has(v.id)||v.completed?"REVIEW":"START"})]})]})]})]})})]})},Vt=({onStartQuiz:t,searchQuery:n="",allowedSubjectIds:c})=>{const{userProfile:d}=Ce(),[i,m]=o.useState("all"),[l,S]=o.useState("all"),[L,j]=o.useState(null),p=o.useMemo(()=>!c||c.length===0?le:le.filter(a=>c.includes(a.id)),[c]);o.useEffect(()=>{d?.uid&&et(d.uid).then(j).catch(console.error)},[d?.uid]),o.useEffect(()=>{if(l==="all")return;p.some(_=>_.title===l)||S("all")},[p,l]);const F=L?.totalQuizzesCompleted||0,q=d?.totalXP||0,C=L?.averageScore?Math.round(L.averageScore):0,W=new Set(L?.quizAttempts?.map(a=>a.quizId)||[]),E={};if(L?.quizAttempts)for(const a of L.quizAttempts)(!E[a.quizId]||a.score>E[a.quizId])&&(E[a.quizId]=a.score);const B=p.flatMap(a=>a.modules.flatMap(_=>_.quizzes.map(b=>({id:b.id,title:b.title,subject:a.title,difficulty:b.type==="module"?"Medium":"Easy",questions:b.questions,duration:b.duration,xpReward:b.questions*5,type:b.type==="module"?"challenge":"practice",completed:W.has(b.id),bestScore:E[b.id],locked:b.locked})))).filter(a=>{const _=i==="all"||a.type===i,b=l==="all"||a.subject===l,D=!n||a.title.toLowerCase().includes(n.toLowerCase())||a.subject.toLowerCase().includes(n.toLowerCase());return _&&b&&D});return e.jsxs("div",{className:"h-full flex flex-col px-4 sm:px-6 xl:px-10 py-6 sm:py-8",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h1",{className:"text-2xl font-bold text-[#0a1628] mb-2",children:"Practice Center"}),e.jsx("p",{className:"text-[#5a6578]",children:"Sharpen your skills with quizzes, challenges, and mastery tests"})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4 mb-6",children:[e.jsxs(h.div,{whileHover:{scale:1.02},className:"bg-gradient-to-br from-sky-700 to-sky-500 rounded-2xl p-5 text-white shadow-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(ce,{size:24})}),e.jsx("span",{className:"text-3xl font-bold",children:F})]}),e.jsx("p",{className:"text-sm font-medium text-sky-100",children:"Quizzes Completed"})]}),e.jsxs(h.div,{whileHover:{scale:1.02},className:"bg-gradient-to-br from-rose-500 to-rose-600 rounded-2xl p-5 text-white shadow-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(re,{size:24})}),e.jsx("span",{className:"text-3xl font-bold",children:q.toLocaleString()})]}),e.jsx("p",{className:"text-sm font-medium text-cyan-100",children:"Total XP Earned"})]}),e.jsxs(h.div,{whileHover:{scale:1.02},className:"bg-gradient-to-br from-indigo-600 to-indigo-700 rounded-2xl p-5 text-white shadow-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(X,{size:24})}),e.jsxs("span",{className:"text-3xl font-bold",children:[C,"%"]})]}),e.jsx("p",{className:"text-sm font-medium text-sky-100",children:"Average Score"})]})]}),e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsxs("div",{className:"flex items-center gap-2 bg-white rounded-xl p-1 shadow-sm",children:[e.jsx("button",{onClick:()=>m("all"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${i==="all"?"bg-sky-600 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"All"}),e.jsx("button",{onClick:()=>m("practice"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${i==="practice"?"bg-sky-500 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"Practice"}),e.jsx("button",{onClick:()=>m("challenge"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${i==="challenge"?"bg-orange-500 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"Challenge"}),e.jsx("button",{onClick:()=>m("mastery"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${i==="mastery"?"bg-sky-500 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"Mastery"})]}),e.jsxs("select",{value:l,onChange:a=>S(a.target.value),className:"px-4 py-2.5 bg-white border-2 border-[#dde3eb] rounded-xl text-sm font-bold text-[#0a1628] focus:border-indigo-600 focus:outline-none",children:[e.jsx("option",{value:"all",children:"All Subjects"}),p.map(a=>e.jsx("option",{value:a.title,children:a.title},a.id))]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto pr-2 pb-4 scrollbar-hide rounded-[2rem] border border-slate-200 shadow-inner relative",style:{backgroundImage:"radial-gradient(#CBD5E1 1px, transparent 1px)",backgroundSize:"24px 24px",backgroundPosition:"-12px -12px",backgroundColor:"#FAFAFA"},children:[e.jsx("div",{className:"absolute left-12 top-0 bottom-0 w-0.5 bg-rose-200/60 pointer-events-none z-0"}),e.jsx("div",{className:"absolute left-[54px] top-0 bottom-0 w-px bg-rose-100/40 pointer-events-none z-0"}),e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 lg:gap-5 p-4 md:p-6 relative z-10",children:B.map((a,_)=>{const b=a.locked,D=a.difficulty==="Hard",u=a.type==="challenge";return e.jsx(h.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:_*.05},onClick:()=>!b&&t?.(a),className:`bg-white/90 backdrop-blur-sm rounded-2xl p-4 md:p-5 border-2 relative select-none transition-all duration-300 ${b?"border-slate-200 opacity-60 saturate-50 cursor-not-allowed":a.completed?"border-teal-200 shadow-sm hover:border-teal-300 hover:shadow-md cursor-pointer":D?"border-indigo-200 shadow-sm hover:border-indigo-300 hover:shadow-md cursor-pointer":"border-orange-200 shadow-sm hover:border-orange-300 hover:shadow-md cursor-pointer"} group`,children:e.jsxs("div",{className:"flex items-center justify-between gap-3 md:gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3 md:gap-4 flex-1",children:[e.jsx("div",{className:`w-10 h-10 md:w-12 md:h-12 rounded-xl flex items-center justify-center shrink-0 shadow-sm transform group-hover:rotate-3 transition-transform ${b?"bg-slate-100 text-slate-400":a.completed?"bg-teal-500 text-white":D?"bg-indigo-500 text-white":"bg-orange-500 text-white"}`,children:b?e.jsx(De,{size:18}):a.completed?e.jsx(te,{size:18}):e.jsx(ke,{size:18})}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[e.jsxs("span",{className:`px-2 py-0.5 rounded-[6px] text-[9px] md:text-[10px] font-black uppercase tracking-wider ${D?"bg-indigo-100 text-indigo-700":u?"bg-orange-100 text-orange-700":"bg-sky-100 text-sky-700"}`,children:[a.type," • ",a.difficulty]}),!b&&!a.completed&&e.jsx("span",{className:"w-1.5 h-1.5 md:w-2 md:h-2 rounded-full bg-rose-500 animate-pulse"})]}),e.jsx("h3",{className:`font-bold text-[14px] md:text-[16px] leading-tight mb-1 md:mb-1.5 transition-colors ${b?"text-slate-600":"text-[#0a1628]"}`,children:a.title}),e.jsx("p",{className:"text-[11px] md:text-[12px] text-slate-500 mb-1.5 line-clamp-1",children:a.subject}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 md:gap-3 text-[11px] md:text-[12px] font-bold text-slate-400",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(U,{size:12})," ",a.questions," Qs"]}),e.jsx("span",{className:"hidden sm:inline",children:"•"}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(J,{size:12})," ",a.duration]}),e.jsx("span",{className:"hidden sm:inline",children:"•"}),e.jsxs("span",{className:"flex items-center gap-1 text-rose-500",children:[e.jsx(te,{size:12})," +",a.xpReward," XP"]})]})]})]}),e.jsxs("div",{className:"flex flex-col items-end gap-2 shrink-0",children:[a.bestScore!==void 0&&e.jsxs("div",{className:"text-right",children:[e.jsxs("div",{className:`text-xl md:text-2xl font-black leading-none ${a.bestScore>=80?"text-teal-600":"text-orange-500"}`,children:[a.bestScore,"%"]}),e.jsx("div",{className:"text-[9px] uppercase tracking-wide text-slate-400 font-bold mt-1",children:"Best Score"})]}),!b&&e.jsx("div",{className:`px-3 py-1.5 md:px-4 md:py-2 rounded-xl text-[11px] md:text-[12px] font-black uppercase tracking-wider shadow-sm transition-all ${a.completed?"bg-white border border-slate-200 text-slate-600 group-hover:bg-slate-50":"bg-slate-900 text-white group-hover:bg-slate-600"}`,children:a.completed?"Review":"Start"})]})]})},a.id)})}),B.length===0&&e.jsxs("div",{className:"flex flex-col items-center justify-center h-64 text-slate-500 relative z-10",children:[e.jsx(X,{size:48,className:"mb-3"}),e.jsx("p",{className:"font-medium",children:"No quizzes found"}),e.jsx("p",{className:"text-sm",children:"Try adjusting your filters or search query"})]})]})]})};function Zt(t){if(t.questionType==="multiple_choice"&&t.options&&t.options.length>0){const n=t.options.findIndex(c=>c.trim().toLowerCase()===t.correctAnswer.trim().toLowerCase());return{id:t.id,question:t.question,options:t.options,correctAnswer:n>=0?n:0,correctAnswerText:t.correctAnswer,explanation:t.explanation,questionType:t.questionType,points:t.points,difficulty:t.difficulty,topic:t.topic,bloomLevel:t.bloomLevel}}return{id:t.id,question:t.question,options:[],correctAnswer:-1,correctAnswerText:t.correctAnswer,explanation:t.explanation,questionType:t.questionType,points:t.points,difficulty:t.difficulty,topic:t.topic,bloomLevel:t.bloomLevel}}function Re(t){return t.replace(/²/g,"^2").replace(/³/g,"^3").replace(/⁻¹/g,"^-1").replace(/⁰/g,"^0").replace(/¹/g,"^1").replace(/⁴/g,"^4").replace(/⁵/g,"^5").replace(/⁶/g,"^6").replace(/⁷/g,"^7").replace(/⁸/g,"^8").replace(/⁹/g,"^9").replace(/π/g,"pi").replace(/√/g,"sqrt").replace(/×/g,"*").replace(/÷/g,"/").replace(/\s+/g,"").toLowerCase().trim()}function Ot(t,n,c){const d=i=>i.trim().toLowerCase().replace(/\s+/g," ");switch(c){case"identification":return d(t)===d(n);case"enumeration":{const i=t.split(",").map(l=>d(l)).filter(Boolean).sort(),m=n.split(",").map(l=>d(l)).filter(Boolean).sort();return JSON.stringify(i)===JSON.stringify(m)}case"word_problem":case"equation_based":{const i=Re(t),m=Re(n);if(i===m)return!0;const l=parseFloat(t.replace(/[^\d.\-]/g,"")),S=parseFloat(n.replace(/[^\d.\-]/g,""));return!isNaN(l)&&!isNaN(S)?Math.abs(l-S)<=.01:d(t)===d(n)}default:return d(t)===d(n)}}function Ht(t){switch(t){case"identification":return"Type your answer below";case"enumeration":return"List your answers separated by commas";case"word_problem":return"Show your work and type the final answer";case"equation_based":return"Solve the equation and type the result";default:return"Select the correct answer"}}const Xt=({quiz:t,onClose:n,onComplete:c,studentId:d,atRiskSubjects:i=[]})=>{const[m,l]=o.useState(0),[S,L]=o.useState(null),[j,p]=o.useState(""),[F,q]=o.useState(!1),[C,W]=o.useState(!1),[E,$]=o.useState(0),[B,a]=o.useState(0),[_,b]=o.useState(1),[D,u]=o.useState([]),[N,g]=o.useState([]),[v,V]=o.useState(Date.now()),[T,r]=o.useState(!1),[A,k]=o.useState(0),[z,M]=o.useState(0),[y,Q]=o.useState(!1),[G]=o.useState(()=>t.loadedQuestions&&t.loadedQuestions.length>0?t.loadedQuestions.map(Zt):Array.from({length:t.questions},(w,s)=>({id:`q${s+1}`,question:Yt(t.subject,s),options:Ut(t.subject,s),correctAnswer:Kt(t.subject,s),explanation:Jt(t.subject,s,t.difficulty)}))),P=G[m];o.useEffect(()=>{const w=parseInt(t.duration);k(w*60);const s=setInterval(()=>{k(x=>x<=1?(clearInterval(s),de(),0):x-1)},1e3);return()=>clearInterval(s)},[]);const O=w=>{const s=new(window.AudioContext||window.webkitAudioContext),x=s.createOscillator(),f=s.createGain();switch(x.connect(f),f.connect(s.destination),w){case"correct":x.frequency.value=800,f.gain.setValueAtTime(.3,s.currentTime),f.gain.exponentialRampToValueAtTime(.01,s.currentTime+.3),x.start(s.currentTime),x.stop(s.currentTime+.3);break;case"incorrect":x.frequency.value=200,f.gain.setValueAtTime(.3,s.currentTime),f.gain.exponentialRampToValueAtTime(.01,s.currentTime+.2),x.start(s.currentTime),x.stop(s.currentTime+.2);break;case"combo":x.frequency.value=1200,f.gain.setValueAtTime(.2,s.currentTime),f.gain.exponentialRampToValueAtTime(.01,s.currentTime+.4),x.start(s.currentTime),x.stop(s.currentTime+.4);break;case"complete":x.frequency.value=600,f.gain.setValueAtTime(.3,s.currentTime),f.gain.exponentialRampToValueAtTime(.01,s.currentTime+.5),x.start(s.currentTime),x.stop(s.currentTime+.5);break}},de=()=>{r(!0),ge()},xe=w=>{C||L(w)},me=()=>{const w=P.questionType!=null&&P.questionType!=="multiple_choice";if(w){if(!j.trim())return}else if(S===null)return;const s=w?Ot(j,P.correctAnswerText||"",P.questionType||""):S===P.correctAnswer,x=[...D];x[m]=w?s?1:0:S,u(x),q(s);const f=Math.round((Date.now()-v)/1e3);if(g(I=>[...I,{questionId:P.id,answer:w?j:String(S),correct:s,timeSpent:f}]),s){O("correct"),$(E+1);const I=B+1;a(I),I>=5?(b(3),O("combo"),Pe({particleCount:50,spread:60,origin:{y:.6}})):I>=3?(b(2),O("combo")):b(1)}else O("incorrect"),a(0),b(1);W(!0)},Z=()=>{m{const w=Math.round(E/G.length*100);let s=t.xpReward;w>=90?s=Math.round(s*1.5):w>=80&&(s=Math.round(s*1.25));const x=parseInt(t.duration)*60;A>x*.5&&(s=Math.round(s*1.2)),M(s);const f=x-A;d&&ct({lrn:d,quizId:t.id,subject:t.subject,score:w,totalQuestions:G.length,correctAnswers:E,timeSpentSeconds:f}).catch(I=>console.error("[WARN] Automation: quiz pipeline failed:",I)),t.source==="ai_generated"&&d&&ot(d,t.id,t.generatedQuizId,t.subject,t.source,w,s,f,N,G.map(I=>({topic:I.topic||t.subject,difficulty:I.difficulty||"medium",bloomLevel:I.bloomLevel||"understand"}))).catch(I=>console.error("[WARN] Quiz result save failed:",I)),O("complete"),Pe({particleCount:100,spread:70,origin:{y:.6}}),setTimeout(()=>{c(w,s)},3e3)},se=w=>{const s=Math.floor(w/60),x=w%60;return`${s}:${x.toString().padStart(2,"0")}`};if(T){const w=Math.round(E/G.length*100),s=w>=70;return e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-6",children:e.jsxs(h.div,{initial:{scale:.9,opacity:0},animate:{scale:1,opacity:1},className:"bg-white rounded-3xl shadow-2xl max-w-2xl w-full p-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx(h.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.2,type:"spring"},className:`w-24 h-24 mx-auto rounded-full flex items-center justify-center mb-4 ${s?"bg-gradient-to-br from-teal-500 to-emerald-500":"bg-gradient-to-br from-orange-500 to-red-500"}`,children:s?e.jsx(te,{size:48,className:"text-white"}):e.jsx(X,{size:48,className:"text-white"})}),e.jsx("h2",{className:"text-3xl font-bold font-display text-[#0a1628] mb-2",children:s?"Great Job!":"Keep Practicing!"}),e.jsx("p",{className:"text-[#5a6578]",children:t.title})]}),e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-cyan-50 rounded-2xl p-6 mb-6",children:[e.jsxs("div",{className:"text-center mb-4",children:[e.jsxs("div",{className:"text-6xl font-bold text-sky-600 mb-2",children:[w,"%"]}),e.jsx("p",{className:"text-[#5a6578]",children:"Final Score"})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"bg-white rounded-xl p-4 text-center",children:[e.jsx(ne,{size:24,className:"mx-auto mb-2 text-teal-600"}),e.jsx("p",{className:"text-2xl font-bold text-[#0a1628]",children:E}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"Correct"})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 text-center",children:[e.jsx(Be,{size:24,className:"mx-auto mb-2 text-red-500"}),e.jsx("p",{className:"text-2xl font-bold text-[#0a1628]",children:G.length-E}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"Incorrect"})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 text-center",children:[e.jsx(re,{size:24,className:"mx-auto mb-2 text-rose-500"}),e.jsxs("p",{className:"text-2xl font-bold text-[#0a1628]",children:["+",z]}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"XP Earned"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 mb-6",children:[w>=90&&e.jsxs("div",{className:"bg-sky-50 border border-sky-200 rounded-xl p-3 flex items-center gap-3",children:[e.jsx(Se,{size:20,className:"text-sky-600"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-sm text-[#0a1628]",children:"Perfect Score!"}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"+50% Bonus XP"})]})]}),A>parseInt(t.duration)*30&&e.jsxs("div",{className:"bg-sky-50 border border-sky-200 rounded-xl p-3 flex items-center gap-3",children:[e.jsx(J,{size:20,className:"text-sky-600"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-sm text-[#0a1628]",children:"Speed Demon"}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"+20% Bonus XP"})]})]}),B>=5&&e.jsxs("div",{className:"bg-orange-50 border border-orange-200 rounded-xl p-3 flex items-center gap-3",children:[e.jsx(oe,{size:20,className:"text-orange-600"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-sm text-[#0a1628]",children:"Hot Streak!"}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"3x Combo Achieved"})]})]})]}),e.jsx(Ie,{variant:"results",quizSubject:t.subject,quizScore:w,atRiskSubjects:i}),e.jsx("button",{onClick:n,className:"w-full bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white font-bold py-4 rounded-xl transition-all mt-4",children:"Continue"})]})})}return e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-6",children:e.jsxs(h.div,{initial:{scale:.95,opacity:0},animate:{scale:1,opacity:1},className:"bg-white rounded-3xl shadow-2xl max-w-4xl w-full max-h-[90vh] overflow-hidden flex flex-col",children:[e.jsxs("div",{className:"bg-gradient-to-r from-sky-600 to-sky-500 p-6 text-white",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold",children:t.title}),e.jsx("p",{className:"text-cyan-100 text-sm",children:t.subject})]}),e.jsx("button",{onClick:n,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center transition-colors",children:e.jsx(Y,{size:20})})]}),e.jsx("div",{className:"flex items-center gap-2 mb-3",children:e.jsxs("button",{onClick:()=>Q(w=>!w),className:`flex items-center gap-1.5 px-3 py-1 rounded-full text-sm font-semibold transition-all ${y?"bg-sky-400/30 text-white ring-1 ring-sky-300/50":"bg-white/20 hover:bg-white/30 text-cyan-100"}`,title:"Toggle Scientific Calculator",children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2"}),e.jsx("line",{x1:"8",x2:"16",y1:"6",y2:"6"}),e.jsx("line",{x1:"16",x2:"16",y1:"14",y2:"18"}),e.jsx("path",{d:"M16 10h.01"}),e.jsx("path",{d:"M12 10h.01"}),e.jsx("path",{d:"M8 10h.01"}),e.jsx("path",{d:"M12 14h.01"}),e.jsx("path",{d:"M8 14h.01"}),e.jsx("path",{d:"M12 18h.01"}),e.jsx("path",{d:"M8 18h.01"})]}),"Calc"]})}),e.jsxs("div",{className:"mb-3",children:[e.jsxs("div",{className:"flex justify-between items-center mb-2",children:[e.jsxs("span",{className:"text-sm font-medium",children:["Question ",m+1," of ",G.length]}),e.jsxs("div",{className:"flex items-center gap-4",children:[B>0&&e.jsxs("div",{className:"flex items-center gap-1 bg-orange-500/30 px-3 py-1 rounded-full",children:[e.jsx(oe,{size:16}),e.jsxs("span",{className:"text-sm font-bold",children:[B," Streak"]}),_>1&&e.jsxs("span",{className:"text-xs ml-1",children:["x",_]})]}),e.jsxs("div",{className:"flex items-center gap-1 bg-white/20 px-3 py-1 rounded-full",children:[e.jsx(J,{size:16}),e.jsx("span",{className:"text-sm font-bold",children:se(A)})]})]})]}),e.jsx("div",{className:"h-2 bg-white/20 rounded-full overflow-hidden",children:e.jsx(h.div,{initial:{width:0},animate:{width:`${(m+1)/G.length*100}%`},className:"h-full bg-white rounded-full"})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"flex items-center gap-3",children:e.jsx("div",{className:"bg-white/20 px-3 py-1 rounded-full",children:e.jsxs("span",{className:"text-sm font-bold",children:["Score: ",E,"/",G.length]})})}),e.jsxs("div",{className:"flex items-center gap-2 bg-rose-500/30 px-3 py-1 rounded-full",children:[e.jsx(te,{size:16}),e.jsxs("span",{className:"text-sm font-bold",children:["+",t.xpReward," XP"]})]})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-8 relative",children:[e.jsx(ee,{children:y&&e.jsx(h.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},className:"mb-6 overflow-hidden",children:e.jsxs("div",{className:"bg-[#edf1f7] rounded-2xl p-4 border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("h4",{className:"text-sm font-bold text-[#0a1628] flex items-center gap-1.5",children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2"}),e.jsx("line",{x1:"8",x2:"16",y1:"6",y2:"6"})]}),"Scientific Calculator"]}),e.jsx("button",{onClick:()=>Q(!1),className:"text-slate-500 hover:text-[#5a6578] transition-colors",children:e.jsx(Y,{size:14})})]}),e.jsx(dt,{isOpen:!0,onClose:()=>Q(!1),inline:!0})]})})}),m===0&&e.jsx(Ie,{variant:"compact",quizSubject:t.subject,atRiskSubjects:i}),e.jsx(ee,{mode:"wait",children:e.jsxs(h.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h3",{className:"text-xl font-bold text-[#0a1628] mb-2",children:P.question}),e.jsx("p",{className:"text-sm text-[#5a6578]",children:Ht(P.questionType)})]}),P.questionType&&P.questionType!=="multiple_choice"?e.jsxs("div",{className:"mb-6",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute left-3 top-3.5",children:e.jsx(mt,{size:16,className:"text-slate-500"})}),P.questionType==="enumeration"?e.jsx("textarea",{value:j,onChange:w=>p(w.target.value),disabled:C,placeholder:"Type each answer separated by commas…",rows:4,className:`w-full pl-10 pr-4 py-3 rounded-xl border-2 text-sm outline-none transition-all resize-none ${C?F?"bg-teal-50 border-teal-400":"bg-red-50 border-red-400":"border-[#dde3eb] focus:border-sky-500 bg-white"}`}):P.questionType==="equation_based"||P.questionType==="word_problem"?e.jsx(xt,{value:j,onChange:p,placeholder:P.questionType==="equation_based"?"Enter the numerical result…":"Enter your answer…",onCalculatorOpen:()=>Q(!0)}):e.jsx("input",{type:"text",value:j,onChange:w=>p(w.target.value),disabled:C,onKeyDown:w=>{w.key==="Enter"&&!C&&me()},placeholder:"Type your answer…",className:`w-full pl-10 pr-4 py-3.5 rounded-xl border-2 text-sm outline-none transition-all ${C?F?"bg-teal-50 border-teal-400":"bg-red-50 border-red-400":"border-[#dde3eb] focus:border-sky-500 bg-white"}`})]}),C&&!F&&e.jsxs("p",{className:"mt-2 text-sm font-semibold text-teal-700",children:["Correct answer: ",P.correctAnswerText]})]}):e.jsx("div",{className:"space-y-3 mb-6",children:P.options.map((w,s)=>{const x=S===s,f=s===P.correctAnswer,I=C;let H="bg-[#edf1f7] hover:bg-[#dde3eb] border-[#dde3eb]";return I?f?H="bg-teal-50 border-teal-500":x&&!f&&(H="bg-red-50 border-red-500"):x&&(H="bg-sky-50 border-sky-500"),e.jsx(h.button,{whileHover:C?{}:{scale:1.01},whileTap:C?{}:{scale:.99},onClick:()=>xe(s),disabled:C,className:`w-full text-left p-4 rounded-xl border-2 transition-all ${H} ${C?"cursor-default":"cursor-pointer"}`,children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center font-bold ${I&&f?"bg-teal-500 text-white":I&&x&&!f?"bg-red-500 text-white":x?"bg-sky-500 text-white":"bg-white text-[#0a1628]"}`,children:String.fromCharCode(65+s)}),e.jsx("span",{className:"font-medium text-[#0a1628]",children:w}),I&&f&&e.jsx(ne,{size:20,className:"ml-auto text-teal-600"}),I&&x&&!f&&e.jsx(Be,{size:20,className:"ml-auto text-red-600"})]})},s)})}),C&&e.jsx(h.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`p-4 rounded-xl border-2 ${F?"bg-teal-50 border-teal-200":"bg-sky-50 border-sky-200"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0 ${F?"bg-teal-500":"bg-sky-500"}`,children:e.jsx(ce,{size:18,className:"text-white"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-bold text-[#0a1628] mb-1",children:F?"Correct!":"Not quite"}),e.jsx("p",{className:"text-sm text-[#5a6578]",children:P.explanation})]})]})})]},m)})]}),e.jsx("div",{className:"p-6 bg-[#edf1f7] border-t border-[#dde3eb]",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-sm text-[#5a6578]",children:C?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(fe,{size:16}),"Keep going! You're doing great"]}):e.jsx("span",{children:"Select an answer to continue"})}),C?e.jsxs("button",{onClick:Z,className:"bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white font-bold px-8 py-3 rounded-xl flex items-center gap-2 transition-all",children:[m -3"],["9","5","7","3"],["1","2","3","1/3"],["12","27","64","81"]],"General Mathematics":[["2x² - 5x - 12","2x² + 5x - 12","2x² - 8x + 12","2x² - 5x + 12"],["36","32","28","24"],["x = 5","x = 4","x = 6","x = 7"],["120","24","60","720"],["3/4","1/2","2/3","4/5"],["90","80","100","72"],["2/3","3/4","4/6","6/9"],["12","6","8","4"],["0.375","0.38","0.35","0.325"],["$32","$28","$30","$36"],["11/12","3/7","5/6","2/3"],["$12","$10","$15","$8"],["3/4","2/3","4/5","9/12"],["1/8","1/4","1/5","1/6"],["150","135","120","160"]],"Statistics and Probability":[["1/6","1/3","1/2","2/3"],["9.4","8.5","10.2","7.8"],["8","9","7","10"],["5/8","3/8","1/2","2/5"],["20","15","25","30"],["5","3","7","8"],["Spread of data from the mean","The highest value","The average","The middle value"],["0.15","0.8","0.35","0.2"],["8.5","7","10","9"],["6","3","9","12"]],"Basic Calculus":[["6x","3x","9x²","6x²"],["4","2","0","undefined"],["x² + C","2x² + C","x²/2 + C","2x + C"],["15x² - 2","15x² - 2x","5x² - 2","15x - 2"],["cos(x)","-cos(x)","tan(x)","-sin(x)"],["eˣ + 3","eˣ + 3x","xeˣ + 3","eˣ"],["sin(x) + C","-sin(x) + C","tan(x) + C","-cos(x) + C"],["1/x","x","ln(x)","-1/x²"],["0","1","∞","undefined"],["4x³ - 4x","4x³ - 2x","x³ - 4x","4x⁴ - 4x²"]]},d=be(t),i=c[d]||c["General Mathematics"];return i[n%i.length]}function Kt(t,n){const c={"Pre-Calculus":[0,1,0,0,1,0,0,0,2,3],"General Mathematics":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Statistics and Probability":[0,0,0,0,0,0,0,0,0,0],"Basic Calculus":[0,0,0,0,0,0,0,0,0,0]},d=be(t),i=c[d]||c["General Mathematics"];return i[n%i.length]}function Jt(t,n,c){const d={"Pre-Calculus":["The expression under the square root must be non-negative: x - 2 ≥ 0, so x ≥ 2.","Since 2⁴ = 16, we get x = 4.","The period of sin(kx) is 2π/k. Here k = 2, so period = 2π/2 = π.","To find the inverse: y = 3x + 5 → x = 3y + 5 → y = (x - 5)/3.","Since 2⁵ = 32, log₂(32) = 5.","(x² - 9)/(x - 3) = (x+3)(x-3)/(x-3) = x + 3 (for x ≠ 3).","The absolute value |x| ≥ 0 for all x, so |x| - 3 ≥ -3. The range is y ≥ -3.","g(2) = 4, then f(4) = 2(4) + 1 = 9.","The amplitude of y = Acos(x) is |A|. Here A = 3, so amplitude = 3.","log₃(x) = 4 means 3⁴ = x, so x = 81."],"General Mathematics":["(2x + 3)(x - 4) = 2x² - 8x + 3x - 12 = 2x² - 5x - 12","15% of 240 = 0.15 × 240 = 36","3x + 7 = 22 → 3x = 15 → x = 5","5! = 5 × 4 × 3 × 2 × 1 = 120","0.75 = 75/100 = 3/4 after simplifying by dividing both by 25","25% of 360 = 0.25 × 360 = 90","12/18 = (12÷6)/(18÷6) = 2/3","Factors of 24: {1,2,3,4,6,8,12,24}. Factors of 36: {1,2,3,4,6,9,12,18,36}. GCD = 12","3 ÷ 8 = 0.375","20% off $40 = $40 × 0.80 = $32","2/3 + 1/4 = 8/12 + 3/12 = 11/12","15% of $80 = 0.15 × 80 = $12","45/60 = (45÷15)/(60÷15) = 3/4","0.125 = 125/1000 = 1/8","30% × N = 45 → N = 45/0.30 = 150"],"Statistics and Probability":["A fair die has 6 outcomes, each equally likely. P(6) = 1/6.","Mean = (4 + 7 + 9 + 12 + 15) / 5 = 47/5 = 9.4","Sorted: 2, 5, 8, 11, 14. The middle value is 8.","P(red) = 5/(5+3) = 5/8","Range = max - min = 30 - 10 = 20","The value 5 appears 3 times, more than any other value. Mode = 5.","Standard deviation measures how spread out data points are from the mean.","For independent events: P(A and B) = P(A) × P(B) = 0.3 × 0.5 = 0.15","For even-count dataset {4,7,10,13}: median = (7+10)/2 = 8.5","3 books can be arranged in 3! = 3 × 2 × 1 = 6 ways."],"Basic Calculus":["Using the power rule: d/dx[3x²] = 3 × 2x = 6x","Factor: (x²-4)/(x-2) = (x+2)(x-2)/(x-2) = x+2. As x→2: 2+2 = 4","∫ 2x dx = 2 × x²/2 + C = x² + C","f'(x) = 5 × 3x² - 2 = 15x² - 2","The derivative of sin(x) is cos(x). This is a fundamental trigonometric derivative.","d/dx[eˣ + 3x] = eˣ + 3. The derivative of eˣ is eˣ and of 3x is 3.","∫ cos(x) dx = sin(x) + C. Integration is the reverse of differentiation.","The derivative of ln(x) is 1/x. This is a fundamental logarithmic derivative.","As x → ∞, 1/x approaches 0. The function gets infinitely close to zero.","f'(x) = 4x³ - 4x using the power rule on each term."]},i=be(t),m=d[i]||d["General Mathematics"];return m[n%m.length]}const Qs=({onEarnXP:t,atRiskSubjects:n=[],priorityTopics:c=[],initialModuleId:d=null})=>{const{userProfile:i}=Ce(),[m,l]=o.useState("modules"),S=i?.grade,L=rt(S),j=le.filter(u=>L.includes(u.id)),p=d&&j.flatMap(u=>u.modules).find(u=>u.id===d)||null,[F,q]=o.useState(p),[C,W]=o.useState(null),[E,$]=o.useState("");o.useEffect(()=>{if(d){const u=j.flatMap(N=>N.modules).find(N=>N.id===d);u&&q(u)}},[d]);const B=j.find(u=>u.id==="gen-math")??j[0]??null,a=o.useMemo(()=>{const u=c.length>0?c:n.map(g=>tt(g)).filter(g=>g!==null),N=new Set;return u.filter(g=>N.has(g)?!1:(N.add(g),!0))},[c,n]),_=o.useMemo(()=>{const u=B?.modules??[];if(a.length===0)return u;const N=new Map(a.map((g,v)=>[st[g],v]));return[...u].sort((g,v)=>{const V=N.get(g.id)??Number.POSITIVE_INFINITY,T=N.get(v.id)??Number.POSITIVE_INFINITY;return V-T})},[B?.modules,a]),b=o.useMemo(()=>{const u=E.trim().toLowerCase();return u?_.filter(N=>{const g=N.title.toLowerCase().includes(u),v=N.description.toLowerCase().includes(u),V=N.lessons.some(r=>r.title.toLowerCase().includes(u)),T=N.quizzes.some(r=>r.title.toLowerCase().includes(u));return g||v||V||T}):_},[_,E]),D=(u,N)=>{t&&t(N,`Quiz Completed! +${N} XP`),W(null)};return C?e.jsx(Xt,{quiz:C,onClose:()=>W(null),onComplete:D,studentId:i?.uid}):F?e.jsx(Dt,{module:F,onBack:()=>q(null),onEarnXP:t}):e.jsxs("div",{className:"h-full flex flex-col px-4 sm:px-6 xl:px-10 py-6 sm:py-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsxs("div",{className:"flex flex-col lg:flex-row justify-between items-start lg:items-center mb-8 gap-6",children:[e.jsxs("div",{className:"flex-1 max-w-3xl",children:[e.jsx("h1",{className:"text-[36px] md:text-[44px] font-display font-black text-[#202124] tracking-tight leading-[1.1] mb-4",children:"Explore Modules"}),e.jsxs("p",{className:"text-[#3c4043] text-[16px] md:text-[17px] leading-[1.7] md:pr-10",children:["Welcome to your personalized learning hub for ",e.jsx("span",{className:"font-bold text-indigo-700",children:"General Mathematics"}),". These modules are organized directly under the subject so you can jump straight into lessons and assessments without extra steps. MathPulse AI adapts challenge level and quiz support as you progress, helping you master each module with focus and momentum."]})]}),e.jsx("div",{className:"hidden md:flex flex-shrink-0 items-center justify-end w-[350px]",children:e.jsxs("svg",{viewBox:"0 0 300 180",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto drop-shadow-sm",children:[e.jsx("circle",{cx:"210",cy:"90",r:"45",fill:"#202124"}),e.jsx("path",{d:"M165 90 C165 65.1472 185.147 45 210 45 C234.853 45 255 65.1472 255 90 C255 114.853 234.853 135 210 135 C185.147 135 165 114.853 165 90 Z",fill:"#202124"}),e.jsx("path",{d:"M150 140 C140 120 160 80 200 70 C240 60 260 80 270 120 C275 140 260 180 210 180 C160 180 155 160 150 140 Z",fill:"#202124"}),e.jsx("path",{d:"M210 125 C195 125 185 110 185 95 C185 80 200 72 215 72 C230 72 245 80 245 95 C245 115 225 125 210 125 Z",fill:"#e8eaed"}),e.jsx("circle",{cx:"202",cy:"92",r:"2",fill:"#202124"}),e.jsx("circle",{cx:"225",cy:"92",r:"2",fill:"#202124"}),e.jsx("path",{d:"M210 105 Q 215 110 220 105",stroke:"#202124",strokeWidth:"1.5",strokeLinecap:"round",fill:"none"}),e.jsx("path",{d:"M198 86 Q 202 84 206 86",stroke:"#202124",strokeWidth:"1.5",strokeLinecap:"round",fill:"none"}),e.jsx("path",{d:"M220 86 Q 225 84 230 86",stroke:"#202124",strokeWidth:"1.5",strokeLinecap:"round",fill:"none"}),e.jsx("circle",{cx:"180",cy:"100",r:"6",stroke:"#202124",strokeWidth:"2",fill:"none"}),e.jsx("circle",{cx:"248",cy:"100",r:"6",stroke:"#202124",strokeWidth:"2",fill:"none"}),e.jsx("path",{d:"M175 180 L 180 135 C185 125 235 125 240 135 L 245 180 Z",fill:"#f8f9fa"}),e.jsx("path",{d:"M175 180 L 180 135 C185 125 235 125 240 135 L 245 180 Z",stroke:"#202124",strokeWidth:"2",fill:"none"}),e.jsx("path",{d:"M170 178 L 220 178 L 230 130 L 180 130 Z",fill:"white",stroke:"#202124",strokeWidth:"2",strokeLinejoin:"round"}),e.jsx("path",{d:"M160 178 L 250 178",stroke:"#202124",strokeWidth:"2",strokeLinecap:"round"}),e.jsx("path",{d:"M195 130 C195 130 190 155 180 170",stroke:"#202124",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),e.jsx("circle",{cx:"120",cy:"50",r:"14",fill:"white",stroke:"#202124",strokeWidth:"1.5"}),e.jsx("path",{d:"M112 50 L 128 50 M 120 42 L 120 58 M 115 45 L 125 55 M 115 55 L 125 45",stroke:"#202124",strokeWidth:"1"}),e.jsx("rect",{x:"135",cy:"55",width:"16",height:"12",rx:"2",fill:"white",stroke:"#202124",strokeWidth:"1.5",y:"45"}),e.jsx("path",{d:"M140 50 h6 M140 53 h4",stroke:"#202124",strokeWidth:"1",strokeLinecap:"round"}),e.jsx("circle",{cx:"50",cy:"110",r:"4",fill:"#202124"}),e.jsx("circle",{cx:"80",cy:"70",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"30",cy:"80",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"85",cy:"140",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"100",cy:"100",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"20",cy:"130",r:"3",fill:"#1FA7E1"}),e.jsx("path",{d:"M50 110 L80 70 M50 110 L30 80 M50 110 L85 140 M50 110 L100 100 M50 110 L20 130",stroke:"#1FA7E1",strokeWidth:"1.5",strokeLinecap:"round",opacity:"0.6"}),e.jsx("path",{d:"M100 35 L 105 25 L 110 35 L 100 35 Z",fill:"white",stroke:"#202124",strokeWidth:"1.5",strokeLinejoin:"round"}),e.jsx("path",{d:"M40 40 L 45 40 L 42.5 35 Z",fill:"#202124"})]})})]}),e.jsxs("div",{className:"relative mb-6",children:[e.jsx("div",{className:"absolute left-6 top-1/2 -translate-y-1/2 text-[#5f6368]",children:e.jsx(pt,{size:22,strokeWidth:2.5})}),e.jsx("input",{id:"modules-search",name:"modules-search","aria-label":"Search modules",type:"text",value:E,onChange:u=>$(u.target.value),placeholder:"Search modules, lessons, or assessments...",className:"w-full pl-16 pr-6 py-4 rounded-full border border-[#dadce0] bg-white text-[#202124] text-[15px] font-medium focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary transition-all shadow-sm"})]}),e.jsx("div",{className:"flex items-center bg-slate-100/80 p-1.5 rounded-full border border-slate-200/60 shadow-inner gap-1 w-max overflow-x-auto max-w-full no-scrollbar",children:[{id:"modules",label:"Modules",icon:U,color:"text-[#1FA7E1]"},{id:"recommended",label:"Recommended",icon:fe,color:"text-[#75D06A]"},{id:"practice",label:"Practice",icon:X,color:"text-[#FFB356]"}].map(u=>{const N=m===u.id;return e.jsxs("button",{onClick:()=>l(u.id),className:`relative flex items-center gap-2.5 px-6 py-3 rounded-full text-[15px] font-bold transition-all duration-300 flex-shrink-0 ${N?"shadow-sm":"text-slate-500 hover:text-slate-700 hover:bg-slate-200/50"}`,children:[N&&e.jsx(h.div,{layoutId:"modulesTabBackground",className:"absolute inset-0 bg-white rounded-full shadow-[0_2px_15px_-3px_rgba(0,0,0,0.1)] border border-slate-100",transition:{type:"spring",bounce:.2,duration:.6}}),e.jsxs("span",{className:`relative z-10 flex items-center gap-2 ${N?u.color:""}`,children:[e.jsx(u.icon,{size:18,strokeWidth:N?2.5:2}),u.label]})]},u.id)})}),a.length>0&&e.jsxs("div",{className:"mt-6 rounded-2xl border border-amber-300 bg-amber-50 px-5 py-4 shadow-sm",children:[e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"inline-flex items-center gap-2 text-sm font-black text-amber-900",children:[e.jsx(at,{size:15}),"Assessment Focus Areas"]}),e.jsx("p",{className:"mt-1 text-sm text-amber-900/80",children:"Modules are currently prioritized by your latest diagnostic needs."})]}),e.jsxs("button",{type:"button",onClick:()=>l("recommended"),className:"inline-flex items-center gap-1.5 rounded-xl bg-amber-600 px-3 py-2 text-xs font-bold text-white transition-colors hover:bg-amber-700",children:["View Recommended",e.jsx(Ae,{size:14})]})]}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:a.map((u,N)=>e.jsxs("span",{className:"rounded-full bg-white px-3 py-1 text-xs font-semibold text-amber-900 shadow-sm",children:[N+1,". ",it[u]]},u))})]})]}),e.jsx(ee,{mode:"wait",children:e.jsx(h.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3},className:"flex-1 overflow-y-auto",children:m==="practice"?e.jsx(Vt,{onStartQuiz:W,searchQuery:E,allowedSubjectIds:L}):m==="modules"?e.jsx(es,{modules:b,onSelectModule:q,isAtRisk:a.length>0}):e.jsx(ts,{modules:b,fullPool:_,onSelectModule:q,isAtRisk:a.length>0})},m)})]})},es=({modules:t,onSelectModule:n,isAtRisk:c=!1})=>e.jsx("div",{className:"h-full overflow-y-auto pr-2 pb-8 scrollbar-hide space-y-8",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(lt,{size:20,strokeWidth:2.5})}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"General Mathematics Modules"})]}),t.length===0?e.jsxs("div",{className:"bg-white rounded-2xl border border-[#dde3eb] p-8 text-center",children:[e.jsx("p",{className:"text-slate-700 font-semibold",children:"No matching modules found."}),e.jsx("p",{className:"mt-2 text-sm text-slate-500",children:"If modules are not yet available for your selected view, this area will unlock after assessment sync and content rollout."})]}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:t.map((d,i)=>e.jsx(je,{module:d,index:i,onClick:()=>n(d),isAtRisk:c},d.id))})]})}),ts=({modules:t,fullPool:n,onSelectModule:c,isAtRisk:d=!1})=>{const i=t.filter(l=>l.progress>0&&l.progress<100),m=(t.length>0?t:n).filter(l=>l.progress===0).slice(0,6);return e.jsxs("div",{className:"h-full overflow-y-auto pr-2 pb-8 space-y-10 scrollbar-hide",children:[i.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-[#FF8B8B]/10 flex items-center justify-center text-[20px] shadow-inner",children:"🔥"}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"Continue This Module"})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:i.slice(0,4).map((l,S)=>e.jsx(je,{module:l,index:S,onClick:()=>c(l),isAtRisk:d,badgeLabel:"In Progress"},l.id))})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-[#75D06A]/10 flex items-center justify-center text-[20px] shadow-inner",children:e.jsx(ve,{size:19,className:"text-[#75D06A]"})}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"Suggested Next"})]}),m.length===0?e.jsx("div",{className:"bg-white rounded-2xl border border-[#dde3eb] p-8 text-center text-slate-500 font-medium",children:"You are all caught up. Practice more quizzes to unlock additional recommendations."}):e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:m.map((l,S)=>e.jsx(je,{module:l,index:S,onClick:()=>c(l),isAtRisk:d,badgeLabel:"Start"},l.id))})]})]})};export{Qs as default}; diff --git a/assets/ModulesPage-QYg9jqb4.js b/assets/ModulesPage-QYg9jqb4.js deleted file mode 100644 index 6e486f4d10a1e83b766e7d72f4330f938fd46d05..0000000000000000000000000000000000000000 --- a/assets/ModulesPage-QYg9jqb4.js +++ /dev/null @@ -1,112 +0,0 @@ -import{r as l,j as e}from"./vendor-react-Dexh7fmo.js";import{M as we}from"./ModuleFolderCard-Z8brsNEm.js";import{B as X}from"./button-DWdPuxDU.js";import{I as Oe}from"./input-DBkKXOmF.js";import{c as F,m as p,Z as Ae,F as ae,e as Y,A as Ce,C as pe,u as Se,q as Ze,r as He,v as ze,w as Xe,x as Ue,g as Ye,o as Ke,p as Je,T as et,y as tt}from"./index-CUP7q97n.js";import{T as H}from"./trophy-di6eNjuA.js";import{S as je}from"./sparkles-Cg_SVFRk.js";import{T as Z}from"./target-DaU28Ow3.js";import{A as re}from"./award-BtESaHld.js";import{S as Te}from"./star-CX9mS3Me.js";import{C as me}from"./check-DXbjXZsm.js";import{X as G}from"./x-DSPvcKpY.js";import{C as st}from"./circle-help-CByYbu6M.js";import{a as Me,s as ie,g as at}from"./subjects-Cwbch54O.js";import{T as he}from"./trending-up-DmBYqjZb.js";import{B as U}from"./book-open-CeQC7bWj.js";import{L as Pe,c as it,a as nt}from"./quizService-MwzPk14n.js";import{C as se}from"./circle-check-big-5ddhW4zc.js";import{L as ve}from"./lock-lKS0Wfg_.js";import{C as ne}from"./clock-C56zvyHw.js";import Ie from"./confetti.module-C94ZD2ww.js";import{triggerQuizSubmitted as rt}from"./automationService-CH2Qjv3D.js";import ot from"./ScientificCalculator-1iS2ZTqh.js";import{M as lt}from"./MathAnswerInput-BCqSwAnE.js";import Le from"./SupplementalBanner-CI0k5FtZ.js";import{P as ct}from"./pen-line-BrNinh8A.js";import{C as dt}from"./chevron-right-BKVsZIKp.js";import{S as xt}from"./search-C5n5sv5I.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./chart-column-D_9m8xSU.js";import"./apiService-BmQUiVGe.js";import"./chevron-up-B9_iMYGp.js";import"./brain-CaMXLcPK.js";/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const mt=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Ne=F("arrow-left",mt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const pt=[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]],ht=F("binary",pt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ut=[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]],ft=F("bookmark",ut);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const bt=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],qe=F("box",bt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gt=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Ee=F("braces",gt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const yt=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],wt=F("circle-check",yt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const jt=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Be=F("circle-x",jt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const vt=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Fe=F("circle",vt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Nt=[["circle",{cx:"12",cy:"6",r:"1",key:"1bh7o1"}],["line",{x1:"5",x2:"19",y1:"12",y2:"12",key:"13b5wn"}],["circle",{cx:"12",cy:"18",r:"1",key:"lqb9t5"}]],ge=F("divide",Nt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const kt=[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]],At=F("flag",kt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ct=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],St=F("hash",Ct);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Tt=[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]],ke=F("pen-tool",Tt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zt=[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]],$e=F("percent",zt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Mt=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],Re=F("play",Mt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Pt=[["path",{d:"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z",key:"icamh8"}],["path",{d:"m14.5 12.5 2-2",key:"inckbg"}],["path",{d:"m11.5 9.5 2-2",key:"fmmyf7"}],["path",{d:"m8.5 6.5 2-2",key:"vc6u1g"}],["path",{d:"m17.5 15.5 2-2",key:"wo5hmg"}]],It=F("ruler",Pt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Lt=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M14 15H9v-5",key:"pi4jk9"}],["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M21 3 9 15",key:"15kdhq"}]],qt=F("scaling",Lt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Et=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3",key:"m1af9g"}],["path",{d:"M9 11.2h5.7",key:"3zgcl2"}]],ye=F("square-function",Et);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Bt=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],_e=F("square",Bt);/** - * @license lucide-react v0.487.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ft=[["path",{d:"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"14u9p9"}]],We=F("triangle",Ft),Qe=()=>{const t=["#4F46E5","#EC4899","#f43f5e","#10B981","#0ea5e9"],i=Array.from({length:50},(x,r)=>({id:r,left:Math.random()*100,animationDelay:Math.random()*.5,backgroundColor:t[Math.floor(Math.random()*t.length)],rotation:Math.random()*360}));return e.jsx("div",{className:"fixed inset-0 pointer-events-none z-[100] overflow-hidden",children:i.map(x=>e.jsx(p.div,{initial:{y:-20,x:`${x.left}vw`,opacity:1,rotate:0},animate:{y:"100vh",rotate:x.rotation,opacity:0},transition:{duration:2+Math.random()*2,delay:x.animationDelay,ease:"easeIn"},style:{position:"absolute",width:"10px",height:"10px",backgroundColor:x.backgroundColor},className:"rounded-sm"},x.id))})},$t=({streak:t})=>t<3?null:e.jsx(p.div,{initial:{scale:0,y:50},animate:{scale:1,y:0},exit:{scale:0,opacity:0},className:"fixed top-24 left-1/2 -translate-x-1/2 z-[70] pointer-events-none",children:e.jsxs("div",{className:"bg-gradient-to-r from-orange-500 to-red-500 text-white px-6 py-3 rounded-2xl shadow-2xl flex items-center gap-3",children:[e.jsx(ae,{size:24,className:"animate-pulse"}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-lg font-black",children:[t,"x STREAK!"]}),e.jsxs("p",{className:"text-xs font-bold opacity-90",children:["+",t*5," Bonus XP"]})]})]})}),_t=({lesson:t,questions:i,onComplete:x,onBack:r})=>{const[n,m]=l.useState(0),[c,S]=l.useState(null),[L,v]=l.useState(""),[N,I]=l.useState(!1),[A,j]=l.useState(!1),[$,P]=l.useState(0),[E,k]=l.useState(0),[o,q]=l.useState(0),[h,B]=l.useState(!1),[u,a]=l.useState([]),[f,b]=l.useState(!1),[y,M]=l.useState(!1),[_,D]=l.useState([]),[oe]=l.useState(Date.now()),[K,fe]=l.useState(0),C=i[n],O=t.title,W=t.type,T=s=>{const d={correct:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",incorrect:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",complete:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==",streak:"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YW4AAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w=="};try{const g=new Audio(d[s]);g.volume=.3,g.play().catch(()=>{})}catch{}};l.useEffect(()=>{C?.type==="multiple-choice"&&C.options&&a([...C.options].sort(()=>Math.random()-.5))},[n,C]),l.useEffect(()=>{const s=d=>{d.key==="Enter"&&(!N&&R()?le():N&&ce())};return window.addEventListener("keypress",s),()=>window.removeEventListener("keypress",s)},[N,c,L]);const R=()=>C.type==="fill-in-blank"?L.trim().length>0:c!==null,le=()=>{if(!R())return;let s=!1,d="";if(C.type==="fill-in-blank"){d=L.trim().toLowerCase();const g=C.correctAnswer.toLowerCase().trim();s=d===g||d.replace(/\s+/g,"")===g.replace(/\s+/g,"")}else{if(!c)return;d=c,s=d===C.correctAnswer}if(j(s),I(!0),D([..._,s]),s){P(z=>z+1);const g=E+1;if(k(g),q(Math.max(o,g)),g>=3){const z=g*5;fe(V=>V+z),b(!0),T("streak"),setTimeout(()=>b(!1),2e3)}else T("correct")}else k(0),T("incorrect")},ce=()=>{nM(!1),3e3)),m(s=>s+1),I(!1),S(null),v(""),j(!1)):de()},de=()=>{B(!0),M(!0),T("complete"),setTimeout(()=>M(!1),5e3)},Q=W==="quiz"?{gradient:"bg-gradient-to-br from-indigo-600 via-sky-600 to-indigo-800",text:"text-sky-900",bgLight:"bg-sky-50",border:"border-sky-200"}:{gradient:"bg-gradient-to-br from-teal-500 via-emerald-500 to-teal-700",text:"text-teal-900",bgLight:"bg-teal-50",border:"border-teal-200"},J=(()=>{const s=O.toLowerCase();return s.includes("geometry")||s.includes("shape")?[We,Fe,_e,qe,It,qt]:s.includes("algebra")||s.includes("equation")?[G,ge,Ee,ye,pe,$e]:s.includes("calculus")||s.includes("derivative")||s.includes("integral")?[Me,ye,he,pe,ge,Ee]:s.includes("statistics")||s.includes("probability")?[Z,he,qe,Fe,We,_e]:[pe,Me,ge,$e,ye,ht]})(),w=J[0];if(h){const s=Math.round($/i.length*100),d=W==="quiz"?100:50,g=Math.round($/i.length*100),z=d+g+K,V=Math.floor((Date.now()-oe)/1e3),Ve=Math.floor(V/60),Ge=V%60;return e.jsxs(e.Fragment,{children:[y&&e.jsx(Qe,{}),e.jsx("div",{className:"fixed inset-0 z-[60] flex items-center justify-center bg-black/60 backdrop-blur-md p-4 animate-in fade-in duration-500",children:e.jsxs(p.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},transition:{type:"spring",duration:.5},className:"bg-white rounded-[32px] w-full max-w-lg p-6 text-center shadow-2xl relative overflow-hidden",children:[e.jsx("div",{className:`absolute top-0 left-0 w-full h-24 ${Q.gradient} opacity-10 rounded-b-[50%]`}),e.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none opacity-[0.03]",children:J.map((xe,ee)=>e.jsx(xe,{className:"absolute text-[#0a1628]",size:30+ee%3*15,style:{top:`${Math.random()*100}%`,left:`${Math.random()*100}%`,transform:`rotate(${Math.random()*360}deg)`}},ee))}),e.jsxs("div",{className:"relative mb-4 flex justify-center",children:[e.jsx(p.div,{initial:{scale:0,rotate:-180},animate:{scale:1,rotate:0},transition:{type:"spring",delay:.2},className:"w-20 h-20 bg-gradient-to-br from-rose-400 to-orange-500 rounded-full flex items-center justify-center text-white shadow-2xl shadow-rose-200",children:e.jsx(H,{size:40,fill:"currentColor"})}),e.jsx(p.div,{animate:{scale:[1,1.2,1],rotate:[0,180,360]},transition:{duration:2,repeat:1/0},className:"absolute top-0 right-1/3 text-xl",children:e.jsx(je,{size:20,className:"text-rose-400"})}),e.jsx(p.div,{animate:{scale:[1,1.2,1],rotate:[0,-180,-360]},transition:{duration:2,repeat:1/0,delay:.5},className:"absolute bottom-0 left-1/3 text-xl",children:e.jsx(je,{size:20,className:"text-rose-400"})})]}),e.jsx(p.h2,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.3},className:"text-3xl font-bold text-[#0a1628] mb-2",children:s>=90?"Perfect!":s>=80?"Excellent Job!":s>=70?"Great Work!":s>=60?"Good Effort!":"Keep Practicing!"}),e.jsxs(p.p,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.4},className:"text-[#5a6578] mb-6 font-medium",children:["You answered ",$," out of ",i.length," questions correctly"]}),e.jsxs(p.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.5},className:"grid grid-cols-2 gap-3 mb-5",children:[e.jsxs("div",{className:"bg-gradient-to-br from-indigo-50 to-indigo-100 rounded-2xl p-4 border-2 border-sky-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(Z,{className:"text-sky-600",size:20})}),e.jsx("p",{className:"text-[10px] text-sky-600 font-bold uppercase mb-1 tracking-wider",children:"Accuracy"}),e.jsxs("p",{className:"text-3xl font-black text-sky-700",children:[s,"%"]})]}),e.jsxs("div",{className:"bg-gradient-to-br from-orange-50 to-orange-100 rounded-2xl p-4 border-2 border-orange-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(Ae,{className:"text-orange-600",size:20})}),e.jsx("p",{className:"text-[10px] text-orange-600 font-bold uppercase mb-1 tracking-wider",children:"Total XP"}),e.jsxs("p",{className:"text-3xl font-black text-orange-600",children:["+",z]})]}),e.jsxs("div",{className:"bg-gradient-to-br from-teal-50 to-teal-100 rounded-2xl p-4 border-2 border-teal-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(ae,{className:"text-teal-600",size:20})}),e.jsx("p",{className:"text-[10px] text-teal-600 font-bold uppercase mb-1 tracking-wider",children:"Best Streak"}),e.jsxs("p",{className:"text-3xl font-black text-teal-700",children:[o,"x"]})]}),e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-sky-100 rounded-2xl p-4 border-2 border-sky-200",children:[e.jsx("div",{className:"flex items-center justify-center mb-1",children:e.jsx(re,{className:"text-sky-600",size:20})}),e.jsx("p",{className:"text-[10px] text-sky-600 font-bold uppercase mb-1 tracking-wider",children:"Time"}),e.jsxs("p",{className:"text-3xl font-black text-sky-700",children:[Ve,":",Ge.toString().padStart(2,"0")]})]})]}),e.jsxs(p.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.6},className:"bg-[#edf1f7] rounded-2xl p-4 mb-5 text-left",children:[e.jsxs("h3",{className:"font-bold text-[#0a1628] mb-2 flex items-center gap-2 text-sm",children:[e.jsx(Te,{className:"text-rose-500",size:16}),"XP Breakdown"]}),e.jsxs("div",{className:"space-y-1.5 text-sm",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("span",{className:"text-[#5a6578] text-xs",children:["Base XP (",W,")"]}),e.jsxs("span",{className:"font-bold text-[#0a1628] text-sm",children:["+",d]})]}),e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("span",{className:"text-[#5a6578] text-xs",children:["Score Bonus (",s,"%)"]}),e.jsxs("span",{className:"font-bold text-[#0a1628] text-sm",children:["+",g]})]}),K>0&&e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("span",{className:"text-[#5a6578] text-xs",children:"Streak Bonuses"}),e.jsxs("span",{className:"font-bold text-orange-600 text-sm",children:["+",K]})]}),e.jsxs("div",{className:"border-t-2 border-[#dde3eb] pt-1.5 flex justify-between items-center",children:[e.jsx("span",{className:"text-[#0a1628] font-bold text-xs",children:"Total XP Earned"}),e.jsxs("span",{className:"font-black text-orange-600",children:["+",z]})]})]})]}),e.jsx(p.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.7},className:"flex items-center justify-center gap-1.5 mb-6",children:_.map((xe,ee)=>e.jsx(p.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.7+ee*.05},className:`w-7 h-7 rounded-lg flex items-center justify-center ${xe?"bg-teal-500":"bg-red-400"}`,children:xe?e.jsx(me,{className:"text-white",size:14}):e.jsx(G,{className:"text-white",size:14})},ee))}),e.jsx(p.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.8},children:e.jsx(X,{onClick:()=>x(s,z),className:`w-full py-5 rounded-2xl font-bold ${Q.gradient} text-white hover:opacity-90 shadow-xl hover:shadow-2xl transition-all hover:scale-[1.02] active:scale-[0.98]`,children:"Continue Learning"})})]})})]})}return e.jsxs(e.Fragment,{children:[y&&e.jsx(Qe,{}),e.jsx(Y,{children:f&&e.jsx($t,{streak:E})}),e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-[#edf1f7] overflow-hidden font-sans",children:[e.jsxs("div",{className:`absolute top-0 left-0 right-0 h-[45vh] ${Q.gradient} rounded-b-[60px] md:rounded-b-[80px] shadow-2xl z-0 overflow-hidden`,children:[e.jsx("div",{className:"absolute top-0 left-0 w-64 h-64 bg-white opacity-5 rounded-full -translate-x-1/2 -translate-y-1/2 blur-2xl"}),e.jsx("div",{className:"absolute bottom-0 right-0 w-80 h-80 bg-white opacity-10 rounded-full translate-x-1/3 translate-y-1/3 blur-3xl"}),e.jsx("div",{className:"absolute top-1/4 right-1/4 w-32 h-32 bg-white opacity-5 rounded-full blur-xl"}),e.jsxs("div",{className:"absolute inset-0 overflow-hidden",children:[J.map((s,d)=>e.jsx("div",{className:"absolute text-white/10 animate-pulse",style:{top:`${10+d*15}%`,left:`${10+d*25%80}%`,animationDuration:`${3+d}s`,transform:`rotate(${d*45}deg) scale(${1+d%3*.2})`},children:e.jsx(s,{size:48+d%2*32})},d)),e.jsx("div",{className:"absolute -bottom-10 -left-10 text-white/5 rotate-12",children:e.jsx(w,{size:200})})]})]}),e.jsxs("header",{className:"relative z-[60] h-20 flex items-center justify-between px-6 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-1",children:[e.jsx("button",{onClick:r,className:"w-10 h-10 rounded-xl bg-white/20 backdrop-blur-md flex items-center justify-center text-white hover:bg-white/30 transition-all border border-slate-300 hover:scale-110 active:scale-95",children:e.jsx(G,{size:20})}),e.jsxs("div",{className:"text-white",children:[e.jsx("h1",{className:"font-bold text-lg leading-tight",children:O}),e.jsxs("div",{className:"flex items-center gap-2 opacity-80 text-xs font-medium uppercase tracking-wide",children:[e.jsx("span",{children:W}),e.jsx("span",{className:"w-1 h-1 bg-white rounded-full"}),e.jsxs("span",{children:["Question ",n+1,"/",i.length]})]})]})]}),e.jsx("div",{className:"flex items-center gap-4",children:e.jsxs(p.div,{animate:E>=3?{scale:[1,1.1,1]}:{},transition:{duration:.5,repeat:E>=3?1/0:0},className:"flex items-center gap-2 bg-black/20 backdrop-blur-md px-3 py-1.5 rounded-full border border-slate-300",children:[e.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-white shadow-sm ${E>=3?"bg-gradient-to-r from-orange-500 to-red-500":"bg-orange-500"}`,children:e.jsx(ae,{size:14,fill:"currentColor"})}),e.jsx("span",{className:"text-sm font-bold text-white",children:E})]})})]}),e.jsxs("main",{className:"relative z-10 flex-1 flex flex-col items-center justify-start px-4 sm:px-6 xl:px-10 pb-8 pt-4 md:pt-8 overflow-y-auto",children:[e.jsxs("div",{className:"w-full max-w-md mb-8 px-2",children:[e.jsxs("div",{className:"flex justify-between text-[10px] font-bold text-white/80 mb-2 uppercase tracking-wider",children:[e.jsx("span",{children:"Progress"}),e.jsxs("span",{children:[Math.round(n/i.length*100),"%"]})]}),e.jsx("div",{className:"h-2 w-full bg-black/20 rounded-full overflow-hidden backdrop-blur-sm",children:e.jsx(p.div,{initial:{width:0},animate:{width:`${n/i.length*100}%`},transition:{duration:.5,ease:"easeOut"},className:"h-full bg-white rounded-full shadow-[0_0_10px_rgba(255,255,255,0.5)]"})})]}),n===Math.floor(i.length/2)&&n>0&&e.jsxs(p.div,{initial:{scale:0,y:20},animate:{scale:1,y:0},className:"mb-4 bg-white/20 backdrop-blur-md text-white px-6 py-3 rounded-2xl font-bold shadow-lg",children:[e.jsx(Z,{size:20,className:"inline mr-2 text-white"}),"Halfway there! Keep it up!"]}),e.jsx(Y,{mode:"wait",children:e.jsxs(p.div,{initial:{opacity:0,x:100},animate:{opacity:1,x:0},exit:{opacity:0,x:-100},transition:{type:"spring",stiffness:300,damping:30},className:"w-full max-w-3xl",children:[e.jsxs("div",{className:"bg-white rounded-[40px] shadow-[0_20px_60px_-15px_rgba(0,0,0,0.2)] overflow-hidden border border-[#dde3eb] min-h-[450px] flex flex-col relative",children:[e.jsxs("div",{className:"p-8 md:p-12 flex-1 flex flex-col items-center justify-center text-center",children:[e.jsx("span",{className:`inline-block px-4 py-1.5 ${Q.bgLight} ${Q.text} rounded-full text-[11px] font-black mb-8 uppercase tracking-widest border ${Q.border}`,children:C.type==="multiple-choice"?"Multiple Choice":C.type==="true-false"?"True or False":"Fill in the Blank"}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-[#0a1628] leading-snug max-w-2xl",children:C.question})]}),e.jsxs("div",{className:"p-6 md:p-10 bg-[#edf1f7]/80 backdrop-blur-sm border-t border-[#dde3eb]",children:[(C.type==="multiple-choice"||C.type==="true-false")&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:(C.type==="true-false"?["True","False"]:u).map((s,d)=>{let g="hover:border-[#dde3eb] hover:shadow-lg bg-white border-[#dde3eb] text-[#5a6578] shadow-sm";return N?s===C.correctAnswer?g="bg-teal-50 border-teal-500 text-teal-700 shadow-teal-100 ring-2 ring-teal-200":s===c?g="bg-red-50 border-red-500 text-red-700 shadow-red-100 ring-2 ring-red-200":g="bg-[#edf1f7] border-[#dde3eb] text-slate-500 opacity-60 scale-[0.98]":c===s&&(g=`${Q.bgLight} ${Q.border} ${Q.text} ring-2 ring-indigo-100 shadow-md scale-[1.02] z-10`),e.jsxs(p.button,{disabled:N,onClick:()=>S(s),whileHover:N?{}:{scale:1.02},whileTap:N?{}:{scale:.98},className:` - relative p-6 rounded-2xl border-2 font-bold text-lg transition-all duration-200 text-left flex items-center justify-between group - ${g} - `,children:[e.jsx("span",{className:"relative z-10",children:s}),N&&s===C.correctAnswer&&e.jsx(p.div,{initial:{scale:0},animate:{scale:1},className:"bg-teal-100 p-1 rounded-full",children:e.jsx(me,{size:18,className:"text-teal-600"})}),N&&s===c&&s!==C.correctAnswer&&e.jsx(p.div,{initial:{scale:0},animate:{scale:1},className:"bg-red-100 p-1 rounded-full",children:e.jsx(G,{size:18,className:"text-red-600"})}),!N&&e.jsx("div",{className:`w-6 h-6 rounded-full border-2 border-[#dde3eb] group-hover:border-[#dde3eb] transition-colors ${c===s?`bg-current border-current ${Q.text}`:""}`})]},d)})}),N&&e.jsxs(p.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},className:"space-y-3 mt-6",children:[!A&&c&&c!==C.correctAnswer&&e.jsx("div",{className:"bg-red-50 border-2 border-red-200 rounded-2xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx(G,{size:18,className:"text-red-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-red-700 mb-1",children:"Not quite"}),e.jsx("p",{className:"text-red-800 text-sm leading-relaxed",children:C.optionExplanations?.[c]||`${c} is not the correct answer. Review the concept and try again.`})]})]})}),e.jsx("div",{className:"bg-teal-50 border-2 border-teal-200 rounded-2xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex-shrink-0 mt-0.5",children:e.jsx(me,{size:18,className:"text-teal-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-teal-700 mb-1",children:A?"That's right!":"Right answer"}),e.jsx("p",{className:"text-teal-800 text-sm leading-relaxed",children:C.explanation||C.optionExplanations?.[C.correctAnswer]||`${C.correctAnswer} is the correct answer.`})]})]})})]})]}),C.type==="fill-in-blank"&&e.jsxs("div",{className:"max-w-md mx-auto",children:[e.jsxs("div",{className:"relative group",children:[e.jsx(Oe,{disabled:N,value:L,onChange:s=>v(s.target.value),placeholder:"Type your answer here...",className:` - py-8 px-6 text-xl rounded-2xl border-2 font-bold transition-all text-center placeholder:font-medium placeholder:text-slate-500 - ${N?A?"bg-teal-50 border-teal-500 text-teal-800":"bg-red-50 border-red-500 text-red-800":"bg-white border-[#dde3eb] focus:border-indigo-500 focus:ring-4 focus:ring-indigo-100 shadow-sm"} - `}),N&&e.jsx(p.div,{initial:{scale:0},animate:{scale:1},className:"absolute right-4 top-1/2 -translate-y-1/2",children:A?e.jsx("div",{className:"bg-teal-100 p-1.5 rounded-full",children:e.jsx(me,{className:"text-teal-600",size:20})}):e.jsx("div",{className:"bg-red-100 p-1.5 rounded-full",children:e.jsx(G,{className:"text-red-600",size:20})})})]}),N&&!A&&e.jsxs(p.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},className:"mt-4 text-center",children:[e.jsx("p",{className:"text-slate-500 text-xs font-bold uppercase tracking-wider mb-1",children:"Correct answer"}),e.jsx("p",{className:"text-teal-600 font-black text-xl",children:C.correctAnswer})]})]})]}),e.jsxs("div",{className:"p-6 border-t border-[#dde3eb] bg-white flex items-center justify-between",children:[e.jsxs(X,{variant:"ghost",size:"sm",className:"text-slate-500 hover:text-[#5a6578] hover:bg-[#edf1f7] rounded-xl",children:[e.jsx(At,{size:16,className:"mr-2"})," Report"]}),N?e.jsxs(X,{onClick:ce,className:`px-10 py-7 rounded-2xl font-bold text-base shadow-xl transition-all flex items-center gap-2 hover:-translate-y-1 ${A?"bg-teal-500 hover:bg-teal-600 text-white shadow-teal-200":"bg-sky-600 hover:bg-sky-700 text-white shadow-sm"}`,children:[n({title:t,sections:[{type:"text",heading:"Introduction",content:`Welcome to this lesson on ${t}. In this lesson, you'll learn the fundamental concepts and practical applications that will build your mathematical foundation.`},{type:"key-point",heading:"Key Concepts",content:"Understanding the core principles is essential for mastering this topic. Pay close attention to the definitions and properties we'll explore."},{type:"video",heading:"Video Lesson",content:"Watch this explanation to understand the concepts visually.",videoUrl:"https://www.youtube.com/embed/dQw4w9WgXcQ"},{type:"example",heading:"Worked Examples",content:"Let's work through some examples to see these concepts in action.",examples:[{problem:"Example Problem 1: Apply the concept to solve this problem.",solution:`Step 1: Identify what we know. -Step 2: Apply the formula or method. -Step 3: Simplify and solve. -Answer: The solution demonstrates how to approach similar problems.`},{problem:"Example Problem 2: A more complex application.",solution:`Step 1: Break down the problem. -Step 2: Use what we learned. -Step 3: Verify our answer. -Answer: This shows the method works for various cases.`}]},{type:"text",heading:"Important Notes",content:`Remember these key points as you practice: -• Always check your work -• Look for patterns -• Practice makes perfect -• Don't hesitate to review if needed`},{type:"practice",heading:"Try It Yourself",content:"Now it's your turn! Try applying what you've learned. You can practice with the exercises at the end of this module."},{type:"text",heading:"Summary",content:`Great job! You've completed the lesson on ${t}. Make sure you understand the key concepts before moving on. Feel free to review this lesson anytime.`}]}),Qt=({lesson:t,onBack:i,onComplete:x,onProgressUpdate:r})=>{const[n,m]=l.useState(0),[c,S]=l.useState(!1),[L,v]=l.useState(0),[N,I]=l.useState(!1);l.useEffect(()=>{m(0),I(!1),S(!1),v(0)},[t.id,t.title]);const A=Wt(t.title),j=A.sections.length;l.useEffect(()=>{const h=(n+1)/j*100;v(h),r?.(h)},[n,j,r]);const $=()=>{nh+1):I(!0)},P=()=>{n>0&&m(h=>h-1)},E=h=>{x(void 0,void 0,h)},k=A.sections[n],q=k&&{text:"📝",example:"📎",video:"🎬","key-point":"💡",practice:"✍️"}[k.type]||"📘";return e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-[radial-gradient(circle_at_top_left,#f8fbff_0%,#eef4ff_40%,#f8f4ff_100%)] overflow-hidden",children:[e.jsx("header",{className:"flex-none bg-white/90 backdrop-blur-md border-b border-[#dde3eb] px-6 sm:px-10 lg:px-16 py-4 shadow-sm relative z-40",children:e.jsxs("div",{className:"max-w-5xl mx-auto flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("button",{onClick:i,className:"w-10 h-10 rounded-xl bg-[#edf1f7] hover:bg-[#dde3eb] flex items-center justify-center text-[#5a6578] transition-all hover:scale-110",children:e.jsx(Ne,{size:20})}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-[#5a6578] font-medium mb-1 uppercase tracking-wider",children:[e.jsx(U,{size:14}),e.jsx("span",{children:"Notebook Lesson"})]}),e.jsx("h1",{className:"font-bold text-lg text-[#0a1628]",children:A.title})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"text-right mr-3",children:[e.jsx("p",{className:"text-xs text-[#5a6578] font-medium",children:"Progress"}),e.jsxs("p",{className:"text-sm font-bold text-[#0a1628]",children:[Math.round(L),"%"]})]}),e.jsx("div",{className:"w-32 h-2 bg-[#dde3eb] rounded-full overflow-hidden",children:e.jsx(p.div,{className:"h-full bg-gradient-to-r from-teal-500 to-emerald-500 rounded-full",initial:{width:0},animate:{width:`${L}%`},transition:{duration:.3}})})]})]})}),e.jsx("main",{className:"flex-1 overflow-y-auto px-6 sm:px-10 lg:px-16 py-10",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsx(Y,{mode:"wait",children:e.jsxs(p.div,{initial:{opacity:0,x:50},animate:{opacity:1,x:0},exit:{opacity:0,x:-50},transition:{duration:.3},children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("div",{className:"flex items-center gap-2 text-sm text-[#5a6578] font-medium mb-2",children:e.jsxs("span",{children:["Section ",n+1," of ",j]})}),k.heading&&e.jsxs("h2",{className:"text-3xl font-black text-[#0a1628] mb-4 tracking-tight flex items-center gap-3",children:[e.jsx("span",{className:"text-2xl","aria-hidden":"true",children:q}),e.jsx("span",{children:k.heading})]})]}),e.jsxs("div",{className:"relative bg-white rounded-3xl p-8 shadow-lg border border-[#dde3eb] min-h-[500px] overflow-hidden",children:[e.jsx("div",{className:"absolute left-12 top-0 bottom-0 w-0.5 bg-rose-200/70 pointer-events-none"}),e.jsx("div",{className:"absolute left-[56px] top-0 bottom-0 w-px bg-rose-100/60 pointer-events-none"}),e.jsx("div",{className:"absolute inset-0 pointer-events-none opacity-60",style:{backgroundImage:"repeating-linear-gradient(transparent, transparent 37px, #e9eef8 37px, #e9eef8 38px)"}}),e.jsxs("div",{className:"relative z-10 pl-8 md:pl-12",children:[k.type==="text"&&e.jsx("div",{className:"prose prose-slate max-w-none",children:e.jsx("p",{className:"text-lg text-[#0a1628] leading-relaxed whitespace-pre-line",children:k.content})}),k.type==="key-point"&&e.jsx("div",{className:"bg-gradient-to-br from-rose-50 to-orange-50 rounded-2xl p-6 border-2 border-rose-200",children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 bg-rose-500 rounded-xl flex items-center justify-center flex-shrink-0",children:e.jsx(Pe,{size:24,className:"text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-bold text-rose-900 mb-2 text-lg",children:"Important!"}),e.jsx("p",{className:"text-rose-800 leading-relaxed",children:k.content})]})]})}),k.type==="video"&&e.jsxs("div",{children:[e.jsx("div",{className:"bg-slate-900 rounded-2xl overflow-hidden mb-4 aspect-video flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"w-20 h-20 bg-white/10 rounded-full flex items-center justify-center mx-auto mb-4",children:e.jsx(Re,{size:32,className:"text-white ml-1"})}),e.jsx("p",{className:"text-white/70 text-sm",children:"Video content would be embedded here"}),e.jsx("p",{className:"text-white/50 text-xs mt-2",children:"In production, this would show actual video lessons"})]})}),e.jsx("p",{className:"text-[#5a6578]",children:k.content})]}),k.type==="example"&&e.jsxs("div",{children:[e.jsx("p",{className:"text-[#0a1628] mb-6",children:k.content}),e.jsx("div",{className:"space-y-4",children:k.examples?.map((h,B)=>e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-cyan-50 rounded-2xl p-6 border-2 border-sky-200",children:[e.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[e.jsx("div",{className:"w-8 h-8 bg-sky-500 rounded-lg flex items-center justify-center flex-shrink-0",children:e.jsx(pe,{size:18,className:"text-white"})}),e.jsx("div",{className:"flex-1",children:e.jsx("h4",{className:"font-bold text-sky-900 mb-2",children:h.problem})})]}),e.jsxs("div",{className:"ml-11 bg-white/60 rounded-xl p-4 border border-sky-100",children:[e.jsx("p",{className:"text-sm font-bold text-sky-700 mb-2",children:"Solution:"}),e.jsx("p",{className:"text-[#0a1628] whitespace-pre-line text-sm leading-relaxed",children:h.solution})]})]},B))})]}),k.type==="practice"&&e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-cyan-50 rounded-2xl p-8 border-2 border-sky-200 text-center",children:[e.jsx("div",{className:"w-16 h-16 bg-sky-500 rounded-full flex items-center justify-center mx-auto mb-4",children:e.jsx(se,{size:32,className:"text-white"})}),e.jsx("h3",{className:"text-2xl font-bold text-sky-900 mb-3",children:k.heading}),e.jsx("p",{className:"text-sky-800 text-lg mb-6",children:k.content}),e.jsx("div",{className:"bg-white/60 rounded-xl p-4 inline-block",children:e.jsxs("p",{className:"text-sm text-sky-700",children:[e.jsx(Pe,{size:14,className:"inline mr-1 -mt-0.5"}),e.jsx("strong",{children:"Tip:"})," Complete the practice quizzes after this lesson to reinforce your learning!"]})})]})]})]})]},n)}),e.jsx("div",{className:"flex items-center justify-center gap-2 mt-8 mb-4",children:A.sections.map((h,B)=>e.jsx("button",{onClick:()=>m(B),className:`h-2 rounded-full transition-all ${B===n?"w-8 bg-teal-500":BE(!0),className:"w-full py-3.5 rounded-xl font-bold text-[15px] bg-gradient-to-r from-teal-500 to-emerald-500 text-white hover:shadow-lg hover:shadow-teal-500/25 hover:-translate-y-0.5 transition-all outline-none",children:"Continue to Next Lesson"}),e.jsx("button",{onClick:()=>E(!1),className:"w-full py-3.5 rounded-xl font-bold text-[15px] bg-slate-100 text-slate-600 hover:bg-slate-200 hover:text-slate-700 transition-all outline-none",children:"Back to Modules"})]})]})})]})},te={"gm-1":[{id:1,type:"multiple-choice",question:"Which statement best describes a function?",options:["Each input has exactly one output","Each output has exactly one input","Inputs and outputs must be equal","A function is always linear"],correctAnswer:"Each input has exactly one output",explanation:"A relation is a function when every input is paired with only one output value.",optionExplanations:{"Each input has exactly one output":"Correct. This is the defining condition of a function.","Each output has exactly one input":"Not required. Different inputs can share the same output.","Inputs and outputs must be equal":"Functions can map inputs to different values.","A function is always linear":"Many functions are nonlinear."}},{id:2,type:"multiple-choice",question:"If f(x) = 2x + 3, what is f(4)?",options:["8","11","10","5"],correctAnswer:"11",explanation:"Substitute x = 4. f(4) = 2(4) + 3 = 11.",optionExplanations:{8:"This is 2x only. Add 3 as well.",11:"Correct. 2(4)+3 = 11.",10:"Check substitution carefully.",5:"This would come from a different expression."}},{id:3,type:"fill-in-blank",question:"For f(x) = x^2, the range is y ___ 0 (answer with >= or >).",correctAnswer:">=",explanation:"Squares are never negative, and 0 is included when x = 0."},{id:4,type:"multiple-choice",question:"If f(x) = x - 5 and g(x) = x^2, what is (g o f)(x)?",options:["x^2 - 5","(x - 5)^2","x^2 + 5","2x - 5"],correctAnswer:"(x - 5)^2",explanation:"Compose by substituting f(x) into g. g(f(x)) = g(x-5) = (x-5)^2.",optionExplanations:{"x^2 - 5":"This is not the result of composition.","(x - 5)^2":"Correct. Substitute x-5 into g(x)=x^2.","x^2 + 5":"Incorrect sign and operation.","2x - 5":"This is linear, but g(x) is quadratic."}},{id:5,type:"true-false",question:"A one-to-one function always has an inverse that is also a function.",correctAnswer:"True",explanation:"One-to-one functions pass the horizontal line test, which guarantees an inverse function.",optionExplanations:{True:"Correct. One-to-one is the key condition for inverses to be functions.",False:"If a function is one-to-one, its inverse relation is a function."}},{id:6,type:"multiple-choice",question:"Which parent graph has a horizontal asymptote at y = 0?",options:["y = log(x)","y = x^2","y = 2^x","y = x + 1"],correctAnswer:"y = 2^x",explanation:"Basic exponential functions approach y = 0 but never reach it.",optionExplanations:{"y = log(x)":"Logarithmic functions have a vertical asymptote at x = 0.","y = x^2":"Parabolas have no horizontal asymptote.","y = 2^x":"Correct. Exponential graphs approach y = 0.","y = x + 1":"Linear functions do not have asymptotes."}}],"gm-2":[{id:1,type:"multiple-choice",question:"What is the simple interest on Php 8,000 at 6% per year for 2 years?",options:["Php 480","Php 960","Php 1,200","Php 1,600"],correctAnswer:"Php 960",explanation:"Simple interest I = Prt = 8000(0.06)(2) = 960.",optionExplanations:{"Php 480":"That is one year of interest only.","Php 960":"Correct. Multiply principal, rate, and time.","Php 1,200":"Check the rate and time values.","Php 1,600":"This overstates the computed interest."}},{id:2,type:"multiple-choice",question:"Which formula gives compound amount after t periods?",options:["A = P(1 + rt)","A = P(1 + r)^t","A = P - rt","A = Prt"],correctAnswer:"A = P(1 + r)^t",explanation:"Compound growth multiplies by (1 + r) each period.",optionExplanations:{"A = P(1 + rt)":"This is the simple interest amount form.","A = P(1 + r)^t":"Correct. This is the standard compound amount formula.","A = P - rt":"This is not an amount model.","A = Prt":"This computes simple interest, not total compound amount."}},{id:3,type:"fill-in-blank",question:"If the future value is 12,000 and discount rate is 20%, present value is ___",correctAnswer:"10000",explanation:"Present value PV = FV/(1+r) = 12000/1.2 = 10000."},{id:4,type:"true-false",question:"A general annuity has payment interval different from the compounding interval.",correctAnswer:"True",explanation:"That mismatch between payment and conversion periods defines a general annuity.",optionExplanations:{True:"Correct. Different intervals make it a general annuity.",False:"Matching intervals correspond to a simple annuity."}},{id:5,type:"multiple-choice",question:"In an amortization schedule, each regular payment is split into:",options:["Tax and insurance","Principal and interest","Deposit and withdrawal","Discount and markup"],correctAnswer:"Principal and interest",explanation:"Loan payments reduce outstanding principal and cover interest charges.",optionExplanations:{"Tax and insurance":"These may appear in housing payments, but are not the core loan split.","Principal and interest":"Correct. This is the fundamental breakdown.","Deposit and withdrawal":"These terms describe bank account activity, not amortization.","Discount and markup":"These are pricing terms, not amortization terms."}},{id:6,type:"multiple-choice",question:"Which statement is true about a stock market index?",options:["It guarantees profit","It tracks performance of a selected group of stocks","It sets loan interest rates","It replaces bond yields"],correctAnswer:"It tracks performance of a selected group of stocks",explanation:"An index is a benchmark that summarizes how a basket of stocks performs.",optionExplanations:{"It guarantees profit":"No index can guarantee returns.","It tracks performance of a selected group of stocks":"Correct. That is the purpose of an index.","It sets loan interest rates":"Loan rates are set by lenders and market conditions, not indexes directly.","It replaces bond yields":"Bond yields and stock indexes measure different markets."}}],"gm-3":[{id:1,type:"multiple-choice",question:"Which of the following is a proposition?",options:["Open the door.","x + 5 = 12","Manila is in the Philippines.","How are you?"],correctAnswer:"Manila is in the Philippines.",explanation:"A proposition is a declarative statement that is either true or false.",optionExplanations:{"Open the door.":"This is a command, not a proposition.","x + 5 = 12":"Without a value for x, this is an open sentence.","Manila is in the Philippines.":"Correct. This statement has a definite truth value.","How are you?":"This is a question, not a proposition."}},{id:2,type:"true-false",question:"If p is true and q is false, then p AND q is false.",correctAnswer:"True",explanation:"A conjunction p AND q is true only when both p and q are true.",optionExplanations:{True:"Correct. One false part makes the conjunction false.",False:"Conjunction requires both components to be true."}},{id:3,type:"multiple-choice",question:'What is the negation of the statement: "All students passed"?',options:["No student passed","At least one student did not pass","Some students passed","All students did not pass"],correctAnswer:"At least one student did not pass",explanation:'Negating "all" gives "there exists at least one" that does not satisfy the statement.',optionExplanations:{"No student passed":"This is stronger than the logical negation.","At least one student did not pass":"Correct. This is the precise negation.","Some students passed":"This can still be true with the original statement.","All students did not pass":'This is not equivalent to the negation of "all passed".'}},{id:4,type:"fill-in-blank",question:'In logic, "if p then q" is written as p ___ q',correctAnswer:"->",explanation:"The conditional symbol is arrow, often typed as ->."},{id:5,type:"multiple-choice",question:"Which argument form is valid?",options:["If p then q; q; therefore p","If p then q; p; therefore q","p OR q; p; therefore not q","If p then q; not p; therefore not q"],correctAnswer:"If p then q; p; therefore q",explanation:"This is modus ponens, a valid argument form.",optionExplanations:{"If p then q; q; therefore p":"This is affirming the consequent, invalid.","If p then q; p; therefore q":"Correct. This is modus ponens.","p OR q; p; therefore not q":"From inclusive OR, not q does not follow.","If p then q; not p; therefore not q":"This is denying the antecedent, invalid."}},{id:6,type:"multiple-choice",question:"A tautology is a proposition that is:",options:["Always true","Always false","True only when p is true","Undefined"],correctAnswer:"Always true",explanation:"A tautology evaluates to true for all possible truth assignments.",optionExplanations:{"Always true":"Correct. This is the definition of tautology.","Always false":"That describes a contradiction.","True only when p is true":"That depends on p and is not always true.",Undefined:"Tautologies are fully defined and always true."}}],"gm-4":[{id:1,type:"multiple-choice",question:"Solve for x: 2x + 4 = 10",options:["x = 3","x = 2","x = 6","x = 4"],correctAnswer:"x = 3",explanation:"Subtract 4: 2x = 6. Divide by 2: x = 3.",optionExplanations:{"x = 3":"Correct! 2(3)+4 = 10.","x = 2":"2(2)+4 = 8, not 10.","x = 6":"You may have forgotten to divide by 2.","x = 4":"2(4)+4 = 12, not 10."}},{id:2,type:"fill-in-blank",question:"Simplify: 3(x + 2) = ___",correctAnswer:"3x + 6",explanation:"Distribute: 3·x + 3·2 = 3x + 6."},{id:3,type:"true-false",question:"The expression 5x − 3x simplifies to 2x.",correctAnswer:"True",explanation:"Combine like terms: 5x − 3x = 2x.",optionExplanations:{True:"Correct! Subtracting coefficients: 5−3 = 2.",False:"5x and 3x are like terms and can be combined."}},{id:4,type:"multiple-choice",question:"What is the slope-intercept form of a linear equation?",options:["ax + by = c","y = mx + b","x = my + b","y = mx − b"],correctAnswer:"y = mx + b",explanation:"Slope-intercept form is y = mx + b, where m is slope and b is y-intercept.",optionExplanations:{"ax + by = c":"This is standard form.","y = mx + b":"Correct! m = slope, b = y-intercept.","x = my + b":"x and y are reversed.","y = mx − b":"The intercept should be + b."}},{id:5,type:"multiple-choice",question:"If f(x) = 3x + 2, what is f(4)?",options:["10","12","14","16"],correctAnswer:"14",explanation:"f(4) = 3(4) + 2 = 12 + 2 = 14.",optionExplanations:{10:"Check: 3(4)+2 = 14, not 10.",12:"You forgot to add 2. 3(4) = 12, then +2 = 14.",14:"Correct! 3(4)+2 = 14.",16:"Check your multiplication: 3×4 = 12, not 14."}}],"gm-5":[{id:1,type:"multiple-choice",question:"What is the sum of interior angles in a triangle?",options:["90°","180°","270°","360°"],correctAnswer:"180°",explanation:"The sum of interior angles in any triangle is always 180°.",optionExplanations:{"90°":"That is a right angle, not the sum of all angles.","180°":"Correct! All triangle angles sum to 180°.","270°":"This is the sum for a different shape.","360°":"This is the sum for a quadrilateral."}},{id:2,type:"fill-in-blank",question:"The area of a rectangle with length 8 and width 5 is ___",correctAnswer:"40",explanation:"Area = length × width = 8 × 5 = 40."},{id:3,type:"true-false",question:"A square is a special type of rectangle.",correctAnswer:"True",explanation:"A square has four right angles and opposite sides equal, meeting all rectangle criteria.",optionExplanations:{True:"Correct! A square is a rectangle with all sides equal.",False:"A square satisfies all properties of a rectangle."}},{id:4,type:"multiple-choice",question:"What is the circumference of a circle with radius 7? (Use π ≈ 22/7)",options:["22","44","154","14"],correctAnswer:"44",explanation:"C = 2πr = 2 × 22/7 × 7 = 44.",optionExplanations:{22:"This is πr, not 2πr.",44:"Correct! 2 × 22/7 × 7 = 44.",154:"This is the area (πr²), not circumference.",14:"This is the diameter (2r)."}},{id:5,type:"multiple-choice",question:"How many sides does a hexagon have?",options:["5","6","7","8"],correctAnswer:"6",explanation:'A hexagon has 6 sides. The prefix "hex" means 6.',optionExplanations:{5:"That is a pentagon.",6:"Correct! Hexagon = 6 sides.",7:"That is a heptagon.",8:"That is an octagon."}}],"gm-6":[{id:1,type:"multiple-choice",question:"If A = {1,2,3} and B = {2,3,4}, what is A ∩ B?",options:["{1,2,3,4}","{2,3}","{1,4}","{1}"],correctAnswer:"{2,3}",explanation:"A ∩ B (intersection) contains elements common to both: {2,3}.",optionExplanations:{"{1,2,3,4}":"That is A ∪ B (union).","{2,3}":"Correct! The intersection has shared elements.","{1,4}":"These elements are only in one set each.","{1}":"1 is only in A, not in both."}},{id:2,type:"true-false",question:"The empty set is a subset of every set.",correctAnswer:"True",explanation:"By definition, the empty set ∅ is a subset of every set.",optionExplanations:{True:"Correct! ∅ ⊆ A for any set A.",False:"The empty set is indeed a subset of every set by definition."}},{id:3,type:"fill-in-blank",question:"If A = {a, b, c}, the number of elements |A| = ___",correctAnswer:"3",explanation:"The cardinality |A| counts the elements: a, b, c → 3."},{id:4,type:"multiple-choice",question:"What does A ∪ B represent?",options:["Elements in both A and B","Elements in A or B or both","Elements in A but not B","Elements not in A"],correctAnswer:"Elements in A or B or both",explanation:"Union (∪) combines all elements from both sets.",optionExplanations:{"Elements in both A and B":"That describes intersection (∩).","Elements in A or B or both":"Correct! Union includes all elements.","Elements in A but not B":"That describes set difference A−B.","Elements not in A":"That describes the complement of A."}},{id:5,type:"multiple-choice",question:'Which logical connective represents "and"?',options:["∨","∧","¬","→"],correctAnswer:"∧",explanation:"∧ is the logical AND connective.",optionExplanations:{"∨":"∨ means OR.","∧":"Correct! ∧ means AND.","¬":"¬ means NOT.","→":"→ means IMPLIES."}}],"pc-1":[{id:1,type:"multiple-choice",question:"If f(x) = x² + 1, what is f(3)?",options:["7","9","10","12"],correctAnswer:"10",explanation:"f(3) = 3² + 1 = 9 + 1 = 10.",optionExplanations:{7:"Check: 3²+1 = 10.",9:"You forgot to add 1.",10:"Correct! 9+1 = 10.",12:"Check your calculation."}},{id:2,type:"true-false",question:"Every function is a relation, but not every relation is a function.",correctAnswer:"True",explanation:"A function is a special relation where each input has exactly one output.",optionExplanations:{True:"Correct! Functions are a subset of relations.",False:"Functions require unique outputs for each input, making them a special type of relation."}},{id:3,type:"fill-in-blank",question:"The domain of f(x) = 1/x excludes x = ___",correctAnswer:"0",explanation:"Division by zero is undefined, so x = 0 is excluded."},{id:4,type:"multiple-choice",question:"What is the range of f(x) = x²?",options:["All real numbers","x ≥ 0","y ≥ 0","y > 0"],correctAnswer:"y ≥ 0",explanation:"x² is always non-negative, so the range is y ≥ 0.",optionExplanations:{"All real numbers":"x² can never be negative.","x ≥ 0":"This describes the domain restriction, not the range.","y ≥ 0":"Correct! Squares are always ≥ 0.","y > 0":"f(0) = 0, so y = 0 is included."}},{id:5,type:"multiple-choice",question:"If f(x) = 2x and g(x) = x+3, what is (f∘g)(x)?",options:["2x+3","2x+6","2(x+3)","Both B and C"],correctAnswer:"Both B and C",explanation:"f(g(x)) = f(x+3) = 2(x+3) = 2x+6. Both B and C are equivalent.",optionExplanations:{"2x+3":"This adds 3 after multiplying. The correct order is f(g(x)) = 2(x+3).","2x+6":"Correct form! 2(x+3) = 2x+6.","2(x+3)":"Correct form! This equals 2x+6.","Both B and C":"Correct! 2(x+3) and 2x+6 are equivalent."}}],bc:[{id:1,type:"multiple-choice",question:"What is the derivative of x²?",options:["2x","x","2","x²"],correctAnswer:"2x",explanation:"Using the power rule d/dx[xⁿ] = nxⁿ⁻¹: derivative of x² is 2x.",optionExplanations:{"2x":"Correct! Power rule: 2x²⁻¹ = 2x.",x:"This would be the derivative of x²/2.",2:"The derivative of x² varies with x.","x²":"This is the original function."}},{id:2,type:"true-false",question:"The limit of a function always exists at every point.",correctAnswer:"False",explanation:"Limits don't always exist, e.g. lim(x→0) 1/x does not exist.",optionExplanations:{True:"Limits can fail at discontinuities or asymptotes.",False:"Correct! Limits do not always exist."}},{id:3,type:"fill-in-blank",question:"The integral of 2x is ___",correctAnswer:"x²",explanation:"∫2x dx = x² + C."},{id:4,type:"multiple-choice",question:"What is the derivative of sin(x)?",options:["cos(x)","-cos(x)","sin(x)","-sin(x)"],correctAnswer:"cos(x)",explanation:"d/dx[sin(x)] = cos(x).",optionExplanations:{"cos(x)":"Correct!","-cos(x)":"The derivative of sin is positive cos.","sin(x)":"sin is the original, not the derivative.","-sin(x)":"This is the derivative of cos(x)."}},{id:5,type:"multiple-choice",question:"What does the derivative represent geometrically?",options:["Area under the curve","Slope of the tangent line","Y-intercept","Maximum value"],correctAnswer:"Slope of the tangent line",explanation:"The derivative at a point gives the slope of the tangent line at that point.",optionExplanations:{"Area under the curve":"That is the integral.","Slope of the tangent line":"Correct!","Y-intercept":"The y-intercept is f(0).","Maximum value":"Derivatives help find max/min but don't directly give them."}}],sp:[{id:1,type:"multiple-choice",question:"What is the mean of {2, 4, 6, 8, 10}?",options:["4","5","6","8"],correctAnswer:"6",explanation:"Mean = (2+4+6+8+10)/5 = 30/5 = 6.",optionExplanations:{4:"Sum is 30, not 20.",5:"There are 5 numbers but the mean is sum/count = 30/5 = 6.",6:"Correct! 30/5 = 6.",8:"Check the sum: 2+4+6+8+10 = 30."}},{id:2,type:"fill-in-blank",question:"The probability of getting heads on a fair coin flip is ___",correctAnswer:"0.5",explanation:"A fair coin has equal probability: 1/2 = 0.5."},{id:3,type:"true-false",question:"The median of a dataset is always equal to the mean.",correctAnswer:"False",explanation:"Median and mean are equal only in symmetric distributions.",optionExplanations:{True:"They are equal only in perfectly symmetric distributions.",False:"Correct! Skewed data has different mean and median."}},{id:4,type:"multiple-choice",question:"What is the mode of {3, 5, 5, 7, 9}?",options:["3","5","7","9"],correctAnswer:"5",explanation:"Mode is the most frequent value. 5 appears twice.",optionExplanations:{3:"3 appears once.",5:"Correct! 5 appears most frequently (twice).",7:"7 appears once.",9:"9 appears once."}},{id:5,type:"multiple-choice",question:"If P(A) = 0.3, what is P(not A)?",options:["0.3","0.5","0.7","1.0"],correctAnswer:"0.7",explanation:"P(not A) = 1 − P(A) = 1 − 0.3 = 0.7.",optionExplanations:{"0.3":"That is P(A), not its complement.","0.5":"Complements only equal 0.5 when P(A) = 0.5.","0.7":"Correct! 1 − 0.3 = 0.7.","1.0":"1.0 means certain, but A doesn't always not happen."}}]},Dt=(t,i)=>{const x=t.split("-");let r="";if(x.length>=3?r=`${x[0]}-${x[1]}`:x.length===2&&(r=t),te[r])return te[r];const n=x[0],c={gm:"gm-4",pc:"pc-1",bc:"bc",sp:"sp"}[n];return c&&te[c]?te[c]:te["gm-4"]},Rt=({module:t,onBack:i,onEarnXP:x})=>{const[r,n]=l.useState(null),{userProfile:m}=Se(),[c,S]=l.useState(null),L=l.useMemo(()=>{const a=Number(t.id.split("-").pop());return Number.isFinite(a)&&a>0?a:1},[t.id]),v=l.useMemo(()=>ie.find(f=>f.modules.some(b=>b.id===t.id))?.id??null,[t.id]),N=["#1FA7E1","#9956DE","#75D06A","#FFB356","#7274ED","#FF8B8B","#6ED1CF","#FB96BB"],I=l.useMemo(()=>{const f=(v?ie.find(y=>y.id===v):null)?.modules?.findIndex(y=>y.id===t.id)??0,b=f>=0?f:0;return N[b%N.length]},[t.id,v]);l.useEffect(()=>{if(m?.uid)return Ze(m.uid,S)},[m?.uid]);const A=l.useMemo(()=>v?c?.subjects?.[v]?.modulesProgress?.[t.id]??null:null,[t.id,v,c?.subjects]),j=l.useMemo(()=>{const a=A?.lessonsCompleted??[];return new Set(a)},[A?.lessonsCompleted]),$=l.useMemo(()=>{const a=A?.quizzesCompleted??[];return new Set(a)},[A?.quizzesCompleted]),P=A?.lessonsCompleted?.length??t.lessons.filter(a=>a.completed).length,E=A?.quizzesCompleted?.length??t.quizzes.filter(a=>a.completed).length,k=A?.progress??t.progress,o=t.lessons.length+t.quizzes.length,q=P+E;t.lessons.length&&P/t.lessons.length*100,t.quizzes.length&&E/t.quizzes.length*100;const h=(a,f)=>{const b=c?.lessons?.[a]?.progressPercent;return typeof b=="number"&&Number.isFinite(b)?Math.max(0,Math.min(100,b)):f?100:0},B=l.useMemo(()=>{if(!o)return 0;const a=t.lessons.reduce((b,y)=>{const M=j.has(y.id)||y.completed;return b+h(y.id,M)},0),f=E*100;return Math.round((a+f)/o)},[j,E,t.lessons,t.quizzes.length,o,c?.lessons]),u=k>0?k:B;if(r){if(r.type==="lesson")return e.jsx(Qt,{lesson:r.lesson,onBack:()=>n(null),onProgressUpdate:a=>{m?.uid&&Xe(m.uid,r.lesson.id,a),S(f=>{if(!f)return f;const b=r.lesson.id,y=f.lessons?.[b]?.progressPercent,M=typeof y=="number"&&Number.isFinite(y)?y:0,_=Math.max(M,Math.max(0,Math.min(100,a)));return{...f,lessons:{...f.lessons||{},[b]:{...f.lessons?.[b]||{},lessonId:b,progressPercent:_}},updatedAt:new Date}})},onComplete:(a,f,b)=>{const y=Math.max(f||50,50);if(console.log("[LessonComplete] XP Award:",y,"for",r.lesson.title),x?.(y,`Completed "${r.lesson.title}"`),m?.uid&&v&&(async()=>{try{await He(m.uid,v,t.id,r.lesson.id,0,y),await ze(m.uid,v,t.id,t.lessons.length,t.quizzes.length)}catch(M){console.error("[LessonComplete] Failed to persist progress:",M)}})(),b){const M=t.lessons.findIndex(_=>_.id===r.lesson.id);M!==-1&&M0?n({type:"quiz",quiz:t.quizzes[0]}):n(null)}else n(null)}});{const a=Dt(r.quiz.id);return e.jsx(_t,{lesson:{id:parseInt(r.quiz.id.split("-").pop()||"1"),title:r.quiz.title,duration:r.quiz.duration,type:"quiz",completed:r.quiz.completed,locked:r.quiz.locked},questions:a,onBack:()=>n(null),onComplete:(f,b)=>{console.log("[QuizComplete] Score:",f,"totalXP from calculator:",b);const y=b&&b>0?b:Math.max(100,Math.round(f*1.5));console.log("[QuizComplete] Awarding XP:",y),x?.(y,`Scored ${f}% on "${r.quiz.title}"`),m?.uid&&v&&(async()=>{try{await Ue(m.uid,v,t.id,r.quiz.id,f,[],0),await ze(m.uid,v,t.id,t.lessons.length,t.quizzes.length)}catch(M){console.error("[QuizComplete] Failed to persist progress:",M)}})(),n(null)}})}}return e.jsxs("div",{className:"h-full flex flex-col px-4 sm:px-6 xl:px-10 py-6 sm:py-8 lg:overflow-hidden relative",children:[e.jsx("div",{className:"sticky top-0 sm:top-4 z-50 mb-6 xl:mb-8 w-full sm:w-max",children:e.jsxs("button",{onClick:i,className:"flex items-center gap-2 px-4 py-2.5 rounded-full bg-white/80 backdrop-blur-xl border border-slate-200/60 text-slate-600 hover:text-indigo-600 font-bold text-sm tracking-wide transition-all hover:-translate-x-1 shadow-sm hover:shadow-md",children:[e.jsx(Ne,{size:18}),"Back"]})}),e.jsxs(p.div,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},className:`relative mb-6 lg:mb-8 rounded-[2rem] ${t.accentColor} shadow-[0_20px_40px_-15px_rgba(0,0,0,0.3)] shrink-0 overflow-hidden`,children:[e.jsx("div",{className:"absolute inset-0 bg-black/60 pointer-events-none z-0"}),e.jsx("div",{className:"absolute inset-0 opacity-10 pointer-events-none",style:{backgroundImage:"repeating-linear-gradient(0deg, transparent, transparent 39px, #ffffff 39px, #ffffff 40px), repeating-linear-gradient(90deg, transparent, transparent 39px, #ffffff 39px, #ffffff 40px)"}}),e.jsx("div",{className:"absolute top-0 right-0 w-[400px] h-[400px] bg-sky-500/20 blur-[100px] rounded-full pointer-events-none"}),e.jsxs("div",{className:"relative p-5 sm:p-7 md:p-10 flex flex-col md:flex-row md:items-center justify-between gap-6 md:gap-8",children:[e.jsxs("div",{className:"flex-1 text-white",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-4 md:mb-5",children:[e.jsxs("div",{className:"px-3 py-1 bg-white/10 backdrop-blur-md rounded-full text-[11px] font-black uppercase tracking-widest text-[#f8fafc] border border-white/20 shadow-sm flex items-center gap-1.5",children:[e.jsx(ft,{size:14})," Chapter ",t.id.split("-").pop()||"1"]}),e.jsxs("div",{className:"px-3 py-1 bg-white/10 backdrop-blur-md rounded-full text-[11px] font-black uppercase tracking-widest text-emerald-400 border border-emerald-400/30",children:["Lv ",L]})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-display font-black text-white mb-3 md:mb-4 tracking-[-0.02em] leading-tight",children:t.title}),e.jsx("p",{className:"text-slate-300 text-sm md:text-[15px] max-w-2xl font-medium leading-relaxed mb-6 md:mb-8",children:t.description}),e.jsxs("div",{className:"bg-black/20 backdrop-blur-md rounded-2xl p-4 md:p-5 border border-white/10 max-w-xl",children:[e.jsxs("div",{className:"flex justify-between items-end mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(re,{size:20,className:"text-emerald-400"}),e.jsx("span",{className:"text-[12px] md:text-[13px] font-black text-white uppercase tracking-wider",children:"Module Mastery"})]}),e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsxs("span",{className:"text-[12px] md:text-[13px] font-bold text-slate-400 mb-0.5",children:[q,"/",o," steps"]}),e.jsxs("span",{className:"text-xl md:text-2xl font-black text-white shrink-0 leading-none",children:[Math.round(u),"%"]})]})]}),e.jsx("div",{className:"h-3 bg-black/40 rounded-full overflow-hidden shadow-inner ring-1 ring-white/10 p-0.5",children:e.jsx(p.div,{initial:{width:0},animate:{width:`${u}%`},transition:{duration:1.5,ease:"easeOut",delay:.2},className:`h-full rounded-full relative ${u===100?"bg-gradient-to-r from-emerald-400 to-teal-300":t.accentColor}`,children:e.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPgo8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMSI+PC9yZWN0Pgo8L3N2Zz4=')] opacity-30 mix-blend-overlay"})})})]})]}),e.jsxs("div",{className:"hidden lg:flex w-48 h-48 bg-white/5 rounded-[2rem] border border-white/10 backdrop-blur-md items-center justify-center transform rotate-[-3deg] shadow-2xl relative group hover:rotate-0 transition-all duration-500 shrink-0",children:[e.jsx("div",{className:`absolute inset-0 opacity-40 rounded-[2rem] ${t.progress===100?"bg-gradient-to-br from-emerald-400 to-teal-600":t.accentColor}`}),u===100?e.jsx(H,{size:80,className:"text-white drop-shadow-xl z-10 scale-100 group-hover:scale-110 transition-transform duration-500",strokeWidth:1}):e.jsx(U,{size:80,className:"text-white drop-shadow-xl z-10 scale-100 group-hover:scale-110 transition-transform duration-500",strokeWidth:1}),e.jsx(p.div,{animate:{y:[-5,5,-5],rotate:[-10,10,-10]},transition:{duration:4,repeat:1/0},className:"absolute top-6 left-6 text-emerald-300 z-20",children:e.jsx(Te,{size:20,fill:"currentColor"})}),e.jsx(p.div,{animate:{y:[5,-5,5],rotate:[10,-10,10]},transition:{duration:3.5,repeat:1/0},className:"absolute bottom-8 right-6 text-sky-300 z-20",children:e.jsx(St,{size:24})})]})]})]}),e.jsxs("div",{className:"flex-1 grid grid-cols-1 lg:grid-cols-2 gap-6 lg:gap-8 lg:min-h-0 pb-6 lg:pb-0",children:[e.jsxs("div",{className:"relative flex flex-col bg-[#FAFAFA] rounded-[2rem] border border-slate-200 shadow-sm overflow-hidden lg:h-full",children:[e.jsx("div",{className:"absolute left-12 top-0 bottom-0 w-0.5 bg-rose-200/60 pointer-events-none z-0"}),e.jsx("div",{className:"absolute left-[54px] top-0 bottom-0 w-px bg-rose-100/40 pointer-events-none z-0"}),e.jsxs("div",{className:"px-4 sm:px-6 md:px-8 py-5 md:py-6 border-b border-slate-200/60 bg-white/80 backdrop-blur-sm relative z-10 flex items-center justify-between sticky top-0 shrink-0",children:[e.jsxs("h2",{className:"font-display font-black text-xl md:text-2xl text-slate-800 flex items-center gap-3",children:[e.jsx(U,{size:24,className:"text-sky-500"}),"Study Notes"]}),e.jsx("div",{className:"flex flex-col items-end gap-2",children:e.jsxs("div",{className:"text-xs md:text-sm font-bold bg-sky-100 text-sky-600 px-3 py-1 rounded-full shadow-sm border border-sky-200/50",children:[P,"/",t.lessons.length]})})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-4 sm:px-5 md:px-8 py-5 md:py-6 space-y-4 scrollbar-hide relative z-10",style:{backgroundImage:"repeating-linear-gradient(transparent, transparent 31px, #f1f5f9 31px, #f1f5f9 32px)",backgroundAttachment:"local",lineHeight:"32px"},children:[t.lessons.map((a,f)=>{const b=j.has(a.id)||a.completed,y=h(a.id,b);return e.jsxs(p.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:f*.05},onClick:()=>!a.locked&&n({lesson:a,type:"lesson"}),className:`relative bg-transparent rounded-[1.2rem] overflow-visible group transition-all duration-300 ${a.locked?"opacity-60 saturate-50 cursor-not-allowed":(a.completed,"cursor-pointer")}`,children:[e.jsx("div",{className:"absolute top-0 left-4 h-6 w-24 rounded-t-xl bg-[#d8e9ff] border border-[#b7d3ff] border-b-0 shadow-sm"}),e.jsxs("div",{className:`mt-5 rounded-[1.2rem] border p-3 md:p-4 relative overflow-hidden shadow-sm transition-all duration-300 ${a.locked?"border-slate-200 bg-slate-100":b?"border-teal-200 bg-white hover:shadow-md":"border-sky-200 bg-white hover:shadow-md"}`,children:[e.jsx("div",{className:"absolute top-0 left-0 right-0 h-2.5 bg-slate-100 rounded-t-[1.2rem]"}),e.jsx(p.div,{className:"absolute top-0 left-0 h-2.5 rounded-t-[1.2rem]",initial:!1,animate:{width:`${y}%`},transition:{duration:.45,ease:"easeOut"},style:{background:`linear-gradient(90deg, ${I}66, ${I})`}}),e.jsxs("div",{className:"flex items-center justify-between relative z-10 pt-1",children:[e.jsxs("div",{className:"flex items-center gap-3 md:gap-4 flex-1",children:[e.jsx("div",{className:`w-9 h-9 md:w-10 md:h-10 rounded-[10px] flex items-center justify-center shrink-0 shadow-sm ${a.locked?"bg-slate-100 text-slate-400":b?"bg-teal-50 text-teal-600":"bg-sky-50 text-sky-600"}`,children:a.locked?e.jsx(ve,{size:16}):b?e.jsx(wt,{size:16}):e.jsx(Re,{size:16,className:"ml-1"})}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"text-[10px] md:text-[11px] font-black uppercase tracking-wider text-slate-400 mb-0.5",children:["Lesson ",f+1]}),e.jsx("h3",{className:`font-bold text-[14px] md:text-[15px] leading-tight transition-colors ${a.locked?"text-slate-600":"text-[#0a1628] group-hover:text-sky-600"}`,children:a.title})]})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0 ml-3 md:ml-4",children:[y>0&&y<100&&e.jsxs("div",{className:"hidden sm:flex items-center justify-center px-2 py-1 rounded-md text-[11px] font-black",style:{backgroundColor:`${I}1A`,color:I,border:`1px solid ${I}33`},title:"Lesson progress",children:[Math.round(y),"%"]}),e.jsxs("div",{className:"flex items-center gap-1.5 text-slate-400 text-[11px] md:text-xs font-bold bg-slate-50 px-2 py-1 rounded-md",children:[e.jsx(ne,{size:12}),e.jsx("span",{children:a.duration})]})]})]})]})]},a.id)}),e.jsx("div",{className:"h-4 pointer-events-none"})]})]}),e.jsxs("div",{className:"relative flex flex-col bg-white rounded-[2rem] border border-slate-200 shadow-sm overflow-hidden lg:h-full",children:[e.jsx("div",{className:"h-5 bg-slate-200/50 border-b border-slate-200 w-full flex items-center justify-center pointer-events-none sticky top-0 z-20",children:e.jsx("div",{className:"w-16 h-1.5 bg-slate-300 rounded-full"})}),e.jsxs("div",{className:"px-4 sm:px-6 md:px-8 py-4 md:py-5 border-b-2 border-dashed border-slate-200 bg-white relative z-10 flex items-center justify-between sticky top-5 shrink-0",children:[e.jsxs("h2",{className:"font-display font-black text-xl md:text-2xl text-slate-800 flex items-center gap-3",children:[e.jsx(ke,{size:24,className:"text-rose-500"}),"Assessments"]}),e.jsx("div",{className:"flex flex-col items-end gap-2",children:e.jsxs("div",{className:"text-xs md:text-sm font-bold bg-rose-100 text-rose-600 px-3 py-1 rounded-full shadow-sm border border-rose-200/50",children:[E,"/",t.quizzes.length]})})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-4 sm:px-5 md:px-8 py-5 md:py-6 space-y-4 md:space-y-5 scrollbar-hide relative z-10",style:{backgroundImage:"radial-gradient(#CBD5E1 1px, transparent 1px)",backgroundSize:"24px 24px",backgroundPosition:"-12px -12px"},children:[t.quizzes.map((a,f)=>{const b=a.locked,y=a.type==="final",M=a.type==="module",_=t.lessons[Math.min(f,Math.max(t.lessons.length-1,0))],D=$.has(a.id)||a.completed;return e.jsx(p.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:(t.lessons.length+f)*.05},onClick:()=>!b&&n({quiz:a,type:"quiz"}),className:`bg-white/90 backdrop-blur-sm rounded-2xl p-4 md:p-5 border-2 relative select-none transition-all duration-300 ${b?"border-slate-200 opacity-60 saturate-50 cursor-not-allowed":D?"border-teal-200 shadow-sm hover:border-teal-300 hover:shadow-md cursor-pointer":y?"border-indigo-200 shadow-sm hover:border-indigo-300 hover:shadow-md cursor-pointer":"border-orange-200 shadow-sm hover:border-orange-300 hover:shadow-md cursor-pointer"} group`,children:e.jsxs("div",{className:"flex items-center justify-between gap-3 md:gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3 md:gap-4 flex-1",children:[e.jsx("div",{className:`w-10 h-10 md:w-12 md:h-12 rounded-xl flex items-center justify-center shrink-0 shadow-sm transform group-hover:rotate-3 transition-transform ${b?"bg-slate-100 text-slate-400":D?"bg-teal-500 text-white":y?"bg-indigo-500 text-white":"bg-orange-500 text-white"}`,children:b?e.jsx(ve,{size:18}):D?e.jsx(H,{size:18}):e.jsx(ke,{size:18})}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[e.jsx("span",{className:`px-2 py-0.5 rounded-[6px] text-[9px] md:text-[10px] font-black uppercase tracking-wider ${y?"bg-indigo-100 text-indigo-700":M?"bg-orange-100 text-orange-700":"bg-sky-100 text-sky-700"}`,children:y?"Final Exam":M?"Module Task":"Quiz"}),!!_&&e.jsxs("span",{className:"px-2 py-0.5 rounded-[6px] text-[9px] md:text-[10px] font-black uppercase tracking-wider bg-violet-100 text-violet-700",children:["For: ",_.title]}),!b&&!a.completed&&e.jsx("span",{className:"w-1.5 h-1.5 md:w-2 md:h-2 rounded-full bg-rose-500 animate-pulse"})]}),e.jsx("h3",{className:`font-bold text-[14px] md:text-[16px] leading-tight mb-1 md:mb-1.5 transition-colors ${b?"text-slate-600":"text-[#0a1628]"}`,children:a.title}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 md:gap-3 text-[11px] md:text-[12px] font-bold text-slate-400",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(U,{size:12})," ",a.questions," Qs"]}),e.jsx("span",{className:"hidden sm:inline",children:"•"}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ne,{size:12})," ",a.duration]})]})]})]}),e.jsxs("div",{className:"flex flex-col items-end gap-2 shrink-0",children:[a.score!==void 0&&D&&e.jsx("div",{className:"text-right",children:e.jsxs("div",{className:"text-xl md:text-2xl font-black text-teal-600 leading-none",children:[a.score,"%"]})}),!b&&e.jsx("div",{className:`px-3 py-1.5 md:px-4 md:py-2 rounded-xl text-[11px] md:text-[12px] font-black uppercase tracking-wider shadow-sm transition-all ${a.completed?"bg-white border border-slate-200 text-slate-600 group-hover:bg-slate-50":"bg-slate-900 text-white group-hover:bg-slate-600"}`,children:a.completed?"Review":"Start"})]})]})},a.id)}),e.jsx("div",{className:"h-4 pointer-events-none"})]})]})]})]})},Vt=({onStartQuiz:t,searchQuery:i="",allowedSubjectIds:x})=>{const{userProfile:r}=Se(),[n,m]=l.useState("all"),[c,S]=l.useState("all"),[L,v]=l.useState(null),N=l.useMemo(()=>!x||x.length===0?ie:ie.filter(o=>x.includes(o.id)),[x]);l.useEffect(()=>{r?.uid&&Ye(r.uid).then(v).catch(console.error)},[r?.uid]),l.useEffect(()=>{if(c==="all")return;N.some(q=>q.title===c)||S("all")},[N,c]);const I=L?.totalQuizzesCompleted||0,A=r?.totalXP||0,j=L?.averageScore?Math.round(L.averageScore):0,$=new Set(L?.quizAttempts?.map(o=>o.quizId)||[]),P={};if(L?.quizAttempts)for(const o of L.quizAttempts)(!P[o.quizId]||o.score>P[o.quizId])&&(P[o.quizId]=o.score);const k=N.flatMap(o=>o.modules.flatMap(q=>q.quizzes.map(h=>({id:h.id,title:h.title,subject:o.title,difficulty:h.type==="module"?"Medium":"Easy",questions:h.questions,duration:h.duration,xpReward:h.questions*5,type:h.type==="module"?"challenge":"practice",completed:$.has(h.id),bestScore:P[h.id],locked:h.locked})))).filter(o=>{const q=n==="all"||o.type===n,h=c==="all"||o.subject===c,B=!i||o.title.toLowerCase().includes(i.toLowerCase())||o.subject.toLowerCase().includes(i.toLowerCase());return q&&h&&B});return e.jsxs("div",{className:"h-full flex flex-col px-4 sm:px-6 xl:px-10 py-6 sm:py-8",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h1",{className:"text-2xl font-bold text-[#0a1628] mb-2",children:"Practice Center"}),e.jsx("p",{className:"text-[#5a6578]",children:"Sharpen your skills with quizzes, challenges, and mastery tests"})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4 mb-6",children:[e.jsxs(p.div,{whileHover:{scale:1.02},className:"bg-gradient-to-br from-sky-700 to-sky-500 rounded-2xl p-5 text-white shadow-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(re,{size:24})}),e.jsx("span",{className:"text-3xl font-bold",children:I})]}),e.jsx("p",{className:"text-sm font-medium text-sky-100",children:"Quizzes Completed"})]}),e.jsxs(p.div,{whileHover:{scale:1.02},className:"bg-gradient-to-br from-rose-500 to-rose-600 rounded-2xl p-5 text-white shadow-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(Ae,{size:24})}),e.jsx("span",{className:"text-3xl font-bold",children:A.toLocaleString()})]}),e.jsx("p",{className:"text-sm font-medium text-cyan-100",children:"Total XP Earned"})]}),e.jsxs(p.div,{whileHover:{scale:1.02},className:"bg-gradient-to-br from-indigo-600 to-indigo-700 rounded-2xl p-5 text-white shadow-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(Z,{size:24})}),e.jsxs("span",{className:"text-3xl font-bold",children:[j,"%"]})]}),e.jsx("p",{className:"text-sm font-medium text-sky-100",children:"Average Score"})]})]}),e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsxs("div",{className:"flex items-center gap-2 bg-white rounded-xl p-1 shadow-sm",children:[e.jsx("button",{onClick:()=>m("all"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${n==="all"?"bg-sky-600 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"All"}),e.jsx("button",{onClick:()=>m("practice"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${n==="practice"?"bg-sky-500 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"Practice"}),e.jsx("button",{onClick:()=>m("challenge"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${n==="challenge"?"bg-orange-500 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"Challenge"}),e.jsx("button",{onClick:()=>m("mastery"),className:`px-4 py-2 rounded-lg text-sm font-bold transition-all ${n==="mastery"?"bg-sky-500 text-white shadow-md":"text-[#5a6578] hover:bg-[#edf1f7]"}`,children:"Mastery"})]}),e.jsxs("select",{value:c,onChange:o=>S(o.target.value),className:"px-4 py-2.5 bg-white border-2 border-[#dde3eb] rounded-xl text-sm font-bold text-[#0a1628] focus:border-indigo-600 focus:outline-none",children:[e.jsx("option",{value:"all",children:"All Subjects"}),N.map(o=>e.jsx("option",{value:o.title,children:o.title},o.id))]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto pr-2 pb-4 scrollbar-hide rounded-[2rem] border border-slate-200 shadow-inner relative",style:{backgroundImage:"radial-gradient(#CBD5E1 1px, transparent 1px)",backgroundSize:"24px 24px",backgroundPosition:"-12px -12px",backgroundColor:"#FAFAFA"},children:[e.jsx("div",{className:"absolute left-12 top-0 bottom-0 w-0.5 bg-rose-200/60 pointer-events-none z-0"}),e.jsx("div",{className:"absolute left-[54px] top-0 bottom-0 w-px bg-rose-100/40 pointer-events-none z-0"}),e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 lg:gap-5 p-4 md:p-6 relative z-10",children:k.map((o,q)=>{const h=o.locked,B=o.difficulty==="Hard",u=o.type==="challenge";return e.jsx(p.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{delay:q*.05},onClick:()=>!h&&t?.(o),className:`bg-white/90 backdrop-blur-sm rounded-2xl p-4 md:p-5 border-2 relative select-none transition-all duration-300 ${h?"border-slate-200 opacity-60 saturate-50 cursor-not-allowed":o.completed?"border-teal-200 shadow-sm hover:border-teal-300 hover:shadow-md cursor-pointer":B?"border-indigo-200 shadow-sm hover:border-indigo-300 hover:shadow-md cursor-pointer":"border-orange-200 shadow-sm hover:border-orange-300 hover:shadow-md cursor-pointer"} group`,children:e.jsxs("div",{className:"flex items-center justify-between gap-3 md:gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3 md:gap-4 flex-1",children:[e.jsx("div",{className:`w-10 h-10 md:w-12 md:h-12 rounded-xl flex items-center justify-center shrink-0 shadow-sm transform group-hover:rotate-3 transition-transform ${h?"bg-slate-100 text-slate-400":o.completed?"bg-teal-500 text-white":B?"bg-indigo-500 text-white":"bg-orange-500 text-white"}`,children:h?e.jsx(ve,{size:18}):o.completed?e.jsx(H,{size:18}):e.jsx(ke,{size:18})}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[e.jsxs("span",{className:`px-2 py-0.5 rounded-[6px] text-[9px] md:text-[10px] font-black uppercase tracking-wider ${B?"bg-indigo-100 text-indigo-700":u?"bg-orange-100 text-orange-700":"bg-sky-100 text-sky-700"}`,children:[o.type," • ",o.difficulty]}),!h&&!o.completed&&e.jsx("span",{className:"w-1.5 h-1.5 md:w-2 md:h-2 rounded-full bg-rose-500 animate-pulse"})]}),e.jsx("h3",{className:`font-bold text-[14px] md:text-[16px] leading-tight mb-1 md:mb-1.5 transition-colors ${h?"text-slate-600":"text-[#0a1628]"}`,children:o.title}),e.jsx("p",{className:"text-[11px] md:text-[12px] text-slate-500 mb-1.5 line-clamp-1",children:o.subject}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 md:gap-3 text-[11px] md:text-[12px] font-bold text-slate-400",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(U,{size:12})," ",o.questions," Qs"]}),e.jsx("span",{className:"hidden sm:inline",children:"•"}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ne,{size:12})," ",o.duration]}),e.jsx("span",{className:"hidden sm:inline",children:"•"}),e.jsxs("span",{className:"flex items-center gap-1 text-rose-500",children:[e.jsx(H,{size:12})," +",o.xpReward," XP"]})]})]})]}),e.jsxs("div",{className:"flex flex-col items-end gap-2 shrink-0",children:[o.bestScore!==void 0&&e.jsxs("div",{className:"text-right",children:[e.jsxs("div",{className:`text-xl md:text-2xl font-black leading-none ${o.bestScore>=80?"text-teal-600":"text-orange-500"}`,children:[o.bestScore,"%"]}),e.jsx("div",{className:"text-[9px] uppercase tracking-wide text-slate-400 font-bold mt-1",children:"Best Score"})]}),!h&&e.jsx("div",{className:`px-3 py-1.5 md:px-4 md:py-2 rounded-xl text-[11px] md:text-[12px] font-black uppercase tracking-wider shadow-sm transition-all ${o.completed?"bg-white border border-slate-200 text-slate-600 group-hover:bg-slate-50":"bg-slate-900 text-white group-hover:bg-slate-600"}`,children:o.completed?"Review":"Start"})]})]})},o.id)})}),k.length===0&&e.jsxs("div",{className:"flex flex-col items-center justify-center h-64 text-slate-500 relative z-10",children:[e.jsx(Z,{size:48,className:"mb-3"}),e.jsx("p",{className:"font-medium",children:"No quizzes found"}),e.jsx("p",{className:"text-sm",children:"Try adjusting your filters or search query"})]})]})]})};function Gt(t){if(t.questionType==="multiple_choice"&&t.options&&t.options.length>0){const i=t.options.findIndex(x=>x.trim().toLowerCase()===t.correctAnswer.trim().toLowerCase());return{id:t.id,question:t.question,options:t.options,correctAnswer:i>=0?i:0,correctAnswerText:t.correctAnswer,explanation:t.explanation,questionType:t.questionType,points:t.points,difficulty:t.difficulty,topic:t.topic,bloomLevel:t.bloomLevel}}return{id:t.id,question:t.question,options:[],correctAnswer:-1,correctAnswerText:t.correctAnswer,explanation:t.explanation,questionType:t.questionType,points:t.points,difficulty:t.difficulty,topic:t.topic,bloomLevel:t.bloomLevel}}function De(t){return t.replace(/²/g,"^2").replace(/³/g,"^3").replace(/⁻¹/g,"^-1").replace(/⁰/g,"^0").replace(/¹/g,"^1").replace(/⁴/g,"^4").replace(/⁵/g,"^5").replace(/⁶/g,"^6").replace(/⁷/g,"^7").replace(/⁸/g,"^8").replace(/⁹/g,"^9").replace(/π/g,"pi").replace(/√/g,"sqrt").replace(/×/g,"*").replace(/÷/g,"/").replace(/\s+/g,"").toLowerCase().trim()}function Ot(t,i,x){const r=n=>n.trim().toLowerCase().replace(/\s+/g," ");switch(x){case"identification":return r(t)===r(i);case"enumeration":{const n=t.split(",").map(c=>r(c)).filter(Boolean).sort(),m=i.split(",").map(c=>r(c)).filter(Boolean).sort();return JSON.stringify(n)===JSON.stringify(m)}case"word_problem":case"equation_based":{const n=De(t),m=De(i);if(n===m)return!0;const c=parseFloat(t.replace(/[^\d.\-]/g,"")),S=parseFloat(i.replace(/[^\d.\-]/g,""));return!isNaN(c)&&!isNaN(S)?Math.abs(c-S)<=.01:r(t)===r(i)}default:return r(t)===r(i)}}function Zt(t){switch(t){case"identification":return"Type your answer below";case"enumeration":return"List your answers separated by commas";case"word_problem":return"Show your work and type the final answer";case"equation_based":return"Solve the equation and type the result";default:return"Select the correct answer"}}const Ht=({quiz:t,onClose:i,onComplete:x,studentId:r,atRiskSubjects:n=[]})=>{const[m,c]=l.useState(0),[S,L]=l.useState(null),[v,N]=l.useState(""),[I,A]=l.useState(!1),[j,$]=l.useState(!1),[P,E]=l.useState(0),[k,o]=l.useState(0),[q,h]=l.useState(1),[B,u]=l.useState([]),[a,f]=l.useState([]),[b,y]=l.useState(Date.now()),[M,_]=l.useState(!1),[D,oe]=l.useState(0),[K,fe]=l.useState(0),[C,O]=l.useState(!1),[W]=l.useState(()=>t.loadedQuestions&&t.loadedQuestions.length>0?t.loadedQuestions.map(Gt):Array.from({length:t.questions},(w,s)=>({id:`q${s+1}`,question:Xt(t.subject,s),options:Ut(t.subject,s),correctAnswer:Yt(t.subject,s),explanation:Kt(t.subject,s,t.difficulty)}))),T=W[m];l.useEffect(()=>{const w=parseInt(t.duration);oe(w*60);const s=setInterval(()=>{oe(d=>d<=1?(clearInterval(s),le(),0):d-1)},1e3);return()=>clearInterval(s)},[]);const R=w=>{const s=new(window.AudioContext||window.webkitAudioContext),d=s.createOscillator(),g=s.createGain();switch(d.connect(g),g.connect(s.destination),w){case"correct":d.frequency.value=800,g.gain.setValueAtTime(.3,s.currentTime),g.gain.exponentialRampToValueAtTime(.01,s.currentTime+.3),d.start(s.currentTime),d.stop(s.currentTime+.3);break;case"incorrect":d.frequency.value=200,g.gain.setValueAtTime(.3,s.currentTime),g.gain.exponentialRampToValueAtTime(.01,s.currentTime+.2),d.start(s.currentTime),d.stop(s.currentTime+.2);break;case"combo":d.frequency.value=1200,g.gain.setValueAtTime(.2,s.currentTime),g.gain.exponentialRampToValueAtTime(.01,s.currentTime+.4),d.start(s.currentTime),d.stop(s.currentTime+.4);break;case"complete":d.frequency.value=600,g.gain.setValueAtTime(.3,s.currentTime),g.gain.exponentialRampToValueAtTime(.01,s.currentTime+.5),d.start(s.currentTime),d.stop(s.currentTime+.5);break}},le=()=>{_(!0),be()},ce=w=>{j||L(w)},de=()=>{const w=T.questionType!=null&&T.questionType!=="multiple_choice";if(w){if(!v.trim())return}else if(S===null)return;const s=w?Ot(v,T.correctAnswerText||"",T.questionType||""):S===T.correctAnswer,d=[...B];d[m]=w?s?1:0:S,u(d),A(s);const g=Math.round((Date.now()-b)/1e3);if(f(z=>[...z,{questionId:T.id,answer:w?v:String(S),correct:s,timeSpent:g}]),s){R("correct"),E(P+1);const z=k+1;o(z),z>=5?(h(3),R("combo"),Ie({particleCount:50,spread:60,origin:{y:.6}})):z>=3?(h(2),R("combo")):h(1)}else R("incorrect"),o(0),h(1);$(!0)},Q=()=>{m{const w=Math.round(P/W.length*100);let s=t.xpReward;w>=90?s=Math.round(s*1.5):w>=80&&(s=Math.round(s*1.25));const d=parseInt(t.duration)*60;D>d*.5&&(s=Math.round(s*1.2)),fe(s);const g=d-D;r&&rt({lrn:r,quizId:t.id,subject:t.subject,score:w,totalQuestions:W.length,correctAnswers:P,timeSpentSeconds:g}).catch(z=>console.error("[WARN] Automation: quiz pipeline failed:",z)),t.source==="ai_generated"&&r&&it(r,t.id,t.generatedQuizId,t.subject,t.source,w,s,g,a,W.map(z=>({topic:z.topic||t.subject,difficulty:z.difficulty||"medium",bloomLevel:z.bloomLevel||"understand"}))).catch(z=>console.error("[WARN] Quiz result save failed:",z)),R("complete"),Ie({particleCount:100,spread:70,origin:{y:.6}}),setTimeout(()=>{x(w,s)},3e3)},J=w=>{const s=Math.floor(w/60),d=w%60;return`${s}:${d.toString().padStart(2,"0")}`};if(M){const w=Math.round(P/W.length*100),s=w>=70;return e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-6",children:e.jsxs(p.div,{initial:{scale:.9,opacity:0},animate:{scale:1,opacity:1},className:"bg-white rounded-3xl shadow-2xl max-w-2xl w-full p-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx(p.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.2,type:"spring"},className:`w-24 h-24 mx-auto rounded-full flex items-center justify-center mb-4 ${s?"bg-gradient-to-br from-teal-500 to-emerald-500":"bg-gradient-to-br from-orange-500 to-red-500"}`,children:s?e.jsx(H,{size:48,className:"text-white"}):e.jsx(Z,{size:48,className:"text-white"})}),e.jsx("h2",{className:"text-3xl font-bold font-display text-[#0a1628] mb-2",children:s?"Great Job!":"Keep Practicing!"}),e.jsx("p",{className:"text-[#5a6578]",children:t.title})]}),e.jsxs("div",{className:"bg-gradient-to-br from-sky-50 to-cyan-50 rounded-2xl p-6 mb-6",children:[e.jsxs("div",{className:"text-center mb-4",children:[e.jsxs("div",{className:"text-6xl font-bold text-sky-600 mb-2",children:[w,"%"]}),e.jsx("p",{className:"text-[#5a6578]",children:"Final Score"})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"bg-white rounded-xl p-4 text-center",children:[e.jsx(se,{size:24,className:"mx-auto mb-2 text-teal-600"}),e.jsx("p",{className:"text-2xl font-bold text-[#0a1628]",children:P}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"Correct"})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 text-center",children:[e.jsx(Be,{size:24,className:"mx-auto mb-2 text-red-500"}),e.jsx("p",{className:"text-2xl font-bold text-[#0a1628]",children:W.length-P}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"Incorrect"})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 text-center",children:[e.jsx(Ae,{size:24,className:"mx-auto mb-2 text-rose-500"}),e.jsxs("p",{className:"text-2xl font-bold text-[#0a1628]",children:["+",K]}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"XP Earned"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 mb-6",children:[w>=90&&e.jsxs("div",{className:"bg-sky-50 border border-sky-200 rounded-xl p-3 flex items-center gap-3",children:[e.jsx(Te,{size:20,className:"text-sky-600"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-sm text-[#0a1628]",children:"Perfect Score!"}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"+50% Bonus XP"})]})]}),D>parseInt(t.duration)*30&&e.jsxs("div",{className:"bg-sky-50 border border-sky-200 rounded-xl p-3 flex items-center gap-3",children:[e.jsx(ne,{size:20,className:"text-sky-600"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-sm text-[#0a1628]",children:"Speed Demon"}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"+20% Bonus XP"})]})]}),k>=5&&e.jsxs("div",{className:"bg-orange-50 border border-orange-200 rounded-xl p-3 flex items-center gap-3",children:[e.jsx(ae,{size:20,className:"text-orange-600"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-sm text-[#0a1628]",children:"Hot Streak!"}),e.jsx("p",{className:"text-xs text-[#5a6578]",children:"3x Combo Achieved"})]})]})]}),e.jsx(Le,{variant:"results",quizSubject:t.subject,quizScore:w,atRiskSubjects:n}),e.jsx("button",{onClick:i,className:"w-full bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white font-bold py-4 rounded-xl transition-all mt-4",children:"Continue"})]})})}return e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-6",children:e.jsxs(p.div,{initial:{scale:.95,opacity:0},animate:{scale:1,opacity:1},className:"bg-white rounded-3xl shadow-2xl max-w-4xl w-full max-h-[90vh] overflow-hidden flex flex-col",children:[e.jsxs("div",{className:"bg-gradient-to-r from-sky-600 to-sky-500 p-6 text-white",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold",children:t.title}),e.jsx("p",{className:"text-cyan-100 text-sm",children:t.subject})]}),e.jsx("button",{onClick:i,className:"w-10 h-10 bg-white/20 hover:bg-white/30 rounded-xl flex items-center justify-center transition-colors",children:e.jsx(G,{size:20})})]}),e.jsx("div",{className:"flex items-center gap-2 mb-3",children:e.jsxs("button",{onClick:()=>O(w=>!w),className:`flex items-center gap-1.5 px-3 py-1 rounded-full text-sm font-semibold transition-all ${C?"bg-sky-400/30 text-white ring-1 ring-sky-300/50":"bg-white/20 hover:bg-white/30 text-cyan-100"}`,title:"Toggle Scientific Calculator",children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2"}),e.jsx("line",{x1:"8",x2:"16",y1:"6",y2:"6"}),e.jsx("line",{x1:"16",x2:"16",y1:"14",y2:"18"}),e.jsx("path",{d:"M16 10h.01"}),e.jsx("path",{d:"M12 10h.01"}),e.jsx("path",{d:"M8 10h.01"}),e.jsx("path",{d:"M12 14h.01"}),e.jsx("path",{d:"M8 14h.01"}),e.jsx("path",{d:"M12 18h.01"}),e.jsx("path",{d:"M8 18h.01"})]}),"Calc"]})}),e.jsxs("div",{className:"mb-3",children:[e.jsxs("div",{className:"flex justify-between items-center mb-2",children:[e.jsxs("span",{className:"text-sm font-medium",children:["Question ",m+1," of ",W.length]}),e.jsxs("div",{className:"flex items-center gap-4",children:[k>0&&e.jsxs("div",{className:"flex items-center gap-1 bg-orange-500/30 px-3 py-1 rounded-full",children:[e.jsx(ae,{size:16}),e.jsxs("span",{className:"text-sm font-bold",children:[k," Streak"]}),q>1&&e.jsxs("span",{className:"text-xs ml-1",children:["x",q]})]}),e.jsxs("div",{className:"flex items-center gap-1 bg-white/20 px-3 py-1 rounded-full",children:[e.jsx(ne,{size:16}),e.jsx("span",{className:"text-sm font-bold",children:J(D)})]})]})]}),e.jsx("div",{className:"h-2 bg-white/20 rounded-full overflow-hidden",children:e.jsx(p.div,{initial:{width:0},animate:{width:`${(m+1)/W.length*100}%`},className:"h-full bg-white rounded-full"})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"flex items-center gap-3",children:e.jsx("div",{className:"bg-white/20 px-3 py-1 rounded-full",children:e.jsxs("span",{className:"text-sm font-bold",children:["Score: ",P,"/",W.length]})})}),e.jsxs("div",{className:"flex items-center gap-2 bg-rose-500/30 px-3 py-1 rounded-full",children:[e.jsx(H,{size:16}),e.jsxs("span",{className:"text-sm font-bold",children:["+",t.xpReward," XP"]})]})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto p-8 relative",children:[e.jsx(Y,{children:C&&e.jsx(p.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},className:"mb-6 overflow-hidden",children:e.jsxs("div",{className:"bg-[#edf1f7] rounded-2xl p-4 border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("h4",{className:"text-sm font-bold text-[#0a1628] flex items-center gap-1.5",children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("rect",{x:"4",y:"2",width:"16",height:"20",rx:"2"}),e.jsx("line",{x1:"8",x2:"16",y1:"6",y2:"6"})]}),"Scientific Calculator"]}),e.jsx("button",{onClick:()=>O(!1),className:"text-slate-500 hover:text-[#5a6578] transition-colors",children:e.jsx(G,{size:14})})]}),e.jsx(ot,{isOpen:!0,onClose:()=>O(!1),inline:!0})]})})}),m===0&&e.jsx(Le,{variant:"compact",quizSubject:t.subject,atRiskSubjects:n}),e.jsx(Y,{mode:"wait",children:e.jsxs(p.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h3",{className:"text-xl font-bold text-[#0a1628] mb-2",children:T.question}),e.jsx("p",{className:"text-sm text-[#5a6578]",children:Zt(T.questionType)})]}),T.questionType&&T.questionType!=="multiple_choice"?e.jsxs("div",{className:"mb-6",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute left-3 top-3.5",children:e.jsx(ct,{size:16,className:"text-slate-500"})}),T.questionType==="enumeration"?e.jsx("textarea",{value:v,onChange:w=>N(w.target.value),disabled:j,placeholder:"Type each answer separated by commas…",rows:4,className:`w-full pl-10 pr-4 py-3 rounded-xl border-2 text-sm outline-none transition-all resize-none ${j?I?"bg-teal-50 border-teal-400":"bg-red-50 border-red-400":"border-[#dde3eb] focus:border-sky-500 bg-white"}`}):T.questionType==="equation_based"||T.questionType==="word_problem"?e.jsx(lt,{value:v,onChange:N,placeholder:T.questionType==="equation_based"?"Enter the numerical result…":"Enter your answer…",onCalculatorOpen:()=>O(!0)}):e.jsx("input",{type:"text",value:v,onChange:w=>N(w.target.value),disabled:j,onKeyDown:w=>{w.key==="Enter"&&!j&&de()},placeholder:"Type your answer…",className:`w-full pl-10 pr-4 py-3.5 rounded-xl border-2 text-sm outline-none transition-all ${j?I?"bg-teal-50 border-teal-400":"bg-red-50 border-red-400":"border-[#dde3eb] focus:border-sky-500 bg-white"}`})]}),j&&!I&&e.jsxs("p",{className:"mt-2 text-sm font-semibold text-teal-700",children:["Correct answer: ",T.correctAnswerText]})]}):e.jsx("div",{className:"space-y-3 mb-6",children:T.options.map((w,s)=>{const d=S===s,g=s===T.correctAnswer,z=j;let V="bg-[#edf1f7] hover:bg-[#dde3eb] border-[#dde3eb]";return z?g?V="bg-teal-50 border-teal-500":d&&!g&&(V="bg-red-50 border-red-500"):d&&(V="bg-sky-50 border-sky-500"),e.jsx(p.button,{whileHover:j?{}:{scale:1.01},whileTap:j?{}:{scale:.99},onClick:()=>ce(s),disabled:j,className:`w-full text-left p-4 rounded-xl border-2 transition-all ${V} ${j?"cursor-default":"cursor-pointer"}`,children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center font-bold ${z&&g?"bg-teal-500 text-white":z&&d&&!g?"bg-red-500 text-white":d?"bg-sky-500 text-white":"bg-white text-[#0a1628]"}`,children:String.fromCharCode(65+s)}),e.jsx("span",{className:"font-medium text-[#0a1628]",children:w}),z&&g&&e.jsx(se,{size:20,className:"ml-auto text-teal-600"}),z&&d&&!g&&e.jsx(Be,{size:20,className:"ml-auto text-red-600"})]})},s)})}),j&&e.jsx(p.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`p-4 rounded-xl border-2 ${I?"bg-teal-50 border-teal-200":"bg-sky-50 border-sky-200"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0 ${I?"bg-teal-500":"bg-sky-500"}`,children:e.jsx(re,{size:18,className:"text-white"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-bold text-[#0a1628] mb-1",children:I?"Correct!":"Not quite"}),e.jsx("p",{className:"text-sm text-[#5a6578]",children:T.explanation})]})]})})]},m)})]}),e.jsx("div",{className:"p-6 bg-[#edf1f7] border-t border-[#dde3eb]",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-sm text-[#5a6578]",children:j?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(he,{size:16}),"Keep going! You're doing great"]}):e.jsx("span",{children:"Select an answer to continue"})}),j?e.jsxs("button",{onClick:Q,className:"bg-gradient-to-r from-sky-600 to-sky-500 hover:from-sky-700 hover:to-sky-600 text-white font-bold px-8 py-3 rounded-xl flex items-center gap-2 transition-all",children:[m -3"],["9","5","7","3"],["1","2","3","1/3"],["12","27","64","81"]],"General Mathematics":[["2x² - 5x - 12","2x² + 5x - 12","2x² - 8x + 12","2x² - 5x + 12"],["36","32","28","24"],["x = 5","x = 4","x = 6","x = 7"],["120","24","60","720"],["3/4","1/2","2/3","4/5"],["90","80","100","72"],["2/3","3/4","4/6","6/9"],["12","6","8","4"],["0.375","0.38","0.35","0.325"],["$32","$28","$30","$36"],["11/12","3/7","5/6","2/3"],["$12","$10","$15","$8"],["3/4","2/3","4/5","9/12"],["1/8","1/4","1/5","1/6"],["150","135","120","160"]],"Statistics and Probability":[["1/6","1/3","1/2","2/3"],["9.4","8.5","10.2","7.8"],["8","9","7","10"],["5/8","3/8","1/2","2/5"],["20","15","25","30"],["5","3","7","8"],["Spread of data from the mean","The highest value","The average","The middle value"],["0.15","0.8","0.35","0.2"],["8.5","7","10","9"],["6","3","9","12"]],"Basic Calculus":[["6x","3x","9x²","6x²"],["4","2","0","undefined"],["x² + C","2x² + C","x²/2 + C","2x + C"],["15x² - 2","15x² - 2x","5x² - 2","15x - 2"],["cos(x)","-cos(x)","tan(x)","-sin(x)"],["eˣ + 3","eˣ + 3x","xeˣ + 3","eˣ"],["sin(x) + C","-sin(x) + C","tan(x) + C","-cos(x) + C"],["1/x","x","ln(x)","-1/x²"],["0","1","∞","undefined"],["4x³ - 4x","4x³ - 2x","x³ - 4x","4x⁴ - 4x²"]]},r=ue(t),n=x[r]||x["General Mathematics"];return n[i%n.length]}function Yt(t,i){const x={"Pre-Calculus":[0,1,0,0,1,0,0,0,2,3],"General Mathematics":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Statistics and Probability":[0,0,0,0,0,0,0,0,0,0],"Basic Calculus":[0,0,0,0,0,0,0,0,0,0]},r=ue(t),n=x[r]||x["General Mathematics"];return n[i%n.length]}function Kt(t,i,x){const r={"Pre-Calculus":["The expression under the square root must be non-negative: x - 2 ≥ 0, so x ≥ 2.","Since 2⁴ = 16, we get x = 4.","The period of sin(kx) is 2π/k. Here k = 2, so period = 2π/2 = π.","To find the inverse: y = 3x + 5 → x = 3y + 5 → y = (x - 5)/3.","Since 2⁵ = 32, log₂(32) = 5.","(x² - 9)/(x - 3) = (x+3)(x-3)/(x-3) = x + 3 (for x ≠ 3).","The absolute value |x| ≥ 0 for all x, so |x| - 3 ≥ -3. The range is y ≥ -3.","g(2) = 4, then f(4) = 2(4) + 1 = 9.","The amplitude of y = Acos(x) is |A|. Here A = 3, so amplitude = 3.","log₃(x) = 4 means 3⁴ = x, so x = 81."],"General Mathematics":["(2x + 3)(x - 4) = 2x² - 8x + 3x - 12 = 2x² - 5x - 12","15% of 240 = 0.15 × 240 = 36","3x + 7 = 22 → 3x = 15 → x = 5","5! = 5 × 4 × 3 × 2 × 1 = 120","0.75 = 75/100 = 3/4 after simplifying by dividing both by 25","25% of 360 = 0.25 × 360 = 90","12/18 = (12÷6)/(18÷6) = 2/3","Factors of 24: {1,2,3,4,6,8,12,24}. Factors of 36: {1,2,3,4,6,9,12,18,36}. GCD = 12","3 ÷ 8 = 0.375","20% off $40 = $40 × 0.80 = $32","2/3 + 1/4 = 8/12 + 3/12 = 11/12","15% of $80 = 0.15 × 80 = $12","45/60 = (45÷15)/(60÷15) = 3/4","0.125 = 125/1000 = 1/8","30% × N = 45 → N = 45/0.30 = 150"],"Statistics and Probability":["A fair die has 6 outcomes, each equally likely. P(6) = 1/6.","Mean = (4 + 7 + 9 + 12 + 15) / 5 = 47/5 = 9.4","Sorted: 2, 5, 8, 11, 14. The middle value is 8.","P(red) = 5/(5+3) = 5/8","Range = max - min = 30 - 10 = 20","The value 5 appears 3 times, more than any other value. Mode = 5.","Standard deviation measures how spread out data points are from the mean.","For independent events: P(A and B) = P(A) × P(B) = 0.3 × 0.5 = 0.15","For even-count dataset {4,7,10,13}: median = (7+10)/2 = 8.5","3 books can be arranged in 3! = 3 × 2 × 1 = 6 ways."],"Basic Calculus":["Using the power rule: d/dx[3x²] = 3 × 2x = 6x","Factor: (x²-4)/(x-2) = (x+2)(x-2)/(x-2) = x+2. As x→2: 2+2 = 4","∫ 2x dx = 2 × x²/2 + C = x² + C","f'(x) = 5 × 3x² - 2 = 15x² - 2","The derivative of sin(x) is cos(x). This is a fundamental trigonometric derivative.","d/dx[eˣ + 3x] = eˣ + 3. The derivative of eˣ is eˣ and of 3x is 3.","∫ cos(x) dx = sin(x) + C. Integration is the reverse of differentiation.","The derivative of ln(x) is 1/x. This is a fundamental logarithmic derivative.","As x → ∞, 1/x approaches 0. The function gets infinitely close to zero.","f'(x) = 4x³ - 4x using the power rule on each term."]},n=ue(t),m=r[n]||r["General Mathematics"];return m[i%m.length]}const Qs=({onEarnXP:t,atRiskSubjects:i=[],priorityTopics:x=[],initialModuleId:r=null})=>{const{userProfile:n}=Se(),[m,c]=l.useState("modules"),S=n?.grade,L=at(S),v=ie.filter(u=>L.includes(u.id)),N=r&&v.flatMap(u=>u.modules).find(u=>u.id===r)||null,[I,A]=l.useState(N),[j,$]=l.useState(null),[P,E]=l.useState("");l.useEffect(()=>{if(r){const u=v.flatMap(a=>a.modules).find(a=>a.id===r);u&&A(u)}},[r]);const k=v.find(u=>u.id==="gen-math")??v[0]??null,o=l.useMemo(()=>{const u=x.length>0?x:i.map(f=>Ke(f)).filter(f=>f!==null),a=new Set;return u.filter(f=>a.has(f)?!1:(a.add(f),!0))},[x,i]),q=l.useMemo(()=>{const u=k?.modules??[];if(o.length===0)return u;const a=new Map(o.map((f,b)=>[Je[f],b]));return[...u].sort((f,b)=>{const y=a.get(f.id)??Number.POSITIVE_INFINITY,M=a.get(b.id)??Number.POSITIVE_INFINITY;return y-M})},[k?.modules,o]),h=l.useMemo(()=>{const u=P.trim().toLowerCase();return u?q.filter(a=>{const f=a.title.toLowerCase().includes(u),b=a.description.toLowerCase().includes(u),y=a.lessons.some(_=>_.title.toLowerCase().includes(u)),M=a.quizzes.some(_=>_.title.toLowerCase().includes(u));return f||b||y||M}):q},[q,P]),B=(u,a)=>{t&&t(a,`Quiz Completed! +${a} XP`),$(null)};return j?e.jsx(Ht,{quiz:j,onClose:()=>$(null),onComplete:B,studentId:n?.uid}):I?e.jsx(Rt,{module:I,onBack:()=>A(null),onEarnXP:t}):e.jsxs("div",{className:"h-full flex flex-col px-4 sm:px-6 xl:px-10 py-6 sm:py-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsxs("div",{className:"flex flex-col lg:flex-row justify-between items-start lg:items-center mb-8 gap-6",children:[e.jsxs("div",{className:"flex-1 max-w-3xl",children:[e.jsx("h1",{className:"text-[36px] md:text-[44px] font-display font-black text-[#202124] tracking-tight leading-[1.1] mb-4",children:"Explore Modules"}),e.jsxs("p",{className:"text-[#3c4043] text-[16px] md:text-[17px] leading-[1.7] md:pr-10",children:["Welcome to your personalized learning hub for ",e.jsx("span",{className:"font-bold text-indigo-700",children:"General Mathematics"}),". These modules are organized directly under the subject so you can jump straight into lessons and assessments without extra steps. MathPulse AI adapts challenge level and quiz support as you progress, helping you master each module with focus and momentum."]})]}),e.jsx("div",{className:"hidden md:flex flex-shrink-0 items-center justify-end w-[350px]",children:e.jsxs("svg",{viewBox:"0 0 300 180",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"w-full h-auto drop-shadow-sm",children:[e.jsx("circle",{cx:"210",cy:"90",r:"45",fill:"#202124"}),e.jsx("path",{d:"M165 90 C165 65.1472 185.147 45 210 45 C234.853 45 255 65.1472 255 90 C255 114.853 234.853 135 210 135 C185.147 135 165 114.853 165 90 Z",fill:"#202124"}),e.jsx("path",{d:"M150 140 C140 120 160 80 200 70 C240 60 260 80 270 120 C275 140 260 180 210 180 C160 180 155 160 150 140 Z",fill:"#202124"}),e.jsx("path",{d:"M210 125 C195 125 185 110 185 95 C185 80 200 72 215 72 C230 72 245 80 245 95 C245 115 225 125 210 125 Z",fill:"#e8eaed"}),e.jsx("circle",{cx:"202",cy:"92",r:"2",fill:"#202124"}),e.jsx("circle",{cx:"225",cy:"92",r:"2",fill:"#202124"}),e.jsx("path",{d:"M210 105 Q 215 110 220 105",stroke:"#202124",strokeWidth:"1.5",strokeLinecap:"round",fill:"none"}),e.jsx("path",{d:"M198 86 Q 202 84 206 86",stroke:"#202124",strokeWidth:"1.5",strokeLinecap:"round",fill:"none"}),e.jsx("path",{d:"M220 86 Q 225 84 230 86",stroke:"#202124",strokeWidth:"1.5",strokeLinecap:"round",fill:"none"}),e.jsx("circle",{cx:"180",cy:"100",r:"6",stroke:"#202124",strokeWidth:"2",fill:"none"}),e.jsx("circle",{cx:"248",cy:"100",r:"6",stroke:"#202124",strokeWidth:"2",fill:"none"}),e.jsx("path",{d:"M175 180 L 180 135 C185 125 235 125 240 135 L 245 180 Z",fill:"#f8f9fa"}),e.jsx("path",{d:"M175 180 L 180 135 C185 125 235 125 240 135 L 245 180 Z",stroke:"#202124",strokeWidth:"2",fill:"none"}),e.jsx("path",{d:"M170 178 L 220 178 L 230 130 L 180 130 Z",fill:"white",stroke:"#202124",strokeWidth:"2",strokeLinejoin:"round"}),e.jsx("path",{d:"M160 178 L 250 178",stroke:"#202124",strokeWidth:"2",strokeLinecap:"round"}),e.jsx("path",{d:"M195 130 C195 130 190 155 180 170",stroke:"#202124",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),e.jsx("circle",{cx:"120",cy:"50",r:"14",fill:"white",stroke:"#202124",strokeWidth:"1.5"}),e.jsx("path",{d:"M112 50 L 128 50 M 120 42 L 120 58 M 115 45 L 125 55 M 115 55 L 125 45",stroke:"#202124",strokeWidth:"1"}),e.jsx("rect",{x:"135",cy:"55",width:"16",height:"12",rx:"2",fill:"white",stroke:"#202124",strokeWidth:"1.5",y:"45"}),e.jsx("path",{d:"M140 50 h6 M140 53 h4",stroke:"#202124",strokeWidth:"1",strokeLinecap:"round"}),e.jsx("circle",{cx:"50",cy:"110",r:"4",fill:"#202124"}),e.jsx("circle",{cx:"80",cy:"70",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"30",cy:"80",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"85",cy:"140",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"100",cy:"100",r:"3",fill:"#1FA7E1"}),e.jsx("circle",{cx:"20",cy:"130",r:"3",fill:"#1FA7E1"}),e.jsx("path",{d:"M50 110 L80 70 M50 110 L30 80 M50 110 L85 140 M50 110 L100 100 M50 110 L20 130",stroke:"#1FA7E1",strokeWidth:"1.5",strokeLinecap:"round",opacity:"0.6"}),e.jsx("path",{d:"M100 35 L 105 25 L 110 35 L 100 35 Z",fill:"white",stroke:"#202124",strokeWidth:"1.5",strokeLinejoin:"round"}),e.jsx("path",{d:"M40 40 L 45 40 L 42.5 35 Z",fill:"#202124"})]})})]}),e.jsxs("div",{className:"relative mb-6",children:[e.jsx("div",{className:"absolute left-6 top-1/2 -translate-y-1/2 text-[#5f6368]",children:e.jsx(xt,{size:22,strokeWidth:2.5})}),e.jsx("input",{id:"modules-search",name:"modules-search","aria-label":"Search modules",type:"text",value:P,onChange:u=>E(u.target.value),placeholder:"Search modules, lessons, or assessments...",className:"w-full pl-16 pr-6 py-4 rounded-full border border-[#dadce0] bg-white text-[#202124] text-[15px] font-medium focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary transition-all shadow-sm"})]}),e.jsx("div",{className:"flex items-center bg-slate-100/80 p-1.5 rounded-full border border-slate-200/60 shadow-inner gap-1 w-max overflow-x-auto max-w-full no-scrollbar",children:[{id:"modules",label:"Modules",icon:U,color:"text-[#1FA7E1]"},{id:"recommended",label:"Recommended",icon:he,color:"text-[#75D06A]"},{id:"practice",label:"Practice",icon:Z,color:"text-[#FFB356]"}].map(u=>{const a=m===u.id;return e.jsxs("button",{onClick:()=>c(u.id),className:`relative flex items-center gap-2.5 px-6 py-3 rounded-full text-[15px] font-bold transition-all duration-300 flex-shrink-0 ${a?"shadow-sm":"text-slate-500 hover:text-slate-700 hover:bg-slate-200/50"}`,children:[a&&e.jsx(p.div,{layoutId:"modulesTabBackground",className:"absolute inset-0 bg-white rounded-full shadow-[0_2px_15px_-3px_rgba(0,0,0,0.1)] border border-slate-100",transition:{type:"spring",bounce:.2,duration:.6}}),e.jsxs("span",{className:`relative z-10 flex items-center gap-2 ${a?u.color:""}`,children:[e.jsx(u.icon,{size:18,strokeWidth:a?2.5:2}),u.label]})]},u.id)})}),o.length>0&&e.jsxs("div",{className:"mt-6 rounded-2xl border border-amber-300 bg-amber-50 px-5 py-4 shadow-sm",children:[e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"inline-flex items-center gap-2 text-sm font-black text-amber-900",children:[e.jsx(et,{size:15}),"Assessment Focus Areas"]}),e.jsx("p",{className:"mt-1 text-sm text-amber-900/80",children:"Modules are currently prioritized by your latest diagnostic needs."})]}),e.jsxs("button",{type:"button",onClick:()=>c("recommended"),className:"inline-flex items-center gap-1.5 rounded-xl bg-amber-600 px-3 py-2 text-xs font-bold text-white transition-colors hover:bg-amber-700",children:["View Recommended",e.jsx(Ce,{size:14})]})]}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:o.map((u,a)=>e.jsxs("span",{className:"rounded-full bg-white px-3 py-1 text-xs font-semibold text-amber-900 shadow-sm",children:[a+1,". ",tt[u]]},u))})]})]}),e.jsx(Y,{mode:"wait",children:e.jsx(p.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3},className:"flex-1 overflow-y-auto",children:m==="practice"?e.jsx(Vt,{onStartQuiz:$,searchQuery:P,allowedSubjectIds:L}):m==="modules"?e.jsx(Jt,{modules:h,onSelectModule:A,isAtRisk:o.length>0}):e.jsx(es,{modules:h,fullPool:q,onSelectModule:A,isAtRisk:o.length>0})},m)})]})},Jt=({modules:t,onSelectModule:i,isAtRisk:x=!1})=>e.jsx("div",{className:"h-full overflow-y-auto pr-2 pb-8 scrollbar-hide space-y-8",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-indigo-50 border border-indigo-100 flex items-center justify-center text-indigo-500 shadow-inner",children:e.jsx(nt,{size:20,strokeWidth:2.5})}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"General Mathematics Modules"})]}),t.length===0?e.jsxs("div",{className:"bg-white rounded-2xl border border-[#dde3eb] p-8 text-center",children:[e.jsx("p",{className:"text-slate-700 font-semibold",children:"No matching modules found."}),e.jsx("p",{className:"mt-2 text-sm text-slate-500",children:"If modules are not yet available for your selected view, this area will unlock after assessment sync and content rollout."})]}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:t.map((r,n)=>e.jsx(we,{module:r,index:n,onClick:()=>i(r),isAtRisk:x},r.id))})]})}),es=({modules:t,fullPool:i,onSelectModule:x,isAtRisk:r=!1})=>{const n=t.filter(c=>c.progress>0&&c.progress<100),m=(t.length>0?t:i).filter(c=>c.progress===0).slice(0,6);return e.jsxs("div",{className:"h-full overflow-y-auto pr-2 pb-8 space-y-10 scrollbar-hide",children:[n.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-[#FF8B8B]/10 flex items-center justify-center text-[20px] shadow-inner",children:"🔥"}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"Continue This Module"})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:n.slice(0,4).map((c,S)=>e.jsx(we,{module:c,index:S,onClick:()=>x(c),isAtRisk:r,badgeLabel:"In Progress"},c.id))})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("div",{className:"w-10 h-10 rounded-[14px] bg-[#75D06A]/10 flex items-center justify-center text-[20px] shadow-inner",children:e.jsx(je,{size:19,className:"text-[#75D06A]"})}),e.jsx("h2",{className:"font-display font-black text-[24px] text-slate-800 tracking-tight",children:"Suggested Next"})]}),m.length===0?e.jsx("div",{className:"bg-white rounded-2xl border border-[#dde3eb] p-8 text-center text-slate-500 font-medium",children:"You are all caught up. Practice more quizzes to unlock additional recommendations."}):e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 xl:grid-cols-4 gap-6",children:m.map((c,S)=>e.jsx(we,{module:c,index:S,onClick:()=>x(c),isAtRisk:r,badgeLabel:"Start"},c.id))})]})]})};export{Qs as default}; diff --git a/assets/NotificationCenter-DwfKrdw2.js b/assets/NotificationCenter-l7IdH4wu.js similarity index 92% rename from assets/NotificationCenter-DwfKrdw2.js rename to assets/NotificationCenter-l7IdH4wu.js index d7dac2df233f77a3bc77ce1d77d55fda4a01ebd0..12c57c38fa9a15080ad31fd01cf03ecb870749c1 100644 --- a/assets/NotificationCenter-DwfKrdw2.js +++ b/assets/NotificationCenter-l7IdH4wu.js @@ -1 +1 @@ -import{r as m,j as e}from"./vendor-react-Dexh7fmo.js";import{u as w,m as o,e as A,n as C,h as z,i as M}from"./index-CUP7q97n.js";import{B as h}from"./bell-CPMVIplR.js";import{C as E}from"./check-check-DgFAqf3A.js";import{X as R}from"./x-DSPvcKpY.js";import{B as T}from"./book-open-CeQC7bWj.js";import{M as $}from"./message-square-C0Ume0lR.js";import{C as B}from"./circle-alert-_UGdorkr.js";import{T as H}from"./trophy-di6eNjuA.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const W=({userRole:S="student"})=>{const{currentUser:l}=w(),[u,x]=m.useState(!1),[r,f]=m.useState([]),[D,p]=m.useState(!1);m.useEffect(()=>{(async()=>{if(l){p(!0);try{const N=(await C(l.uid,20)).map(s=>{let n="info";s.type==="achievement"?n="achievement":s.type==="risk_alert"||s.type==="reminder"?n="alert":s.type==="message"?n="message":n="info";const v=s.createdAt instanceof Date?s.createdAt:new Date(s.createdAt),k=Date.now()-v.getTime(),i=Math.floor(k/6e4);let d;return i<1?d="Just now":i<60?d=`${i} min ago`:i<1440?d=`${Math.floor(i/60)} hours ago`:d=`${Math.floor(i/1440)} days ago`,{id:s.id,type:n,title:s.title,message:s.message,time:d,read:s.read}});f(N)}catch(a){console.error("Error loading notifications:",a)}finally{p(!1)}}})()},[l]);const c=r.filter(t=>!t.read).length,b=()=>{f(r.map(t=>({...t,read:!0}))),l&&z(l.uid).catch(t=>console.error("Error marking all as read:",t))},g=t=>{f(r.map(a=>a.id===t?{...a,read:!0}:a)),M(t).catch(a=>console.error("Error marking as read:",a))},y=t=>{switch(t){case"achievement":return H;case"alert":return B;case"message":return $;case"info":return T;default:return h}},j=t=>{switch(t){case"achievement":return"bg-rose-500/10 text-rose-600";case"alert":return"bg-red-500/10 text-red-600";case"message":return"bg-sky-500/10 text-sky-600";case"info":return"bg-emerald-500/10 text-emerald-600";default:return"bg-[#edf1f7] text-[#5a6578]"}};return e.jsxs("div",{className:"relative",children:[e.jsxs(o.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>x(!u),className:"relative p-3 bg-[#edf1f7] rounded-xl text-[#5a6578] hover:bg-[#dde3eb] transition-colors",children:[e.jsx(h,{size:20}),c>0&&e.jsx(o.span,{initial:{scale:0},animate:{scale:1},className:"absolute -top-1 -right-1 w-5 h-5 bg-sky-600 text-white text-xs font-bold rounded-full flex items-center justify-center",children:c})]}),e.jsx(A,{children:u&&e.jsxs("div",{children:[e.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>x(!1)}),e.jsxs(o.div,{initial:{opacity:0,y:-10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-10,scale:.95},transition:{duration:.2},className:"absolute right-0 top-full mt-2 w-96 bg-[#f7f9fc] rounded-xl shadow-2xl border border-[#dde3eb] z-50 overflow-hidden",children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex items-center justify-between bg-gradient-to-r from-sky-600 to-sky-500",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-display font-bold text-white",children:"Notifications"}),e.jsx("p",{className:"text-xs text-sky-100 mt-0.5",children:c>0?`${c} unread`:"All caught up!"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[c>0&&e.jsx(o.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:b,className:"text-xs text-sky-400 hover:text-sky-300 font-bold",children:e.jsx(E,{size:18})}),e.jsx(o.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>x(!1),className:"text-slate-500 hover:text-sky-700",children:e.jsx(R,{size:18})})]})]}),e.jsx("div",{className:"max-h-96 overflow-y-auto",children:r.length===0?e.jsxs("div",{className:"p-8 text-center",children:[e.jsx(h,{size:48,className:"text-[#d1cec6] mx-auto mb-3"}),e.jsx("p",{className:"text-[#5a6578] text-sm font-body",children:"No notifications yet"})]}):e.jsx("div",{children:r.map(t=>{const a=y(t.type);return e.jsx(o.div,{whileHover:{backgroundColor:"rgba(241, 245, 249, 0.5)"},onClick:()=>g(t.id),className:`p-4 border-b border-[#dde3eb] cursor-pointer transition-colors ${t.read?"":"bg-sky-50/40"}`,children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0 ${j(t.type)}`,children:e.jsx(a,{size:18})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2 mb-1",children:[e.jsx("h4",{className:"text-sm font-bold text-[#0a1628] line-clamp-1 font-body",children:t.title}),!t.read&&e.jsx("span",{className:"w-2 h-2 bg-sky-600 rounded-full flex-shrink-0 mt-1.5"})]}),e.jsx("p",{className:"text-xs text-[#5a6578] mb-2 line-clamp-2 font-body",children:t.message}),e.jsx("p",{className:"text-xs text-slate-500",children:t.time})]})]})},t.id)})})}),r.length>0&&e.jsx("div",{className:"p-3 border-t border-[#dde3eb] text-center bg-[#edf1f7]",children:e.jsx("button",{className:"text-xs text-sky-600 hover:text-sky-700 font-bold font-body",children:"View All Notifications"})})]})]},"notification-panel")})]})};export{W as default}; +import{r as m,j as e}from"./vendor-react-Dexh7fmo.js";import{u as w,m as o,e as A,n as C,h as z,i as M}from"./index-DGWrSMOK.js";import{B as h}from"./bell-DeNrtKrI.js";import{C as E}from"./check-check-BDU3hkDf.js";import{X as R}from"./x-Bj25rnWX.js";import{B as T}from"./book-open-B5Xvd1JL.js";import{M as $}from"./message-square-DIXhbelM.js";import{C as B}from"./circle-alert-D8UKyVHS.js";import{T as H}from"./trophy-73YPSH67.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const W=({userRole:S="student"})=>{const{currentUser:l}=w(),[u,x]=m.useState(!1),[r,f]=m.useState([]),[D,p]=m.useState(!1);m.useEffect(()=>{(async()=>{if(l){p(!0);try{const N=(await C(l.uid,20)).map(s=>{let n="info";s.type==="achievement"?n="achievement":s.type==="risk_alert"||s.type==="reminder"?n="alert":s.type==="message"?n="message":n="info";const v=s.createdAt instanceof Date?s.createdAt:new Date(s.createdAt),k=Date.now()-v.getTime(),i=Math.floor(k/6e4);let d;return i<1?d="Just now":i<60?d=`${i} min ago`:i<1440?d=`${Math.floor(i/60)} hours ago`:d=`${Math.floor(i/1440)} days ago`,{id:s.id,type:n,title:s.title,message:s.message,time:d,read:s.read}});f(N)}catch(a){console.error("Error loading notifications:",a)}finally{p(!1)}}})()},[l]);const c=r.filter(t=>!t.read).length,b=()=>{f(r.map(t=>({...t,read:!0}))),l&&z(l.uid).catch(t=>console.error("Error marking all as read:",t))},g=t=>{f(r.map(a=>a.id===t?{...a,read:!0}:a)),M(t).catch(a=>console.error("Error marking as read:",a))},y=t=>{switch(t){case"achievement":return H;case"alert":return B;case"message":return $;case"info":return T;default:return h}},j=t=>{switch(t){case"achievement":return"bg-rose-500/10 text-rose-600";case"alert":return"bg-red-500/10 text-red-600";case"message":return"bg-sky-500/10 text-sky-600";case"info":return"bg-emerald-500/10 text-emerald-600";default:return"bg-[#edf1f7] text-[#5a6578]"}};return e.jsxs("div",{className:"relative",children:[e.jsxs(o.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>x(!u),className:"relative p-3 bg-[#edf1f7] rounded-xl text-[#5a6578] hover:bg-[#dde3eb] transition-colors",children:[e.jsx(h,{size:20}),c>0&&e.jsx(o.span,{initial:{scale:0},animate:{scale:1},className:"absolute -top-1 -right-1 w-5 h-5 bg-sky-600 text-white text-xs font-bold rounded-full flex items-center justify-center",children:c})]}),e.jsx(A,{children:u&&e.jsxs("div",{children:[e.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>x(!1)}),e.jsxs(o.div,{initial:{opacity:0,y:-10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-10,scale:.95},transition:{duration:.2},className:"absolute right-0 top-full mt-2 w-96 bg-[#f7f9fc] rounded-xl shadow-2xl border border-[#dde3eb] z-50 overflow-hidden",children:[e.jsxs("div",{className:"p-4 border-b border-[#dde3eb] flex items-center justify-between bg-gradient-to-r from-sky-600 to-sky-500",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-display font-bold text-white",children:"Notifications"}),e.jsx("p",{className:"text-xs text-sky-100 mt-0.5",children:c>0?`${c} unread`:"All caught up!"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[c>0&&e.jsx(o.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:b,className:"text-xs text-sky-400 hover:text-sky-300 font-bold",children:e.jsx(E,{size:18})}),e.jsx(o.button,{whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>x(!1),className:"text-slate-500 hover:text-sky-700",children:e.jsx(R,{size:18})})]})]}),e.jsx("div",{className:"max-h-96 overflow-y-auto",children:r.length===0?e.jsxs("div",{className:"p-8 text-center",children:[e.jsx(h,{size:48,className:"text-[#d1cec6] mx-auto mb-3"}),e.jsx("p",{className:"text-[#5a6578] text-sm font-body",children:"No notifications yet"})]}):e.jsx("div",{children:r.map(t=>{const a=y(t.type);return e.jsx(o.div,{whileHover:{backgroundColor:"rgba(241, 245, 249, 0.5)"},onClick:()=>g(t.id),className:`p-4 border-b border-[#dde3eb] cursor-pointer transition-colors ${t.read?"":"bg-sky-50/40"}`,children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0 ${j(t.type)}`,children:e.jsx(a,{size:18})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2 mb-1",children:[e.jsx("h4",{className:"text-sm font-bold text-[#0a1628] line-clamp-1 font-body",children:t.title}),!t.read&&e.jsx("span",{className:"w-2 h-2 bg-sky-600 rounded-full flex-shrink-0 mt-1.5"})]}),e.jsx("p",{className:"text-xs text-[#5a6578] mb-2 line-clamp-2 font-body",children:t.message}),e.jsx("p",{className:"text-xs text-slate-500",children:t.time})]})]})},t.id)})})}),r.length>0&&e.jsx("div",{className:"p-3 border-t border-[#dde3eb] text-center bg-[#edf1f7]",children:e.jsx("button",{className:"text-xs text-sky-600 hover:text-sky-700 font-bold font-body",children:"View All Notifications"})})]})]},"notification-panel")})]})};export{W as default}; diff --git a/assets/ProfileModal-CZ6-Hci5.js b/assets/ProfileModal-CvubwvbT.js similarity index 97% rename from assets/ProfileModal-CZ6-Hci5.js rename to assets/ProfileModal-CvubwvbT.js index 6dcaf6925866ef635c31781e5dce14958c110d52..6f9aa22f4a9b5c3f7ceb7a5f07e88e14374c5b36 100644 --- a/assets/ProfileModal-CZ6-Hci5.js +++ b/assets/ProfileModal-CvubwvbT.js @@ -1,4 +1,4 @@ -import{r,j as e}from"./vendor-react-Dexh7fmo.js";import{B as c}from"./button-DWdPuxDU.js";import{I as l}from"./input-DBkKXOmF.js";import{c as u,e as P,m as k,G as A,L as B}from"./index-CUP7q97n.js";import{C as R}from"./CompositeAvatar-DHpmR1ki.js";import{X as D}from"./x-DSPvcKpY.js";import{U as f}from"./users-BpOE7EHN.js";import{M as F}from"./mail-Dt-oZ527.js";import{A as b}from"./award-BtESaHld.js";import{B as w}from"./book-open-CeQC7bWj.js";import{C as U}from"./calendar-BJy8dui2.js";import{G as _}from"./globe-CTl9V8GV.js";import{S as T}from"./save-DTLT0-dh.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./avatarData-DykDiQ_Y.js";/** +import{r,j as e}from"./vendor-react-Dexh7fmo.js";import{B as c}from"./button-DWdPuxDU.js";import{I as l}from"./input-DBkKXOmF.js";import{c as u,e as P,m as k,G as A,L as B}from"./index-DGWrSMOK.js";import{C as R}from"./CompositeAvatar-CphZ-OWw.js";import{X as D}from"./x-Bj25rnWX.js";import{U as f}from"./users-BRS21lR4.js";import{M as F}from"./mail-D-r4ZWDN.js";import{A as b}from"./award-DpLN2BvV.js";import{B as w}from"./book-open-B5Xvd1JL.js";import{C as U}from"./calendar-19p2TrVX.js";import{G as _}from"./globe-CA6LY_zw.js";import{S as T}from"./save-B5SCmCsP.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./avatarData-DykDiQ_Y.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/QuizBattlePage-BL6YOo4B.js b/assets/QuizBattlePage-BhgM4TWz.js similarity index 99% rename from assets/QuizBattlePage-BL6YOo4B.js rename to assets/QuizBattlePage-BhgM4TWz.js index 0b57323388a5b76afa28a009096d32a127d4a465..719517ca8085ccd5379d533cd0442608c0549a3a 100644 --- a/assets/QuizBattlePage-BL6YOo4B.js +++ b/assets/QuizBattlePage-BhgM4TWz.js @@ -1,4 +1,4 @@ -import{c as oe,m as b,d as qe,H as Se,I as $e,J as E,u as sa,_ as ra,M as na,B as et,l as oa}from"./index-CUP7q97n.js";import{r as d,j as e}from"./vendor-react-Dexh7fmo.js";import{c as u}from"./utils-BQQgILNW.js";import{C as ia}from"./CompositeAvatar-DHpmR1ki.js";import{g as la,s as da}from"./subjects-Cwbch54O.js";import{d as ca,b as ua,w as _t,o as Tt,l as nt,h as ot,q as it,e as lt}from"./vendor-firebase-firestore-CkuVbeP5.js";import{Y as R,Z as Pt,$ as qt,a0 as ve,a1 as ma}from"./vendor-firebase-core-DQ-pMjxd.js";import{B as _}from"./button-DWdPuxDU.js";import{T as xa,a as he}from"./tabs-BJVl1n4R.js";import{S as be,a as fe,b as ge,c as we,d as L}from"./select-LT8ybtB9.js";import{I as pa}from"./input-DBkKXOmF.js";import{S as St}from"./switch-DbjIWZtF.js";import{S as re,C as It}from"./skeleton-6_TnmEdc.js";import{S as Re}from"./swords-DXWdiz6s.js";import{S as Fe}from"./star-CX9mS3Me.js";import{U as _e}from"./users-BpOE7EHN.js";import{T as tt}from"./trophy-di6eNjuA.js";import{T as zt}from"./target-DaU28Ow3.js";import{S as At}from"./sparkles-Cg_SVFRk.js";import{C as De}from"./chevron-right-BKVsZIKp.js";import{C as Ct}from"./check-DXbjXZsm.js";import{L as at}from"./loader-circle-kcw3SM4v.js";import{S as ha}from"./shield-check-g-gosqjU.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./clsx-B-dksMZM.js";import"./avatarData-DykDiQ_Y.js";import"./trending-up-DmBYqjZb.js";import"./chart-column-D_9m8xSU.js";import"./vendor-radix-B-ht8aK0.js";import"./chevron-up-B9_iMYGp.js";/** +import{c as oe,m as b,d as qe,H as Se,I as $e,J as E,u as sa,_ as ra,M as na,B as et,l as oa}from"./index-DGWrSMOK.js";import{r as d,j as e}from"./vendor-react-Dexh7fmo.js";import{c as u}from"./utils-BQQgILNW.js";import{C as ia}from"./CompositeAvatar-CphZ-OWw.js";import{g as la,s as da}from"./subjects-DDYtJwQO.js";import{d as ca,b as ua,w as _t,o as Tt,l as nt,h as ot,q as it,e as lt}from"./vendor-firebase-firestore-CkuVbeP5.js";import{Y as R,Z as Pt,$ as qt,a0 as ve,a1 as ma}from"./vendor-firebase-core-DQ-pMjxd.js";import{B as _}from"./button-DWdPuxDU.js";import{T as xa,a as he}from"./tabs-BJVl1n4R.js";import{S as be,a as fe,b as ge,c as we,d as L}from"./select-CH9gS87N.js";import{I as pa}from"./input-DBkKXOmF.js";import{S as St}from"./switch-DbjIWZtF.js";import{S as re,C as It}from"./skeleton-DgVR4gS7.js";import{S as Re}from"./swords-Bn50CmyM.js";import{S as Fe}from"./star-DqP0S0c5.js";import{U as _e}from"./users-BRS21lR4.js";import{T as tt}from"./trophy-73YPSH67.js";import{T as zt}from"./target-7Gevl8jn.js";import{S as At}from"./sparkles-DxmNHQEo.js";import{C as De}from"./chevron-right-DxXkA9aZ.js";import{C as Ct}from"./check-BONc3QkK.js";import{L as at}from"./loader-circle-BUf2fYcT.js";import{S as ha}from"./shield-check-B-VFrdlh.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./clsx-B-dksMZM.js";import"./avatarData-DykDiQ_Y.js";import"./trending-up-B2MPUPwk.js";import"./chart-column-CJzwyNMx.js";import"./vendor-radix-B-ht8aK0.js";import"./chevron-up-BJyzaJs7.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/RewardsModal-DVcgjCVB.js b/assets/RewardsModal-CtOcWG3R.js similarity index 94% rename from assets/RewardsModal-DVcgjCVB.js rename to assets/RewardsModal-CtOcWG3R.js index 2aaa90e7e8a4415a9a36c82ccaa80e1e80a08202..00c2fbb507bcc133c9ce4ef17336ec1282c535a1 100644 --- a/assets/RewardsModal-DVcgjCVB.js +++ b/assets/RewardsModal-CtOcWG3R.js @@ -1 +1 @@ -import{j as e}from"./vendor-react-Dexh7fmo.js";import{X as h}from"./x-DSPvcKpY.js";import{l as o,F as d,Z as f}from"./index-CUP7q97n.js";import{S as n}from"./star-CX9mS3Me.js";import{T as g}from"./trophy-di6eNjuA.js";import{T as j}from"./target-DaU28Ow3.js";import{B as u}from"./book-open-CeQC7bWj.js";import{A as N}from"./award-BtESaHld.js";import{C as v}from"./calendar-BJy8dui2.js";import{U as w}from"./users-BpOE7EHN.js";import{T as y}from"./trending-up-DmBYqjZb.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const R=({isOpen:c,onClose:r,userLevel:t,currentXP:i,xpToNextLevel:a,totalXP:x,streak:m})=>{if(!c)return null;const b=[{id:"1",icon:n,title:"First Steps",description:"Complete your first video lesson",unlocked:!0,color:"text-[#9956DE]",bgColor:"bg-[#FB96BB]/20"},{id:"2",icon:g,title:"Quiz Master",description:"Score 100% on any quiz",unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"3",icon:d,title:"Week Warrior",description:"Maintain a 7-day login streak",progress:2,total:7,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"4",icon:j,title:"Practice Makes Perfect",description:"Complete 10 practice sets",progress:2,total:10,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"5",icon:u,title:"Knowledge Seeker",description:"Watch 20 video lessons",unlocked:!0,color:"text-[#1FA7E1]",bgColor:"bg-[#6ED1CF]/20"},{id:"6",icon:f,title:"Speed Learner",description:"Complete 5 lessons in one day",unlocked:!0,color:"text-[#FFB356]",bgColor:"bg-[#FFB356]/20"},{id:"7",icon:o,title:"Crown Achiever",description:"Reach Level 10",progress:4,total:10,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"8",icon:N,title:"XP Hunter",description:"Earn 1000 XP",unlocked:!0,color:"text-[#7274ED]",bgColor:"bg-[#7274ED]/15"},{id:"9",icon:v,title:"Dedicated Learner",description:"Maintain a 14-day streak",progress:2,total:14,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"10",icon:w,title:"Monthly Champion",description:"Maintain a 30-day streak",progress:2,total:30,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"}],p=[{activity:"Complete a video lesson",xp:50},{activity:"Complete exercises",xp:100},{activity:"Perfect quiz score",xp:150},{activity:"Finish a quiz",xp:75},{activity:"Daily login streak",xp:25}];return e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-8",children:[e.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:r}),e.jsxs("div",{className:"relative bg-[#f7f9fc] rounded-2xl shadow-2xl border border-[#dde3eb] w-full max-w-2xl max-h-[85vh] overflow-hidden",children:[e.jsxs("div",{className:"bg-gradient-to-r from-[#9956DE] via-[#7274ED] to-[#1FA7E1] p-6 text-white relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_14%_12%,rgba(251,150,187,0.35),transparent_42%),radial-gradient(circle_at_80%_80%,rgba(117,208,106,0.25),transparent_38%)]"}),e.jsxs("div",{className:"flex items-center justify-between mb-4 relative z-10",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-display font-bold",children:"Rewards & Achievements"}),e.jsx("p",{className:"text-white/90 text-sm font-body",children:"Track your learning progress and unlock badges"})]}),e.jsx("button",{onClick:r,className:"text-white/90 hover:text-white hover:bg-white/20 p-2 rounded-xl transition-colors",children:e.jsx(h,{size:24})})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-3 relative z-10",children:[e.jsxs("div",{className:"bg-white/15 backdrop-blur-sm rounded-xl p-4 border border-white/25",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(o,{size:18,className:"text-[#FFB356]"}),e.jsx("span",{className:"text-xs font-medium text-white/90 font-body",children:"Level"})]}),e.jsx("p",{className:"text-2xl font-bold",children:t})]}),e.jsxs("div",{className:"bg-white/15 backdrop-blur-sm rounded-xl p-4 border border-white/25",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(n,{size:18,className:"text-[#6ED1CF]"}),e.jsx("span",{className:"text-xs font-medium text-white/90 font-body",children:"Total XP"})]}),e.jsx("p",{className:"text-2xl font-bold",children:x.toLocaleString()})]}),e.jsxs("div",{className:"bg-white/15 backdrop-blur-sm rounded-xl p-4 border border-white/25",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(d,{size:18,className:"text-[#FF8B8B]"}),e.jsx("span",{className:"text-xs font-medium text-white/90 font-body",children:"Day Streak"})]}),e.jsxs("p",{className:"text-2xl font-bold",children:[m," days"]})]})]}),e.jsxs("div",{className:"mt-4 relative z-10",children:[e.jsxs("div",{className:"flex justify-between items-center mb-2",children:[e.jsxs("span",{className:"text-sm font-bold text-white font-body",children:["Level ",t]}),e.jsxs("span",{className:"text-sm font-bold text-white font-body",children:["Level ",t+1]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"flex justify-between items-center mb-1",children:e.jsxs("span",{className:"text-xs text-white/90",children:[i," / ",a," XP"]})}),e.jsx("div",{className:"h-3 bg-white/20 rounded-full overflow-hidden border border-white/20",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-[#6ED1CF] via-[#75D06A] to-[#FFB356] rounded-full transition-all duration-500",style:{width:`${i/a*100}%`}})})]})]})]}),e.jsxs("div",{className:"p-6 overflow-y-auto max-h-[calc(85vh-280px)]",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h3",{className:"text-lg font-display font-bold text-[#0a1628] mb-4",children:"Achievements"}),e.jsx("div",{className:"grid grid-cols-2 gap-3",children:b.map(s=>{const l=s.icon;return e.jsx("div",{className:`${s.unlocked?"bg-white border-[#9956DE]/25":"bg-[#edf1f7] border-[#dde3eb]"} border-2 rounded-xl p-4 transition-all ${s.unlocked?"shadow-md":"opacity-60"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-12 h-12 ${s.bgColor} rounded-xl flex items-center justify-center flex-shrink-0`,children:e.jsx(l,{size:24,className:s.color})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("h4",{className:`text-sm font-bold ${s.unlocked?"text-[#0a1628]":"text-slate-500"} font-body`,children:s.title}),s.unlocked&&e.jsx("span",{className:"px-2 py-0.5 bg-[#75D06A] text-white text-[9px] font-bold rounded-full",children:"Unlocked"})]}),e.jsx("p",{className:`text-xs ${s.unlocked?"text-[#5a6578]":"text-slate-500"} mb-2`,children:s.description}),s.progress!==void 0&&s.total!==void 0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-1",children:[e.jsx("span",{className:"text-[10px] text-slate-500",children:"Progress"}),e.jsxs("span",{className:"text-[10px] font-bold text-[#5a6578]",children:[s.progress," / ",s.total]})]}),e.jsx("div",{className:"h-1.5 bg-[#dde3eb] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-[#7274ED] to-[#1FA7E1] rounded-full transition-all",style:{width:`${s.progress/s.total*100}%`}})})]})]})]})},s.id)})})]}),e.jsxs("div",{className:"bg-white rounded-xl p-5 border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx("div",{className:"w-8 h-8 bg-gradient-to-br from-[#7274ED] to-[#1FA7E1] rounded-lg flex items-center justify-center",children:e.jsx(y,{size:16,className:"text-white"})}),e.jsx("h3",{className:"text-base font-display font-bold text-[#0a1628]",children:"How to Earn XP"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:p.map((s,l)=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-1.5 h-1.5 bg-[#1FA7E1] rounded-full"}),e.jsxs("span",{className:"text-xs text-[#5a6578] font-body",children:[s.activity,":"]}),e.jsxs("span",{className:"text-xs font-bold text-[#7274ED]",children:["+",s.xp," XP"]})]},l))})]})]})]})]})};export{R as default}; +import{j as e}from"./vendor-react-Dexh7fmo.js";import{X as h}from"./x-Bj25rnWX.js";import{l as o,F as d,Z as f}from"./index-DGWrSMOK.js";import{S as n}from"./star-DqP0S0c5.js";import{T as g}from"./trophy-73YPSH67.js";import{T as j}from"./target-7Gevl8jn.js";import{B as u}from"./book-open-B5Xvd1JL.js";import{A as N}from"./award-DpLN2BvV.js";import{C as v}from"./calendar-19p2TrVX.js";import{U as w}from"./users-BRS21lR4.js";import{T as y}from"./trending-up-B2MPUPwk.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const R=({isOpen:c,onClose:r,userLevel:t,currentXP:i,xpToNextLevel:a,totalXP:x,streak:m})=>{if(!c)return null;const b=[{id:"1",icon:n,title:"First Steps",description:"Complete your first video lesson",unlocked:!0,color:"text-[#9956DE]",bgColor:"bg-[#FB96BB]/20"},{id:"2",icon:g,title:"Quiz Master",description:"Score 100% on any quiz",unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"3",icon:d,title:"Week Warrior",description:"Maintain a 7-day login streak",progress:2,total:7,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"4",icon:j,title:"Practice Makes Perfect",description:"Complete 10 practice sets",progress:2,total:10,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"5",icon:u,title:"Knowledge Seeker",description:"Watch 20 video lessons",unlocked:!0,color:"text-[#1FA7E1]",bgColor:"bg-[#6ED1CF]/20"},{id:"6",icon:f,title:"Speed Learner",description:"Complete 5 lessons in one day",unlocked:!0,color:"text-[#FFB356]",bgColor:"bg-[#FFB356]/20"},{id:"7",icon:o,title:"Crown Achiever",description:"Reach Level 10",progress:4,total:10,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"8",icon:N,title:"XP Hunter",description:"Earn 1000 XP",unlocked:!0,color:"text-[#7274ED]",bgColor:"bg-[#7274ED]/15"},{id:"9",icon:v,title:"Dedicated Learner",description:"Maintain a 14-day streak",progress:2,total:14,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"},{id:"10",icon:w,title:"Monthly Champion",description:"Maintain a 30-day streak",progress:2,total:30,unlocked:!1,color:"text-slate-500",bgColor:"bg-slate-100"}],p=[{activity:"Complete a video lesson",xp:50},{activity:"Complete exercises",xp:100},{activity:"Perfect quiz score",xp:150},{activity:"Finish a quiz",xp:75},{activity:"Daily login streak",xp:25}];return e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-8",children:[e.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:r}),e.jsxs("div",{className:"relative bg-[#f7f9fc] rounded-2xl shadow-2xl border border-[#dde3eb] w-full max-w-2xl max-h-[85vh] overflow-hidden",children:[e.jsxs("div",{className:"bg-gradient-to-r from-[#9956DE] via-[#7274ED] to-[#1FA7E1] p-6 text-white relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_14%_12%,rgba(251,150,187,0.35),transparent_42%),radial-gradient(circle_at_80%_80%,rgba(117,208,106,0.25),transparent_38%)]"}),e.jsxs("div",{className:"flex items-center justify-between mb-4 relative z-10",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-display font-bold",children:"Rewards & Achievements"}),e.jsx("p",{className:"text-white/90 text-sm font-body",children:"Track your learning progress and unlock badges"})]}),e.jsx("button",{onClick:r,className:"text-white/90 hover:text-white hover:bg-white/20 p-2 rounded-xl transition-colors",children:e.jsx(h,{size:24})})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-3 relative z-10",children:[e.jsxs("div",{className:"bg-white/15 backdrop-blur-sm rounded-xl p-4 border border-white/25",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(o,{size:18,className:"text-[#FFB356]"}),e.jsx("span",{className:"text-xs font-medium text-white/90 font-body",children:"Level"})]}),e.jsx("p",{className:"text-2xl font-bold",children:t})]}),e.jsxs("div",{className:"bg-white/15 backdrop-blur-sm rounded-xl p-4 border border-white/25",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(n,{size:18,className:"text-[#6ED1CF]"}),e.jsx("span",{className:"text-xs font-medium text-white/90 font-body",children:"Total XP"})]}),e.jsx("p",{className:"text-2xl font-bold",children:x.toLocaleString()})]}),e.jsxs("div",{className:"bg-white/15 backdrop-blur-sm rounded-xl p-4 border border-white/25",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(d,{size:18,className:"text-[#FF8B8B]"}),e.jsx("span",{className:"text-xs font-medium text-white/90 font-body",children:"Day Streak"})]}),e.jsxs("p",{className:"text-2xl font-bold",children:[m," days"]})]})]}),e.jsxs("div",{className:"mt-4 relative z-10",children:[e.jsxs("div",{className:"flex justify-between items-center mb-2",children:[e.jsxs("span",{className:"text-sm font-bold text-white font-body",children:["Level ",t]}),e.jsxs("span",{className:"text-sm font-bold text-white font-body",children:["Level ",t+1]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"flex justify-between items-center mb-1",children:e.jsxs("span",{className:"text-xs text-white/90",children:[i," / ",a," XP"]})}),e.jsx("div",{className:"h-3 bg-white/20 rounded-full overflow-hidden border border-white/20",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-[#6ED1CF] via-[#75D06A] to-[#FFB356] rounded-full transition-all duration-500",style:{width:`${i/a*100}%`}})})]})]})]}),e.jsxs("div",{className:"p-6 overflow-y-auto max-h-[calc(85vh-280px)]",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h3",{className:"text-lg font-display font-bold text-[#0a1628] mb-4",children:"Achievements"}),e.jsx("div",{className:"grid grid-cols-2 gap-3",children:b.map(s=>{const l=s.icon;return e.jsx("div",{className:`${s.unlocked?"bg-white border-[#9956DE]/25":"bg-[#edf1f7] border-[#dde3eb]"} border-2 rounded-xl p-4 transition-all ${s.unlocked?"shadow-md":"opacity-60"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-12 h-12 ${s.bgColor} rounded-xl flex items-center justify-center flex-shrink-0`,children:e.jsx(l,{size:24,className:s.color})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("h4",{className:`text-sm font-bold ${s.unlocked?"text-[#0a1628]":"text-slate-500"} font-body`,children:s.title}),s.unlocked&&e.jsx("span",{className:"px-2 py-0.5 bg-[#75D06A] text-white text-[9px] font-bold rounded-full",children:"Unlocked"})]}),e.jsx("p",{className:`text-xs ${s.unlocked?"text-[#5a6578]":"text-slate-500"} mb-2`,children:s.description}),s.progress!==void 0&&s.total!==void 0&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-1",children:[e.jsx("span",{className:"text-[10px] text-slate-500",children:"Progress"}),e.jsxs("span",{className:"text-[10px] font-bold text-[#5a6578]",children:[s.progress," / ",s.total]})]}),e.jsx("div",{className:"h-1.5 bg-[#dde3eb] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-[#7274ED] to-[#1FA7E1] rounded-full transition-all",style:{width:`${s.progress/s.total*100}%`}})})]})]})]})},s.id)})})]}),e.jsxs("div",{className:"bg-white rounded-xl p-5 border border-[#dde3eb]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx("div",{className:"w-8 h-8 bg-gradient-to-br from-[#7274ED] to-[#1FA7E1] rounded-lg flex items-center justify-center",children:e.jsx(y,{size:16,className:"text-white"})}),e.jsx("h3",{className:"text-base font-display font-bold text-[#0a1628]",children:"How to Earn XP"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:p.map((s,l)=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-1.5 h-1.5 bg-[#1FA7E1] rounded-full"}),e.jsxs("span",{className:"text-xs text-[#5a6578] font-body",children:[s.activity,":"]}),e.jsxs("span",{className:"text-xs font-bold text-[#7274ED]",children:["+",s.xp," XP"]})]},l))})]})]})]})]})};export{R as default}; diff --git a/assets/RightSidebar-ZeBX_x2u.js b/assets/RightSidebar-kfU04N_d.js similarity index 98% rename from assets/RightSidebar-ZeBX_x2u.js rename to assets/RightSidebar-kfU04N_d.js index 9c8348b0c4933d22c1133aa28545387a61d5019a..c65ac0e37680734176b11a5169e554e258752ae8 100644 --- a/assets/RightSidebar-ZeBX_x2u.js +++ b/assets/RightSidebar-kfU04N_d.js @@ -1 +1 @@ -import{r as m,j as e}from"./vendor-react-Dexh7fmo.js";import{e as g,m as r,Z as f,F as p,l as x}from"./index-CUP7q97n.js";import{C as v}from"./circle-check-big-5ddhW4zc.js";import{T as j,a as w,b as N}from"./tooltip-D9lDiW9U.js";import{T as y}from"./trophy-di6eNjuA.js";import{C as h}from"./chevron-right-BKVsZIKp.js";import{S as C}from"./star-CX9mS3Me.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-radix-B-ht8aK0.js";import"./utils-BQQgILNW.js";import"./clsx-B-dksMZM.js";const b=[{id:1,title:"Daily challenge",subtitle:"Do your plan before 09:00 AM",bgColor:"bg-[#6ED1CF]",orbColor:"bg-[#50B8B6]",avatars:["https://i.pravatar.cc/150?img=1","https://i.pravatar.cc/150?img=5","https://i.pravatar.cc/150?img=8"],extraCount:4,icon:e.jsx(f,{size:24,fill:"currentColor",className:"text-white"})},{id:2,title:"Weekend Warrior",subtitle:"Complete 3 modules this weekend",bgColor:"bg-[#FF8B8B]",orbColor:"bg-[#E06A6A]",avatars:["https://i.pravatar.cc/150?img=12","https://i.pravatar.cc/150?img=32"],extraCount:12,icon:e.jsx(p,{size:24,fill:"currentColor",className:"text-white"})},{id:3,title:"Speed Runner",subtitle:"Finish a quiz in under 5 mins",bgColor:"bg-[#75D06A]",orbColor:"bg-[#58B34D]",avatars:["https://i.pravatar.cc/150?img=44","https://i.pravatar.cc/150?img=55","https://i.pravatar.cc/150?img=68"],extraCount:8,icon:e.jsx(v,{size:24,className:"text-white"})}],_=(o=[])=>{const n=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],i=new Date,l=i.getDay(),a=[];for(let t=0;t<7;t++){const s=new Date(i);s.setDate(i.getDate()-l+t);const c=t===l,d=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,u=o.includes(d);a.push({dayName:n[t],dateNumber:s.getDate(),isToday:c,hasDot:u})}return a},k=({streakHistory:o=[]})=>{const[n,i]=m.useState(0),l=_(o);m.useEffect(()=>{const t=setInterval(()=>{i(s=>(s+1)%b.length)},5e3);return()=>clearInterval(t)},[]);const a=b[n];return e.jsxs("div",{className:"bg-white rounded-[24px] p-4 shadow-sm border border-slate-100 flex flex-col gap-6 mt-4 relative overflow-hidden",children:[e.jsx("div",{className:"relative h-[170px] rounded-[-20px] rounded-2xl overflow-hidden cursor-pointer group",children:e.jsx(g,{mode:"wait",children:e.jsxs(r.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},transition:{duration:.3},className:`absolute inset-0 ${a.bgColor} p-5 flex flex-col justify-between overflow-hidden`,children:[e.jsxs("div",{className:"absolute top-4 right-4 flex gap-1 items-center z-20",children:[e.jsx("div",{className:"w-3 h-1.5 rounded-full bg-white/60"}),e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-white/40"}),e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-white/40"})]}),e.jsx("div",{className:`absolute -right-4 -top-8 w-36 h-36 rounded-full ${a.orbColor} opacity-90 blur-2xl group-hover:scale-110 transition-transform duration-700 pointer-events-none`}),e.jsx("div",{className:"absolute right-4 bottom-4 w-[52px] h-[52px] rounded-2xl rotate-12 bg-white/20 backdrop-blur-md shadow-sm border border-white/20 group-hover:rotate-45 group-hover:scale-110 transition-transform duration-700 flex items-center justify-center",children:a.icon}),e.jsxs("div",{className:"relative z-10 w-3/4",children:[e.jsx("h3",{className:"font-display font-bold text-[22px] text-white mb-1",children:a.title}),e.jsx("p",{className:"text-[13px] font-medium text-white/80 leading-snug",children:a.subtitle})]}),e.jsxs("div",{className:"flex items-center -space-x-2.5 relative z-10 mt-auto",children:[a.avatars.map((t,s)=>e.jsx("img",{src:t,alt:"User",className:"w-[34px] h-[34px] rounded-full border-2 border-transparent object-cover relative z-[3] z-[2] z-[1]",style:{borderColor:a.bgColor.replace("bg-[","").replace("]","")}},s)),e.jsxs("div",{className:"w-[34px] h-[34px] rounded-full border-2 text-[12px] font-bold flex items-center justify-center text-white relative z-0",style:{backgroundColor:"rgba(0,0,0,0.2)",borderColor:a.bgColor.replace("bg-[","").replace("]","")},children:["+",a.extraCount]})]})]},a.id)})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-display text-[15px] font-bold text-[#141b2d] mb-4 px-1",children:"Your streak"}),e.jsx("div",{className:"flex justify-between items-center gap-1.5 px-0.5",children:l.map((t,s)=>e.jsxs("div",{className:`flex flex-col items-center pt-2 pb-3 w-[46px] h-[72px] rounded-[24px] border ${t.isToday?"bg-[#12192b] text-white border-transparent shadow-[0_8px_16px_rgba(18,25,43,0.3)] transform -translate-y-1":"bg-white text-slate-400 border-slate-200/80 hover:border-slate-300"} transition-all duration-200 cursor-pointer`,children:[e.jsx("div",{className:"h-1.5 flex items-center justify-center mb-1.5",children:t.hasDot?e.jsx("div",{className:`w-[5px] h-[5px] rounded-full ${t.isToday?"bg-white":"bg-slate-300"}`}):e.jsx("div",{className:`text-[10px] ${t.isToday?"text-white/50":"text-slate-200"} font-bold`,children:"+"})}),e.jsx("span",{className:`text-[11px] font-bold mb-1 ${t.isToday?"text-slate-300":"text-slate-400/80"}`,children:t.dayName}),e.jsx("span",{className:`text-[15px] font-bold leading-none ${t.isToday?"text-white":"text-[#334155]"}`,children:t.dateNumber})]},s))})]})]})},X=({onOpenRewards:o,onOpenLeaderboard:n,onNavigateToModules:i,userLevel:l,currentXP:a,xpToNextLevel:t,streak:s,streakHistory:c=[]})=>{const d=a/t*100;return e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs(r.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.1,duration:.4,ease:[.22,1,.36,1]},onClick:o,className:"rounded-2xl border border-[#9956DE]/25 cursor-pointer transition-all group relative overflow-hidden bg-gradient-to-br from-[#9956DE] via-[#7274ED] to-[#1FA7E1] hover:shadow-[0_16px_40px_rgba(114,116,237,0.28)] hover:-translate-y-0.5",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_18%_8%,rgba(251,150,187,0.32),transparent_42%),radial-gradient(circle_at_85%_84%,rgba(117,208,106,0.24),transparent_40%)]"}),e.jsxs("div",{className:"relative z-10 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-9 h-9 bg-white/20 rounded-xl flex items-center justify-center border border-white/35 backdrop-blur-sm",children:e.jsx(y,{size:16,className:"text-white"})}),e.jsx("h3",{className:"font-display font-bold text-sm text-white tracking-wide",children:"Rewards & Achievements"})]}),e.jsx(h,{size:16,className:"text-white/80 group-hover:text-white group-hover:translate-x-0.5 transition-all"})]}),e.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-body px-2 py-1 rounded-md bg-white/14 border border-white/25 text-white",children:[e.jsx(x,{size:12,className:"text-[#FFB356]"}),e.jsxs("span",{className:"font-bold",children:["Lv ",l]})]}),e.jsx("div",{className:"w-px h-3 bg-white/35"}),e.jsxs(j,{children:[e.jsx(w,{asChild:!0,children:e.jsxs("button",{onClick:i,className:"flex items-center gap-1.5 text-xs font-body px-2 py-1 rounded-md bg-white/14 border border-white/25 text-white cursor-pointer hover:bg-white/20 transition-colors active:scale-95",children:[e.jsx(C,{size:12,className:"text-[#6ED1CF]"}),e.jsxs("span",{className:"font-bold",children:[a," XP"]})]})}),e.jsx(N,{side:"top",className:"bg-slate-900 text-white border border-slate-700",children:"Review more lessons to earn more XP!"})]}),e.jsx("div",{className:"w-px h-3 bg-white/35"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-body px-2 py-1 rounded-md bg-white/14 border border-white/25 text-white",children:[e.jsx(p,{size:12,className:"text-[#FF8B8B]"}),e.jsxs("span",{className:"font-bold",children:[s,"d"]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-1.5",children:[e.jsxs("span",{className:"text-[11px] font-body text-white/90",children:["Next: Level ",l+1]}),e.jsxs("span",{className:"text-[11px] font-body font-semibold text-white",children:[Math.round(d),"%"]})]}),e.jsx("div",{className:"h-2 bg-white/25 rounded-full overflow-hidden border border-white/20",children:e.jsx(r.div,{initial:{width:0},animate:{width:`${d}%`},transition:{duration:1,ease:"easeOut"},className:"h-full bg-gradient-to-r from-[#6ED1CF] via-[#75D06A] to-[#FFB356] rounded-full"})})]})]})]}),e.jsx(r.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.2,duration:.4,ease:[.22,1,.36,1]},children:e.jsx(k,{streakHistory:c})}),e.jsxs(r.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.3,duration:.4,ease:[.22,1,.36,1]},onClick:n,className:"bg-white rounded-xl border border-slate-200/80 hover:shadow-md hover:border-amber-200/60 transition-all group overflow-hidden cursor-pointer",children:[e.jsxs("div",{className:"p-3 border-b border-slate-100 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-7 h-7 bg-amber-50 rounded-lg flex items-center justify-center border border-amber-200/60 transition-colors group-hover:bg-amber-100/50",children:e.jsx(x,{size:14,className:"text-amber-500"})}),e.jsx("h3",{className:"font-display font-bold text-sm text-[#0a1628]",children:"Leaderboards"})]}),e.jsx(h,{size:14,className:"text-slate-400 group-hover:translate-x-0.5 group-hover:text-amber-500 transition-transform"})]}),e.jsxs("div",{className:"pt-8 pb-3 px-2 bg-gradient-to-b from-slate-50/30 to-white flex items-end justify-center gap-1.5 min-h-[170px]",children:[e.jsxs("div",{className:"flex flex-col items-center relative z-10",children:[e.jsxs(r.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.5},className:"relative mb-2",children:[e.jsx("img",{src:"https://i.pravatar.cc/150?img=33",alt:"You",className:"w-10 h-10 rounded-full border-[3px] border-sky-400 z-10 relative object-cover shadow-sm bg-white"}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 bg-sky-500 text-white text-[10px] font-bold px-2 py-0.5 rounded-full z-20 shadow-sm",children:"2"})]}),e.jsxs(r.div,{initial:{height:0},animate:{height:"54px"},transition:{delay:.4,duration:.5,ease:"easeOut"},className:"w-[70px] bg-gradient-to-b from-slate-200 to-slate-100 rounded-t-xl rounded-b-md border-t-2 border-slate-50 flex items-center justify-center relative shadow-[inset_0_-4px_6px_rgba(0,0,0,0.05),0_4px_6px_rgba(0,0,0,0.05)]",children:[e.jsx("span",{className:"text-slate-400 font-black text-2xl opacity-40 translate-y-1",children:"2"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 bg-white/70 rounded-t-xl"})]}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("span",{className:"block text-[12px] font-bold text-[#0a1628]",children:"You"}),e.jsx("span",{className:"block text-[10px] text-sky-600 font-bold",children:"2.1k XP"})]})]}),e.jsxs("div",{className:"flex flex-col items-center relative z-20 -mx-2",children:[e.jsxs(r.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.7},className:"relative mb-2",children:[e.jsx("div",{className:"absolute -top-4 left-1/2 -translate-x-1/2 z-20",children:e.jsx(x,{size:22,className:"text-amber-400 drop-shadow-md mb-1",fill:"#fbbf24",strokeWidth:1.5})}),e.jsx("img",{src:"https://i.pravatar.cc/150?img=68",alt:"Alex",className:"w-[52px] h-[52px] rounded-full border-[3px] border-amber-400 z-10 relative object-cover shadow-md bg-white"}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 bg-amber-500 text-white text-[10px] font-bold px-2 py-0.5 rounded-full z-20 shadow-sm",children:"1"})]}),e.jsxs(r.div,{initial:{height:0},animate:{height:"74px"},transition:{delay:.6,duration:.5,ease:"easeOut"},className:"w-[78px] bg-gradient-to-b from-amber-100 to-amber-50 rounded-t-xl rounded-b-md border-t-2 border-amber-50 flex items-center justify-center relative shadow-[inset_0_-4px_8px_rgba(251,191,36,0.1),0_6px_8px_rgba(0,0,0,0.05)]",children:[e.jsx("span",{className:"text-amber-400 font-black text-3xl opacity-50 translate-y-1",children:"1"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 bg-white/80 rounded-t-xl"})]}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("span",{className:"block text-[13px] font-black text-[#0a1628]",children:"Alex M."}),e.jsx("span",{className:"block text-[11px] text-amber-600 font-bold",children:"2.4k XP"})]})]}),e.jsxs("div",{className:"flex flex-col items-center relative z-10",children:[e.jsxs(r.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.6},className:"relative mb-2",children:[e.jsx("img",{src:"https://i.pravatar.cc/150?img=47",alt:"Sarah",className:"w-10 h-10 rounded-full border-[3px] border-orange-400 z-10 relative object-cover shadow-sm bg-white"}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 bg-orange-500 text-white text-[10px] font-bold px-2 py-0.5 rounded-full z-20 shadow-sm",children:"3"})]}),e.jsxs(r.div,{initial:{height:0},animate:{height:"38px"},transition:{delay:.5,duration:.5,ease:"easeOut"},className:"w-[70px] bg-gradient-to-b from-orange-50 to-slate-50 rounded-t-xl rounded-b-md border-t-2 border-orange-100 flex items-center justify-center relative shadow-[inset_0_-4px_6px_rgba(249,115,22,0.05),0_4px_6px_rgba(0,0,0,0.02)]",children:[e.jsx("span",{className:"text-orange-400/60 font-black text-2xl opacity-60 translate-y-1",children:"3"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 bg-white/70 rounded-t-xl"})]}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("span",{className:"block text-[12px] font-bold text-[#0a1628]",children:"Sarah K."}),e.jsx("span",{className:"block text-[10px] text-orange-600 font-bold",children:"1.9k XP"})]})]})]})]})]})};export{X as default}; +import{r as m,j as e}from"./vendor-react-Dexh7fmo.js";import{e as g,m as r,Z as f,F as p,l as x}from"./index-DGWrSMOK.js";import{C as v}from"./circle-check-big-mv2CRLCE.js";import{T as j,a as w,b as N}from"./tooltip-D9lDiW9U.js";import{T as y}from"./trophy-73YPSH67.js";import{C as h}from"./chevron-right-DxXkA9aZ.js";import{S as C}from"./star-DqP0S0c5.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-radix-B-ht8aK0.js";import"./utils-BQQgILNW.js";import"./clsx-B-dksMZM.js";const b=[{id:1,title:"Daily challenge",subtitle:"Do your plan before 09:00 AM",bgColor:"bg-[#6ED1CF]",orbColor:"bg-[#50B8B6]",avatars:["https://i.pravatar.cc/150?img=1","https://i.pravatar.cc/150?img=5","https://i.pravatar.cc/150?img=8"],extraCount:4,icon:e.jsx(f,{size:24,fill:"currentColor",className:"text-white"})},{id:2,title:"Weekend Warrior",subtitle:"Complete 3 modules this weekend",bgColor:"bg-[#FF8B8B]",orbColor:"bg-[#E06A6A]",avatars:["https://i.pravatar.cc/150?img=12","https://i.pravatar.cc/150?img=32"],extraCount:12,icon:e.jsx(p,{size:24,fill:"currentColor",className:"text-white"})},{id:3,title:"Speed Runner",subtitle:"Finish a quiz in under 5 mins",bgColor:"bg-[#75D06A]",orbColor:"bg-[#58B34D]",avatars:["https://i.pravatar.cc/150?img=44","https://i.pravatar.cc/150?img=55","https://i.pravatar.cc/150?img=68"],extraCount:8,icon:e.jsx(v,{size:24,className:"text-white"})}],_=(o=[])=>{const n=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],i=new Date,l=i.getDay(),a=[];for(let t=0;t<7;t++){const s=new Date(i);s.setDate(i.getDate()-l+t);const c=t===l,d=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,u=o.includes(d);a.push({dayName:n[t],dateNumber:s.getDate(),isToday:c,hasDot:u})}return a},k=({streakHistory:o=[]})=>{const[n,i]=m.useState(0),l=_(o);m.useEffect(()=>{const t=setInterval(()=>{i(s=>(s+1)%b.length)},5e3);return()=>clearInterval(t)},[]);const a=b[n];return e.jsxs("div",{className:"bg-white rounded-[24px] p-4 shadow-sm border border-slate-100 flex flex-col gap-6 mt-4 relative overflow-hidden",children:[e.jsx("div",{className:"relative h-[170px] rounded-[-20px] rounded-2xl overflow-hidden cursor-pointer group",children:e.jsx(g,{mode:"wait",children:e.jsxs(r.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},transition:{duration:.3},className:`absolute inset-0 ${a.bgColor} p-5 flex flex-col justify-between overflow-hidden`,children:[e.jsxs("div",{className:"absolute top-4 right-4 flex gap-1 items-center z-20",children:[e.jsx("div",{className:"w-3 h-1.5 rounded-full bg-white/60"}),e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-white/40"}),e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-white/40"})]}),e.jsx("div",{className:`absolute -right-4 -top-8 w-36 h-36 rounded-full ${a.orbColor} opacity-90 blur-2xl group-hover:scale-110 transition-transform duration-700 pointer-events-none`}),e.jsx("div",{className:"absolute right-4 bottom-4 w-[52px] h-[52px] rounded-2xl rotate-12 bg-white/20 backdrop-blur-md shadow-sm border border-white/20 group-hover:rotate-45 group-hover:scale-110 transition-transform duration-700 flex items-center justify-center",children:a.icon}),e.jsxs("div",{className:"relative z-10 w-3/4",children:[e.jsx("h3",{className:"font-display font-bold text-[22px] text-white mb-1",children:a.title}),e.jsx("p",{className:"text-[13px] font-medium text-white/80 leading-snug",children:a.subtitle})]}),e.jsxs("div",{className:"flex items-center -space-x-2.5 relative z-10 mt-auto",children:[a.avatars.map((t,s)=>e.jsx("img",{src:t,alt:"User",className:"w-[34px] h-[34px] rounded-full border-2 border-transparent object-cover relative z-[3] z-[2] z-[1]",style:{borderColor:a.bgColor.replace("bg-[","").replace("]","")}},s)),e.jsxs("div",{className:"w-[34px] h-[34px] rounded-full border-2 text-[12px] font-bold flex items-center justify-center text-white relative z-0",style:{backgroundColor:"rgba(0,0,0,0.2)",borderColor:a.bgColor.replace("bg-[","").replace("]","")},children:["+",a.extraCount]})]})]},a.id)})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-display text-[15px] font-bold text-[#141b2d] mb-4 px-1",children:"Your streak"}),e.jsx("div",{className:"flex justify-between items-center gap-1.5 px-0.5",children:l.map((t,s)=>e.jsxs("div",{className:`flex flex-col items-center pt-2 pb-3 w-[46px] h-[72px] rounded-[24px] border ${t.isToday?"bg-[#12192b] text-white border-transparent shadow-[0_8px_16px_rgba(18,25,43,0.3)] transform -translate-y-1":"bg-white text-slate-400 border-slate-200/80 hover:border-slate-300"} transition-all duration-200 cursor-pointer`,children:[e.jsx("div",{className:"h-1.5 flex items-center justify-center mb-1.5",children:t.hasDot?e.jsx("div",{className:`w-[5px] h-[5px] rounded-full ${t.isToday?"bg-white":"bg-slate-300"}`}):e.jsx("div",{className:`text-[10px] ${t.isToday?"text-white/50":"text-slate-200"} font-bold`,children:"+"})}),e.jsx("span",{className:`text-[11px] font-bold mb-1 ${t.isToday?"text-slate-300":"text-slate-400/80"}`,children:t.dayName}),e.jsx("span",{className:`text-[15px] font-bold leading-none ${t.isToday?"text-white":"text-[#334155]"}`,children:t.dateNumber})]},s))})]})]})},X=({onOpenRewards:o,onOpenLeaderboard:n,onNavigateToModules:i,userLevel:l,currentXP:a,xpToNextLevel:t,streak:s,streakHistory:c=[]})=>{const d=a/t*100;return e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs(r.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.1,duration:.4,ease:[.22,1,.36,1]},onClick:o,className:"rounded-2xl border border-[#9956DE]/25 cursor-pointer transition-all group relative overflow-hidden bg-gradient-to-br from-[#9956DE] via-[#7274ED] to-[#1FA7E1] hover:shadow-[0_16px_40px_rgba(114,116,237,0.28)] hover:-translate-y-0.5",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_18%_8%,rgba(251,150,187,0.32),transparent_42%),radial-gradient(circle_at_85%_84%,rgba(117,208,106,0.24),transparent_40%)]"}),e.jsxs("div",{className:"relative z-10 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-9 h-9 bg-white/20 rounded-xl flex items-center justify-center border border-white/35 backdrop-blur-sm",children:e.jsx(y,{size:16,className:"text-white"})}),e.jsx("h3",{className:"font-display font-bold text-sm text-white tracking-wide",children:"Rewards & Achievements"})]}),e.jsx(h,{size:16,className:"text-white/80 group-hover:text-white group-hover:translate-x-0.5 transition-all"})]}),e.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-body px-2 py-1 rounded-md bg-white/14 border border-white/25 text-white",children:[e.jsx(x,{size:12,className:"text-[#FFB356]"}),e.jsxs("span",{className:"font-bold",children:["Lv ",l]})]}),e.jsx("div",{className:"w-px h-3 bg-white/35"}),e.jsxs(j,{children:[e.jsx(w,{asChild:!0,children:e.jsxs("button",{onClick:i,className:"flex items-center gap-1.5 text-xs font-body px-2 py-1 rounded-md bg-white/14 border border-white/25 text-white cursor-pointer hover:bg-white/20 transition-colors active:scale-95",children:[e.jsx(C,{size:12,className:"text-[#6ED1CF]"}),e.jsxs("span",{className:"font-bold",children:[a," XP"]})]})}),e.jsx(N,{side:"top",className:"bg-slate-900 text-white border border-slate-700",children:"Review more lessons to earn more XP!"})]}),e.jsx("div",{className:"w-px h-3 bg-white/35"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-xs font-body px-2 py-1 rounded-md bg-white/14 border border-white/25 text-white",children:[e.jsx(p,{size:12,className:"text-[#FF8B8B]"}),e.jsxs("span",{className:"font-bold",children:[s,"d"]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-1.5",children:[e.jsxs("span",{className:"text-[11px] font-body text-white/90",children:["Next: Level ",l+1]}),e.jsxs("span",{className:"text-[11px] font-body font-semibold text-white",children:[Math.round(d),"%"]})]}),e.jsx("div",{className:"h-2 bg-white/25 rounded-full overflow-hidden border border-white/20",children:e.jsx(r.div,{initial:{width:0},animate:{width:`${d}%`},transition:{duration:1,ease:"easeOut"},className:"h-full bg-gradient-to-r from-[#6ED1CF] via-[#75D06A] to-[#FFB356] rounded-full"})})]})]})]}),e.jsx(r.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.2,duration:.4,ease:[.22,1,.36,1]},children:e.jsx(k,{streakHistory:c})}),e.jsxs(r.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.3,duration:.4,ease:[.22,1,.36,1]},onClick:n,className:"bg-white rounded-xl border border-slate-200/80 hover:shadow-md hover:border-amber-200/60 transition-all group overflow-hidden cursor-pointer",children:[e.jsxs("div",{className:"p-3 border-b border-slate-100 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-7 h-7 bg-amber-50 rounded-lg flex items-center justify-center border border-amber-200/60 transition-colors group-hover:bg-amber-100/50",children:e.jsx(x,{size:14,className:"text-amber-500"})}),e.jsx("h3",{className:"font-display font-bold text-sm text-[#0a1628]",children:"Leaderboards"})]}),e.jsx(h,{size:14,className:"text-slate-400 group-hover:translate-x-0.5 group-hover:text-amber-500 transition-transform"})]}),e.jsxs("div",{className:"pt-8 pb-3 px-2 bg-gradient-to-b from-slate-50/30 to-white flex items-end justify-center gap-1.5 min-h-[170px]",children:[e.jsxs("div",{className:"flex flex-col items-center relative z-10",children:[e.jsxs(r.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.5},className:"relative mb-2",children:[e.jsx("img",{src:"https://i.pravatar.cc/150?img=33",alt:"You",className:"w-10 h-10 rounded-full border-[3px] border-sky-400 z-10 relative object-cover shadow-sm bg-white"}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 bg-sky-500 text-white text-[10px] font-bold px-2 py-0.5 rounded-full z-20 shadow-sm",children:"2"})]}),e.jsxs(r.div,{initial:{height:0},animate:{height:"54px"},transition:{delay:.4,duration:.5,ease:"easeOut"},className:"w-[70px] bg-gradient-to-b from-slate-200 to-slate-100 rounded-t-xl rounded-b-md border-t-2 border-slate-50 flex items-center justify-center relative shadow-[inset_0_-4px_6px_rgba(0,0,0,0.05),0_4px_6px_rgba(0,0,0,0.05)]",children:[e.jsx("span",{className:"text-slate-400 font-black text-2xl opacity-40 translate-y-1",children:"2"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 bg-white/70 rounded-t-xl"})]}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("span",{className:"block text-[12px] font-bold text-[#0a1628]",children:"You"}),e.jsx("span",{className:"block text-[10px] text-sky-600 font-bold",children:"2.1k XP"})]})]}),e.jsxs("div",{className:"flex flex-col items-center relative z-20 -mx-2",children:[e.jsxs(r.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.7},className:"relative mb-2",children:[e.jsx("div",{className:"absolute -top-4 left-1/2 -translate-x-1/2 z-20",children:e.jsx(x,{size:22,className:"text-amber-400 drop-shadow-md mb-1",fill:"#fbbf24",strokeWidth:1.5})}),e.jsx("img",{src:"https://i.pravatar.cc/150?img=68",alt:"Alex",className:"w-[52px] h-[52px] rounded-full border-[3px] border-amber-400 z-10 relative object-cover shadow-md bg-white"}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 bg-amber-500 text-white text-[10px] font-bold px-2 py-0.5 rounded-full z-20 shadow-sm",children:"1"})]}),e.jsxs(r.div,{initial:{height:0},animate:{height:"74px"},transition:{delay:.6,duration:.5,ease:"easeOut"},className:"w-[78px] bg-gradient-to-b from-amber-100 to-amber-50 rounded-t-xl rounded-b-md border-t-2 border-amber-50 flex items-center justify-center relative shadow-[inset_0_-4px_8px_rgba(251,191,36,0.1),0_6px_8px_rgba(0,0,0,0.05)]",children:[e.jsx("span",{className:"text-amber-400 font-black text-3xl opacity-50 translate-y-1",children:"1"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 bg-white/80 rounded-t-xl"})]}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("span",{className:"block text-[13px] font-black text-[#0a1628]",children:"Alex M."}),e.jsx("span",{className:"block text-[11px] text-amber-600 font-bold",children:"2.4k XP"})]})]}),e.jsxs("div",{className:"flex flex-col items-center relative z-10",children:[e.jsxs(r.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},transition:{delay:.6},className:"relative mb-2",children:[e.jsx("img",{src:"https://i.pravatar.cc/150?img=47",alt:"Sarah",className:"w-10 h-10 rounded-full border-[3px] border-orange-400 z-10 relative object-cover shadow-sm bg-white"}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 bg-orange-500 text-white text-[10px] font-bold px-2 py-0.5 rounded-full z-20 shadow-sm",children:"3"})]}),e.jsxs(r.div,{initial:{height:0},animate:{height:"38px"},transition:{delay:.5,duration:.5,ease:"easeOut"},className:"w-[70px] bg-gradient-to-b from-orange-50 to-slate-50 rounded-t-xl rounded-b-md border-t-2 border-orange-100 flex items-center justify-center relative shadow-[inset_0_-4px_6px_rgba(249,115,22,0.05),0_4px_6px_rgba(0,0,0,0.02)]",children:[e.jsx("span",{className:"text-orange-400/60 font-black text-2xl opacity-60 translate-y-1",children:"3"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1.5 bg-white/70 rounded-t-xl"})]}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("span",{className:"block text-[12px] font-bold text-[#0a1628]",children:"Sarah K."}),e.jsx("span",{className:"block text-[10px] text-orange-600 font-bold",children:"1.9k XP"})]})]})]})]})]})};export{X as default}; diff --git a/assets/ScientificCalculator-1iS2ZTqh.js b/assets/ScientificCalculator-BP-XvW_h.js similarity index 99% rename from assets/ScientificCalculator-1iS2ZTqh.js rename to assets/ScientificCalculator-BP-XvW_h.js index 5bdbedd58a1fa8a6718609b99530033a4906d814..1e1ff7444b06946744b89f624e5839ce708f96be 100644 --- a/assets/ScientificCalculator-1iS2ZTqh.js +++ b/assets/ScientificCalculator-BP-XvW_h.js @@ -1,4 +1,4 @@ -import{r as c,j as e}from"./vendor-react-Dexh7fmo.js";import{apiService as de}from"./apiService-BmQUiVGe.js";import{c as Z,e as U,m as ue}from"./index-CUP7q97n.js";import{C as fe,a as pe}from"./chevron-up-B9_iMYGp.js";import{X as be}from"./x-DSPvcKpY.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** +import{r as c,j as e}from"./vendor-react-Dexh7fmo.js";import{apiService as de}from"./apiService-BuaHZ1Ho.js";import{c as Z,e as U,m as ue}from"./index-DGWrSMOK.js";import{C as fe,a as pe}from"./chevron-up-BJyzaJs7.js";import{X as be}from"./x-Bj25rnWX.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/SearchBar-CXXu3t8J.js b/assets/SearchBar-DYN0WTzx.js similarity index 93% rename from assets/SearchBar-CXXu3t8J.js rename to assets/SearchBar-DYN0WTzx.js index df5f74b30ae637eca27ac5658e98ff88af0aa84e..068d061d41efdadf38da0e7f3620161642bb5cbc 100644 --- a/assets/SearchBar-CXXu3t8J.js +++ b/assets/SearchBar-DYN0WTzx.js @@ -1 +1 @@ -import{r as o,j as e}from"./vendor-react-Dexh7fmo.js";import{S as m}from"./search-C5n5sv5I.js";import{m as n,e as C}from"./index-CUP7q97n.js";import{X as k}from"./x-DSPvcKpY.js";import{C as S}from"./clock-C56zvyHw.js";import{B as a}from"./book-open-CeQC7bWj.js";import{T as c}from"./trending-up-DmBYqjZb.js";import{U as d}from"./users-BpOE7EHN.js";import{G}from"./graduation-cap-CCth-BT0.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const K=({placeholder:b="Search anything...",userRole:p="student",onSelect:y})=>{const[i,l]=o.useState(""),[g,r]=o.useState(!1),[x,f]=o.useState([]),u=o.useRef(null),v=()=>p==="student"?[{id:"1",type:"module",title:"General Mathematics",subtitle:"Grade 11 • Functions & Business Math",icon:a},{id:"2",type:"module",title:"Statistics & Probability",subtitle:"Grade 11 • Distributions & Testing",icon:a},{id:"3",type:"module",title:"Pre-Calculus",subtitle:"Grade 12 • Analytic Geometry & Trig",icon:a},{id:"4",type:"module",title:"Basic Calculus",subtitle:"Grade 12 • Limits & Derivatives",icon:a},{id:"5",type:"page",title:"AI Chat",subtitle:"Get help from AI tutor",icon:c},{id:"6",type:"page",title:"My Progress",subtitle:"View your achievements",icon:c}]:p==="teacher"?[{id:"1",type:"student",title:"Alex Johnson",subtitle:"Grade 11 • Level 12",icon:d},{id:"2",type:"student",title:"Sarah Williams",subtitle:"Grade 12 • Level 11",icon:d},{id:"3",type:"module",title:"Gen Math Quiz 5",subtitle:"12 submissions",icon:a},{id:"4",type:"page",title:"Analytics",subtitle:"Class performance overview",icon:c},{id:"5",type:"page",title:"Create Assignment",subtitle:"New homework or quiz",icon:a}]:[{id:"1",type:"teacher",title:"Prof. Anderson",subtitle:"48 students • Math Dept",icon:G},{id:"2",type:"student",title:"Alex Johnson",subtitle:"Top Performer • Level 12",icon:d},{id:"3",type:"page",title:"System Settings",subtitle:"Platform configuration",icon:c},{id:"4",type:"page",title:"Reports",subtitle:"Export analytics",icon:a},{id:"5",type:"page",title:"User Management",subtitle:"Manage accounts",icon:d}],w=["Functions and Relations","Normal Distribution","AI Chat"];o.useEffect(()=>{if(i.trim()){const s=v().filter(h=>h.title.toLowerCase().includes(i.toLowerCase())||h.subtitle?.toLowerCase().includes(i.toLowerCase()));f(s)}else f([])},[i]);const j=t=>{l(""),r(!1),y?.(t)},N=()=>{l(""),u.current?.focus()};return o.useEffect(()=>{const t=s=>{s.ctrlKey&&s.key.toLowerCase()==="k"&&(s.preventDefault(),u.current?.focus(),r(!0))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[]),e.jsxs("div",{className:"relative w-full max-w-xl",children:[e.jsxs("div",{className:"relative",children:[e.jsx(m,{className:"absolute left-3.5 top-1/2 -translate-y-1/2 text-slate-500",size:18}),e.jsx("input",{ref:u,id:"global-search",name:"global-search","aria-label":"Search anything",type:"text",value:i,onChange:t=>l(t.target.value),onFocus:()=>r(!0),placeholder:b,className:"w-full pl-11 pr-24 py-2.5 bg-white border border-[#dde3eb] rounded-lg text-[#0a1628] placeholder-[#a8a5b3] font-body text-sm focus:bg-white focus:border-sky-400 focus:ring-2 focus:ring-sky-400/15 focus:outline-none transition-all"}),e.jsxs("div",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1",children:[i&&e.jsx(n.button,{initial:{scale:0},animate:{scale:1},exit:{scale:0},whileHover:{scale:1.1},whileTap:{scale:.9},onClick:N,className:"p-1.5 text-slate-500 hover:text-[#5a6578] hover:bg-[#edf1f7] rounded-md transition-colors",children:e.jsx(k,{size:14})}),e.jsx("kbd",{className:"hidden sm:inline-flex px-2 py-0.5 text-[10px] font-body font-semibold text-slate-500 bg-[#edf1f7] border border-[#dde3eb] rounded-md",children:"Ctrl+K"})]})]}),e.jsx(C,{children:g&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>r(!1)}),e.jsx(n.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2},className:"absolute top-full left-0 right-0 mt-2 bg-white rounded-xl shadow-lg border border-[#dde3eb] z-50 overflow-hidden max-h-96 overflow-y-auto",children:i.trim()?x.length>0?e.jsxs("div",{className:"p-2",children:[e.jsx("div",{className:"px-3 py-2 text-[10px] font-body font-semibold text-slate-500 uppercase tracking-wider",children:"Results"}),x.map(t=>{const s=t.icon||m;return e.jsxs(n.button,{whileHover:{backgroundColor:"rgba(248, 247, 244, 1)"},onClick:()=>j(t),className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors",children:[e.jsx("div",{className:"w-9 h-9 bg-sky-500/10 rounded-lg flex items-center justify-center text-sky-600 flex-shrink-0",children:e.jsx(s,{size:16})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h4",{className:"text-sm font-body font-semibold text-[#0a1628] truncate",children:t.title}),t.subtitle&&e.jsx("p",{className:"text-xs font-body text-[#5a6578] truncate",children:t.subtitle})]})]},t.id)})]}):e.jsxs("div",{className:"p-8 text-center",children:[e.jsx(m,{size:40,className:"text-[#d1cec6] mx-auto mb-3"}),e.jsx("p",{className:"text-[#5a6578] font-body text-sm",children:"No results found"}),e.jsx("p",{className:"text-slate-500 font-body text-xs mt-1",children:"Try a different search term"})]}):e.jsxs("div",{className:"p-2",children:[e.jsx("div",{className:"px-3 py-2 text-[10px] font-body font-semibold text-slate-500 uppercase tracking-wider",children:"Recent Searches"}),w.map((t,s)=>e.jsxs(n.button,{whileHover:{backgroundColor:"rgba(248, 247, 244, 1)"},onClick:()=>l(t),className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors",children:[e.jsx(S,{size:16,className:"text-slate-500 flex-shrink-0"}),e.jsx("span",{className:"text-sm font-body text-[#0a1628]",children:t})]},s))]})})]})})]})};export{K as default}; +import{r as o,j as e}from"./vendor-react-Dexh7fmo.js";import{S as m}from"./search-O5gEqRZi.js";import{m as n,e as C}from"./index-DGWrSMOK.js";import{X as k}from"./x-Bj25rnWX.js";import{C as S}from"./clock-qHFbMxrB.js";import{B as a}from"./book-open-B5Xvd1JL.js";import{T as c}from"./trending-up-B2MPUPwk.js";import{U as d}from"./users-BRS21lR4.js";import{G}from"./graduation-cap-Cr-ek4Bs.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const K=({placeholder:b="Search anything...",userRole:p="student",onSelect:y})=>{const[i,l]=o.useState(""),[g,r]=o.useState(!1),[x,f]=o.useState([]),u=o.useRef(null),v=()=>p==="student"?[{id:"1",type:"module",title:"General Mathematics",subtitle:"Grade 11 • Functions & Business Math",icon:a},{id:"2",type:"module",title:"Statistics & Probability",subtitle:"Grade 11 • Distributions & Testing",icon:a},{id:"3",type:"module",title:"Pre-Calculus",subtitle:"Grade 12 • Analytic Geometry & Trig",icon:a},{id:"4",type:"module",title:"Basic Calculus",subtitle:"Grade 12 • Limits & Derivatives",icon:a},{id:"5",type:"page",title:"AI Chat",subtitle:"Get help from AI tutor",icon:c},{id:"6",type:"page",title:"My Progress",subtitle:"View your achievements",icon:c}]:p==="teacher"?[{id:"1",type:"student",title:"Alex Johnson",subtitle:"Grade 11 • Level 12",icon:d},{id:"2",type:"student",title:"Sarah Williams",subtitle:"Grade 12 • Level 11",icon:d},{id:"3",type:"module",title:"Gen Math Quiz 5",subtitle:"12 submissions",icon:a},{id:"4",type:"page",title:"Analytics",subtitle:"Class performance overview",icon:c},{id:"5",type:"page",title:"Create Assignment",subtitle:"New homework or quiz",icon:a}]:[{id:"1",type:"teacher",title:"Prof. Anderson",subtitle:"48 students • Math Dept",icon:G},{id:"2",type:"student",title:"Alex Johnson",subtitle:"Top Performer • Level 12",icon:d},{id:"3",type:"page",title:"System Settings",subtitle:"Platform configuration",icon:c},{id:"4",type:"page",title:"Reports",subtitle:"Export analytics",icon:a},{id:"5",type:"page",title:"User Management",subtitle:"Manage accounts",icon:d}],w=["Functions and Relations","Normal Distribution","AI Chat"];o.useEffect(()=>{if(i.trim()){const s=v().filter(h=>h.title.toLowerCase().includes(i.toLowerCase())||h.subtitle?.toLowerCase().includes(i.toLowerCase()));f(s)}else f([])},[i]);const j=t=>{l(""),r(!1),y?.(t)},N=()=>{l(""),u.current?.focus()};return o.useEffect(()=>{const t=s=>{s.ctrlKey&&s.key.toLowerCase()==="k"&&(s.preventDefault(),u.current?.focus(),r(!0))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[]),e.jsxs("div",{className:"relative w-full max-w-xl",children:[e.jsxs("div",{className:"relative",children:[e.jsx(m,{className:"absolute left-3.5 top-1/2 -translate-y-1/2 text-slate-500",size:18}),e.jsx("input",{ref:u,id:"global-search",name:"global-search","aria-label":"Search anything",type:"text",value:i,onChange:t=>l(t.target.value),onFocus:()=>r(!0),placeholder:b,className:"w-full pl-11 pr-24 py-2.5 bg-white border border-[#dde3eb] rounded-lg text-[#0a1628] placeholder-[#a8a5b3] font-body text-sm focus:bg-white focus:border-sky-400 focus:ring-2 focus:ring-sky-400/15 focus:outline-none transition-all"}),e.jsxs("div",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1",children:[i&&e.jsx(n.button,{initial:{scale:0},animate:{scale:1},exit:{scale:0},whileHover:{scale:1.1},whileTap:{scale:.9},onClick:N,className:"p-1.5 text-slate-500 hover:text-[#5a6578] hover:bg-[#edf1f7] rounded-md transition-colors",children:e.jsx(k,{size:14})}),e.jsx("kbd",{className:"hidden sm:inline-flex px-2 py-0.5 text-[10px] font-body font-semibold text-slate-500 bg-[#edf1f7] border border-[#dde3eb] rounded-md",children:"Ctrl+K"})]})]}),e.jsx(C,{children:g&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>r(!1)}),e.jsx(n.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2},className:"absolute top-full left-0 right-0 mt-2 bg-white rounded-xl shadow-lg border border-[#dde3eb] z-50 overflow-hidden max-h-96 overflow-y-auto",children:i.trim()?x.length>0?e.jsxs("div",{className:"p-2",children:[e.jsx("div",{className:"px-3 py-2 text-[10px] font-body font-semibold text-slate-500 uppercase tracking-wider",children:"Results"}),x.map(t=>{const s=t.icon||m;return e.jsxs(n.button,{whileHover:{backgroundColor:"rgba(248, 247, 244, 1)"},onClick:()=>j(t),className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors",children:[e.jsx("div",{className:"w-9 h-9 bg-sky-500/10 rounded-lg flex items-center justify-center text-sky-600 flex-shrink-0",children:e.jsx(s,{size:16})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h4",{className:"text-sm font-body font-semibold text-[#0a1628] truncate",children:t.title}),t.subtitle&&e.jsx("p",{className:"text-xs font-body text-[#5a6578] truncate",children:t.subtitle})]})]},t.id)})]}):e.jsxs("div",{className:"p-8 text-center",children:[e.jsx(m,{size:40,className:"text-[#d1cec6] mx-auto mb-3"}),e.jsx("p",{className:"text-[#5a6578] font-body text-sm",children:"No results found"}),e.jsx("p",{className:"text-slate-500 font-body text-xs mt-1",children:"Try a different search term"})]}):e.jsxs("div",{className:"p-2",children:[e.jsx("div",{className:"px-3 py-2 text-[10px] font-body font-semibold text-slate-500 uppercase tracking-wider",children:"Recent Searches"}),w.map((t,s)=>e.jsxs(n.button,{whileHover:{backgroundColor:"rgba(248, 247, 244, 1)"},onClick:()=>l(t),className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors",children:[e.jsx(S,{size:16,className:"text-slate-500 flex-shrink-0"}),e.jsx("span",{className:"text-sm font-body text-[#0a1628]",children:t})]},s))]})})]})})]})};export{K as default}; diff --git a/assets/SettingsModal-BSwXYND2.js b/assets/SettingsModal-BFFZzSRx.js similarity index 97% rename from assets/SettingsModal-BSwXYND2.js rename to assets/SettingsModal-BFFZzSRx.js index 4cadbd2034b9e23170e54dbd8ad2e904795594da..613b2126bdecaaaea4a91b6b83c919b8dbc1b753 100644 --- a/assets/SettingsModal-BSwXYND2.js +++ b/assets/SettingsModal-BFFZzSRx.js @@ -1,4 +1,4 @@ -import{r as i,j as e}from"./vendor-react-Dexh7fmo.js";import{c as ee,e as be,m as S,D as ue,t as c}from"./index-CUP7q97n.js";import{B as x}from"./button-DWdPuxDU.js";import{I as l}from"./input-DBkKXOmF.js";import{S as m}from"./switch-DbjIWZtF.js";import W from"./ConfirmModal--kX4RdFk.js";import{U as fe}from"./user-BXAf0Aum.js";import{B as pe}from"./bell-CPMVIplR.js";import{S as ye}from"./shield-U0fpKH0K.js";import{G as je}from"./globe-CTl9V8GV.js";import{D as Y}from"./download-DWfJPUrU.js";import{X as Z}from"./x-DSPvcKpY.js";import{L as ge}from"./lock-lKS0Wfg_.js";import{C as Ne}from"./clock-C56zvyHw.js";import{T as ve}from"./trash-2-DhgLaJ_c.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./log-out-DSwWLQA-.js";/** +import{r as i,j as e}from"./vendor-react-Dexh7fmo.js";import{c as ee,e as be,m as S,D as ue,t as c}from"./index-DGWrSMOK.js";import{B as x}from"./button-DWdPuxDU.js";import{I as l}from"./input-DBkKXOmF.js";import{S as m}from"./switch-DbjIWZtF.js";import W from"./ConfirmModal-B9CUrvQP.js";import{U as fe}from"./user-Br5UzORP.js";import{B as pe}from"./bell-DeNrtKrI.js";import{S as ye}from"./shield-Cin8984_.js";import{G as je}from"./globe-CA6LY_zw.js";import{D as Y}from"./download-DINpalm9.js";import{X as Z}from"./x-Bj25rnWX.js";import{L as ge}from"./lock-C6XEepuP.js";import{C as Ne}from"./clock-qHFbMxrB.js";import{T as ve}from"./trash-2-CBQVcuBL.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-radix-B-ht8aK0.js";import"./clsx-B-dksMZM.js";import"./utils-BQQgILNW.js";import"./log-out-DYYu4gFF.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/Sidebar-o2bWY_8O.js b/assets/Sidebar-BH3yU0R9.js similarity index 89% rename from assets/Sidebar-o2bWY_8O.js rename to assets/Sidebar-BH3yU0R9.js index ea198e164812b94f3321dd27f8fb7adf404d37f2..3b526e9df5969b12cf050e3b16e9b357c64dd560 100644 --- a/assets/Sidebar-o2bWY_8O.js +++ b/assets/Sidebar-BH3yU0R9.js @@ -1 +1 @@ -import{r as m,j as e}from"./vendor-react-Dexh7fmo.js";import{C as O,S,a as $,L as f}from"./LogoutActionButton-Js9om3fZ.js";import{c as D}from"./utils-BQQgILNW.js";import{T as k,a as L,b as M}from"./tooltip-D9lDiW9U.js";import{m as c}from"./index-CUP7q97n.js";import{X as G}from"./x-DSPvcKpY.js";import{C as P}from"./chevron-right-BKVsZIKp.js";import{U as C}from"./users-BpOE7EHN.js";import{B as u}from"./book-open-CeQC7bWj.js";import{C as T}from"./chart-column-D_9m8xSU.js";import{S as U}from"./shield-U0fpKH0K.js";import{M as F}from"./message-square-C0Ume0lR.js";import{G as Q}from"./graduation-cap-CCth-BT0.js";import{S as W}from"./swords-DXWdiz6s.js";import{T as X}from"./trophy-di6eNjuA.js";import{S as _}from"./shirt-Bw3DfDxH.js";import"./log-out-DSwWLQA-.js";import"./clsx-B-dksMZM.js";import"./vendor-radix-B-ht8aK0.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const ge=({activeTab:b,setActiveTab:A,userRole:x="student",onOpenSettings:g,onLogout:j,sidebarCollapsed:o=!1,setSidebarCollapsed:v,mode:E="desktop",onRequestClose:y,forceCollapsed:i=!1})=>{const[z,h]=m.useState(!1),[w,t]=m.useState(null),n=E==="mobile",r=!i&&z,p=typeof g=="function",a=!n&&(i||o&&!r),l=a,H=!n&&!i;m.useEffect(()=>{i&&(h(!1),t(null))},[i]),m.useEffect(()=>{l||t(null)},[l]);const I=x==="admin"?[{label:"Management",items:[{icon:f,label:"Overview"},{icon:C,label:"User Management"},{icon:u,label:"Content"}]},{label:"Insights",items:[{icon:T,label:"Analytics"},{icon:U,label:"Audit Log"},{icon:S,label:"Settings"}]}]:x==="teacher"?[{label:"Teaching",items:[{icon:f,label:"Dashboard"},{icon:C,label:"My Students"},{icon:u,label:"Classes"}]},{label:"Insights",items:[{icon:T,label:"Analytics"}]}]:[{label:"Learn",items:[{icon:f,label:"Dashboard"},{icon:u,label:"Modules"},{icon:F,label:"AI Chat"}]},{label:"Progress",items:[{icon:Q,label:"Grades",displayLabel:"Assessment"},{icon:W,label:"Quiz Battle",displayLabel:"Quiz Battle"},{icon:X,label:"Leaderboard",displayLabel:"Leadership Board"}]},{label:"Customization",items:[{icon:_,label:"Avatar Studio",displayLabel:"Avatar Studio"}]}];return e.jsxs(c.aside,{initial:!1,animate:n?{width:280}:{width:a?80:280},transition:{type:"spring",stiffness:360,damping:34},onMouseEnter:()=>H&&o&&h(!0),onMouseLeave:()=>{h(!1),t(null)},className:D("h-full bg-[#f7f9fc] border border-[#dde3eb] shadow-sm flex flex-col",n?"rounded-2xl p-4":"rounded-3xl p-5"),children:[e.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[e.jsxs("div",{className:`mb-8 flex items-center ${a?"justify-center":"justify-between"}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("img",{src:"/mathpulse_logo.png",alt:"MathPulse AI",className:"w-12 h-12 object-contain drop-shadow-md flex-shrink-0"}),(!a||r)&&e.jsx("div",{children:e.jsx("h2",{className:"text-base font-bold font-display text-[#0a1628] whitespace-nowrap",children:"MathPulse AI"})})]}),n&&y&&e.jsx("button",{onClick:y,className:"p-2 hover:bg-[#dde3eb] rounded-lg transition-colors text-[#5a6578]","aria-label":"Close navigation",children:e.jsx(G,{size:20})}),!n&&!i&&v&&(!o||r)&&e.jsx(c.button,{whileHover:{scale:1.1},whileTap:{scale:.95},onClick:()=>v(!o),className:"p-2 hover:bg-[#dde3eb] rounded-lg transition-colors text-[#5a6578]","aria-label":o?"Expand sidebar":"Collapse sidebar",title:o?"Expand sidebar":"Collapse sidebar",children:o?e.jsx(P,{size:20}):e.jsx(O,{size:20})})]}),e.jsx("nav",{className:"flex-1 min-h-0 overflow-y-auto space-y-5 pr-1",children:I.map((d,B)=>e.jsxs("div",{children:[a?e.jsx("div",{className:"px-4 mb-2 flex items-center gap-2",children:e.jsx("div",{className:"flex-1 h-[1px] bg-[#dde3eb]"})}):d.label&&e.jsx("p",{className:"px-4 mb-2 text-[10px] font-bold text-[#5a6578] uppercase tracking-widest",children:d.label}),e.jsx("div",{className:"space-y-1",children:d.items.map(s=>e.jsxs(k,{open:l&&w===s.label,children:[e.jsx(L,{asChild:!0,children:e.jsxs(c.button,{whileHover:{x:2},whileTap:{scale:.98},onMouseEnter:()=>{l&&t(s.label)},onMouseLeave:()=>{t(N=>N===s.label?null:N)},onFocus:()=>t(null),onClick:()=>A(s.label),className:`w-full flex items-center gap-3 px-4 py-3 rounded-2xl cursor-pointer transition-all duration-200 border whitespace-nowrap ${a?"justify-center":""} ${b===s.label?"bg-sky-50 border-sky-200 shadow-sm text-sky-700":"bg-transparent border-transparent text-[#5a6578] hover:bg-[#dde3eb] hover:border-[#dde3eb] hover:text-[#0a1628]"}`,children:[e.jsx(s.icon,{size:18,strokeWidth:b===s.label?2.5:2,className:"flex-shrink-0"}),(!a||r)&&e.jsx("span",{className:"font-body font-bold text-xs",children:s.displayLabel||s.label}),b===s.label&&(!a||r)&&e.jsx(c.div,{layoutId:"sidebar-active-indicator",className:"ml-auto w-2 h-2 rounded-full bg-sky-500",transition:{type:"spring",duration:.4}})]})}),l&&e.jsx(M,{side:"right",sideOffset:16,className:"font-bold text-xs",children:s.displayLabel||s.label})]},s.label))})]},B))})]}),e.jsxs("div",{className:"mt-4 space-y-2 border-t border-[#dde3eb] pt-4",children:[x!=="admin"?e.jsxs(k,{open:l&&w==="Settings",children:[e.jsx(L,{asChild:!0,children:e.jsxs(c.button,{whileHover:{x:2},whileTap:{scale:.98},onMouseEnter:()=>{l&&t("Settings")},onMouseLeave:()=>{t(d=>d==="Settings"?null:d)},onFocus:()=>t(null),className:`w-full flex items-center gap-3 px-4 py-3 rounded-2xl font-bold border transition-all duration-200 whitespace-nowrap ${a?"justify-center":""} ${b==="Settings"?"bg-sky-50 border-sky-200 text-sky-700 shadow-sm":p?"border-transparent text-[#5a6578] hover:bg-[#dde3eb] hover:border-[#dde3eb] hover:text-[#0a1628]":"border-transparent text-[#a0aec0] cursor-not-allowed opacity-60"}`,onClick:p?g:void 0,disabled:!p,"aria-disabled":!p,"aria-label":"Open settings",children:[e.jsx(S,{size:18,strokeWidth:2,className:"flex-shrink-0"}),(!a||r)&&e.jsx("span",{className:"font-body text-xs",children:"Settings"})]})}),l&&e.jsx(M,{side:"right",sideOffset:16,className:"font-bold text-xs",children:"Settings"})]}):null,j&&e.jsx("div",{className:"text-[#5a6578]",children:e.jsx($,{onClick:j,collapsed:a})})]})]})};export{ge as default}; +import{r as m,j as e}from"./vendor-react-Dexh7fmo.js";import{C as O,S,a as $,L as f}from"./LogoutActionButton-D-8gok3U.js";import{c as D}from"./utils-BQQgILNW.js";import{T as k,a as L,b as M}from"./tooltip-D9lDiW9U.js";import{m as c}from"./index-DGWrSMOK.js";import{X as G}from"./x-Bj25rnWX.js";import{C as P}from"./chevron-right-DxXkA9aZ.js";import{U as C}from"./users-BRS21lR4.js";import{B as u}from"./book-open-B5Xvd1JL.js";import{C as T}from"./chart-column-CJzwyNMx.js";import{S as U}from"./shield-Cin8984_.js";import{M as F}from"./message-square-DIXhbelM.js";import{G as Q}from"./graduation-cap-Cr-ek4Bs.js";import{S as W}from"./swords-Bn50CmyM.js";import{T as X}from"./trophy-73YPSH67.js";import{S as _}from"./shirt-C4Gsu12G.js";import"./log-out-DYYu4gFF.js";import"./clsx-B-dksMZM.js";import"./vendor-radix-B-ht8aK0.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const ge=({activeTab:b,setActiveTab:A,userRole:x="student",onOpenSettings:g,onLogout:j,sidebarCollapsed:o=!1,setSidebarCollapsed:v,mode:E="desktop",onRequestClose:y,forceCollapsed:i=!1})=>{const[z,h]=m.useState(!1),[w,t]=m.useState(null),n=E==="mobile",r=!i&&z,p=typeof g=="function",a=!n&&(i||o&&!r),l=a,H=!n&&!i;m.useEffect(()=>{i&&(h(!1),t(null))},[i]),m.useEffect(()=>{l||t(null)},[l]);const I=x==="admin"?[{label:"Management",items:[{icon:f,label:"Overview"},{icon:C,label:"User Management"},{icon:u,label:"Content"}]},{label:"Insights",items:[{icon:T,label:"Analytics"},{icon:U,label:"Audit Log"},{icon:S,label:"Settings"}]}]:x==="teacher"?[{label:"Teaching",items:[{icon:f,label:"Dashboard"},{icon:C,label:"My Students"},{icon:u,label:"Classes"}]},{label:"Insights",items:[{icon:T,label:"Analytics"}]}]:[{label:"Learn",items:[{icon:f,label:"Dashboard"},{icon:u,label:"Modules"},{icon:F,label:"AI Chat"}]},{label:"Progress",items:[{icon:Q,label:"Grades",displayLabel:"Assessment"},{icon:W,label:"Quiz Battle",displayLabel:"Quiz Battle"},{icon:X,label:"Leaderboard",displayLabel:"Leadership Board"}]},{label:"Customization",items:[{icon:_,label:"Avatar Studio",displayLabel:"Avatar Studio"}]}];return e.jsxs(c.aside,{initial:!1,animate:n?{width:280}:{width:a?80:280},transition:{type:"spring",stiffness:360,damping:34},onMouseEnter:()=>H&&o&&h(!0),onMouseLeave:()=>{h(!1),t(null)},className:D("h-full bg-[#f7f9fc] border border-[#dde3eb] shadow-sm flex flex-col",n?"rounded-2xl p-4":"rounded-3xl p-5"),children:[e.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[e.jsxs("div",{className:`mb-8 flex items-center ${a?"justify-center":"justify-between"}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("img",{src:"/mathpulse_logo.png",alt:"MathPulse AI",className:"w-12 h-12 object-contain drop-shadow-md flex-shrink-0"}),(!a||r)&&e.jsx("div",{children:e.jsx("h2",{className:"text-base font-bold font-display text-[#0a1628] whitespace-nowrap",children:"MathPulse AI"})})]}),n&&y&&e.jsx("button",{onClick:y,className:"p-2 hover:bg-[#dde3eb] rounded-lg transition-colors text-[#5a6578]","aria-label":"Close navigation",children:e.jsx(G,{size:20})}),!n&&!i&&v&&(!o||r)&&e.jsx(c.button,{whileHover:{scale:1.1},whileTap:{scale:.95},onClick:()=>v(!o),className:"p-2 hover:bg-[#dde3eb] rounded-lg transition-colors text-[#5a6578]","aria-label":o?"Expand sidebar":"Collapse sidebar",title:o?"Expand sidebar":"Collapse sidebar",children:o?e.jsx(P,{size:20}):e.jsx(O,{size:20})})]}),e.jsx("nav",{className:"flex-1 min-h-0 overflow-y-auto space-y-5 pr-1",children:I.map((d,B)=>e.jsxs("div",{children:[a?e.jsx("div",{className:"px-4 mb-2 flex items-center gap-2",children:e.jsx("div",{className:"flex-1 h-[1px] bg-[#dde3eb]"})}):d.label&&e.jsx("p",{className:"px-4 mb-2 text-[10px] font-bold text-[#5a6578] uppercase tracking-widest",children:d.label}),e.jsx("div",{className:"space-y-1",children:d.items.map(s=>e.jsxs(k,{open:l&&w===s.label,children:[e.jsx(L,{asChild:!0,children:e.jsxs(c.button,{whileHover:{x:2},whileTap:{scale:.98},onMouseEnter:()=>{l&&t(s.label)},onMouseLeave:()=>{t(N=>N===s.label?null:N)},onFocus:()=>t(null),onClick:()=>A(s.label),className:`w-full flex items-center gap-3 px-4 py-3 rounded-2xl cursor-pointer transition-all duration-200 border whitespace-nowrap ${a?"justify-center":""} ${b===s.label?"bg-sky-50 border-sky-200 shadow-sm text-sky-700":"bg-transparent border-transparent text-[#5a6578] hover:bg-[#dde3eb] hover:border-[#dde3eb] hover:text-[#0a1628]"}`,children:[e.jsx(s.icon,{size:18,strokeWidth:b===s.label?2.5:2,className:"flex-shrink-0"}),(!a||r)&&e.jsx("span",{className:"font-body font-bold text-xs",children:s.displayLabel||s.label}),b===s.label&&(!a||r)&&e.jsx(c.div,{layoutId:"sidebar-active-indicator",className:"ml-auto w-2 h-2 rounded-full bg-sky-500",transition:{type:"spring",duration:.4}})]})}),l&&e.jsx(M,{side:"right",sideOffset:16,className:"font-bold text-xs",children:s.displayLabel||s.label})]},s.label))})]},B))})]}),e.jsxs("div",{className:"mt-4 space-y-2 border-t border-[#dde3eb] pt-4",children:[x!=="admin"?e.jsxs(k,{open:l&&w==="Settings",children:[e.jsx(L,{asChild:!0,children:e.jsxs(c.button,{whileHover:{x:2},whileTap:{scale:.98},onMouseEnter:()=>{l&&t("Settings")},onMouseLeave:()=>{t(d=>d==="Settings"?null:d)},onFocus:()=>t(null),className:`w-full flex items-center gap-3 px-4 py-3 rounded-2xl font-bold border transition-all duration-200 whitespace-nowrap ${a?"justify-center":""} ${b==="Settings"?"bg-sky-50 border-sky-200 text-sky-700 shadow-sm":p?"border-transparent text-[#5a6578] hover:bg-[#dde3eb] hover:border-[#dde3eb] hover:text-[#0a1628]":"border-transparent text-[#a0aec0] cursor-not-allowed opacity-60"}`,onClick:p?g:void 0,disabled:!p,"aria-disabled":!p,"aria-label":"Open settings",children:[e.jsx(S,{size:18,strokeWidth:2,className:"flex-shrink-0"}),(!a||r)&&e.jsx("span",{className:"font-body text-xs",children:"Settings"})]})}),l&&e.jsx(M,{side:"right",sideOffset:16,className:"font-bold text-xs",children:"Settings"})]}):null,j&&e.jsx("div",{className:"text-[#5a6578]",children:e.jsx($,{onClick:j,collapsed:a})})]})]})};export{ge as default}; diff --git a/assets/SupplementalBanner-CI0k5FtZ.js b/assets/SupplementalBanner-COM6ABNZ.js similarity index 95% rename from assets/SupplementalBanner-CI0k5FtZ.js rename to assets/SupplementalBanner-COM6ABNZ.js index ab7ddbe28bbceacb0da05c49fd928c12461f3e0e..2addca55aef5b6105ffea479599f7978369862b2 100644 --- a/assets/SupplementalBanner-CI0k5FtZ.js +++ b/assets/SupplementalBanner-COM6ABNZ.js @@ -1 +1 @@ -import{j as e,r as y}from"./vendor-react-Dexh7fmo.js";import{e as j,m as p,T as h}from"./index-CUP7q97n.js";import{X as v}from"./x-DSPvcKpY.js";import{S as w}from"./sparkles-Cg_SVFRk.js";import{C as f}from"./chevron-right-BKVsZIKp.js";import{B as g}from"./book-open-CeQC7bWj.js";import{T as m}from"./trending-up-DmBYqjZb.js";import{B as x}from"./brain-CaMXLcPK.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const b={"General Mathematics":[{label:"Functions Deep Dive",description:"Interactive review of function types and graphs",icon:e.jsx(m,{size:14})},{label:"Business Math Basics",description:"Simple & compound interest practice",icon:e.jsx(g,{size:14})}],"Statistics and Probability":[{label:"Distribution Visualizer",description:"Explore normal distribution curves",icon:e.jsx(m,{size:14})},{label:"Hypothesis Practice",description:"Step-by-step hypothesis testing",icon:e.jsx(x,{size:14})}],"Pre-Calculus":[{label:"Conic Sections Explorer",description:"Visual parabola, ellipse, hyperbola tool",icon:e.jsx(m,{size:14})},{label:"Trig Identity Practice",description:"Identity verification drill set",icon:e.jsx(x,{size:14})}],"Basic Calculus":[{label:"Limits Visualizer",description:"Graphical approach to limits",icon:e.jsx(m,{size:14})},{label:"Derivative Rules Drill",description:"Practice chain rule & implicit diff",icon:e.jsx(x,{size:14})}]};function u(i){const s=i.toLowerCase();return s==="functions"||s.includes("function")||s==="businessmath"||s.includes("business")||s==="logic"||s.includes("reason")||s.includes("general")||s.includes("gen-math")||s.includes("gen math")?"General Mathematics":s.includes("stat")||s.includes("prob")?"Statistics and Probability":s.includes("pre-calc")||s.includes("pre calc")||s.includes("precalc")?"Pre-Calculus":s.includes("basic")||s.includes("calc")?"Basic Calculus":null}function N(i){const s=i.trim().toLowerCase();return s==="functions"?"Functions and Graphs":s==="businessmath"?"Business and Financial Mathematics":s==="logic"?"Logic and Reasoning":i}const k=({atRiskSubjects:i=[],onAction:s,onDismiss:n})=>{const[l,a]=y.useState(!1);if(l||i.length===0)return null;const r=()=>{a(!0),n?.()};return e.jsx(j,{children:!l&&e.jsx(p.div,{initial:{opacity:0,y:-10,height:0},animate:{opacity:1,y:0,height:"auto"},exit:{opacity:0,y:-10,height:0},className:"overflow-hidden",children:e.jsxs("div",{className:"relative bg-gradient-to-r from-sky-600 via-sky-500 to-sky-600 rounded-2xl p-5 text-white shadow-lg shadow-sky-500/20",children:[e.jsx("button",{onClick:r,className:"absolute top-3 right-3 w-7 h-7 bg-white/20 hover:bg-white/30 rounded-full flex items-center justify-center transition-colors",children:e.jsx(v,{size:14})}),e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center flex-shrink-0",children:e.jsx(w,{size:24})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"font-bold text-lg mb-1",children:"Supplemental Materials Available"}),e.jsx("p",{className:"text-sky-100 text-sm mb-3",children:"Based on your diagnostic assessment, we've identified topics that could use extra practice. Strengthening these areas will improve your overall performance."}),e.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:i.map(t=>e.jsxs("span",{className:"inline-flex items-center gap-1.5 bg-white/20 backdrop-blur-sm px-3 py-1 rounded-full text-xs font-semibold",children:[e.jsx(h,{size:12}),N(t)]},t))}),e.jsxs("button",{onClick:s,className:"inline-flex items-center gap-2 bg-white text-sky-600 font-bold text-sm px-4 py-2 rounded-xl hover:bg-sky-50 transition-colors",children:["Review Topics",e.jsx(f,{size:16})]})]})]})]})})})},C=({quizSubject:i,atRiskSubjects:s=[]})=>{const n=i?u(i):null;if(!s.some(r=>{const t=u(r);return t&&t===n})||!n)return null;const a=b[n]||[];return e.jsx(p.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},className:"mb-4 overflow-hidden",children:e.jsxs("div",{className:"bg-gradient-to-r from-rose-50 to-orange-50 border border-rose-200 rounded-xl p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[e.jsx(h,{size:14,className:"text-rose-600"}),e.jsxs("span",{className:"text-xs font-bold text-rose-800",children:["Supplemental Focus Area — ",n]})]}),e.jsx("p",{className:"text-xs text-rose-700 mb-2",children:"This topic was flagged in your diagnostic. Take your time and review the explanations carefully."}),a.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:a.slice(0,2).map((r,t)=>e.jsxs("span",{className:"inline-flex items-center gap-1 bg-rose-100 text-rose-700 px-2 py-0.5 rounded-md text-xs font-medium",children:[r.icon,r.label]},t))})]})})},z=({quizSubject:i,quizScore:s=0,atRiskSubjects:n=[],onAction:l})=>{const a=i?u(i):null,r=n.some(c=>{const d=u(c);return d&&d===a});if(s>=70&&!r)return null;const t=a?b[a]||[]:[],o=s<70;return e.jsx(p.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.5},className:"mt-4",children:e.jsx("div",{className:`rounded-2xl p-4 border-2 ${o?"bg-orange-50 border-orange-200":"bg-sky-50 border-sky-200"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0 ${o?"bg-orange-500":"bg-sky-500"}`,children:e.jsx(g,{size:20,className:"text-white"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"font-display font-bold text-[#0a1628] text-sm mb-1",children:o?"Review Recommended":"Supplemental Materials"}),e.jsx("p",{className:"text-xs text-[#5a6578] mb-2",children:o?`You scored ${s}% on this quiz. We recommend reviewing the following resources to strengthen your understanding.`:"This topic was identified as an area for growth. Check out these additional resources."}),t.length>0&&e.jsx("div",{className:"space-y-1.5 mb-3",children:t.map((c,d)=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:`w-5 h-5 rounded flex items-center justify-center ${o?"bg-orange-100 text-orange-600":"bg-sky-100 text-sky-600"}`,children:c.icon}),e.jsx("span",{className:"font-medium text-[#0a1628]",children:c.label}),e.jsxs("span",{className:"text-slate-500",children:["— ",c.description]})]},d))}),l&&e.jsxs("button",{onClick:l,className:`inline-flex items-center gap-1.5 text-xs font-bold px-3 py-1.5 rounded-lg transition-colors ${o?"bg-orange-500 hover:bg-orange-600 text-white":"bg-sky-500 hover:bg-sky-600 text-white"}`,children:["Open Practice Center",e.jsx(f,{size:12})]})]})]})})})},I=i=>{switch(i.variant){case"compact":return e.jsx(C,{...i});case"results":return e.jsx(z,{...i});case"full":default:return e.jsx(k,{...i})}};export{I as default}; +import{j as e,r as y}from"./vendor-react-Dexh7fmo.js";import{e as j,m as p,T as h}from"./index-DGWrSMOK.js";import{X as v}from"./x-Bj25rnWX.js";import{S as w}from"./sparkles-DxmNHQEo.js";import{C as f}from"./chevron-right-DxXkA9aZ.js";import{B as g}from"./book-open-B5Xvd1JL.js";import{T as m}from"./trending-up-B2MPUPwk.js";import{B as x}from"./brain-DHmY5cbv.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const b={"General Mathematics":[{label:"Functions Deep Dive",description:"Interactive review of function types and graphs",icon:e.jsx(m,{size:14})},{label:"Business Math Basics",description:"Simple & compound interest practice",icon:e.jsx(g,{size:14})}],"Statistics and Probability":[{label:"Distribution Visualizer",description:"Explore normal distribution curves",icon:e.jsx(m,{size:14})},{label:"Hypothesis Practice",description:"Step-by-step hypothesis testing",icon:e.jsx(x,{size:14})}],"Pre-Calculus":[{label:"Conic Sections Explorer",description:"Visual parabola, ellipse, hyperbola tool",icon:e.jsx(m,{size:14})},{label:"Trig Identity Practice",description:"Identity verification drill set",icon:e.jsx(x,{size:14})}],"Basic Calculus":[{label:"Limits Visualizer",description:"Graphical approach to limits",icon:e.jsx(m,{size:14})},{label:"Derivative Rules Drill",description:"Practice chain rule & implicit diff",icon:e.jsx(x,{size:14})}]};function u(i){const s=i.toLowerCase();return s==="functions"||s.includes("function")||s==="businessmath"||s.includes("business")||s==="logic"||s.includes("reason")||s.includes("general")||s.includes("gen-math")||s.includes("gen math")?"General Mathematics":s.includes("stat")||s.includes("prob")?"Statistics and Probability":s.includes("pre-calc")||s.includes("pre calc")||s.includes("precalc")?"Pre-Calculus":s.includes("basic")||s.includes("calc")?"Basic Calculus":null}function N(i){const s=i.trim().toLowerCase();return s==="functions"?"Functions and Graphs":s==="businessmath"?"Business and Financial Mathematics":s==="logic"?"Logic and Reasoning":i}const k=({atRiskSubjects:i=[],onAction:s,onDismiss:n})=>{const[l,a]=y.useState(!1);if(l||i.length===0)return null;const r=()=>{a(!0),n?.()};return e.jsx(j,{children:!l&&e.jsx(p.div,{initial:{opacity:0,y:-10,height:0},animate:{opacity:1,y:0,height:"auto"},exit:{opacity:0,y:-10,height:0},className:"overflow-hidden",children:e.jsxs("div",{className:"relative bg-gradient-to-r from-sky-600 via-sky-500 to-sky-600 rounded-2xl p-5 text-white shadow-lg shadow-sky-500/20",children:[e.jsx("button",{onClick:r,className:"absolute top-3 right-3 w-7 h-7 bg-white/20 hover:bg-white/30 rounded-full flex items-center justify-center transition-colors",children:e.jsx(v,{size:14})}),e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 bg-white/20 rounded-xl flex items-center justify-center flex-shrink-0",children:e.jsx(w,{size:24})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"font-bold text-lg mb-1",children:"Supplemental Materials Available"}),e.jsx("p",{className:"text-sky-100 text-sm mb-3",children:"Based on your diagnostic assessment, we've identified topics that could use extra practice. Strengthening these areas will improve your overall performance."}),e.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:i.map(t=>e.jsxs("span",{className:"inline-flex items-center gap-1.5 bg-white/20 backdrop-blur-sm px-3 py-1 rounded-full text-xs font-semibold",children:[e.jsx(h,{size:12}),N(t)]},t))}),e.jsxs("button",{onClick:s,className:"inline-flex items-center gap-2 bg-white text-sky-600 font-bold text-sm px-4 py-2 rounded-xl hover:bg-sky-50 transition-colors",children:["Review Topics",e.jsx(f,{size:16})]})]})]})]})})})},C=({quizSubject:i,atRiskSubjects:s=[]})=>{const n=i?u(i):null;if(!s.some(r=>{const t=u(r);return t&&t===n})||!n)return null;const a=b[n]||[];return e.jsx(p.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},className:"mb-4 overflow-hidden",children:e.jsxs("div",{className:"bg-gradient-to-r from-rose-50 to-orange-50 border border-rose-200 rounded-xl p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[e.jsx(h,{size:14,className:"text-rose-600"}),e.jsxs("span",{className:"text-xs font-bold text-rose-800",children:["Supplemental Focus Area — ",n]})]}),e.jsx("p",{className:"text-xs text-rose-700 mb-2",children:"This topic was flagged in your diagnostic. Take your time and review the explanations carefully."}),a.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:a.slice(0,2).map((r,t)=>e.jsxs("span",{className:"inline-flex items-center gap-1 bg-rose-100 text-rose-700 px-2 py-0.5 rounded-md text-xs font-medium",children:[r.icon,r.label]},t))})]})})},z=({quizSubject:i,quizScore:s=0,atRiskSubjects:n=[],onAction:l})=>{const a=i?u(i):null,r=n.some(c=>{const d=u(c);return d&&d===a});if(s>=70&&!r)return null;const t=a?b[a]||[]:[],o=s<70;return e.jsx(p.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.5},className:"mt-4",children:e.jsx("div",{className:`rounded-2xl p-4 border-2 ${o?"bg-orange-50 border-orange-200":"bg-sky-50 border-sky-200"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0 ${o?"bg-orange-500":"bg-sky-500"}`,children:e.jsx(g,{size:20,className:"text-white"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"font-display font-bold text-[#0a1628] text-sm mb-1",children:o?"Review Recommended":"Supplemental Materials"}),e.jsx("p",{className:"text-xs text-[#5a6578] mb-2",children:o?`You scored ${s}% on this quiz. We recommend reviewing the following resources to strengthen your understanding.`:"This topic was identified as an area for growth. Check out these additional resources."}),t.length>0&&e.jsx("div",{className:"space-y-1.5 mb-3",children:t.map((c,d)=>e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:`w-5 h-5 rounded flex items-center justify-center ${o?"bg-orange-100 text-orange-600":"bg-sky-100 text-sky-600"}`,children:c.icon}),e.jsx("span",{className:"font-medium text-[#0a1628]",children:c.label}),e.jsxs("span",{className:"text-slate-500",children:["— ",c.description]})]},d))}),l&&e.jsxs("button",{onClick:l,className:`inline-flex items-center gap-1.5 text-xs font-bold px-3 py-1.5 rounded-lg transition-colors ${o?"bg-orange-500 hover:bg-orange-600 text-white":"bg-sky-500 hover:bg-sky-600 text-white"}`,children:["Open Practice Center",e.jsx(f,{size:12})]})]})]})})})},I=i=>{switch(i.variant){case"compact":return e.jsx(C,{...i});case"results":return e.jsx(z,{...i});case"full":default:return e.jsx(k,{...i})}};export{I as default}; diff --git a/assets/TeacherDashboard-DfrjZbpI.js b/assets/TeacherDashboard-CtdIzfjb.js similarity index 99% rename from assets/TeacherDashboard-DfrjZbpI.js rename to assets/TeacherDashboard-CtdIzfjb.js index 35ef48ce12e4cdbb111860805d1129a452e1e577..19ab113eb81bcce218d428399c4a5652088a7514 100644 --- a/assets/TeacherDashboard-DfrjZbpI.js +++ b/assets/TeacherDashboard-CtdIzfjb.js @@ -1,4 +1,4 @@ -import{r as d,j as e,c as be}from"./vendor-react-Dexh7fmo.js";import{B as ve}from"./button-DWdPuxDU.js";import{I as Ue}from"./input-DBkKXOmF.js";import Vr from"./ConfirmModal--kX4RdFk.js";import{C as St,L as Yr,S as Hr,a as Wr}from"./LogoutActionButton-Js9om3fZ.js";import{c as lt,d as ke,e as rt,m as ce,Z as Ka,u as Rt,t as Y,C as Kr,T as yt,g as fa,f as Jr,h as Xr,B as Zr,i as en,M as tn}from"./index-CUP7q97n.js";import{e as We,q as qe,l as Ja,w as Ve,h as Ze,o as sn,f as Xa,s as Je,d as Fe,u as Xe,b as pt,a as ze,c as an}from"./vendor-firebase-firestore-CkuVbeP5.js";import{apiService as pe,ApiError as Ds}from"./apiService-BmQUiVGe.js";import{G as $s}from"./graduation-cap-CCth-BT0.js";import{X as Dt}from"./x-DSPvcKpY.js";import{B as Za}from"./brain-CaMXLcPK.js";import{B as es}from"./book-open-CeQC7bWj.js";import{s as pa,f as rn,L as nn,d as on,a as ln,p as cn,b as dn}from"./quizService-MwzPk14n.js";import{L as Le}from"./loader-circle-kcw3SM4v.js";import{E as hs}from"./eye-CG0PWKAR.js";import{S as zt}from"./send-D1NSm_uD.js";import{T as er}from"./trash-2-DhgLaJ_c.js";import{C as Ss}from"./circle-alert-_UGdorkr.js";import{M as ga}from"./minus-FdgaZoCo.js";import{P as $t}from"./plus-BqPmFcy0.js";import{C as Ut}from"./check-DXbjXZsm.js";import{F as Ps,I as qt,R as mn,D as un,a as xn,b as hn,c as fn,d as pn,T as gn,e as bn,f as vn,V as yn}from"./dialog-BJJiOR2B.js";import{C as jt}from"./chart-column-D_9m8xSU.js";import{C as jn,S as q}from"./skeleton-6_TnmEdc.js";import{D as Fs}from"./download-DWfJPUrU.js";import{S as Nn}from"./sparkles-Cg_SVFRk.js";import{S as tr}from"./save-DTLT0-dh.js";import{T as Os}from"./trending-up-DmBYqjZb.js";import{U as Yt}from"./users-BpOE7EHN.js";import{S as ts}from"./search-C5n5sv5I.js";import{C as Ht,a as nt}from"./chevron-up-B9_iMYGp.js";import{S as ba,g as wn,G as kn,s as va}from"./subjects-Cwbch54O.js";import{C as sr}from"./circle-check-big-5ddhW4zc.js";import{E as Sn}from"./eye-off-D5b_ErbA.js";import{U as ya}from"./user-BXAf0Aum.js";import{C as _t}from"./chevron-right-BKVsZIKp.js";import{A as Cn}from"./award-BtESaHld.js";import ar from"./ChatMarkdown-BoigvQ2c.js";import{B as Wt}from"./bell-CPMVIplR.js";import{C as Tn}from"./check-check-DgFAqf3A.js";import{C as rr}from"./clock-C56zvyHw.js";import{M as In}from"./message-square-C0Ume0lR.js";import{T as Ln}from"./trophy-di6eNjuA.js";import{T as Mn}from"./target-DaU28Ow3.js";import{C as An}from"./calendar-BJy8dui2.js";import{g as En,i as _e,G as zn,a as fs,m as Dn,b as ot,T as $n,s as ps,f as ft,c as ja,L as Na,d as Pn,e as Fn,u as Rs,h as _s,j as On,k as Rn,l as _n,w as wa,n as nr,o as ss,p as Bn,q as Gn,r as Qn,B as Cs,t as Un,R as ka,v as Sa,C as qn}from"./generateCategoricalChart-CiUYzAvW.js";import{c as gt}from"./clsx-B-dksMZM.js";import{P as or}from"./pen-line-BrNinh8A.js";import"./vendor-radix-B-ht8aK0.js";import"./utils-BQQgILNW.js";import"./log-out-DSwWLQA-.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-markdown-C5ikSDMA.js";/** +import{r as d,j as e,c as be}from"./vendor-react-Dexh7fmo.js";import{B as ve}from"./button-DWdPuxDU.js";import{I as Ue}from"./input-DBkKXOmF.js";import Vr from"./ConfirmModal-B9CUrvQP.js";import{C as St,L as Yr,S as Hr,a as Wr}from"./LogoutActionButton-D-8gok3U.js";import{c as lt,d as ke,e as rt,m as ce,Z as Ka,u as Rt,t as Y,C as Kr,T as yt,g as fa,f as Jr,h as Xr,B as Zr,i as en,M as tn}from"./index-DGWrSMOK.js";import{e as We,q as qe,l as Ja,w as Ve,h as Ze,o as sn,f as Xa,s as Je,d as Fe,u as Xe,b as pt,a as ze,c as an}from"./vendor-firebase-firestore-CkuVbeP5.js";import{apiService as pe,ApiError as Ds}from"./apiService-BuaHZ1Ho.js";import{G as $s}from"./graduation-cap-Cr-ek4Bs.js";import{X as Dt}from"./x-Bj25rnWX.js";import{B as Za}from"./brain-DHmY5cbv.js";import{B as es}from"./book-open-B5Xvd1JL.js";import{s as pa,f as rn,L as nn,d as on,a as ln,p as cn,b as dn}from"./quizService-BkrCeM05.js";import{L as Le}from"./loader-circle-BUf2fYcT.js";import{E as hs}from"./eye-pSTVqBYO.js";import{S as zt}from"./send-nCgvy9cZ.js";import{T as er}from"./trash-2-CBQVcuBL.js";import{C as Ss}from"./circle-alert-D8UKyVHS.js";import{M as ga}from"./minus-BjTBUAx2.js";import{P as $t}from"./plus-DVCmopn-.js";import{C as Ut}from"./check-BONc3QkK.js";import{F as Ps,I as qt,R as mn,D as un,a as xn,b as hn,c as fn,d as pn,T as gn,e as bn,f as vn,V as yn}from"./dialog-C0Vo-dln.js";import{C as jt}from"./chart-column-CJzwyNMx.js";import{C as jn,S as q}from"./skeleton-DgVR4gS7.js";import{D as Fs}from"./download-DINpalm9.js";import{S as Nn}from"./sparkles-DxmNHQEo.js";import{S as tr}from"./save-B5SCmCsP.js";import{T as Os}from"./trending-up-B2MPUPwk.js";import{U as Yt}from"./users-BRS21lR4.js";import{S as ts}from"./search-O5gEqRZi.js";import{C as Ht,a as nt}from"./chevron-up-BJyzaJs7.js";import{S as ba,g as wn,G as kn,s as va}from"./subjects-DDYtJwQO.js";import{C as sr}from"./circle-check-big-mv2CRLCE.js";import{E as Sn}from"./eye-off-DCr0gD8u.js";import{U as ya}from"./user-Br5UzORP.js";import{C as _t}from"./chevron-right-DxXkA9aZ.js";import{A as Cn}from"./award-DpLN2BvV.js";import ar from"./ChatMarkdown-BI4vbcO7.js";import{B as Wt}from"./bell-DeNrtKrI.js";import{C as Tn}from"./check-check-BDU3hkDf.js";import{C as rr}from"./clock-qHFbMxrB.js";import{M as In}from"./message-square-DIXhbelM.js";import{T as Ln}from"./trophy-73YPSH67.js";import{T as Mn}from"./target-7Gevl8jn.js";import{C as An}from"./calendar-19p2TrVX.js";import{g as En,i as _e,G as zn,a as fs,m as Dn,b as ot,T as $n,s as ps,f as ft,c as ja,L as Na,d as Pn,e as Fn,u as Rs,h as _s,j as On,k as Rn,l as _n,w as wa,n as nr,o as ss,p as Bn,q as Gn,r as Qn,B as Cs,t as Un,R as ka,v as Sa,C as qn}from"./generateCategoricalChart-CiUYzAvW.js";import{c as gt}from"./clsx-B-dksMZM.js";import{P as or}from"./pen-line-CX1xh2Q2.js";import"./vendor-radix-B-ht8aK0.js";import"./utils-BQQgILNW.js";import"./log-out-DYYu4gFF.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";import"./vendor-markdown-C5ikSDMA.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/XPNotification-XhraxJ7G.js b/assets/XPNotification-DOZFX3ET.js similarity index 91% rename from assets/XPNotification-XhraxJ7G.js rename to assets/XPNotification-DOZFX3ET.js index cda670c0116ed359a2cca152f041d3e0b04e8302..89428b71faf07a7742d1e7cd6d6597724953bdb8 100644 --- a/assets/XPNotification-XhraxJ7G.js +++ b/assets/XPNotification-DOZFX3ET.js @@ -1 +1 @@ -import{r as l,j as e}from"./vendor-react-Dexh7fmo.js";import{e as n,m as r}from"./index-CUP7q97n.js";import{S as c}from"./star-CX9mS3Me.js";import{S as m}from"./sparkles-Cg_SVFRk.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const v=({xp:i,message:a,show:t,onComplete:s})=>(l.useEffect(()=>{if(t){const o=setTimeout(()=>{s()},3e3);return()=>clearTimeout(o)}},[t,s]),e.jsx(n,{children:t&&e.jsx(r.div,{initial:{opacity:0,y:-50,scale:.8},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-20,scale:.9},className:"fixed top-8 left-1/2 -translate-x-1/2 z-50",children:e.jsxs("div",{className:"bg-gradient-to-r from-rose-400 via-orange-500 to-rose-500 text-white px-6 py-4 rounded-2xl shadow-2xl border-2 border-rose-300 flex items-center gap-3",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(c,{size:20,className:"text-white",fill:"currentColor"})}),e.jsx(r.div,{className:"absolute -top-1 -right-1",animate:{rotate:[0,360]},transition:{duration:2,repeat:1/0,ease:"linear"},children:e.jsx(m,{size:16,className:"text-rose-200"})})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-bold",children:a}),e.jsxs("p",{className:"text-2xl font-black",children:["+",i," XP"]})]})]})})}));export{v as default}; +import{r as l,j as e}from"./vendor-react-Dexh7fmo.js";import{e as n,m as r}from"./index-DGWrSMOK.js";import{S as c}from"./star-DqP0S0c5.js";import{S as m}from"./sparkles-DxmNHQEo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const v=({xp:i,message:a,show:t,onComplete:s})=>(l.useEffect(()=>{if(t){const o=setTimeout(()=>{s()},3e3);return()=>clearTimeout(o)}},[t,s]),e.jsx(n,{children:t&&e.jsx(r.div,{initial:{opacity:0,y:-50,scale:.8},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-20,scale:.9},className:"fixed top-8 left-1/2 -translate-x-1/2 z-50",children:e.jsxs("div",{className:"bg-gradient-to-r from-rose-400 via-orange-500 to-rose-500 text-white px-6 py-4 rounded-2xl shadow-2xl border-2 border-rose-300 flex items-center gap-3",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"w-10 h-10 bg-white/20 rounded-xl flex items-center justify-center",children:e.jsx(c,{size:20,className:"text-white",fill:"currentColor"})}),e.jsx(r.div,{className:"absolute -top-1 -right-1",animate:{rotate:[0,360]},transition:{duration:2,repeat:1/0,ease:"linear"},children:e.jsx(m,{size:16,className:"text-rose-200"})})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-bold",children:a}),e.jsxs("p",{className:"text-2xl font-black",children:["+",i," XP"]})]})]})})}));export{v as default}; diff --git a/assets/apiService-BmQUiVGe.js b/assets/apiService-BuaHZ1Ho.js similarity index 99% rename from assets/apiService-BmQUiVGe.js rename to assets/apiService-BuaHZ1Ho.js index a1007b75a7b3a38416d398465e4241cd86cc4106..dc5e97534e77b98eab7f3fe41b8fd8415737bce4 100644 --- a/assets/apiService-BmQUiVGe.js +++ b/assets/apiService-BuaHZ1Ho.js @@ -1,4 +1,4 @@ -import{I as C}from"./index-CUP7q97n.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const z=3e4,ce=3,le=1e3;class E extends Error{status;statusText;endpoint;responseBody;retryable;requestId;constructor(t){super(`API Error ${t.status} (${t.statusText}) on ${t.endpoint}: ${t.responseBody}`),this.name="ApiError",this.status=t.status,this.statusText=t.statusText,this.endpoint=t.endpoint,this.responseBody=t.responseBody,this.retryable=t.retryable,this.requestId=t.requestId}}class N extends Error{endpoint;timeoutMs;constructor(t,r){super(`Request to ${t} timed out after ${r}ms`),this.name="ApiTimeoutError",this.endpoint=t,this.timeoutMs=r}}class W extends Error{endpoint;originalError;constructor(t,r){super(`Network error on ${t}: ${r.message}`),this.name="ApiNetworkError",this.endpoint=t,this.originalError=r}}class g extends Error{endpoint;details;constructor(t,r){super(`Validation error before calling ${t}: ${r}`),this.name="ApiValidationError",this.endpoint=t,this.details=r}}const me=new Set([408,429,500,502,503,504]);function fe(e){return me.has(e)}function K(e){const t=`[API ${e.level.toUpperCase()}] ${e.timestamp} ${e.method} ${e.endpoint}`;switch(e.level){case"error":console.error(t,e.message,e.details??"");break;case"warn":console.warn(t,e.message,e.details??"");break;default:console.info(t,e.message,e.details??"")}}function I(e,t,r,s){K({timestamp:new Date().toISOString(),level:"info",endpoint:e,method:t,message:r,details:s})}function Y(e,t,r,s){K({timestamp:new Date().toISOString(),level:"warn",endpoint:e,method:t,message:r,details:s})}function f(e,t,r,s){K({timestamp:new Date().toISOString(),level:"error",endpoint:e,method:t,message:r,details:s})}function pe(e,t,r=z){const s=new AbortController,a=setTimeout(()=>s.abort(),r);return{promise:fetch(e,{...t,signal:s.signal}).finally(()=>clearTimeout(a)),abort:()=>s.abort()}}let he=e=>new Promise(t=>setTimeout(t,e));function ee(e){return he(e)}function ge(e,t=le){const r=t*Math.pow(2,e),s=Math.random()*t;return Math.min(r+s,3e4)}async function te(e,t={},r={}){const{maxRetries:s=ce,timeoutMs:a=z,baseBackoffMs:p=le}=r,d=(t.method??"GET").toUpperCase();let o;for(let n=0;n<=s;n++){const y=Date.now();try{n>0&&I(e,d,`Retry attempt ${n}/${s}`);const{promise:l}=pe(e,t,a),c=await l,S=Date.now()-y;if(c.ok)return I(e,d,`${c.status} in ${S}ms`,{attempt:n}),await c.json();const x=await c.text().catch(()=>"Unable to read response body"),R=fe(c.status),k=new E({status:c.status,statusText:c.statusText,endpoint:e,responseBody:x,retryable:R,requestId:c.headers.get("x-request-id")??void 0});if(f(e,d,`${c.status} ${c.statusText} in ${S}ms`,{attempt:n,responseBody:x.slice(0,500),retryable:R}),!R)throw k;if(c.status===429){const u=c.headers.get("retry-after");if(u){const P=parseInt(u,10);if(!isNaN(P)&&P>0){Y(e,d,`Rate limited. Waiting ${P}s (Retry-After header)`),await ee(P*1e3),o=k;continue}}}o=k}catch(l){const c=Date.now()-y;if(l instanceof E&&!l.retryable)throw l;if(l instanceof DOMException&&l.name==="AbortError"){const S=new N(e,a);f(e,d,`Timeout after ${c}ms`,{attempt:n,timeoutMs:a}),o=S}else if(l instanceof TypeError&&l.message.includes("fetch")){const S=new W(e,l);f(e,d,`Network error after ${c}ms: ${l.message}`,{attempt:n}),o=S}else l instanceof E?o=l:(o=l instanceof Error?l:new Error(String(l)),f(e,d,`Unexpected error: ${o.message}`,{attempt:n}))}if(ns==null||s==="").map(([s])=>s);if(r.length>0)throw new g(e,`Missing required fields: ${r.join(", ")}`)}function h(e,t,r,s,a){if(typeof r!="number"||isNaN(r)||ra)throw new g(e,`${t} must be a number between ${s} and ${a}, got ${r}`)}const F="https://deign86-mathpulse-api-v3test.hf.space",q=(e,t)=>t,de=(e,t)=>t,j=q(void 0,!0),re=q(void 0,!0),se=q(void 0,!0),ae=q(void 0,!0),ne=de(void 0,9e4),H=de(void 0,9e5);let Q=!0,ie=0;const ye=6e4,L={maxRetries:ce,timeoutMs:z,baseBackoffMs:1e3},A={...L,timeoutMs:6e4},we={...A,maxRetries:1,timeoutMs:45e3,baseBackoffMs:750},V={maxRetries:2,timeoutMs:12e4,baseBackoffMs:2e3},Se={maxRetries:0,timeoutMs:8e3,baseBackoffMs:500};let U=null;async function Be(){return U||(U=(async()=>{try{I("/health","GET","Warming up HuggingFace Space...");const e=new AbortController,t=setTimeout(()=>e.abort(),15e3),r=await fetch(`${F}/health`,{method:"GET",signal:e.signal});return clearTimeout(t),r.ok?(I("/health","GET","Backend warm and ready"),!0):(console.warn("[apiService] Backend health check returned",r.status),!1)}catch(e){return console.warn("[apiService] Backend warmup failed (cold start expected):",e),!1}})(),U)}async function i(e,t,r=L){const s=`${F}${e}`,a=t?.method??"GET";I(e,a,"Starting request");const p=async o=>{const n=new Headers(t?.headers??{});!(t?.body instanceof FormData)&&!n.has("Content-Type")&&n.set("Content-Type","application/json");const y=C.currentUser;if(y)try{const l=await y.getIdToken(o);l&&n.set("Authorization",`Bearer ${l}`)}catch(l){f(e,a,"Failed to acquire Firebase ID token",l)}return{...t,headers:n}};let d=await p(!1);try{const o=await te(s,d,r);return I(e,a,"Request succeeded"),o}catch(o){if(o instanceof E&&o.status===401&&C.currentUser)try{I(e,a,"401 received, refreshing Firebase token and retrying once"),d=await p(!0);const n=await te(s,d,r);return I(e,a,"Request succeeded after token refresh"),n}catch(n){throw n instanceof E?f(e,a,`HTTP ${n.status}: ${n.responseBody.slice(0,300)}`):n instanceof N?f(e,a,`Timeout after ${n.timeoutMs}ms`):n instanceof W?f(e,a,`Network error: ${n.originalError.message}`):f(e,a,`Unexpected: ${n instanceof Error?n.message:String(n)}`),n}throw o instanceof E?f(e,a,`HTTP ${o.status}: ${o.responseBody.slice(0,300)}`):o instanceof N?f(e,a,`Timeout after ${o.timeoutMs}ms`):o instanceof W?f(e,a,`Network error: ${o.originalError.message}`):f(e,a,`Unexpected: ${o instanceof Error?o.message:String(o)}`),o}}async function Te(e,t,r=z){const s=`${F}${e}`,a=t?.method??"GET";I(e,a,"Starting blob request");const p=async d=>{const o=new Headers(t?.headers??{}),n=C.currentUser;if(n)try{const c=await n.getIdToken(d);c&&o.set("Authorization",`Bearer ${c}`)}catch(c){f(e,a,"Failed to acquire Firebase ID token",c)}const y=new AbortController,l=setTimeout(()=>y.abort(),r);try{const c=await fetch(s,{...t,headers:o,signal:y.signal});if(!c.ok){const S=await c.text();throw new E({status:c.status,statusText:c.statusText||"Request Failed",endpoint:e,responseBody:S,retryable:c.status>=500||c.status===429})}return await c.blob()}finally{clearTimeout(l)}};try{return await p(!1)}catch(d){if(d instanceof E&&d.status===401&&C.currentUser)return I(e,a,"401 received for blob request, refreshing Firebase token and retrying once"),p(!0);throw d}}const be={response:"Sorry, the AI tutor is temporarily unavailable. Please try again in a moment."},Ie={riskLevel:"Medium",confidence:0,analysis:{labels:[],scores:[]},risk_level:"medium",risk_score:0,top_factors:["Fallback risk response due to temporary service unavailability"]},Ee={learningPath:"Unable to generate a learning path right now. Please try again later."},ke={insight:"Daily insight is temporarily unavailable. Please refresh later."},Ae={expression:"",result:"Error: calculation service unavailable",steps:[],simplified:null,latex:null};function Oe(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.riskLevel=="string"&&typeof t.confidence=="number"}function oe(e){if(typeof e!="object"||e===null)return!1;const t=e;return Array.isArray(t.questions)&&typeof t.totalPoints=="number"}const ve=e=>new Promise(t=>setTimeout(t,e));function Re(e){if(!e)return"Generation task failed without a detailed error.";if(typeof e=="string")return e;if(typeof e=="object"&&e!==null){const t=e;if(typeof t.message=="string")return t.message;try{return JSON.stringify(t)}catch{return"Generation task failed due to an unknown error."}}return String(e)}const b={getImportGroundedRolloutFlags(){return{quizEnabled:j,lessonEnabled:re,feedbackEnabled:se}},async reportImportGroundedFeedback(e){return se?i("/api/feedback/import-grounded",{method:"POST",body:JSON.stringify(e)}):{success:!0,stored:!1,warnings:["Import-grounded feedback events are disabled by frontend rollout flag."]}},async health(){return i("/health",void 0,{...L,timeoutMs:1e4})},async chat(e,t,r,s){m("/api/chat",{message:e});const a={message:e,history:t??[],...s?.expectedEndMarker?{expectedEndMarker:s.expectedEndMarker}:{},...s?.completionMode?{completionMode:s.completionMode}:{},...typeof s?.continuationMaxRounds=="number"?{continuationMaxRounds:Math.max(0,Math.floor(s.continuationMaxRounds))}:{}};if(r){const d=new AbortController;let o=null,n=null,y=null;const l=u=>{o||(o=u,d.abort())},c=()=>{n&&(clearTimeout(n),n=null),y&&(clearTimeout(y),y=null)},S=()=>{n&&clearTimeout(n),n=setTimeout(()=>l("idle"),ne)};y=setTimeout(()=>l("total"),H);const x=new Headers({"Content-Type":"application/json"}),R=C.currentUser;if(R)try{const u=await R.getIdToken(!1);u&&x.set("Authorization",`Bearer ${u}`)}catch(u){f("/api/chat/stream","POST","Failed to acquire Firebase ID token",u)}let k=null;try{S();const u=await fetch(`${F}/api/chat/stream`,{method:"POST",headers:x,body:JSON.stringify(a),signal:d.signal});if(!u.ok||!u.body){const $=await u.text().catch(()=>"Unable to read response body");throw new Error(`Streaming request failed (${u.status}): ${$.slice(0,300)}`)}k=u.body.getReader();const P=new TextDecoder;let O="",J="",X=!1;const G=$=>{const v=$.indexOf(` +import{I as C}from"./index-DGWrSMOK.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-firebase-firestore-CkuVbeP5.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const z=3e4,ce=3,le=1e3;class E extends Error{status;statusText;endpoint;responseBody;retryable;requestId;constructor(t){super(`API Error ${t.status} (${t.statusText}) on ${t.endpoint}: ${t.responseBody}`),this.name="ApiError",this.status=t.status,this.statusText=t.statusText,this.endpoint=t.endpoint,this.responseBody=t.responseBody,this.retryable=t.retryable,this.requestId=t.requestId}}class N extends Error{endpoint;timeoutMs;constructor(t,r){super(`Request to ${t} timed out after ${r}ms`),this.name="ApiTimeoutError",this.endpoint=t,this.timeoutMs=r}}class W extends Error{endpoint;originalError;constructor(t,r){super(`Network error on ${t}: ${r.message}`),this.name="ApiNetworkError",this.endpoint=t,this.originalError=r}}class g extends Error{endpoint;details;constructor(t,r){super(`Validation error before calling ${t}: ${r}`),this.name="ApiValidationError",this.endpoint=t,this.details=r}}const me=new Set([408,429,500,502,503,504]);function fe(e){return me.has(e)}function K(e){const t=`[API ${e.level.toUpperCase()}] ${e.timestamp} ${e.method} ${e.endpoint}`;switch(e.level){case"error":console.error(t,e.message,e.details??"");break;case"warn":console.warn(t,e.message,e.details??"");break;default:console.info(t,e.message,e.details??"")}}function I(e,t,r,s){K({timestamp:new Date().toISOString(),level:"info",endpoint:e,method:t,message:r,details:s})}function Y(e,t,r,s){K({timestamp:new Date().toISOString(),level:"warn",endpoint:e,method:t,message:r,details:s})}function f(e,t,r,s){K({timestamp:new Date().toISOString(),level:"error",endpoint:e,method:t,message:r,details:s})}function pe(e,t,r=z){const s=new AbortController,a=setTimeout(()=>s.abort(),r);return{promise:fetch(e,{...t,signal:s.signal}).finally(()=>clearTimeout(a)),abort:()=>s.abort()}}let he=e=>new Promise(t=>setTimeout(t,e));function ee(e){return he(e)}function ge(e,t=le){const r=t*Math.pow(2,e),s=Math.random()*t;return Math.min(r+s,3e4)}async function te(e,t={},r={}){const{maxRetries:s=ce,timeoutMs:a=z,baseBackoffMs:p=le}=r,d=(t.method??"GET").toUpperCase();let o;for(let n=0;n<=s;n++){const y=Date.now();try{n>0&&I(e,d,`Retry attempt ${n}/${s}`);const{promise:l}=pe(e,t,a),c=await l,S=Date.now()-y;if(c.ok)return I(e,d,`${c.status} in ${S}ms`,{attempt:n}),await c.json();const x=await c.text().catch(()=>"Unable to read response body"),R=fe(c.status),k=new E({status:c.status,statusText:c.statusText,endpoint:e,responseBody:x,retryable:R,requestId:c.headers.get("x-request-id")??void 0});if(f(e,d,`${c.status} ${c.statusText} in ${S}ms`,{attempt:n,responseBody:x.slice(0,500),retryable:R}),!R)throw k;if(c.status===429){const u=c.headers.get("retry-after");if(u){const P=parseInt(u,10);if(!isNaN(P)&&P>0){Y(e,d,`Rate limited. Waiting ${P}s (Retry-After header)`),await ee(P*1e3),o=k;continue}}}o=k}catch(l){const c=Date.now()-y;if(l instanceof E&&!l.retryable)throw l;if(l instanceof DOMException&&l.name==="AbortError"){const S=new N(e,a);f(e,d,`Timeout after ${c}ms`,{attempt:n,timeoutMs:a}),o=S}else if(l instanceof TypeError&&l.message.includes("fetch")){const S=new W(e,l);f(e,d,`Network error after ${c}ms: ${l.message}`,{attempt:n}),o=S}else l instanceof E?o=l:(o=l instanceof Error?l:new Error(String(l)),f(e,d,`Unexpected error: ${o.message}`,{attempt:n}))}if(ns==null||s==="").map(([s])=>s);if(r.length>0)throw new g(e,`Missing required fields: ${r.join(", ")}`)}function h(e,t,r,s,a){if(typeof r!="number"||isNaN(r)||ra)throw new g(e,`${t} must be a number between ${s} and ${a}, got ${r}`)}const F="https://deign86-mathpulse-api-v3test.hf.space",q=(e,t)=>t,de=(e,t)=>t,j=q(void 0,!0),re=q(void 0,!0),se=q(void 0,!0),ae=q(void 0,!0),ne=de(void 0,9e4),H=de(void 0,9e5);let Q=!0,ie=0;const ye=6e4,L={maxRetries:ce,timeoutMs:z,baseBackoffMs:1e3},A={...L,timeoutMs:6e4},we={...A,maxRetries:1,timeoutMs:45e3,baseBackoffMs:750},V={maxRetries:2,timeoutMs:12e4,baseBackoffMs:2e3},Se={maxRetries:0,timeoutMs:8e3,baseBackoffMs:500};let U=null;async function Be(){return U||(U=(async()=>{try{I("/health","GET","Warming up HuggingFace Space...");const e=new AbortController,t=setTimeout(()=>e.abort(),15e3),r=await fetch(`${F}/health`,{method:"GET",signal:e.signal});return clearTimeout(t),r.ok?(I("/health","GET","Backend warm and ready"),!0):(console.warn("[apiService] Backend health check returned",r.status),!1)}catch(e){return console.warn("[apiService] Backend warmup failed (cold start expected):",e),!1}})(),U)}async function i(e,t,r=L){const s=`${F}${e}`,a=t?.method??"GET";I(e,a,"Starting request");const p=async o=>{const n=new Headers(t?.headers??{});!(t?.body instanceof FormData)&&!n.has("Content-Type")&&n.set("Content-Type","application/json");const y=C.currentUser;if(y)try{const l=await y.getIdToken(o);l&&n.set("Authorization",`Bearer ${l}`)}catch(l){f(e,a,"Failed to acquire Firebase ID token",l)}return{...t,headers:n}};let d=await p(!1);try{const o=await te(s,d,r);return I(e,a,"Request succeeded"),o}catch(o){if(o instanceof E&&o.status===401&&C.currentUser)try{I(e,a,"401 received, refreshing Firebase token and retrying once"),d=await p(!0);const n=await te(s,d,r);return I(e,a,"Request succeeded after token refresh"),n}catch(n){throw n instanceof E?f(e,a,`HTTP ${n.status}: ${n.responseBody.slice(0,300)}`):n instanceof N?f(e,a,`Timeout after ${n.timeoutMs}ms`):n instanceof W?f(e,a,`Network error: ${n.originalError.message}`):f(e,a,`Unexpected: ${n instanceof Error?n.message:String(n)}`),n}throw o instanceof E?f(e,a,`HTTP ${o.status}: ${o.responseBody.slice(0,300)}`):o instanceof N?f(e,a,`Timeout after ${o.timeoutMs}ms`):o instanceof W?f(e,a,`Network error: ${o.originalError.message}`):f(e,a,`Unexpected: ${o instanceof Error?o.message:String(o)}`),o}}async function Te(e,t,r=z){const s=`${F}${e}`,a=t?.method??"GET";I(e,a,"Starting blob request");const p=async d=>{const o=new Headers(t?.headers??{}),n=C.currentUser;if(n)try{const c=await n.getIdToken(d);c&&o.set("Authorization",`Bearer ${c}`)}catch(c){f(e,a,"Failed to acquire Firebase ID token",c)}const y=new AbortController,l=setTimeout(()=>y.abort(),r);try{const c=await fetch(s,{...t,headers:o,signal:y.signal});if(!c.ok){const S=await c.text();throw new E({status:c.status,statusText:c.statusText||"Request Failed",endpoint:e,responseBody:S,retryable:c.status>=500||c.status===429})}return await c.blob()}finally{clearTimeout(l)}};try{return await p(!1)}catch(d){if(d instanceof E&&d.status===401&&C.currentUser)return I(e,a,"401 received for blob request, refreshing Firebase token and retrying once"),p(!0);throw d}}const be={response:"Sorry, the AI tutor is temporarily unavailable. Please try again in a moment."},Ie={riskLevel:"Medium",confidence:0,analysis:{labels:[],scores:[]},risk_level:"medium",risk_score:0,top_factors:["Fallback risk response due to temporary service unavailability"]},Ee={learningPath:"Unable to generate a learning path right now. Please try again later."},ke={insight:"Daily insight is temporarily unavailable. Please refresh later."},Ae={expression:"",result:"Error: calculation service unavailable",steps:[],simplified:null,latex:null};function Oe(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.riskLevel=="string"&&typeof t.confidence=="number"}function oe(e){if(typeof e!="object"||e===null)return!1;const t=e;return Array.isArray(t.questions)&&typeof t.totalPoints=="number"}const ve=e=>new Promise(t=>setTimeout(t,e));function Re(e){if(!e)return"Generation task failed without a detailed error.";if(typeof e=="string")return e;if(typeof e=="object"&&e!==null){const t=e;if(typeof t.message=="string")return t.message;try{return JSON.stringify(t)}catch{return"Generation task failed due to an unknown error."}}return String(e)}const b={getImportGroundedRolloutFlags(){return{quizEnabled:j,lessonEnabled:re,feedbackEnabled:se}},async reportImportGroundedFeedback(e){return se?i("/api/feedback/import-grounded",{method:"POST",body:JSON.stringify(e)}):{success:!0,stored:!1,warnings:["Import-grounded feedback events are disabled by frontend rollout flag."]}},async health(){return i("/health",void 0,{...L,timeoutMs:1e4})},async chat(e,t,r,s){m("/api/chat",{message:e});const a={message:e,history:t??[],...s?.expectedEndMarker?{expectedEndMarker:s.expectedEndMarker}:{},...s?.completionMode?{completionMode:s.completionMode}:{},...typeof s?.continuationMaxRounds=="number"?{continuationMaxRounds:Math.max(0,Math.floor(s.continuationMaxRounds))}:{}};if(r){const d=new AbortController;let o=null,n=null,y=null;const l=u=>{o||(o=u,d.abort())},c=()=>{n&&(clearTimeout(n),n=null),y&&(clearTimeout(y),y=null)},S=()=>{n&&clearTimeout(n),n=setTimeout(()=>l("idle"),ne)};y=setTimeout(()=>l("total"),H);const x=new Headers({"Content-Type":"application/json"}),R=C.currentUser;if(R)try{const u=await R.getIdToken(!1);u&&x.set("Authorization",`Bearer ${u}`)}catch(u){f("/api/chat/stream","POST","Failed to acquire Firebase ID token",u)}let k=null;try{S();const u=await fetch(`${F}/api/chat/stream`,{method:"POST",headers:x,body:JSON.stringify(a),signal:d.signal});if(!u.ok||!u.body){const $=await u.text().catch(()=>"Unable to read response body");throw new Error(`Streaming request failed (${u.status}): ${$.slice(0,300)}`)}k=u.body.getReader();const P=new TextDecoder;let O="",J="",X=!1;const G=$=>{const v=$.indexOf(` `),T=$.indexOf(`\r \r diff --git a/assets/automationService-CH2Qjv3D.js b/assets/automationService-1THdsq3v.js similarity index 98% rename from assets/automationService-CH2Qjv3D.js rename to assets/automationService-1THdsq3v.js index 1a0ac06c2a0067dd29a3e1c39e2821a410fbb770..ee2ac9d6437db19a9bfb329bcc50e54ea4cfcd34 100644 --- a/assets/automationService-CH2Qjv3D.js +++ b/assets/automationService-1THdsq3v.js @@ -1 +1 @@ -import{k as p,e as r,q as w,w as h,h as z,m as Q,a as i,s as I,d as b,u as A}from"./vendor-firebase-firestore-CkuVbeP5.js";import{d as s,N as a,O as $}from"./index-CUP7q97n.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";async function k(e){if(!e)return 0;const n=r(s,"deepDiagnosticAssignments"),c=w(n,h("lrn","==",e));return(await z(c)).docs.filter(o=>{const t=o.data().status;return t==="pending"||t==="queued"||t==="in_progress"||t==="expired"}).length}async function T(e,n,c="Grade 11",u,o="iar_only",t="initial_assessment"){if(t==="followup_diagnostic"){const D=r(s,"deepDiagnosticAssignments"),C=w(D,h("lrn","==",e)),d=await z(C);if(!d.empty){const m=Q(s);let g=!1;for(const l of d.docs){const f=l.data().status;(f==="pending"||f==="queued")&&(m.update(l.ref,{status:"in_progress",startedAt:i()}),g=!0)}g&&await m.commit()}}return await I(b(s,"diagnosticResults",e),{lrn:e,results:n,gradeLevel:c,workflowMode:o,assessmentType:t,questionBreakdown:u||null,completedAt:i(),processed:!1,processing:!1}),{success:!0,event:"diagnostic_completed",lrn:e,message:`Diagnostic submitted for ${e}. Processing will begin automatically.`,remedialQuizzesCreated:0,notifications:["Your diagnostic results are being processed. Check back shortly!"]}}async function B(e){return await p(r(s,"quizResults"),{lrn:e.lrn,quizId:e.quizId,subject:e.subject,score:e.score,totalQuestions:e.totalQuestions,correctAnswers:e.correctAnswers,timeSpentSeconds:e.timeSpentSeconds,answers:e.answers||null,submittedAt:i()}),{success:!0,event:"quiz_submitted",lrn:e.lrn,message:`Quiz submitted for ${e.lrn}. Risk recalculation will run automatically.`,remedialQuizzesCreated:0,notifications:[`Quiz result recorded for ${e.subject}.`]}}async function M(e){return await $(e.lrn),await a(e.lrn,"reminder","Welcome to MathPulse AI!","Complete your diagnostic assessment to get started with personalised learning."),e.teacherId&&await a(e.teacherId,"message","New Student Enrolled",`${e.name} has joined. Diagnostic assessment is pending.`),{success:!0,event:"student_enrolled",lrn:e.lrn,message:`Student ${e.name} enrolled and initialised`,remedialQuizzesCreated:0,notifications:[`Welcome ${e.name}! Please complete the diagnostic assessment.`]}}async function N(e){return await p(r(s,"dataImports"),{teacherId:e.teacherId,studentCount:e.students.length,columnMapping:e.columnMapping,importedAt:i(),processed:!1}),await a(e.teacherId,"message","Data Import Processed",`Data import complete — ${e.students.length} student records processed.`),{success:!0,event:"data_imported",message:`Data import processed for ${e.students.length} students`,remedialQuizzesCreated:0,notifications:[`Data import complete — ${e.students.length} student records processed.`]}}async function U(e){const n=b(s,"curriculumContent",e.contentId);return e.action==="delete"?await A(n,{deleted:!0,deletedBy:e.adminId,deletedAt:i(),contentType:e.contentType,subjectId:e.subjectId||null}):await I(n,{contentType:e.contentType,subjectId:e.subjectId||null,details:e.details||null,updatedBy:e.adminId,action:e.action,updatedAt:i()},{merge:!0}),{success:!0,event:"content_updated",message:`Content ${e.action} processed for ${e.contentType}`,remedialQuizzesCreated:0,notifications:[]}}export{k as getPendingDeepDiagnosticCount,U as triggerContentUpdated,N as triggerDataImported,T as triggerDiagnosticCompleted,B as triggerQuizSubmitted,M as triggerStudentEnrolled}; +import{k as p,e as r,q as w,w as h,h as z,m as Q,a as i,s as I,d as b,u as A}from"./vendor-firebase-firestore-CkuVbeP5.js";import{d as s,N as a,O as $}from"./index-DGWrSMOK.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";async function k(e){if(!e)return 0;const n=r(s,"deepDiagnosticAssignments"),c=w(n,h("lrn","==",e));return(await z(c)).docs.filter(o=>{const t=o.data().status;return t==="pending"||t==="queued"||t==="in_progress"||t==="expired"}).length}async function T(e,n,c="Grade 11",u,o="iar_only",t="initial_assessment"){if(t==="followup_diagnostic"){const D=r(s,"deepDiagnosticAssignments"),C=w(D,h("lrn","==",e)),d=await z(C);if(!d.empty){const m=Q(s);let g=!1;for(const l of d.docs){const f=l.data().status;(f==="pending"||f==="queued")&&(m.update(l.ref,{status:"in_progress",startedAt:i()}),g=!0)}g&&await m.commit()}}return await I(b(s,"diagnosticResults",e),{lrn:e,results:n,gradeLevel:c,workflowMode:o,assessmentType:t,questionBreakdown:u||null,completedAt:i(),processed:!1,processing:!1}),{success:!0,event:"diagnostic_completed",lrn:e,message:`Diagnostic submitted for ${e}. Processing will begin automatically.`,remedialQuizzesCreated:0,notifications:["Your diagnostic results are being processed. Check back shortly!"]}}async function B(e){return await p(r(s,"quizResults"),{lrn:e.lrn,quizId:e.quizId,subject:e.subject,score:e.score,totalQuestions:e.totalQuestions,correctAnswers:e.correctAnswers,timeSpentSeconds:e.timeSpentSeconds,answers:e.answers||null,submittedAt:i()}),{success:!0,event:"quiz_submitted",lrn:e.lrn,message:`Quiz submitted for ${e.lrn}. Risk recalculation will run automatically.`,remedialQuizzesCreated:0,notifications:[`Quiz result recorded for ${e.subject}.`]}}async function M(e){return await $(e.lrn),await a(e.lrn,"reminder","Welcome to MathPulse AI!","Complete your diagnostic assessment to get started with personalised learning."),e.teacherId&&await a(e.teacherId,"message","New Student Enrolled",`${e.name} has joined. Diagnostic assessment is pending.`),{success:!0,event:"student_enrolled",lrn:e.lrn,message:`Student ${e.name} enrolled and initialised`,remedialQuizzesCreated:0,notifications:[`Welcome ${e.name}! Please complete the diagnostic assessment.`]}}async function N(e){return await p(r(s,"dataImports"),{teacherId:e.teacherId,studentCount:e.students.length,columnMapping:e.columnMapping,importedAt:i(),processed:!1}),await a(e.teacherId,"message","Data Import Processed",`Data import complete — ${e.students.length} student records processed.`),{success:!0,event:"data_imported",message:`Data import processed for ${e.students.length} students`,remedialQuizzesCreated:0,notifications:[`Data import complete — ${e.students.length} student records processed.`]}}async function U(e){const n=b(s,"curriculumContent",e.contentId);return e.action==="delete"?await A(n,{deleted:!0,deletedBy:e.adminId,deletedAt:i(),contentType:e.contentType,subjectId:e.subjectId||null}):await I(n,{contentType:e.contentType,subjectId:e.subjectId||null,details:e.details||null,updatedBy:e.adminId,action:e.action,updatedAt:i()},{merge:!0}),{success:!0,event:"content_updated",message:`Content ${e.action} processed for ${e.contentType}`,remedialQuizzesCreated:0,notifications:[]}}export{k as getPendingDeepDiagnosticCount,U as triggerContentUpdated,N as triggerDataImported,T as triggerDiagnosticCompleted,B as triggerQuizSubmitted,M as triggerStudentEnrolled}; diff --git a/assets/award-BtESaHld.js b/assets/award-DpLN2BvV.js similarity index 91% rename from assets/award-BtESaHld.js rename to assets/award-DpLN2BvV.js index bcff8270429f65d8569af51ca12ea474da1af01d..973a6c38bff1109d3beca0d22ee456de45f549dd 100644 --- a/assets/award-BtESaHld.js +++ b/assets/award-DpLN2BvV.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/bell-CPMVIplR.js b/assets/bell-DeNrtKrI.js similarity index 90% rename from assets/bell-CPMVIplR.js rename to assets/bell-DeNrtKrI.js index 4fbd088e4604b533e73a8ba23b882e08cd2b0520..a22de1e1cb7049488eb3d27c636727ff3a2bda15 100644 --- a/assets/bell-CPMVIplR.js +++ b/assets/bell-DeNrtKrI.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/book-open-CeQC7bWj.js b/assets/book-open-B5Xvd1JL.js similarity index 90% rename from assets/book-open-CeQC7bWj.js rename to assets/book-open-B5Xvd1JL.js index f747bd5495b4a3654a4d49e62b81a2239b685e84..e0237b41e44b17fa0496ecad4c254a9cde58c0ab 100644 --- a/assets/book-open-CeQC7bWj.js +++ b/assets/book-open-B5Xvd1JL.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";/** +import{c as o}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/brain-CaMXLcPK.js b/assets/brain-DHmY5cbv.js similarity index 95% rename from assets/brain-CaMXLcPK.js rename to assets/brain-DHmY5cbv.js index 1f9230a529879a09a3e5d446a0377b24980b31e6..e9eb80e2b34e0e0f6b9bbc56029c8411aa4d76bf 100644 --- a/assets/brain-CaMXLcPK.js +++ b/assets/brain-DHmY5cbv.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/calendar-BJy8dui2.js b/assets/calendar-19p2TrVX.js similarity index 89% rename from assets/calendar-BJy8dui2.js rename to assets/calendar-19p2TrVX.js index 2084c2a4c60b00a23e157954c5971a120044bd68..aa2b16e0b1863f50130c89da127c4652f501d8bf 100644 --- a/assets/calendar-BJy8dui2.js +++ b/assets/calendar-19p2TrVX.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/chart-column-D_9m8xSU.js b/assets/chart-column-CJzwyNMx.js similarity index 89% rename from assets/chart-column-D_9m8xSU.js rename to assets/chart-column-CJzwyNMx.js index d9559e9687c3969d2d388ad81f179fa81a9e63bb..080283745511ca5d176f1ea983b4d9d3d90f638d 100644 --- a/assets/chart-column-D_9m8xSU.js +++ b/assets/chart-column-CJzwyNMx.js @@ -1,4 +1,4 @@ -import{c as t}from"./index-CUP7q97n.js";/** +import{c as t}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/chatService-ctCZO3Ne.js b/assets/chatService-tsfogjaC.js similarity index 97% rename from assets/chatService-ctCZO3Ne.js rename to assets/chatService-tsfogjaC.js index 04109fa71711c0dc8a9d896981f501c0ecb7bf05..770dc869de269d789457d46115f9da64c2255ea9 100644 --- a/assets/chatService-ctCZO3Ne.js +++ b/assets/chatService-tsfogjaC.js @@ -1 +1 @@ -import{d as c,e as d,b as g,a as i,s as w,u as p,q as l,w as u,o as y,h as A}from"./vendor-firebase-firestore-CkuVbeP5.js";import{d as o}from"./index-CUP7q97n.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const C=async(s,t="New Conversation")=>{try{const e=c(d(o,"chatSessions")),r={id:e.id,userId:s,title:t,messages:[],createdAt:new Date,updatedAt:new Date,isActive:!0};return await w(e,{...r,createdAt:i(),updatedAt:i()}),r}catch(e){throw console.error("Error creating chat session:",e),e}},M=async s=>{try{const t=l(d(o,"chatSessions"),u("userId","==",s),u("isActive","==",!0),y("updatedAt","desc"));return(await A(t)).docs.map(r=>{const a=r.data();return{...a,createdAt:a.createdAt?.toDate()||new Date,updatedAt:a.updatedAt?.toDate()||new Date}})}catch(t){return console.error("Error getting chat sessions:",t),[]}},T=async s=>{try{const t=await g(c(o,"chatSessions",s));if(t.exists()){const e=t.data();return{...e,createdAt:e.createdAt?.toDate()||new Date,updatedAt:e.updatedAt?.toDate()||new Date}}return null}catch(t){return console.error("Error getting chat session:",t),null}},b=async(s,t,e,r)=>{try{const a=c(d(o,"chatMessages")),n={id:a.id,userId:"",role:t,content:e,timestamp:new Date,...r?{context:r}:{}},h=await g(c(o,"chatSessions",s));h.exists()&&(n.userId=h.data().userId);const m={id:n.id,userId:n.userId,role:n.role,content:n.content,sessionId:s,timestamp:i()};return n.context&&(m.context=n.context),await w(a,m),await p(c(o,"chatSessions",s),{updatedAt:i()}),n}catch(a){throw console.error("Error adding message:",a),a}},q=async s=>{try{const t=l(d(o,"chatMessages"),u("sessionId","==",s),y("timestamp","asc"));return(await A(t)).docs.map(r=>{const a=r.data();return{...a,timestamp:a.timestamp?.toDate()||new Date}})}catch(t){return console.error("Error getting session messages:",t),[]}},Q=async(s,t)=>{try{await p(c(o,"chatSessions",s),{title:t,updatedAt:i()})}catch(e){throw console.error("Error updating session title:",e),e}},R=async s=>{try{await p(c(o,"chatSessions",s),{isActive:!1,updatedAt:i()})}catch(t){throw console.error("Error deleting session:",t),t}};export{b as addMessageToSession,C as createChatSession,R as deleteSession,T as getChatSession,q as getSessionMessages,M as getUserChatSessions,Q as updateSessionTitle}; +import{d as c,e as d,b as g,a as i,s as w,u as p,q as l,w as u,o as y,h as A}from"./vendor-firebase-firestore-CkuVbeP5.js";import{d as o}from"./index-DGWrSMOK.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const C=async(s,t="New Conversation")=>{try{const e=c(d(o,"chatSessions")),r={id:e.id,userId:s,title:t,messages:[],createdAt:new Date,updatedAt:new Date,isActive:!0};return await w(e,{...r,createdAt:i(),updatedAt:i()}),r}catch(e){throw console.error("Error creating chat session:",e),e}},M=async s=>{try{const t=l(d(o,"chatSessions"),u("userId","==",s),u("isActive","==",!0),y("updatedAt","desc"));return(await A(t)).docs.map(r=>{const a=r.data();return{...a,createdAt:a.createdAt?.toDate()||new Date,updatedAt:a.updatedAt?.toDate()||new Date}})}catch(t){return console.error("Error getting chat sessions:",t),[]}},T=async s=>{try{const t=await g(c(o,"chatSessions",s));if(t.exists()){const e=t.data();return{...e,createdAt:e.createdAt?.toDate()||new Date,updatedAt:e.updatedAt?.toDate()||new Date}}return null}catch(t){return console.error("Error getting chat session:",t),null}},b=async(s,t,e,r)=>{try{const a=c(d(o,"chatMessages")),n={id:a.id,userId:"",role:t,content:e,timestamp:new Date,...r?{context:r}:{}},h=await g(c(o,"chatSessions",s));h.exists()&&(n.userId=h.data().userId);const m={id:n.id,userId:n.userId,role:n.role,content:n.content,sessionId:s,timestamp:i()};return n.context&&(m.context=n.context),await w(a,m),await p(c(o,"chatSessions",s),{updatedAt:i()}),n}catch(a){throw console.error("Error adding message:",a),a}},q=async s=>{try{const t=l(d(o,"chatMessages"),u("sessionId","==",s),y("timestamp","asc"));return(await A(t)).docs.map(r=>{const a=r.data();return{...a,timestamp:a.timestamp?.toDate()||new Date}})}catch(t){return console.error("Error getting session messages:",t),[]}},Q=async(s,t)=>{try{await p(c(o,"chatSessions",s),{title:t,updatedAt:i()})}catch(e){throw console.error("Error updating session title:",e),e}},R=async s=>{try{await p(c(o,"chatSessions",s),{isActive:!1,updatedAt:i()})}catch(t){throw console.error("Error deleting session:",t),t}};export{b as addMessageToSession,C as createChatSession,R as deleteSession,T as getChatSession,q as getSessionMessages,M as getUserChatSessions,Q as updateSessionTitle}; diff --git a/assets/check-DXbjXZsm.js b/assets/check-BONc3QkK.js similarity index 86% rename from assets/check-DXbjXZsm.js rename to assets/check-BONc3QkK.js index ccc68cd04a3114994e496169ec15171d9df77643..e4c894f47cb8ccf4dc19a39ffc9bd9f97b202381 100644 --- a/assets/check-DXbjXZsm.js +++ b/assets/check-BONc3QkK.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/check-check-DgFAqf3A.js b/assets/check-check-BDU3hkDf.js similarity index 88% rename from assets/check-check-DgFAqf3A.js rename to assets/check-check-BDU3hkDf.js index ef314b16146ae3ae2849031f36aa0ab799418b9f..f81f0c3168b49c2bdbeffc2a09cf62000638c044 100644 --- a/assets/check-check-DgFAqf3A.js +++ b/assets/check-check-BDU3hkDf.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/chevron-right-BKVsZIKp.js b/assets/chevron-right-DxXkA9aZ.js similarity index 85% rename from assets/chevron-right-BKVsZIKp.js rename to assets/chevron-right-DxXkA9aZ.js index 95a4c43034b475a2d2ce4d21afbe1228ea86be65..919a3ff6e21edfbab4c1b2dc7d8c1399bb3560a3 100644 --- a/assets/chevron-right-BKVsZIKp.js +++ b/assets/chevron-right-DxXkA9aZ.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";/** +import{c as o}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/chevron-up-B9_iMYGp.js b/assets/chevron-up-BJyzaJs7.js similarity index 92% rename from assets/chevron-up-B9_iMYGp.js rename to assets/chevron-up-BJyzaJs7.js index 0c30c0b875597ffddb62622f23311f9f6e0aaa84..5a6f2d03309625ea77d8953aeb1701975fc9dc09 100644 --- a/assets/chevron-up-B9_iMYGp.js +++ b/assets/chevron-up-BJyzaJs7.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";/** +import{c as o}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/circle-alert-_UGdorkr.js b/assets/circle-alert-D8UKyVHS.js similarity index 89% rename from assets/circle-alert-_UGdorkr.js rename to assets/circle-alert-D8UKyVHS.js index bd8106fd303cf5168cbb7713b603488aac3fcfa4..71f74fd97cb8f42a7db16d17c3beba9beccb01b1 100644 --- a/assets/circle-alert-_UGdorkr.js +++ b/assets/circle-alert-D8UKyVHS.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/circle-check-big-5ddhW4zc.js b/assets/circle-check-big-mv2CRLCE.js similarity index 89% rename from assets/circle-check-big-5ddhW4zc.js rename to assets/circle-check-big-mv2CRLCE.js index d39c2498d7d12f2b19a686b6c1c7095e620462ee..b93f932e6efa13df66cee65caad2403af03984bb 100644 --- a/assets/circle-check-big-5ddhW4zc.js +++ b/assets/circle-check-big-mv2CRLCE.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/circle-help-CByYbu6M.js b/assets/circle-help-BOZYr6oH.js similarity index 90% rename from assets/circle-help-CByYbu6M.js rename to assets/circle-help-BOZYr6oH.js index 9ed450d3eb7a21c7290370b19b22840fe6b334bc..e9c8574a738927422e2ca59fa0f41528a1b2d2bb 100644 --- a/assets/circle-help-CByYbu6M.js +++ b/assets/circle-help-BOZYr6oH.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/clock-C56zvyHw.js b/assets/clock-qHFbMxrB.js similarity index 88% rename from assets/clock-C56zvyHw.js rename to assets/clock-qHFbMxrB.js index 97ffe8608fd3e689aa49b6251571bfc83572ff91..00c79cc3166abae24d32897b2bfb8f4ad12d48d2 100644 --- a/assets/clock-C56zvyHw.js +++ b/assets/clock-qHFbMxrB.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/dialog-BJJiOR2B.js b/assets/dialog-C0Vo-dln.js similarity index 97% rename from assets/dialog-BJJiOR2B.js rename to assets/dialog-C0Vo-dln.js index dedffe9c6476d2438ea2db59bd9d382eb52172b2..af0c61129fe33763ab713072d027d3c882aad765 100644 --- a/assets/dialog-BJJiOR2B.js +++ b/assets/dialog-C0Vo-dln.js @@ -1,4 +1,4 @@ -import{c as i}from"./index-CUP7q97n.js";import{j as e,r}from"./vendor-react-Dexh7fmo.js";import{c as s}from"./utils-BQQgILNW.js";import{a as u,C as n,b as m,T as d,D as l,P as g,O as c}from"./vendor-radix-B-ht8aK0.js";import{X as x}from"./x-DSPvcKpY.js";/** +import{c as i}from"./index-DGWrSMOK.js";import{j as e,r}from"./vendor-react-Dexh7fmo.js";import{c as s}from"./utils-BQQgILNW.js";import{a as u,C as n,b as m,T as d,D as l,P as g,O as c}from"./vendor-radix-B-ht8aK0.js";import{X as x}from"./x-Bj25rnWX.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/download-DWfJPUrU.js b/assets/download-DINpalm9.js similarity index 89% rename from assets/download-DWfJPUrU.js rename to assets/download-DINpalm9.js index c6a176cbe2ac444db51e646a2ed48bee02c29dfc..43ca0209339d96a0bc3cdac88810e05cd93369b9 100644 --- a/assets/download-DWfJPUrU.js +++ b/assets/download-DINpalm9.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";/** +import{c as o}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/eye-off-D5b_ErbA.js b/assets/eye-off-DCr0gD8u.js similarity index 92% rename from assets/eye-off-D5b_ErbA.js rename to assets/eye-off-DCr0gD8u.js index 3594e2afec3e5bc6831bf1bc8e020a69fd17437d..60ca90fd0103906931dd595227219e41fece35f5 100644 --- a/assets/eye-off-D5b_ErbA.js +++ b/assets/eye-off-DCr0gD8u.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/eye-CG0PWKAR.js b/assets/eye-pSTVqBYO.js similarity index 90% rename from assets/eye-CG0PWKAR.js rename to assets/eye-pSTVqBYO.js index 3bd69eba8e7bcb62f42b0bc0975e46b094f4df9e..0c0a0cc9d7cbe93c60d7c8adbab035ccb8e4234d 100644 --- a/assets/eye-CG0PWKAR.js +++ b/assets/eye-pSTVqBYO.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/globe-CTl9V8GV.js b/assets/globe-CA6LY_zw.js similarity index 90% rename from assets/globe-CTl9V8GV.js rename to assets/globe-CA6LY_zw.js index 3cd1b269dbdfe9509d6aab84917957199a55155f..c4811df4c4556fde9012f0645eade319c7fa8d90 100644 --- a/assets/globe-CTl9V8GV.js +++ b/assets/globe-CA6LY_zw.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/graduation-cap-CCth-BT0.js b/assets/graduation-cap-Cr-ek4Bs.js similarity index 91% rename from assets/graduation-cap-CCth-BT0.js rename to assets/graduation-cap-Cr-ek4Bs.js index b59e8cea5cc9c834a36dea069a6d923ff6e5b7a6..572ba47d321a4d4f7f42d826a14933235709a758 100644 --- a/assets/graduation-cap-CCth-BT0.js +++ b/assets/graduation-cap-Cr-ek4Bs.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/index-6qUCYOVY.css b/assets/index-6qUCYOVY.css new file mode 100644 index 0000000000000000000000000000000000000000..0c85251ff8910e7b0e190bf190c52f557a024d12 --- /dev/null +++ b/assets/index-6qUCYOVY.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-divide-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-300:oklch(90.5% .182 98.111);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-teal-900:oklch(38.6% .063 188.416);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-200:var(--color-violet-200);--color-sky-700:var(--color-violet-700);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:700;line-height:1.3}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700;line-height:1.35}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.4}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\[container-type\:inline-size\]{container-type:inline-size}.\[container-type\:size\]{container-type:size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-6{inset-inline:calc(var(--spacing)*6)}.inset-x-\[-20px\]{inset-inline:-20px}.inset-y-0{inset-block:calc(var(--spacing)*0)}.end-1{inset-inline-end:calc(var(--spacing)*1)}.-top-1{top:calc(var(--spacing)*-1)}.-top-2{top:calc(var(--spacing)*-2)}.-top-3{top:calc(var(--spacing)*-3)}.-top-4{top:calc(var(--spacing)*-4)}.-top-5{top:calc(var(--spacing)*-5)}.-top-6{top:calc(var(--spacing)*-6)}.-top-8{top:calc(var(--spacing)*-8)}.-top-12{top:calc(var(--spacing)*-12)}.-top-24{top:calc(var(--spacing)*-24)}.-top-32{top:calc(var(--spacing)*-32)}.-top-40{top:calc(var(--spacing)*-40)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-6{top:calc(var(--spacing)*6)}.top-8{top:calc(var(--spacing)*8)}.top-24{top:calc(var(--spacing)*24)}.top-\[-10\%\]{top:-10%}.top-\[1px\]{top:1px}.top-\[10\%\]{top:10%}.top-\[40\%\]{top:40%}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.-right-3{right:calc(var(--spacing)*-3)}.-right-4{right:calc(var(--spacing)*-4)}.-right-12{right:calc(var(--spacing)*-12)}.-right-24{right:calc(var(--spacing)*-24)}.-right-32{right:calc(var(--spacing)*-32)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-1\/3{right:33.3333%}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing)*2)}.right-2\.5{right:calc(var(--spacing)*2.5)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-8{right:calc(var(--spacing)*8)}.right-12{right:calc(var(--spacing)*12)}.right-16{right:calc(var(--spacing)*16)}.right-\[-5\%\]{right:-5%}.right-\[-5px\]{right:-5px}.right-\[-10\%\]{right:-10%}.right-\[-15px\]{right:-15px}.right-\[-20\%\]{right:-20%}.right-\[150px\]{right:150px}.right-full{right:100%}.-bottom-1{bottom:calc(var(--spacing)*-1)}.-bottom-2{bottom:calc(var(--spacing)*-2)}.-bottom-5{bottom:calc(var(--spacing)*-5)}.-bottom-6{bottom:calc(var(--spacing)*-6)}.-bottom-8{bottom:calc(var(--spacing)*-8)}.-bottom-10{bottom:calc(var(--spacing)*-10)}.-bottom-12{bottom:calc(var(--spacing)*-12)}.-bottom-32{bottom:calc(var(--spacing)*-32)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-5{bottom:calc(var(--spacing)*5)}.bottom-8{bottom:calc(var(--spacing)*8)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-20{bottom:calc(var(--spacing)*20)}.bottom-\[-10\%\]{bottom:-10%}.bottom-\[-50px\]{bottom:-50px}.bottom-\[-500px\]{bottom:-500px}.bottom-\[20\%\]{bottom:20%}.bottom-\[40px\]{bottom:40px}.bottom-full{bottom:100%}.-left-1{left:calc(var(--spacing)*-1)}.-left-2{left:calc(var(--spacing)*-2)}.-left-4{left:calc(var(--spacing)*-4)}.-left-6{left:calc(var(--spacing)*-6)}.-left-10{left:calc(var(--spacing)*-10)}.-left-12{left:calc(var(--spacing)*-12)}.-left-32{left:calc(var(--spacing)*-32)}.-left-\[150\%\]{left:-150%}.left-0{left:calc(var(--spacing)*0)}.left-1{left:calc(var(--spacing)*1)}.left-1\/2{left:50%}.left-1\/3{left:33.3333%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-3\.5{left:calc(var(--spacing)*3.5)}.left-4{left:calc(var(--spacing)*4)}.left-6{left:calc(var(--spacing)*6)}.left-12{left:calc(var(--spacing)*12)}.left-\[-10\%\]{left:-10%}.left-\[-20px\]{left:-20px}.left-\[40\%\]{left:40%}.left-\[50\%\]{left:50%}.left-\[54px\]{left:54px}.left-\[56px\]{left:56px}.left-\[var\(--x\)\]{left:var(--x)}.left-full{left:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[4\]{z-index:4}.z-\[11\]{z-index:11}.z-\[12\]{z-index:12}.z-\[13\]{z-index:13}.z-\[50\]{z-index:50}.z-\[51\]{z-index:51}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[130\]{z-index:130}.col-span-2{grid-column:span 2/span 2}.col-span-12{grid-column:span 12/span 12}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.-mx-3{margin-inline:calc(var(--spacing)*-3)}.-mx-\[4px\]{margin-inline:-4px}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-\[-20px\]{margin-inline:-20px}.mx-\[1px\]{margin-inline:1px}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing)*.5)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-3{margin-top:calc(var(--spacing)*-3)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.-mt-24{margin-top:calc(var(--spacing)*-24)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-\[-10px\]{margin-top:-10px}.mt-\[-20px\]{margin-top:-20px}.mt-\[5px\]{margin-top:5px}.mt-auto{margin-top:auto}.-mr-3{margin-right:calc(var(--spacing)*-3)}.-mr-24{margin-right:calc(var(--spacing)*-24)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.-mb-2{margin-bottom:calc(var(--spacing)*-2)}.-mb-8{margin-bottom:calc(var(--spacing)*-8)}.-mb-18{margin-bottom:calc(var(--spacing)*-18)}.-mb-\[1px\]{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-\[-10px\]{margin-bottom:-10px}.mb-\[2px\]{margin-bottom:2px}.-ml-3{margin-left:calc(var(--spacing)*-3)}.-ml-4{margin-left:calc(var(--spacing)*-4)}.-ml-18{margin-left:calc(var(--spacing)*-18)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-11{margin-left:calc(var(--spacing)*11)}.ml-12{margin-left:calc(var(--spacing)*12)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.\[aspect-ratio\:1\/var\(--aspect-ratio\)\]{aspect-ratio:1/var(--aspect-ratio)}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.\[height\:100cqmax\]{height:100cqmax}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-28{height:calc(var(--spacing)*28)}.h-32{height:calc(var(--spacing)*32)}.h-36{height:calc(var(--spacing)*36)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-96{height:calc(var(--spacing)*96)}.h-\[1\.15rem\]{height:1.15rem}.h-\[1px\]{height:1px}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[6px\]{height:6px}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[35px\]{height:35px}.h-\[40\%\]{height:40%}.h-\[40px\]{height:40px}.h-\[45vh\]{height:45vh}.h-\[50px\]{height:50px}.h-\[52px\]{height:52px}.h-\[60\%\]{height:60%}.h-\[60px\]{height:60px}.h-\[70\%\]{height:70%}.h-\[70px\]{height:70px}.h-\[72px\]{height:72px}.h-\[75px\]{height:75px}.h-\[100px\]{height:100px}.h-\[100vh\]{height:100vh}.h-\[105\%\]{height:105%}.h-\[110\%\]{height:110%}.h-\[120\%\]{height:120%}.h-\[120px\]{height:120px}.h-\[125px\]{height:125px}.h-\[140px\]{height:140px}.h-\[150vh\]{height:150vh}.h-\[155px\]{height:155px}.h-\[170px\]{height:170px}.h-\[205px\]{height:205px}.h-\[280px\]{height:280px}.h-\[300px\]{height:300px}.h-\[300vw\]{height:300vw}.h-\[340px\]{height:340px}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100\%-24px\)\]{height:calc(100% - 24px)}.h-\[calc\(100vh-2rem\)\]{height:calc(100vh - 2rem)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[300px\]{max-height:300px}.max-h-\[500px\]{max-height:500px}.max-h-\[600px\]{max-height:600px}.max-h-\[700px\]{max-height:700px}.max-h-\[calc\(85vh-280px\)\]{max-height:calc(85vh - 280px)}.max-h-\[calc\(90vh-200px\)\]{max-height:calc(90vh - 200px)}.max-h-\[calc\(90vh-320px\)\]{max-height:calc(90vh - 320px)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-24{min-height:calc(var(--spacing)*24)}.min-h-\[24px\]{min-height:24px}.min-h-\[48px\]{min-height:48px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[56px\]{min-height:56px}.min-h-\[78px\]{min-height:78px}.min-h-\[80px\]{min-height:80px}.min-h-\[140px\]{min-height:140px}.min-h-\[170px\]{min-height:170px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-\[290px\]{min-height:290px}.min-h-\[320px\]{min-height:320px}.min-h-\[450px\]{min-height:450px}.min-h-\[500px\]{min-height:500px}.min-h-\[calc\(100vh-3\.5rem\)\]{min-height:calc(100vh - 3.5rem)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.\!w-auto{width:auto!important}.\[width\:100cqh\]{width:100cqh}.\[width\:100cqi\]{width:100cqi}.\[width\:var\(--width\)\]{width:var(--width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing)*0)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-8\/12{width:66.6667%}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-10\/12{width:83.3333%}.w-11{width:calc(var(--spacing)*11)}.w-11\/12{width:91.6667%}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[5px\]{width:5px}.w-\[16px\]{width:16px}.w-\[28\%\]{width:28%}.w-\[34px\]{width:34px}.w-\[35\%\]{width:35%}.w-\[35px\]{width:35px}.w-\[40\%\]{width:40%}.w-\[46px\]{width:46px}.w-\[52px\]{width:52px}.w-\[55\%\]{width:55%}.w-\[55px\]{width:55px}.w-\[60\%\]{width:60%}.w-\[60px\]{width:60px}.w-\[65px\]{width:65px}.w-\[70\%\]{width:70%}.w-\[70px\]{width:70px}.w-\[75px\]{width:75px}.w-\[78px\]{width:78px}.w-\[85\%\]{width:85%}.w-\[90\%\]{width:90%}.w-\[95\%\]{width:95%}.w-\[100\%\]{width:100%}.w-\[100px\]{width:100px}.w-\[110\%\]{width:110%}.w-\[150px\]{width:150px}.w-\[150vw\]{width:150vw}.w-\[152px\]{width:152px}.w-\[168px\]{width:168px}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[250vw\]{width:250vw}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[300vw\]{width:300vw}.w-\[340px\]{width:340px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[600px\]{width:600px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-20{max-width:calc(var(--spacing)*20)}.max-w-\[70\%\]{max-width:70%}.max-w-\[75\%\]{max-width:75%}.max-w-\[120px\]{max-width:120px}.max-w-\[145px\]{max-width:145px}.max-w-\[190px\]{max-width:190px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[340px\]{max-width:340px}.max-w-\[420px\]{max-width:420px}.max-w-\[480px\]{max-width:480px}.max-w-\[800px\]{max-width:800px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-\[calc\(100vw-24px\)\]{max-width:calc(100vw - 24px)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-9{min-width:calc(var(--spacing)*9)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[60px\]{min-width:60px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[260px\]{min-width:260px}.min-w-\[280px\]{min-width:280px}.min-w-\[760px\]{min-width:760px}.min-w-\[980px\]{min-width:980px}.min-w-\[1920px\]{min-width:1920px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.\[transform-origin\:0\%_0\%\]{transform-origin:0 0}.\[transform-origin\:50\%_0\%\]{transform-origin:50% 0}.\[transform-origin\:100\%_0\%\]{transform-origin:100% 0}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-\[50\%_45\%\]{transform-origin:50% 45%}.origin-bottom{transform-origin:bottom}.origin-bottom-right{transform-origin:100% 100%}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\/3{--tw-translate-x:calc(calc(1/3*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\/4{--tw-translate-x: -25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-\[45px\]{--tw-translate-x: -45px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/3{--tw-translate-x:calc(1/3*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/4{--tw-translate-x: 25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-10px\]{--tw-translate-x:-10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[45px\]{--tw-translate-x:45px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/3{--tw-translate-y:calc(1/3*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-8{--tw-translate-y:calc(var(--spacing)*8);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-10{--tw-translate-y:calc(var(--spacing)*10);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-12{--tw-translate-y:calc(var(--spacing)*12);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[21\%\]{--tw-translate-y:21%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-x-\[-1\]{--tw-scale-x:-1;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-y-75{--tw-scale-y:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\[0\.75\]{scale:.75}.scale-\[0\.80\]{scale:.8}.scale-\[0\.98\]{scale:.98}.scale-\[1\.1\]{scale:1.1}.scale-\[1\.02\]{scale:1.02}.scale-\[1\.05\]{scale:1.05}.scale-\[1\.5\]{scale:1.5}.scale-\[1\.7\]{scale:1.7}.scale-\[1\.25\]{scale:1.25}.scale-\[2\.2\]{scale:2.2}.scale-\[3\.2\]{scale:3.2}.-rotate-12{rotate:-12deg}.-rotate-90{rotate:-90deg}.-rotate-\[15deg\]{rotate:-15deg}.rotate-3{rotate:3deg}.rotate-12{rotate:12deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.rotate-\[-3deg\]{rotate:-3deg}.rotate-\[15deg\]{rotate:15deg}.-skew-x-12{--tw-skew-x:skewX( -12deg );transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.\[transform\:rotate\(-90deg\)_rotateX\(-90deg\)\]{transform:rotate(-90deg)rotateX(-90deg)}.\[transform\:rotate\(90deg\)_rotateX\(-90deg\)\]{transform:rotate(90deg)rotateX(-90deg)}.\[transform\:rotateX\(-90deg\)\]{transform:rotateX(-90deg)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[shimmer_2s_infinite\]{animation:2s infinite shimmer}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-cols-\[48px_280px_120px_120px_120px_120px_120px_140px_170px_170px_220px\]{grid-template-columns:48px 280px 120px 120px 120px 120px 120px 140px 170px 170px 220px}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-12{gap:calc(var(--spacing)*12)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-\[1px\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px*var(--tw-space-y-reverse));margin-block-end:calc(1px*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}:where(.-space-x-2\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-2.5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-2.5)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-8{row-gap:calc(var(--spacing)*8)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-\[\#dde3eb\]>:not(:last-child)){border-color:#dde3eb}:where(.divide-\[\#edf1f7\]>:not(:last-child)){border-color:#edf1f7}:where(.divide-border>:not(:last-child)){border-color:var(--border)}:where(.divide-slate-100\/60>:not(:last-child)){border-color:#f1f5f999}@supports (color:color-mix(in lab,red,red)){:where(.divide-slate-100\/60>:not(:last-child)){border-color:color-mix(in oklab,var(--color-slate-100)60%,transparent)}}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[-20px\]{border-radius:-20px}.rounded-\[1\.4rem\]{border-radius:1.4rem}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[1rem\]{border-radius:1rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[3rem\]{border-radius:3rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[32px\]{border-radius:32px}.rounded-\[40px\]{border-radius:40px}.rounded-\[50\%\]{border-radius:50%}.rounded-\[50\%_50\%_0_0\/100\%_100\%_0_0\]{border-radius:50% 50% 0 0/100% 100% 0 0}.rounded-\[100\%\]{border-radius:100%}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-t-\[2\.5rem\]{border-top-left-radius:2.5rem;border-top-right-radius:2.5rem}.rounded-t-\[40px\]{border-top-left-radius:40px;border-top-right-radius:40px}.rounded-t-xl{border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}.rounded-tl-none{border-top-left-radius:0}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-b-2xl{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.rounded-b-\[2px\]{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.rounded-b-\[50\%\]{border-bottom-right-radius:50%;border-bottom-left-radius:50%}.rounded-b-\[60px\]{border-bottom-right-radius:60px;border-bottom-left-radius:60px}.rounded-b-md{border-bottom-right-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-br-sm{border-bottom-right-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-\[4px\]{border-style:var(--tw-border-style);border-width:4px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-t-\[3px\]{border-top-style:var(--tw-border-style);border-top-width:3px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-\[6px\]{border-right-style:var(--tw-border-style);border-right-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[6px\]{border-left-style:var(--tw-border-style);border-left-width:6px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\(--color-border\){border-color:var(--color-border)}.border-\[\#1E293B\]{border-color:#1e293b}.border-\[\#1FA7E1\]\/20{border-color:#1fa7e133}.border-\[\#1FA7E1\]\/30{border-color:#1fa7e14d}.border-\[\#1FA7E1\]\/40{border-color:#1fa7e166}.border-\[\#2a3648\]{border-color:#2a3648}.border-\[\#8A3FD3\]\/20{border-color:#8a3fd333}.border-\[\#8A3FD3\]\/30{border-color:#8a3fd34d}.border-\[\#8B5CF6\]\/40{border-color:#8b5cf666}.border-\[\#75D06A\]{border-color:#75d06a}.border-\[\#75D06A\]\/35{border-color:#75d06a59}.border-\[\#9956DE\]{border-color:#9956de}.border-\[\#9956DE\]\/25{border-color:#9956de40}.border-\[\#9956DE\]\/30{border-color:#9956de4d}.border-\[\#9956DE\]\/45{border-color:#9956de73}.border-\[\#F1F5F9\]{border-color:#f1f5f9}.border-\[\#F08386\]{border-color:#f08386}.border-\[\#F08386\]\/30{border-color:#f083864d}.border-\[\#FF8B8B\]{border-color:#ff8b8b}.border-\[\#FF8B8B\]\/35{border-color:#ff8b8b59}.border-\[\#FFB356\]{border-color:#ffb356}.border-\[\#FFB356\]\/38{border-color:#ffb35661}.border-\[\#d1cec6\]{border-color:#d1cec6}.border-\[\#dadce0\]{border-color:#dadce0}.border-\[\#dde3eb\]{border-color:#dde3eb}.border-\[\#edf1f7\]{border-color:#edf1f7}.border-\[\#fde68a\]{border-color:#fde68a}.border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,transparent\)\]{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--primary)30%,transparent)}}.border-amber-50{border-color:var(--color-amber-50)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/60{border-color:color-mix(in oklab,var(--color-amber-200)60%,transparent)}}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-400{border-color:var(--color-amber-400)}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-current{border-color:currentColor}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-200\/60{border-color:#a4f4cf99}@supports (color:color-mix(in lab,red,red)){.border-emerald-200\/60{border-color:color-mix(in oklab,var(--color-emerald-200)60%,transparent)}}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-400{border-color:var(--color-emerald-400)}.border-emerald-400\/30{border-color:#00d2944d}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/30{border-color:color-mix(in oklab,var(--color-emerald-400)30%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.border-emerald-500\/50{border-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/50{border-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-500\/20{border-color:#625fff33}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/20{border-color:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.border-indigo-500\/30{border-color:#625fff4d}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/30{border-color:color-mix(in oklab,var(--color-indigo-500)30%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\/15{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/15{border-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.border-orange-100{border-color:var(--color-orange-100)}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-200\/60{border-color:#ffd7a899}@supports (color:color-mix(in lab,red,red)){.border-orange-200\/60{border-color:color-mix(in oklab,var(--color-orange-200)60%,transparent)}}.border-orange-400{border-color:var(--color-orange-400)}.border-orange-500\/40{border-color:#fe6e0066}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/40{border-color:color-mix(in oklab,var(--color-orange-500)40%,transparent)}}.border-pink-500{border-color:var(--color-pink-500)}.border-primary,.border-primary\/60{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,var(--primary)60%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/20{border-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-rose-100{border-color:var(--color-rose-100)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-200\/50{border-color:#ffccd380}@supports (color:color-mix(in lab,red,red)){.border-rose-200\/50{border-color:color-mix(in oklab,var(--color-rose-200)50%,transparent)}}.border-rose-200\/60{border-color:#ffccd399}@supports (color:color-mix(in lab,red,red)){.border-rose-200\/60{border-color:color-mix(in oklab,var(--color-rose-200)60%,transparent)}}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-400{border-color:var(--color-rose-400)}.border-rose-500\/20{border-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.border-rose-500\/20{border-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab,red,red)){.border-rose-500\/30{border-color:color-mix(in oklab,var(--color-rose-500)30%,transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-sky-100{border-color:var(--color-violet-100)}.border-sky-100\/80{border-color:#ede9fecc}@supports (color:color-mix(in lab,red,red)){.border-sky-100\/80{border-color:color-mix(in oklab,var(--color-violet-100)80%,transparent)}}.border-sky-200{border-color:var(--color-violet-200)}.border-sky-200\/50{border-color:#ddd6ff80}@supports (color:color-mix(in lab,red,red)){.border-sky-200\/50{border-color:color-mix(in oklab,var(--color-violet-200)50%,transparent)}}.border-sky-200\/60{border-color:#ddd6ff99}@supports (color:color-mix(in lab,red,red)){.border-sky-200\/60{border-color:color-mix(in oklab,var(--color-violet-200)60%,transparent)}}.border-sky-300{border-color:var(--color-violet-300)}.border-sky-400{border-color:var(--color-violet-400)}.border-sky-500{border-color:var(--color-violet-500)}.border-sky-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/20{border-color:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.border-sky-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-violet-500)30%,transparent)}}.border-sky-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-violet-500)40%,transparent)}}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/60{border-color:#e2e8f099}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/60{border-color:color-mix(in oklab,var(--color-slate-200)60%,transparent)}}.border-slate-200\/70{border-color:#e2e8f0b3}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/70{border-color:color-mix(in oklab,var(--color-slate-200)70%,transparent)}}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/80{border-color:color-mix(in oklab,var(--color-slate-200)80%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-300\/70{border-color:#cad5e2b3}@supports (color:color-mix(in lab,red,red)){.border-slate-300\/70{border-color:color-mix(in oklab,var(--color-slate-300)70%,transparent)}}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-700\/50{border-color:#31415880}@supports (color:color-mix(in lab,red,red)){.border-slate-700\/50{border-color:color-mix(in oklab,var(--color-slate-700)50%,transparent)}}.border-slate-800\/10{border-color:#1d293d1a}@supports (color:color-mix(in lab,red,red)){.border-slate-800\/10{border-color:color-mix(in oklab,var(--color-slate-800)10%,transparent)}}.border-teal-100{border-color:var(--color-teal-100)}.border-teal-200{border-color:var(--color-teal-200)}.border-teal-400{border-color:var(--color-teal-400)}.border-teal-500{border-color:var(--color-teal-500)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-violet-200\/60{border-color:#ddd6ff99}@supports (color:color-mix(in lab,red,red)){.border-violet-200\/60{border-color:color-mix(in oklab,var(--color-violet-200)60%,transparent)}}.border-violet-400{border-color:var(--color-violet-400)}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500)30%,transparent)}}.border-violet-800{border-color:var(--color-violet-800)}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-white\/35{border-color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.border-white\/35{border-color:color-mix(in oklab,var(--color-white)35%,transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\/50{border-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.border-white\/80{border-color:#fffc}@supports (color:color-mix(in lab,red,red)){.border-white\/80{border-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.border-zinc-200{border-color:var(--color-zinc-200)}.border-t-slate-800{border-top-color:var(--color-slate-800)}.border-t-transparent{border-top-color:#0000}.border-t-violet-500{border-top-color:var(--color-violet-500)}.border-r-\[\#0a1628\]{border-right-color:#0a1628}.border-r-\[\#2a2535\]{border-right-color:#2a2535}.border-r-amber-300{border-right-color:var(--color-amber-300)}.border-r-transparent{border-right-color:#0000}.border-b-amber-300{border-bottom-color:var(--color-amber-300)}.border-l-transparent{border-left-color:#0000}.\!bg-\[\#6ED1CF\]\/35{background-color:#6ed1cf59!important}.\!bg-\[\#7274ED\]{background-color:#7274ed!important}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-\[\#0A1128\]{background-color:#0a1128}.bg-\[\#0B0F19\]{background-color:#0b0f19}.bg-\[\#0B1021\]{background-color:#0b1021}.bg-\[\#0a1628\]{background-color:#0a1628}.bg-\[\#00a86b\]{background-color:#00a86b}.bg-\[\#1FA7E1\]{background-color:#1fa7e1}.bg-\[\#1FA7E1\]\/10{background-color:#1fa7e11a}.bg-\[\#1a2030\]{background-color:#1a2030}.bg-\[\#1e2536\]{background-color:#1e2536}.bg-\[\#2f3547\]{background-color:#2f3547}.bg-\[\#3b3a82\]{background-color:#3b3a82}.bg-\[\#5a6578\]{background-color:#5a6578}.bg-\[\#6ED1CF\]{background-color:#6ed1cf}.bg-\[\#6ED1CF\]\/20{background-color:#6ed1cf33}.bg-\[\#6ED1CF\]\/30{background-color:#6ed1cf4d}.bg-\[\#6F2BAF\]{background-color:#6f2baf}.bg-\[\#8A3FD3\]{background-color:#8a3fd3}.bg-\[\#8A3FD3\]\/5{background-color:#8a3fd30d}.bg-\[\#8A3FD3\]\/10{background-color:#8a3fd31a}.bg-\[\#8B5CF6\]{background-color:#8b5cf6}.bg-\[\#8b0d0d\]{background-color:#8b0d0d}.bg-\[\#34d399\]{background-color:#34d399}.bg-\[\#50B8B6\]{background-color:#50b8b6}.bg-\[\#58B34D\]{background-color:#58b34d}.bg-\[\#75D06A\]{background-color:#75d06a}.bg-\[\#75D06A\]\/10{background-color:#75d06a1a}.bg-\[\#75D06A\]\/14{background-color:#75d06a24}.bg-\[\#75D06A\]\/22{background-color:#75d06a38}.bg-\[\#127DA6\]{background-color:#127da6}.bg-\[\#181d27\]{background-color:#181d27}.bg-\[\#198abf\]{background-color:#198abf}.bg-\[\#533ab6\]{background-color:#533ab6}.bg-\[\#662AA8\]{background-color:#662aa8}.bg-\[\#7274ED\]{background-color:#7274ed}.bg-\[\#7274ED\]\/15{background-color:#7274ed26}.bg-\[\#8248c2\]{background-color:#8248c2}.bg-\[\#9956DE\]{background-color:#9956de}.bg-\[\#9956DE\]\/12{background-color:#9956de1f}.bg-\[\#9956DE\]\/20{background-color:#9956de33}.bg-\[\#9956DE\]\/32{background-color:#9956de52}.bg-\[\#12192b\]{background-color:#12192b}.bg-\[\#42389d\]{background-color:#42389d}.bg-\[\#111827\]{background-color:#111827}.bg-\[\#D96C6A\]{background-color:#d96c6a}.bg-\[\#DE7949\]{background-color:#de7949}.bg-\[\#E06A6A\]{background-color:#e06a6a}.bg-\[\#F08386\]{background-color:#f08386}.bg-\[\#F08386\]\/12{background-color:#f083861f}.bg-\[\#F08386\]\/20{background-color:#f0838633}.bg-\[\#FB96BB\]{background-color:#fb96bb}.bg-\[\#FB96BB\]\/20{background-color:#fb96bb33}.bg-\[\#FF8B8B\]{background-color:#ff8b8b}.bg-\[\#FF8B8B\]\/10{background-color:#ff8b8b1a}.bg-\[\#FF8B8B\]\/14{background-color:#ff8b8b24}.bg-\[\#FF8B8B\]\/22{background-color:#ff8b8b38}.bg-\[\#FFB356\]{background-color:#ffb356}.bg-\[\#FFB356\]\/16{background-color:#ffb35629}.bg-\[\#FFB356\]\/20{background-color:#ffb35633}.bg-\[\#FFB356\]\/24{background-color:#ffb3563d}.bg-\[\#a8a5b3\]{background-color:#a8a5b3}.bg-\[\#b61515\]{background-color:#b61515}.bg-\[\#d24b4b\]{background-color:#d24b4b}.bg-\[\#dde3eb\]{background-color:#dde3eb}.bg-\[\#de7b9f\]{background-color:#de7b9f}.bg-\[\#e1f5f7\]{background-color:#e1f5f7}.bg-\[\#e09841\]{background-color:#e09841}.bg-\[\#edf1f7\]{background-color:#edf1f7}.bg-\[\#edf1f7\]\/50{background-color:#edf1f780}.bg-\[\#edf1f7\]\/80{background-color:#edf1f7cc}.bg-\[\#f0eaff\]{background-color:#f0eaff}.bg-\[\#f6f9ff\]{background-color:#f6f9ff}.bg-\[\#f7f9fc\]{background-color:#f7f9fc}.bg-\[\#f7fbff\]{background-color:#f7fbff}.bg-\[\#f8fafc\]{background-color:#f8fafc}.bg-\[\#f8faff\]{background-color:#f8faff}.bg-\[\#f8fbff\]{background-color:#f8fbff}.bg-\[\#f2812d\]{background-color:#f2812d}.bg-\[\#fa9746\]{background-color:#fa9746}.bg-\[\#fb7185\]{background-color:#fb7185}.bg-\[\#fbbf24\]{background-color:#fbbf24}.bg-\[\#fcfdff\]{background-color:#fcfdff}.bg-\[\#fdeceb\]{background-color:#fdeceb}.bg-\[\#fe5c5c\]{background-color:#fe5c5c}.bg-\[\#fef5e7\]{background-color:#fef5e7}.bg-\[color-mix\(in_srgb\,var\(--chart-1\)_10\%\,transparent\)\]{background-color:var(--chart-1)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-1\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-1)10%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_10\%\,transparent\)\]{background-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-2)10%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_14\%\,transparent\)\]{background-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-2)14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_10\%\,transparent\)\]{background-color:var(--chart-3)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-3)10%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_14\%\,transparent\)\]{background-color:var(--chart-3)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-3)14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-4\)_14\%\,transparent\)\]{background-color:var(--chart-4)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-4\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-4)14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--primary\)_10\%\,transparent\)\]{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--primary\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--primary)10%,transparent)}}.bg-\[var\(--chart-2\)\]{background-color:var(--chart-2)}.bg-\[var\(--chart-3\)\]{background-color:var(--chart-3)}.bg-\[var\(--chart-4\)\]{background-color:var(--chart-4)}.bg-\[var\(--primary\)\],.bg-\[var\(--primary\)\]\/60{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--primary\)\]\/60{background-color:color-mix(in oklab,var(--primary)60%,transparent)}}.bg-accent{background-color:var(--accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400\/20{background-color:#fcbb0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/20{background-color:color-mix(in oklab,var(--color-amber-400)20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-blue-300\/40{background-color:#90c5ff66}@supports (color:color-mix(in lab,red,red)){.bg-blue-300\/40{background-color:color-mix(in oklab,var(--color-blue-300)40%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/20{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,var(--card)20%,transparent)}}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-current{background-color:currentColor}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-400\/30{background-color:#00d2ef4d}@supports (color:color-mix(in lab,red,red)){.bg-cyan-400\/30{background-color:color-mix(in oklab,var(--color-cyan-400)30%,transparent)}}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-200{background-color:var(--color-emerald-200)}.bg-emerald-300{background-color:var(--color-emerald-300)}.bg-emerald-400\/20{background-color:#00d29433}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/20{background-color:color-mix(in oklab,var(--color-emerald-400)20%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-fuchsia-400\/30{background-color:#ec6cff4d}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-400\/30{background-color:color-mix(in oklab,var(--color-fuchsia-400)30%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-50\/30{background-color:#f0fdf44d}@supports (color:color-mix(in lab,red,red)){.bg-green-50\/30{background-color:color-mix(in oklab,var(--color-green-50)30%,transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-400\/20{background-color:#7d87ff33}@supports (color:color-mix(in lab,red,red)){.bg-indigo-400\/20{background-color:color-mix(in oklab,var(--color-indigo-400)20%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-input-background{background-color:var(--input-background)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-400\/20{background-color:#ff8b1a33}@supports (color:color-mix(in lab,red,red)){.bg-orange-400\/20{background-color:color-mix(in oklab,var(--color-orange-400)20%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-orange-500\/30{background-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/30{background-color:color-mix(in oklab,var(--color-orange-500)30%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400\/20{background-color:#c07eff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-400\/20{background-color:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/30{background-color:#fef2f24d}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/30{background-color:color-mix(in oklab,var(--color-red-50)30%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-100\/30{background-color:#ffe4e64d}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\/30{background-color:color-mix(in oklab,var(--color-rose-100)30%,transparent)}}.bg-rose-100\/40{background-color:#ffe4e666}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\/40{background-color:color-mix(in oklab,var(--color-rose-100)40%,transparent)}}.bg-rose-100\/60{background-color:#ffe4e699}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\/60{background-color:color-mix(in oklab,var(--color-rose-100)60%,transparent)}}.bg-rose-200{background-color:var(--color-rose-200)}.bg-rose-200\/60{background-color:#ffccd399}@supports (color:color-mix(in lab,red,red)){.bg-rose-200\/60{background-color:color-mix(in oklab,var(--color-rose-200)60%,transparent)}}.bg-rose-200\/70{background-color:#ffccd3b3}@supports (color:color-mix(in lab,red,red)){.bg-rose-200\/70{background-color:color-mix(in oklab,var(--color-rose-200)70%,transparent)}}.bg-rose-300{background-color:var(--color-rose-300)}.bg-rose-400\/5{background-color:#ff667f0d}@supports (color:color-mix(in lab,red,red)){.bg-rose-400\/5{background-color:color-mix(in oklab,var(--color-rose-400)5%,transparent)}}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-500\/5{background-color:#ff23570d}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/5{background-color:color-mix(in oklab,var(--color-rose-500)5%,transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/10{background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.bg-rose-500\/20{background-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/20{background-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.bg-rose-500\/30{background-color:#ff23574d}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/30{background-color:color-mix(in oklab,var(--color-rose-500)30%,transparent)}}.bg-rose-600{background-color:var(--color-rose-600)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-sky-50{background-color:var(--color-violet-50)}.bg-sky-50\/40{background-color:#f5f3ff66}@supports (color:color-mix(in lab,red,red)){.bg-sky-50\/40{background-color:color-mix(in oklab,var(--color-violet-50)40%,transparent)}}.bg-sky-50\/50{background-color:#f5f3ff80}@supports (color:color-mix(in lab,red,red)){.bg-sky-50\/50{background-color:color-mix(in oklab,var(--color-violet-50)50%,transparent)}}.bg-sky-50\/70{background-color:#f5f3ffb3}@supports (color:color-mix(in lab,red,red)){.bg-sky-50\/70{background-color:color-mix(in oklab,var(--color-violet-50)70%,transparent)}}.bg-sky-100{background-color:var(--color-violet-100)}.bg-sky-100\/40{background-color:#ede9fe66}@supports (color:color-mix(in lab,red,red)){.bg-sky-100\/40{background-color:color-mix(in oklab,var(--color-violet-100)40%,transparent)}}.bg-sky-200{background-color:var(--color-violet-200)}.bg-sky-300{background-color:var(--color-violet-300)}.bg-sky-300\/30{background-color:#c4b4ff4d}@supports (color:color-mix(in lab,red,red)){.bg-sky-300\/30{background-color:color-mix(in oklab,var(--color-violet-300)30%,transparent)}}.bg-sky-400{background-color:var(--color-violet-400)}.bg-sky-400\/20{background-color:#a685ff33}@supports (color:color-mix(in lab,red,red)){.bg-sky-400\/20{background-color:color-mix(in oklab,var(--color-violet-400)20%,transparent)}}.bg-sky-400\/30{background-color:#a685ff4d}@supports (color:color-mix(in lab,red,red)){.bg-sky-400\/30{background-color:color-mix(in oklab,var(--color-violet-400)30%,transparent)}}.bg-sky-500{background-color:var(--color-violet-500)}.bg-sky-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-violet-500)5%,transparent)}}.bg-sky-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.bg-sky-500\/20{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/20{background-color:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.bg-sky-600{background-color:var(--color-violet-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/80{background-color:#f8fafccc}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/80{background-color:color-mix(in oklab,var(--color-slate-50)80%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-100\/70{background-color:#f1f5f9b3}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\/70{background-color:color-mix(in oklab,var(--color-slate-100)70%,transparent)}}.bg-slate-100\/80{background-color:#f1f5f9cc}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\/80{background-color:color-mix(in oklab,var(--color-slate-100)80%,transparent)}}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-300\/80{background-color:#cad5e2cc}@supports (color:color-mix(in lab,red,red)){.bg-slate-300\/80{background-color:color-mix(in oklab,var(--color-slate-300)80%,transparent)}}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/5{background-color:#1d293d0d}@supports (color:color-mix(in lab,red,red)){.bg-slate-800\/5{background-color:color-mix(in oklab,var(--color-slate-800)5%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/40{background-color:#0f172b66}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-slate-900\/85{background-color:#0f172bd9}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/85{background-color:color-mix(in oklab,var(--color-slate-900)85%,transparent)}}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-300{background-color:var(--color-teal-300)}.bg-teal-400\/20{background-color:#00d3bd33}@supports (color:color-mix(in lab,red,red)){.bg-teal-400\/20{background-color:color-mix(in oklab,var(--color-teal-400)20%,transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-300{background-color:var(--color-violet-300)}.bg-violet-400\/5{background-color:#a685ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-400\/5{background-color:color-mix(in oklab,var(--color-violet-400)5%,transparent)}}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/14{background-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.bg-white\/14{background-color:color-mix(in oklab,var(--color-white)14%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.bg-white\/25{background-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.bg-white\/35{background-color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.bg-white\/35{background-color:color-mix(in oklab,var(--color-white)35%,transparent)}}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\/40{background-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in oklab,var(--color-white)85%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.\!bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab!important;background-image:linear-gradient(var(--tw-gradient-stops))!important}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(circle_at_14\%_12\%\,rgba\(251\,150\,187\,0\.35\)\,transparent_42\%\)\,radial-gradient\(circle_at_80\%_80\%\,rgba\(117\,208\,106\,0\.25\)\,transparent_38\%\)\]{background-image:radial-gradient(circle at 14% 12%,#fb96bb59,#0000 42%),radial-gradient(circle at 80% 80%,#75d06a40,#0000 38%)}.bg-\[radial-gradient\(circle_at_18\%_8\%\,rgba\(251\,150\,187\,0\.32\)\,transparent_42\%\)\,radial-gradient\(circle_at_85\%_84\%\,rgba\(117\,208\,106\,0\.24\)\,transparent_40\%\)\]{background-image:radial-gradient(circle at 18% 8%,#fb96bb52,#0000 42%),radial-gradient(circle at 85% 84%,#75d06a3d,#0000 40%)}.bg-\[radial-gradient\(circle_at_50\%_100\%\,\#9333ea_0\%\,\#c084fc_40\%\,transparent_80\%\)\]{background-image:radial-gradient(circle at 50% 100%,#9333ea,#c084fc,#0000 80%)}.bg-\[radial-gradient\(circle_at_top_left\,\#f8fbff_0\%\,\#eef4ff_40\%\,\#f8f4ff_100\%\)\]{background-image:radial-gradient(circle at 0 0,#f8fbff,#eef4ff 40%,#f8f4ff)}.bg-\[radial-gradient\(circle_at_top_right\,rgba\(153\,86\,222\,0\.08\)\,transparent_45\%\)\,radial-gradient\(circle_at_bottom_left\,rgba\(31\,167\,225\,0\.08\)\,transparent_45\%\)\]{background-image:radial-gradient(circle at 100% 0,#9956de14,#0000 45%),radial-gradient(circle at 0 100%,#1fa7e114,#0000 45%)}.bg-\[radial-gradient\(ellipse_at_50\%_100\%\,\#7e22ce_10\%\,transparent_60\%\)\]{background-image:radial-gradient(at 50% 100%,#7e22ce 10%,#0000 60%)}.bg-\[url\(\'data\:image\/svg\+xml\;base64\,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAiLz4KPHBhdGggZD0iTTAgMEgxdjFIMHoiIGZpbGw9IiM2MzY2ZjEiIGZpbGwtb3BhY2l0eT0iMC4wNSIvPgo8L3N2Zz4\=\'\)\]{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAiLz4KPHBhdGggZD0iTTAgMEgxdjFIMHoiIGZpbGw9IiM2MzY2ZjEiIGZpbGwtb3BhY2l0eT0iMC4wNSIvPgo8L3N2Zz4=)}.bg-\[url\(\'data\:image\/svg\+xml\;base64\,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPgo8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMSI\+PC9yZWN0Pgo8L3N2Zz4\=\'\)\]{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPgo8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMSI+PC9yZWN0Pgo8L3N2Zz4=)}.\!from-\[\#6ED1CF\]{--tw-gradient-from:#6ed1cf!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.from-\[\#3b3a82\]{--tw-gradient-from:#3b3a82;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#6ED1CF\]{--tw-gradient-from:#6ed1cf;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#7274ED\]{--tw-gradient-from:#7274ed;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#9956DE\]{--tw-gradient-from:#9956de;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#9956DE\]\/12{--tw-gradient-from:oklab(59.4745% .111053 -.167638/.12);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#FFB356\]{--tw-gradient-from:#ffb356;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-100{--tw-gradient-from:var(--color-amber-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-400{--tw-gradient-from:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-500\/20{--tw-gradient-from:#f99c0033}@supports (color:color-mix(in lab,red,red)){.from-amber-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.from-amber-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-600{--tw-gradient-from:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500\/20{--tw-gradient-from:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.from-emerald-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.from-emerald-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-600{--tw-gradient-from:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-50{--tw-gradient-from:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-200{--tw-gradient-from:var(--color-indigo-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500\/20{--tw-gradient-from:#625fff33}@supports (color:color-mix(in lab,red,red)){.from-indigo-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.from-indigo-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-600{--tw-gradient-from:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-50{--tw-gradient-from:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-50\/50{--tw-gradient-from:#fdf2f880}@supports (color:color-mix(in lab,red,red)){.from-pink-50\/50{--tw-gradient-from:color-mix(in oklab,var(--color-pink-50)50%,transparent)}}.from-pink-50\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-100\/30{--tw-gradient-from:#f3e8ff4d}@supports (color:color-mix(in lab,red,red)){.from-purple-100\/30{--tw-gradient-from:color-mix(in oklab,var(--color-purple-100)30%,transparent)}}.from-purple-100\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-300\/50{--tw-gradient-from:#d9b3ff80}@supports (color:color-mix(in lab,red,red)){.from-purple-300\/50{--tw-gradient-from:color-mix(in oklab,var(--color-purple-300)50%,transparent)}}.from-purple-300\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400\/20{--tw-gradient-from:#c07eff33}@supports (color:color-mix(in lab,red,red)){.from-purple-400\/20{--tw-gradient-from:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.from-purple-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500\/20{--tw-gradient-from:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.from-purple-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.from-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-rose-50{--tw-gradient-from:var(--color-rose-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-rose-400{--tw-gradient-from:var(--color-rose-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-rose-500{--tw-gradient-from:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-50{--tw-gradient-from:var(--color-violet-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-100{--tw-gradient-from:var(--color-violet-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-500\/20{--tw-gradient-from:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.from-sky-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.from-sky-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-600{--tw-gradient-from:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-700{--tw-gradient-from:var(--color-violet-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-50\/30{--tw-gradient-from:#f8fafc4d}@supports (color:color-mix(in lab,red,red)){.from-slate-50\/30{--tw-gradient-from:color-mix(in oklab,var(--color-slate-50)30%,transparent)}}.from-slate-50\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-200{--tw-gradient-from:var(--color-slate-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-900\/40{--tw-gradient-from:#0f172b66}@supports (color:color-mix(in lab,red,red)){.from-slate-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.from-slate-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-teal-50{--tw-gradient-from:var(--color-teal-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-teal-500{--tw-gradient-from:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white\/0{--tw-gradient-from:#0000}@supports (color:color-mix(in lab,red,red)){.from-white\/0{--tw-gradient-from:color-mix(in oklab,var(--color-white)0%,transparent)}}.from-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white\/20{--tw-gradient-from:#fff3}@supports (color:color-mix(in lab,red,red)){.from-white\/20{--tw-gradient-from:color-mix(in oklab,var(--color-white)20%,transparent)}}.from-white\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#75D06A\]{--tw-gradient-via:#75d06a;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#7274ED\]{--tw-gradient-via:#7274ed;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-amber-400\/40{--tw-gradient-via:#fcbb0066}@supports (color:color-mix(in lab,red,red)){.via-amber-400\/40{--tw-gradient-via:color-mix(in oklab,var(--color-amber-400)40%,transparent)}}.via-amber-400\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-cyan-500{--tw-gradient-via:var(--color-cyan-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-cyan-500\/10{--tw-gradient-via:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.via-cyan-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.via-cyan-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-emerald-500{--tw-gradient-via:var(--color-emerald-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-emerald-500\/40{--tw-gradient-via:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.via-emerald-500\/40{--tw-gradient-via:color-mix(in oklab,var(--color-emerald-500)40%,transparent)}}.via-emerald-500\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-fuchsia-50{--tw-gradient-via:var(--color-fuchsia-50);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-fuchsia-500\/10{--tw-gradient-via:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.via-fuchsia-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-fuchsia-500)10%,transparent)}}.via-fuchsia-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-orange-500{--tw-gradient-via:var(--color-orange-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-orange-500\/10{--tw-gradient-via:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.via-orange-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.via-orange-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-500{--tw-gradient-via:var(--color-pink-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-600{--tw-gradient-via:var(--color-pink-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-500\/10{--tw-gradient-via:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.via-purple-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.via-purple-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-rose-500\/40{--tw-gradient-via:#ff235766}@supports (color:color-mix(in lab,red,red)){.via-rose-500\/40{--tw-gradient-via:color-mix(in oklab,var(--color-rose-500)40%,transparent)}}.via-rose-500\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-50\/30{--tw-gradient-via:#f5f3ff4d}@supports (color:color-mix(in lab,red,red)){.via-sky-50\/30{--tw-gradient-via:color-mix(in oklab,var(--color-violet-50)30%,transparent)}}.via-sky-50\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-50\/50{--tw-gradient-via:#f5f3ff80}@supports (color:color-mix(in lab,red,red)){.via-sky-50\/50{--tw-gradient-via:color-mix(in oklab,var(--color-violet-50)50%,transparent)}}.via-sky-50\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-300\/30{--tw-gradient-via:#c4b4ff4d}@supports (color:color-mix(in lab,red,red)){.via-sky-300\/30{--tw-gradient-via:color-mix(in oklab,var(--color-violet-300)30%,transparent)}}.via-sky-300\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-400\/40{--tw-gradient-via:#a685ff66}@supports (color:color-mix(in lab,red,red)){.via-sky-400\/40{--tw-gradient-via:color-mix(in oklab,var(--color-violet-400)40%,transparent)}}.via-sky-400\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-400\/50{--tw-gradient-via:#a685ff80}@supports (color:color-mix(in lab,red,red)){.via-sky-400\/50{--tw-gradient-via:color-mix(in oklab,var(--color-violet-400)50%,transparent)}}.via-sky-400\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-500{--tw-gradient-via:var(--color-violet-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-600{--tw-gradient-via:var(--color-violet-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-500\/10{--tw-gradient-via:#00baa71a}@supports (color:color-mix(in lab,red,red)){.via-teal-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-teal-500)10%,transparent)}}.via-teal-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/15{--tw-gradient-via:#ffffff26}@supports (color:color-mix(in lab,red,red)){.via-white\/15{--tw-gradient-via:color-mix(in oklab,var(--color-white)15%,transparent)}}.via-white\/15{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/30{--tw-gradient-via:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.via-white\/30{--tw-gradient-via:color-mix(in oklab,var(--color-white)30%,transparent)}}.via-white\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/40{--tw-gradient-via:#fff6}@supports (color:color-mix(in lab,red,red)){.via-white\/40{--tw-gradient-via:color-mix(in oklab,var(--color-white)40%,transparent)}}.via-white\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/50{--tw-gradient-via:#ffffff80}@supports (color:color-mix(in lab,red,red)){.via-white\/50{--tw-gradient-via:color-mix(in oklab,var(--color-white)50%,transparent)}}.via-white\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.\!to-\[\#1FA7E1\]{--tw-gradient-to:#1fa7e1!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.to-\[\#1FA7E1\]{--tw-gradient-to:#1fa7e1;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#6ED1CF\]\/18{--tw-gradient-to:oklab(80.0346% -.0906707 -.0221346/.18);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#9956DE\]{--tw-gradient-to:#9956de;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FF8B8B\]{--tw-gradient-to:#ff8b8b;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FFB356\]{--tw-gradient-to:#ffb356;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-50{--tw-gradient-to:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-600\/5{--tw-gradient-to:#dd74000d}@supports (color:color-mix(in lab,red,red)){.to-amber-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-amber-600)5%,transparent)}}.to-amber-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-50{--tw-gradient-to:var(--color-cyan-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-100{--tw-gradient-to:var(--color-cyan-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-50{--tw-gradient-to:var(--color-emerald-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600\/5{--tw-gradient-to:#0097670d}@supports (color:color-mix(in lab,red,red)){.to-emerald-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-emerald-600)5%,transparent)}}.to-emerald-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-fuchsia-500{--tw-gradient-to:var(--color-fuchsia-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-100{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-500\/20{--tw-gradient-to:#625fff33}@supports (color:color-mix(in lab,red,red)){.to-indigo-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.to-indigo-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600\/5{--tw-gradient-to:#4f39f60d}@supports (color:color-mix(in lab,red,red)){.to-indigo-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-600)5%,transparent)}}.to-indigo-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-700{--tw-gradient-to:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-800{--tw-gradient-to:var(--color-indigo-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-50{--tw-gradient-to:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-100{--tw-gradient-to:var(--color-orange-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-600{--tw-gradient-to:var(--color-orange-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-100\/30{--tw-gradient-to:#fce7f34d}@supports (color:color-mix(in lab,red,red)){.to-pink-100\/30{--tw-gradient-to:color-mix(in oklab,var(--color-pink-100)30%,transparent)}}.to-pink-100\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-300\/40{--tw-gradient-to:#fda5d566}@supports (color:color-mix(in lab,red,red)){.to-pink-300\/40{--tw-gradient-to:color-mix(in oklab,var(--color-pink-300)40%,transparent)}}.to-pink-300\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-400\/20{--tw-gradient-to:#fb64b633}@supports (color:color-mix(in lab,red,red)){.to-pink-400\/20{--tw-gradient-to:color-mix(in oklab,var(--color-pink-400)20%,transparent)}}.to-pink-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600\/5{--tw-gradient-to:#9810fa0d}@supports (color:color-mix(in lab,red,red)){.to-purple-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-purple-600)5%,transparent)}}.to-purple-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-600{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-100{--tw-gradient-to:var(--color-violet-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-600{--tw-gradient-to:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-600\/5{--tw-gradient-to:#7f22fe0d}@supports (color:color-mix(in lab,red,red)){.to-sky-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-violet-600)5%,transparent)}}.to-sky-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-50{--tw-gradient-to:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-100{--tw-gradient-to:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-100{--tw-gradient-to:var(--color-teal-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-300{--tw-gradient-to:var(--color-teal-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-600{--tw-gradient-to:var(--color-teal-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-700{--tw-gradient-to:var(--color-teal-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white\/0{--tw-gradient-to:#0000}@supports (color:color-mix(in lab,red,red)){.to-white\/0{--tw-gradient-to:color-mix(in oklab,var(--color-white)0%,transparent)}}.to-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white\/10{--tw-gradient-to:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.to-white\/10{--tw-gradient-to:color-mix(in oklab,var(--color-white)10%,transparent)}}.to-white\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[background-size\:var\(--beam-size\)_var\(--beam-size\)\]{background-size:var(--beam-size)var(--beam-size)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-amber-300{fill:var(--color-amber-300)}.fill-amber-400{fill:var(--color-amber-400)}.fill-current{fill:currentColor}.fill-primary{fill:var(--primary)}.fill-yellow-300{fill:var(--color-yellow-300)}.stroke-\[2\.5\]{stroke-width:2.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-bottom{object-position:bottom}.object-center{object-position:center}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-3\.5{padding:calc(var(--spacing)*3.5)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.p-12{padding:calc(var(--spacing)*12)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-7{padding-block:calc(var(--spacing)*7)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pr-0{padding-right:calc(var(--spacing)*0)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-11{padding-right:calc(var(--spacing)*11)}.pr-24{padding-right:calc(var(--spacing)*24)}.pr-40{padding-right:calc(var(--spacing)*40)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pb-32{padding-bottom:calc(var(--spacing)*32)}.pb-48{padding-bottom:calc(var(--spacing)*48)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.pl-10{padding-left:calc(var(--spacing)*10)}.pl-11{padding-left:calc(var(--spacing)*11)}.pl-16{padding-left:calc(var(--spacing)*16)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[6px\]{font-size:6px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[32px\]{font-size:32px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.text-\[50px\]{font-size:50px}.text-\[60px\]{font-size:60px}.text-\[80px\]{font-size:80px}.text-\[140px\]{font-size:140px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3px\]{--tw-tracking:.3px;letter-spacing:.3px}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[\#1FA7E1\]{color:#1fa7e1!important}.\!text-white{color:var(--color-white)!important}.text-\[\#0a1628\]{color:#0a1628}.text-\[\#1E293B\]{color:#1e293b}.text-\[\#1FA7E1\]{color:#1fa7e1}.text-\[\#2e2b5e\]{color:#2e2b5e}.text-\[\#3E8538\]{color:#3e8538}.text-\[\#3c4043\]{color:#3c4043}.text-\[\#4D9F46\]{color:#4d9f46}.text-\[\#5E3388\]{color:#5e3388}.text-\[\#5E3388\]\/80{color:#5e3388cc}.text-\[\#5a6578\]{color:#5a6578}.text-\[\#5f6368\]{color:#5f6368}.text-\[\#6ED1CF\]{color:#6ed1cf}.text-\[\#7A44B3\]{color:#7a44b3}.text-\[\#7b8798\]{color:#7b8798}.text-\[\#7eafbe\]{color:#7eafbe}.text-\[\#8A1A1A\]{color:#8a1a1a}.text-\[\#8A3FD3\]{color:#8a3fd3}.text-\[\#8a7fbc\]{color:#8a7fbc}.text-\[\#8f5ae2\]{color:#8f5ae2}.text-\[\#35a8bc\]\/10{color:#35a8bc1a}.text-\[\#75D06A\]{color:#75d06a}.text-\[\#141b2d\]{color:#141b2d}.text-\[\#319ab4\]{color:#319ab4}.text-\[\#6620a2\]{color:#6620a2}.text-\[\#7274ED\]{color:#7274ed}.text-\[\#9956DE\]{color:#9956de}.text-\[\#36326e\]{color:#36326e}.text-\[\#202124\]{color:#202124}.text-\[\#334155\]{color:#334155}.text-\[\#A56D29\]{color:#a56d29}.text-\[\#A74B50\]{color:#a74b50}.text-\[\#C65E63\]{color:#c65e63}.text-\[\#CC8A37\]{color:#cc8a37}.text-\[\#D66A6A\]{color:#d66a6a}.text-\[\#EAFBFF\]{color:#eafbff}.text-\[\#F1E4FF\]{color:#f1e4ff}.text-\[\#F08386\]{color:#f08386}.text-\[\#FF8B8B\]{color:#ff8b8b}.text-\[\#FFB356\]{color:#ffb356}.text-\[\#a0aec0\]{color:#a0aec0}.text-\[\#a3b1ee\]{color:#a3b1ee}.text-\[\#a06aec\]\/10{color:#a06aec1a}.text-\[\#a8a5b3\]{color:#a8a5b3}.text-\[\#baa4df\]{color:#baa4df}.text-\[\#c2cad8\]{color:#c2cad8}.text-\[\#d1abff\]{color:#d1abff}.text-\[\#d1cec6\]{color:#d1cec6}.text-\[\#d2a893\]{color:#d2a893}.text-\[\#d05c54\]{color:#d05c54}.text-\[\#db734b\]{color:#db734b}.text-\[\#dd9a9a\]{color:#dd9a9a}.text-\[\#dde3eb\]{color:#dde3eb}.text-\[\#df655a\]\/10{color:#df655a1a}.text-\[\#e87a42\]\/10{color:#e87a421a}.text-\[\#f8fafc\]{color:#f8fafc}.text-\[\#fcd34d\]{color:#fcd34d}.text-\[\#fde047\]{color:#fde047}.text-\[var\(--chart-1\)\]{color:var(--chart-1)}.text-\[var\(--chart-2\)\]{color:var(--chart-2)}.text-\[var\(--chart-3\)\]{color:var(--chart-3)}.text-\[var\(--chart-4\)\]{color:var(--chart-4)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-800\/80{color:#953d00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-800\/80{color:color-mix(in oklab,var(--color-amber-800)80%,transparent)}}.text-amber-900{color:var(--color-amber-900)}.text-amber-900\/80{color:#7b3306cc}@supports (color:color-mix(in lab,red,red)){.text-amber-900\/80{color:color-mix(in oklab,var(--color-amber-900)80%,transparent)}}.text-amber-900\/85{color:#7b3306d9}@supports (color:color-mix(in lab,red,red)){.text-amber-900\/85{color:color-mix(in oklab,var(--color-amber-900)85%,transparent)}}.text-black\/25{color:#00000040}@supports (color:color-mix(in lab,red,red)){.text-black\/25{color:color-mix(in oklab,var(--color-black)25%,transparent)}}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-cyan-100{color:var(--color-cyan-100)}.text-cyan-200{color:var(--color-cyan-200)}.text-destructive{color:var(--destructive)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-800\/80{color:#005f46cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-800\/80{color:color-mix(in oklab,var(--color-emerald-800)80%,transparent)}}.text-emerald-900{color:var(--color-emerald-900)}.text-emerald-950{color:var(--color-emerald-950)}.text-foreground{color:var(--foreground)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-400{color:var(--color-indigo-400)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-indigo-800\/80{color:#372aaccc}@supports (color:color-mix(in lab,red,red)){.text-indigo-800\/80{color:color-mix(in oklab,var(--color-indigo-800)80%,transparent)}}.text-muted-foreground,.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-orange-300{color:var(--color-orange-300)}.text-orange-400{color:var(--color-orange-400)}.text-orange-400\/60{color:#ff8b1a99}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/60{color:color-mix(in oklab,var(--color-orange-400)60%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-pink-600{color:var(--color-pink-600)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-400{color:var(--color-purple-400)}.text-purple-600{color:var(--color-purple-600)}.text-purple-600\/80{color:#9810facc}@supports (color:color-mix(in lab,red,red)){.text-purple-600\/80{color:color-mix(in oklab,var(--color-purple-600)80%,transparent)}}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-rose-200{color:var(--color-rose-200)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-rose-900{color:var(--color-rose-900)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-sky-100{color:var(--color-violet-100)}.text-sky-200{color:var(--color-violet-200)}.text-sky-300{color:var(--color-violet-300)}.text-sky-400{color:var(--color-violet-400)}.text-sky-500{color:var(--color-violet-500)}.text-sky-600{color:var(--color-violet-600)}.text-sky-600\/80{color:#7f22fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-600\/80{color:color-mix(in oklab,var(--color-violet-600)80%,transparent)}}.text-sky-700{color:var(--color-violet-700)}.text-sky-800{color:var(--color-violet-800)}.text-sky-900{color:var(--color-violet-900)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-400\/80{color:#90a1b9cc}@supports (color:color-mix(in lab,red,red)){.text-slate-400\/80{color:color-mix(in oklab,var(--color-slate-400)80%,transparent)}}.text-slate-500{color:var(--color-slate-500)}.text-slate-500\/60{color:#62748e99}@supports (color:color-mix(in lab,red,red)){.text-slate-500\/60{color:color-mix(in oklab,var(--color-slate-500)60%,transparent)}}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-200{color:var(--color-teal-200)}.text-teal-400{color:var(--color-teal-400)}.text-teal-500{color:var(--color-teal-500)}.text-teal-600{color:var(--color-teal-600)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-teal-900{color:var(--color-teal-900)}.text-transparent{color:#0000}.text-violet-400{color:var(--color-violet-400)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-white\/5{color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.text-white\/5{color:color-mix(in oklab,var(--color-white)5%,transparent)}}.text-white\/10{color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.text-white\/10{color:color-mix(in oklab,var(--color-white)10%,transparent)}}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.text-white\/30{color:color-mix(in oklab,var(--color-white)30%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white)85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.text-yellow-300{color:var(--color-yellow-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-700{color:var(--color-zinc-700)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.decoration-slate-400{-webkit-text-decoration-color:var(--color-slate-400);text-decoration-color:var(--color-slate-400)}.underline-offset-4{text-underline-offset:4px}.placeholder-\[\#a8a5b3\]::placeholder{color:#a8a5b3}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-65{opacity:.65}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.opacity-100{opacity:1}.opacity-\[0\.2\]{opacity:.2}.opacity-\[0\.03\]{opacity:.03}.opacity-\[0\.15\]{opacity:.15}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-screen{mix-blend-mode:screen}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_-15px_50px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 -15px 50px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(139\,92\,246\,0\.2\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#8b5cf633);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#f59e0b33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(255\,255\,255\,0\.5\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#ffffff80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(16\,185\,129\,0\.2\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#10b98133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(99\,102\,241\,0\.2\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#6366f133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(158\,143\,255\,0\.4\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#9e8fff66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#f59e0b33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_18px_rgba\(255\,139\,139\,0\.6\)\]{--tw-shadow:0 0 18px var(--tw-shadow-color,#ff8b8b99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_18px_rgba\(255\,179\,86\,0\.6\)\]{--tw-shadow:0 0 18px var(--tw-shadow-color,#ffb35699);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_24px_rgba\(250\,204\,21\,0\.6\)\]{--tw-shadow:0 0 24px var(--tw-shadow-color,#facc1599);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(16\,185\,129\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#10b98133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(31\,167\,225\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#1fa7e133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(99\,102\,241\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#6366f133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(138\,63\,211\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#8a3fd333);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#f59e0b33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_15px_-3px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 2px 15px -3px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_8px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 4px 8px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_5px_12px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 5px 12px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(2\,132\,199\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#0284c7);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(5\,150\,105\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#059669);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(109\,40\,217\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#6d28d9);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(225\,29\,72\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#e11d48);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_16px_rgba\(18\,25\,43\,0\.3\)\]{--tw-shadow:0 8px 16px var(--tw-shadow-color,#12192b4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgb\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(31\,167\,225\,0\.2\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#1fa7e133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(59\,58\,130\,0\.3\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#3b3a824d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(138\,63\,211\,0\.2\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#8a3fd333);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_-10px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 10px 30px -10px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_-10px_rgba\(37\,99\,235\,0\.6\)\]{--tw-shadow:0 10px 30px -10px var(--tw-shadow-color,#2563eb99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_40px_-10px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:0 10px 40px -10px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_25px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 12px 25px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_15px_25px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 15px 25px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_15px_35px_-5px_rgba\(236\,72\,153\,0\.4\)\]{--tw-shadow:0 15px 35px -5px var(--tw-shadow-color,#ec489966);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_30px_-20px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 18px 30px -20px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_30px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 20px 30px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_40px_-10px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 20px 40px -10px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_40px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 20px 40px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_45px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 20px 45px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 20px 50px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 20px 60px -15px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 20px 60px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_-15px_rgba\(168\,85\,247\,0\.15\)\]{--tw-shadow:0 20px 60px -15px var(--tw-shadow-color,#a855f726);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_60px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 30px 60px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_60px_rgba\(15\,23\,42\,0\.4\)\,inset_0_0_120px_rgba\(0\,0\,0\,0\.9\)\]{--tw-shadow:0 30px 60px var(--tw-shadow-color,#0f172a66),inset 0 0 120px var(--tw-shadow-color,#000000e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_80px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:0 30px 80px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-4px_6px_rgba\(0\,0\,0\,0\.05\)\,0_4px_6px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:inset 0 -4px 6px var(--tw-shadow-color,#0000000d),0 4px 6px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-4px_6px_rgba\(249\,115\,22\,0\.05\)\,0_4px_6px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:inset 0 -4px 6px var(--tw-shadow-color,#f973160d),0 4px 6px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-4px_8px_rgba\(251\,191\,36\,0\.1\)\,0_6px_8px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:inset 0 -4px 8px var(--tw-shadow-color,#fbbf241a),0 6px 8px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_2px_4px_rgba\(255\,255\,255\,0\.1\)\,_inset_0_-4px_4px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#ffffff1a),inset 0 -4px 4px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_6px_15px_rgba\(255\,255\,255\,0\.4\)\]{--tw-shadow:inset 0 6px 15px var(--tw-shadow-color,#fff6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\/elevation{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[6px\]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(6px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[\#1FA7E1\]\/20{--tw-shadow-color:#1fa7e133}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#1FA7E1\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(68.7044% -.0807821 -.10979/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#1FA7E1\]\/30{--tw-shadow-color:#1fa7e14d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#1FA7E1\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(68.7044% -.0807821 -.10979/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#1FA7E1\]\/40{--tw-shadow-color:#1fa7e166}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#1FA7E1\]\/40{--tw-shadow-color:color-mix(in oklab,oklab(68.7044% -.0807821 -.10979/.4) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#8A3FD3\]\/30{--tw-shadow-color:#8a3fd34d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#8A3FD3\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(54.1025% .117281 -.181162/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#8A3FD3\]\/40{--tw-shadow-color:#8a3fd366}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#8A3FD3\]\/40{--tw-shadow-color:color-mix(in oklab,oklab(54.1025% .117281 -.181162/.4) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#8B5CF6\]\/20{--tw-shadow-color:#8b5cf633}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#8B5CF6\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(60.5631% .0845415 -.201932/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#9956DE\]\/20{--tw-shadow-color:#9956de33}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#9956DE\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(59.4745% .111053 -.167638/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#9956DE\]\/30{--tw-shadow-color:#9956de4d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#9956DE\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(59.4745% .111053 -.167638/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#FB96BB\]\/30{--tw-shadow-color:#fb96bb4d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#FB96BB\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(78.801% .12777 -.00670064/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#FFB356\]\/30{--tw-shadow-color:#ffb3564d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#FFB356\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(82.2219% .0499055 .130321/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[rgba\(124\,58\,237\,0\.05\)_0px_0px_30px_inset\]{--tw-shadow-color:#7c3aed0d}@supports (color:color-mix(in lab,red,red)){.shadow-\[rgba\(124\,58\,237\,0\.05\)_0px_0px_30px_inset\]{--tw-shadow-color:color-mix(in oklab,#7c3aed0d 0px 0px 30px inset var(--tw-shadow-alpha),transparent)}}.shadow-purple-500\/20{--tw-shadow-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.shadow-purple-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-purple-600\/25{--tw-shadow-color:#9810fa40}@supports (color:color-mix(in lab,red,red)){.shadow-purple-600\/25{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-600)25%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-red-100{--tw-shadow-color:oklch(93.6% .032 17.717)}@supports (color:color-mix(in lab,red,red)){.shadow-red-100{--tw-shadow-color:color-mix(in oklab,var(--color-red-100)var(--tw-shadow-alpha),transparent)}}.shadow-red-900\/10{--tw-shadow-color:#82181a1a}@supports (color:color-mix(in lab,red,red)){.shadow-red-900\/10{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-red-900)10%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-rose-200{--tw-shadow-color:oklch(89.2% .058 10.001)}@supports (color:color-mix(in lab,red,red)){.shadow-rose-200{--tw-shadow-color:color-mix(in oklab,var(--color-rose-200)var(--tw-shadow-alpha),transparent)}}.shadow-sky-200{--tw-shadow-color:oklch(89.4% .057 293.283)}@supports (color:color-mix(in lab,red,red)){.shadow-sky-200{--tw-shadow-color:color-mix(in oklab,var(--color-violet-200)var(--tw-shadow-alpha),transparent)}}.shadow-sky-500\/20{--tw-shadow-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.shadow-sky-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-violet-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-slate-900\/\[0\.04\]{--tw-shadow-color:#0f172b0a}@supports (color:color-mix(in lab,red,red)){.shadow-slate-900\/\[0\.04\]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-900)4%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-teal-100{--tw-shadow-color:oklch(95.3% .051 180.801)}@supports (color:color-mix(in lab,red,red)){.shadow-teal-100{--tw-shadow-color:color-mix(in oklab,var(--color-teal-100)var(--tw-shadow-alpha),transparent)}}.shadow-teal-200{--tw-shadow-color:oklch(91% .096 180.426)}@supports (color:color-mix(in lab,red,red)){.shadow-teal-200{--tw-shadow-color:color-mix(in oklab,var(--color-teal-200)var(--tw-shadow-alpha),transparent)}}.shadow-teal-500\/30{--tw-shadow-color:#00baa74d}@supports (color:color-mix(in lab,red,red)){.shadow-teal-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-teal-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-\[\#1FA7E1\]\/35{--tw-ring-color:oklab(68.7044% -.0807821 -.10979/.35)}.ring-\[\#8B5CF6\]\/10{--tw-ring-color:oklab(60.5631% .0845415 -.201932/.1)}.ring-\[\#9956DE\]\/45{--tw-ring-color:oklab(59.4745% .111053 -.167638/.45)}.ring-\[\#9956DE\]\/50{--tw-ring-color:oklab(59.4745% .111053 -.167638/.5)}.ring-\[color-mix\(in_srgb\,var\(--chart-2\)_40\%\,transparent\)\]{--tw-ring-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.ring-\[color-mix\(in_srgb\,var\(--chart-2\)_40\%\,transparent\)\]{--tw-ring-color:color-mix(in srgb,var(--chart-2)40%,transparent)}}.ring-\[color-mix\(in_srgb\,var\(--chart-3\)_40\%\,transparent\)\]{--tw-ring-color:var(--chart-3)}@supports (color:color-mix(in lab,red,red)){.ring-\[color-mix\(in_srgb\,var\(--chart-3\)_40\%\,transparent\)\]{--tw-ring-color:color-mix(in srgb,var(--chart-3)40%,transparent)}}.ring-\[color-mix\(in_srgb\,var\(--chart-4\)_40\%\,transparent\)\]{--tw-ring-color:var(--chart-4)}@supports (color:color-mix(in lab,red,red)){.ring-\[color-mix\(in_srgb\,var\(--chart-4\)_40\%\,transparent\)\]{--tw-ring-color:color-mix(in srgb,var(--chart-4)40%,transparent)}}.ring-blue-500{--tw-ring-color:var(--color-blue-500)}.ring-green-300{--tw-ring-color:var(--color-green-300)}.ring-indigo-100{--tw-ring-color:var(--color-indigo-100)}.ring-primary,.ring-primary\/40{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/40{--tw-ring-color:color-mix(in oklab,var(--primary)40%,transparent)}}.ring-red-200{--tw-ring-color:var(--color-red-200)}.ring-red-300{--tw-ring-color:var(--color-red-300)}.ring-red-500{--tw-ring-color:var(--color-red-500)}.ring-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.ring-rose-300{--tw-ring-color:var(--color-rose-300)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-sky-100{--tw-ring-color:var(--color-violet-100)}.ring-sky-300\/50{--tw-ring-color:#c4b4ff80}@supports (color:color-mix(in lab,red,red)){.ring-sky-300\/50{--tw-ring-color:color-mix(in oklab,var(--color-violet-300)50%,transparent)}}.ring-sky-500\/10{--tw-ring-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.ring-sky-500\/10{--tw-ring-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.ring-slate-900\/5{--tw-ring-color:#0f172b0d}@supports (color:color-mix(in lab,red,red)){.ring-slate-900\/5{--tw-ring-color:color-mix(in oklab,var(--color-slate-900)5%,transparent)}}.ring-teal-200{--tw-ring-color:var(--color-teal-200)}.ring-white{--tw-ring-color:var(--color-white)}.ring-white\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.ring-white\/10{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.ring-white\/20{--tw-ring-color:#fff3}@supports (color:color-mix(in lab,red,red)){.ring-white\/20{--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-\[6px\]{--tw-ring-offset-width:6px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-\[\#0B0F19\]{--tw-ring-offset-color:#0b0f19}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[1px\]{--tw-blur:blur(1px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[15px\]{--tw-blur:blur(15px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[32px\]{--tw-blur:blur(32px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[60px\]{--tw-blur:blur(60px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[70px\]{--tw-blur:blur(70px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[140px\]{--tw-blur:blur(140px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[160px\]{--tw-blur:blur(160px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.contrast-50{--tw-contrast:contrast(50%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-2px_-2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(-2px -2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-2px_2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(-2px 2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-2px_3px_0px_rgba\(0\,0\,0\,0\.8\)\]{--tw-drop-shadow-size:drop-shadow(-2px 3px 0px var(--tw-drop-shadow-color,#000c));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-3px_0px_0px_white\]{--tw-drop-shadow-size:drop-shadow(-3px 0px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(16\,185\,129\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#10b98180));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(31\,167\,225\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#1fa7e180));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(99\,102\,241\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#6366f180));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(138\,63\,211\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#8a3fd380));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(251\,191\,36\,0\.9\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#fbbf24e6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_12px_rgba\(245\,158\,11\,0\.6\)\]{--tw-drop-shadow-size:drop-shadow(0 0 12px var(--tw-drop-shadow-color,#f59e0b99));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_12px_rgba\(250\,204\,21\,0\.9\)\]{--tw-drop-shadow-size:drop-shadow(0 0 12px var(--tw-drop-shadow-color,#facc15e6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_12px_rgba\(255\,255\,255\,0\.4\)\]{--tw-drop-shadow-size:drop-shadow(0 0 12px var(--tw-drop-shadow-color,#fff6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_15px_rgba\(253\,224\,71\,0\.6\)\]{--tw-drop-shadow-size:drop-shadow(0 0 15px var(--tw-drop-shadow-color,#fde04799));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_25px_rgba\(252\,211\,77\,0\.9\)\]{--tw-drop-shadow-size:drop-shadow(0 0 25px var(--tw-drop-shadow-color,#fcd34de6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_12px_15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-drop-shadow-size:drop-shadow(0 12px 15px var(--tw-drop-shadow-color,#0000004d));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_15px_15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-drop-shadow-size:drop-shadow(0 15px 15px var(--tw-drop-shadow-color,#0000004d));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0px_-3px_0px_white\]{--tw-drop-shadow-size:drop-shadow(0px -3px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0px_3px_0px_white\]{--tw-drop-shadow-size:drop-shadow(0px 3px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[2px_-2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(2px -2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[2px_2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(2px 2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[3px_0px_0px_white\]{--tw-drop-shadow-size:drop-shadow(3px 0px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-md{--tw-drop-shadow-size:drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f));--tw-drop-shadow:drop-shadow(var(--drop-shadow-md));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-xl{--tw-drop-shadow-size:drop-shadow(0 9px 7px var(--tw-drop-shadow-color,#0000001a));--tw-drop-shadow:drop-shadow(var(--drop-shadow-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.saturate-50{--tw-saturate:saturate(50%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.delay-75{transition-delay:75ms}.duration-0{--tw-duration:0s;transition-duration:0s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.prose-slate{--tw-prose-body:oklch(37.2% .044 257.287);--tw-prose-headings:oklch(20.8% .042 265.755);--tw-prose-lead:oklch(44.6% .043 257.281);--tw-prose-links:oklch(20.8% .042 265.755);--tw-prose-bold:oklch(20.8% .042 265.755);--tw-prose-counters:oklch(55.4% .046 257.417);--tw-prose-bullets:oklch(86.9% .022 252.894);--tw-prose-hr:oklch(92.9% .013 255.508);--tw-prose-quotes:oklch(20.8% .042 265.755);--tw-prose-quote-borders:oklch(92.9% .013 255.508);--tw-prose-captions:oklch(55.4% .046 257.417);--tw-prose-kbd:oklch(20.8% .042 265.755);--tw-prose-kbd-shadows:oklab(20.8% -.00310889 -.0418848/.1);--tw-prose-code:oklch(20.8% .042 265.755);--tw-prose-pre-code:oklch(92.9% .013 255.508);--tw-prose-pre-bg:oklch(27.9% .041 260.031);--tw-prose-th-borders:oklch(86.9% .022 252.894);--tw-prose-td-borders:oklch(92.9% .013 255.508);--tw-prose-invert-body:oklch(86.9% .022 252.894);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.4% .04 256.788);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.4% .04 256.788);--tw-prose-invert-bullets:oklch(44.6% .043 257.281);--tw-prose-invert-hr:oklch(37.2% .044 257.287);--tw-prose-invert-quotes:oklch(96.8% .007 247.896);--tw-prose-invert-quote-borders:oklch(37.2% .044 257.287);--tw-prose-invert-captions:oklch(70.4% .04 256.788);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(86.9% .022 252.894);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .043 257.281);--tw-prose-invert-td-borders:oklch(37.2% .044 257.287)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[background\:linear-gradient\(var\(--grid-color\)_0_1px\,_transparent_1px_var\(--beam-size\)\)_50\%_-0\.5px_\/var\(--beam-size\)_var\(--beam-size\)\,linear-gradient\(90deg\,_var\(--grid-color\)_0_1px\,_transparent_1px_var\(--beam-size\)\)_50\%_50\%_\/var\(--beam-size\)_var\(--beam-size\)\]{background:linear-gradient(var(--grid-color)0 1px,transparent 1px var(--beam-size))50% -.5px/var(--beam-size)var(--beam-size),linear-gradient(90deg,var(--grid-color)0 1px,transparent 1px var(--beam-size))50% 50%/var(--beam-size)var(--beam-size)}.\[background\:var\(--background\)\]{background:var(--background)}.\[clip-path\:inset\(0\)\]{clip-path:inset(0)}.\[perspective\:var\(--perspective\)\]{perspective:var(--perspective)}.\[transform-style\:preserve-3d\]{transform-style:preserve-3d}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:left-\[150\%\]:is(:where(.group):hover *){left:150%}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:-translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:-translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-x-4:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:-translate-y-2:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:-translate-y-4:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-4);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:scale-\[1\.3\]:is(:where(.group):hover *){scale:1.3}.group-hover\:-rotate-6:is(:where(.group):hover *){rotate:-6deg}.group-hover\:rotate-3:is(:where(.group):hover *){rotate:3deg}.group-hover\:rotate-12:is(:where(.group):hover *){rotate:12deg}.group-hover\:rotate-45:is(:where(.group):hover *){rotate:45deg}.group-hover\:border-\[\#dde3eb\]:is(:where(.group):hover *){border-color:#dde3eb}.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}.group-hover\:border-sky-300:is(:where(.group):hover *){border-color:var(--color-violet-300)}.group-hover\:border-r-amber-400:is(:where(.group):hover *){border-right-color:var(--color-amber-400)}.group-hover\:border-b-amber-400:is(:where(.group):hover *){border-bottom-color:var(--color-amber-400)}.group-hover\:bg-amber-50:is(:where(.group):hover *){background-color:var(--color-amber-50)}.group-hover\:bg-amber-100\/50:is(:where(.group):hover *){background-color:#fef3c680}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-amber-100\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-amber-100)50%,transparent)}}.group-hover\:bg-slate-50:is(:where(.group):hover *){background-color:var(--color-slate-50)}.group-hover\:bg-slate-600:is(:where(.group):hover *){background-color:var(--color-slate-600)}.group-hover\:text-\[\#9956DE\]:is(:where(.group):hover *){color:#9956de}.group-hover\:text-\[var\(--hover-color\)\]:is(:where(.group):hover *){color:var(--hover-color)}.group-hover\:text-amber-500:is(:where(.group):hover *){color:var(--color-amber-500)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.group-hover\:text-purple-500:is(:where(.group):hover *){color:var(--color-purple-500)}.group-hover\:text-sky-500:is(:where(.group):hover *){color:var(--color-violet-500)}.group-hover\:text-sky-600:is(:where(.group):hover *){color:var(--color-violet-600)}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-\[0_24px_40px_-15px_rgba\(0\,0\,0\,0\.5\)\]:is(:where(.group):hover *){--tw-shadow:0 24px 40px -15px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-xl:is(:where(.group):hover *){--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:duration-\[800ms\]:is(:where(.group):hover *){--tw-duration:.8s;transition-duration:.8s}.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *){margin-top:calc(var(--spacing)*1.5)}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-radius:calc(var(--radius) - 2px)}.group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *){background-color:var(--popover)}.group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *){color:var(--popover-foreground)}.group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.2s;transition-duration:.2s}.peer-checked\:bg-\[\#5a6578\]:is(:where(.peer):checked~*){background-color:#5a6578}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:font-medium::placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}.placeholder\:text-slate-500::placeholder{color:var(--color-slate-500)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing)*.5)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing)*1)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-\[\#dde3eb\]:after{content:var(--tw-content);border-color:#dde3eb}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}@media(hover:hover){.hover\:-translate-x-1:hover{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:rotate-0:hover{rotate:none}.hover\:gap-2:hover{gap:calc(var(--spacing)*2)}.hover\:border-\[\#1FA7E1\]\/50:hover{border-color:#1fa7e180}.hover\:border-\[\#8A3FD3\]\/50:hover{border-color:#8a3fd380}.hover\:border-\[\#75D06A\]:hover{border-color:#75d06a}.hover\:border-\[\#75D06A\]\/60:hover{border-color:#75d06a99}.hover\:border-\[\#9956DE\]:hover{border-color:#9956de}.hover\:border-\[\#9956DE\]\/30:hover{border-color:#9956de4d}.hover\:border-\[\#9956DE\]\/60:hover{border-color:#9956de99}.hover\:border-\[\#F08386\]:hover{border-color:#f08386}.hover\:border-\[\#F08386\]\/60:hover{border-color:#f0838699}.hover\:border-\[\#d1cec6\]:hover{border-color:#d1cec6}.hover\:border-\[\#dde3eb\]:hover{border-color:#dde3eb}.hover\:border-amber-200\/60:hover{border-color:#fee68599}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-200\/60:hover{border-color:color-mix(in oklab,var(--color-amber-200)60%,transparent)}}.hover\:border-emerald-300:hover{border-color:var(--color-emerald-300)}.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:border-indigo-600:hover{border-color:var(--color-indigo-600)}.hover\:border-orange-300:hover{border-color:var(--color-orange-300)}.hover\:border-rose-300:hover{border-color:var(--color-rose-300)}.hover\:border-sky-200:hover{border-color:var(--color-violet-200)}.hover\:border-sky-300:hover{border-color:var(--color-violet-300)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:border-teal-300:hover{border-color:var(--color-teal-300)}.hover\:bg-\[\#1C96CB\]:hover{background-color:#1c96cb}.hover\:bg-\[\#1FA7E1\]\/5:hover{background-color:#1fa7e10d}.hover\:bg-\[\#1a95c9\]:hover{background-color:#1a95c9}.hover\:bg-\[\#5AB84E\]:hover{background-color:#5ab84e}.hover\:bg-\[\#7A44B3\]:hover{background-color:#7a44b3}.hover\:bg-\[\#7b35c0\]:hover{background-color:#7b35c0}.hover\:bg-\[\#008f5d\]:hover{background-color:#008f5d}.hover\:bg-\[\#8A3FD3\]\/5:hover{background-color:#8a3fd30d}.hover\:bg-\[\#8A4DCA\]:hover{background-color:#8a4dca}.hover\:bg-\[\#75D06A\]\/14:hover{background-color:#75d06a24}.hover\:bg-\[\#9956DE\]\/12:hover{background-color:#9956de1f}.hover\:bg-\[\#F08386\]\/12:hover{background-color:#f083861f}.hover\:bg-\[\#FA7DA9\]:hover{background-color:#fa7da9}.hover\:bg-\[\#FF8B8B\]\/20:hover{background-color:#ff8b8b33}.hover\:bg-\[\#FF7373\]:hover{background-color:#ff7373}.hover\:bg-\[\#dde3eb\]:hover{background-color:#dde3eb}.hover\:bg-\[\#edf1f7\]:hover{background-color:#edf1f7}.hover\:bg-\[\#edf1f7\]\/50:hover{background-color:#edf1f780}.hover\:bg-\[\#f7f9fc\]:hover{background-color:#f7f9fc}.hover\:bg-accent:hover,.hover\:bg-accent\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-cyan-200:hover{background-color:var(--color-cyan-200)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-emerald-200:hover{background-color:var(--color-emerald-200)}.hover\:bg-emerald-400:hover{background-color:var(--color-emerald-400)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-orange-50:hover{background-color:var(--color-orange-50)}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-primary:hover,.hover\:bg-primary\/20:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-rose-50:hover{background-color:var(--color-rose-50)}.hover\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\:bg-rose-400:hover{background-color:var(--color-rose-400)}.hover\:bg-rose-500:hover{background-color:var(--color-rose-500)}.hover\:bg-rose-500\/10:hover{background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-rose-500\/10:hover{background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.hover\:bg-rose-700:hover{background-color:var(--color-rose-700)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-sky-50:hover{background-color:var(--color-violet-50)}.hover\:bg-sky-50\/80:hover{background-color:#f5f3ffcc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-50\/80:hover{background-color:color-mix(in oklab,var(--color-violet-50)80%,transparent)}}.hover\:bg-sky-100:hover{background-color:var(--color-violet-100)}.hover\:bg-sky-300:hover{background-color:var(--color-violet-300)}.hover\:bg-sky-400:hover{background-color:var(--color-violet-400)}.hover\:bg-sky-600:hover{background-color:var(--color-violet-600)}.hover\:bg-sky-700:hover{background-color:var(--color-violet-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-200\/50:hover{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-200\/50:hover{background-color:color-mix(in oklab,var(--color-slate-200)50%,transparent)}}.hover\:bg-slate-200\/70:hover{background-color:#e2e8f0b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-200\/70:hover{background-color:color-mix(in oklab,var(--color-slate-200)70%,transparent)}}.hover\:bg-teal-600:hover{background-color:var(--color-teal-600)}.hover\:bg-violet-100:hover{background-color:var(--color-violet-100)}.hover\:bg-violet-400:hover{background-color:var(--color-violet-400)}.hover\:bg-violet-500:hover{background-color:var(--color-violet-500)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:bg-white\/50:hover{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/50:hover{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.hover\:bg-white\/80:hover{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/80:hover{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\:\!from-\[\#8FE4DA\]:hover{--tw-gradient-from:#8fe4da!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.hover\:from-purple-500:hover{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-sky-700:hover{--tw-gradient-from:var(--color-violet-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:\!to-\[\#49BDEB\]:hover{--tw-gradient-to:#49bdeb!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.hover\:to-pink-400:hover{--tw-gradient-to:var(--color-pink-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-sky-600:hover{--tw-gradient-to:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-\[\#0a1628\]:hover{color:#0a1628}.hover\:text-\[\#5a6578\]:hover{color:#5a6578}.hover\:text-\[\#75D06A\]:hover{color:#75d06a}.hover\:text-\[\#9956DE\]:hover{color:#9956de}.hover\:text-\[\#F08386\]:hover{color:#f08386}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-emerald-600:hover{color:var(--color-emerald-600)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-600:hover{color:var(--color-green-600)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-orange-600:hover{color:var(--color-orange-600)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-primary-foreground:hover{color:var(--primary-foreground)}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-rose-300:hover{color:var(--color-rose-300)}.hover\:text-rose-700:hover{color:var(--color-rose-700)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:text-sky-300:hover{color:var(--color-violet-300)}.hover\:text-sky-500:hover{color:var(--color-violet-500)}.hover\:text-sky-600:hover{color:var(--color-violet-600)}.hover\:text-sky-700:hover{color:var(--color-violet-700)}.hover\:text-slate-500:hover{color:var(--color-slate-500)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_-20px_60px_rgba\(0\,0\,0\,0\.3\)\]:hover{--tw-shadow:0 -20px 60px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_12px_45px_rgba\(31\,167\,225\,0\.4\)\]:hover{--tw-shadow:0 12px 45px var(--tw-shadow-color,#1fa7e166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_12px_45px_rgba\(138\,63\,211\,0\.4\)\]:hover{--tw-shadow:0 12px 45px var(--tw-shadow-color,#8a3fd366);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_15px_35px_-5px_rgba\(56\,189\,248\,0\.3\)\]:hover{--tw-shadow:0 15px 35px -5px var(--tw-shadow-color,#38bdf84d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_16px_30px_rgba\(0\,0\,0\,0\.12\)\]:hover{--tw-shadow:0 16px 30px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_16px_40px_-15px_rgba\(0\,0\,0\,0\.12\)\]:hover{--tw-shadow:0 16px 40px -15px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_16px_40px_rgba\(114\,116\,237\,0\.28\)\]:hover{--tw-shadow:0 16px 40px var(--tw-shadow-color,#7274ed47);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-pink-500\/35:hover{--tw-shadow-color:#f6339a59}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-pink-500\/35:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-pink-500)35%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:shadow-purple-500\/30:hover{--tw-shadow-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-purple-500\/30:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:shadow-sky-300\/50:hover{--tw-shadow-color:#c4b4ff80}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-sky-300\/50:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-violet-300)50%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:shadow-teal-500\/25:hover{--tw-shadow-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-teal-500\/25:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-teal-500)25%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:border-indigo-600:focus{border-color:var(--color-indigo-600)}.focus\:border-primary:focus{border-color:var(--primary)}.focus\:border-sky-400:focus{border-color:var(--color-violet-400)}.focus\:border-sky-500:focus{border-color:var(--color-violet-500)}.focus\:border-sky-600:focus{border-color:var(--color-violet-600)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-primary:focus{background-color:var(--primary)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:text-primary-foreground:focus{color:var(--primary-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-indigo-100:focus{--tw-ring-color:var(--color-indigo-100)}.focus\:ring-primary\/20:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/20:focus{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-sky-100:focus{--tw-ring-color:var(--color-violet-100)}.focus\:ring-sky-200:focus{--tw-ring-color:var(--color-violet-200)}.focus\:ring-sky-400\/15:focus{--tw-ring-color:#a685ff26}@supports (color:color-mix(in lab,red,red)){.focus\:ring-sky-400\/15:focus{--tw-ring-color:color-mix(in oklab,var(--color-violet-400)15%,transparent)}}.focus\:ring-sky-400\/20:focus{--tw-ring-color:#a685ff33}@supports (color:color-mix(in lab,red,red)){.focus\:ring-sky-400\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-violet-400)20%,transparent)}}.focus\:ring-sky-500:focus{--tw-ring-color:var(--color-violet-500)}.focus\:ring-sky-500\/20:focus{--tw-ring-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.focus\:ring-sky-500\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[\#8A3FD3\]\/50:focus-visible{--tw-ring-color:oklab(54.1025% .117281 -.181162/.5)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-red-500:focus-visible{--tw-ring-color:var(--color-red-500)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-sky-400:focus-visible{--tw-ring-color:var(--color-violet-400)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-\[4px\]:active{--tw-translate-y:4px;translate:var(--tw-translate-x)var(--tw-translate-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:border-b-0:active{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.active\:bg-emerald-600:active{background-color:var(--color-emerald-600)}.active\:bg-rose-600:active{background-color:var(--color-rose-600)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:bg-sky-600:active,.active\:bg-violet-600:active{background-color:var(--color-violet-600)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-100:disabled{opacity:1}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.disabled\:hover\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.aria-selected\:bg-accent[aria-selected=true]{background-color:var(--accent)}.aria-selected\:bg-primary[aria-selected=true]{background-color:var(--primary)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:var(--accent-foreground)}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.aria-selected\:text-primary-foreground[aria-selected=true]{color:var(--primary-foreground)}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:var(--ring)}.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}@media(hover:hover){.data-\[active\=true\]\:hover\:bg-accent[data-active=true]:hover{background-color:var(--accent)}}.data-\[active\=true\]\:focus\:bg-accent[data-active=true]:focus{background-color:var(--accent)}.data-\[active\=true\]\:aria-invalid\:border-destructive[data-active=true][aria-invalid=true]{border-color:var(--destructive)}.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[orientation\=horizontal\]\:h-4[data-orientation=horizontal]{height:calc(var(--spacing)*4)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing)*44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing)*1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing)*1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:bg-card[data-state=active]{background-color:var(--card)}.data-\[state\=active\]\:bg-gradient-to-r[data-state=active]{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.data-\[state\=active\]\:from-purple-500[data-state=active]{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.data-\[state\=active\]\:to-pink-500[data-state=active]{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.data-\[state\=active\]\:text-white[data-state=active]{color:var(--color-white)}.data-\[state\=active\]\:shadow-md[data-state=active]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:bg-red-600[data-state=checked]{background-color:var(--color-red-600)}.data-\[state\=checked\]\:bg-sky-600[data-state=checked]{background-color:var(--color-violet-600)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=inactive\]\:text-slate-500[data-state=inactive]{color:var(--color-slate-500)}@media(hover:hover){.data-\[state\=inactive\]\:hover\:bg-purple-50[data-state=inactive]:hover{background-color:var(--color-purple-50)}}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-\[\#dde3eb\][data-state=unchecked]{background-color:#dde3eb}.data-\[state\=unchecked\]\:bg-switch-background[data-state=unchecked]{background-color:var(--switch-background)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=outline\]\:border-l-0[data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[variant\=outline\]\:shadow-xs[data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[variant\=outline\]\:first\:border-l[data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing)*24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing)*24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media(min-width:40rem){.sm\:-top-\[30px\]{top:-30px}.sm\:top-4{top:calc(var(--spacing)*4)}.sm\:right-8{right:calc(var(--spacing)*8)}.sm\:bottom-8{bottom:calc(var(--spacing)*8)}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:mt-2{margin-top:calc(var(--spacing)*2)}.sm\:mb-0{margin-bottom:calc(var(--spacing)*0)}.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:ml-0{margin-left:calc(var(--spacing)*0)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-8{height:calc(var(--spacing)*8)}.sm\:h-10{height:calc(var(--spacing)*10)}.sm\:h-14{height:calc(var(--spacing)*14)}.sm\:h-\[95px\]{height:95px}.sm\:h-\[115\%\]{height:115%}.sm\:h-\[125\%\]{height:125%}.sm\:h-\[140px\]{height:140px}.sm\:h-\[145px\]{height:145px}.sm\:h-\[165px\]{height:165px}.sm\:h-\[245px\]{height:245px}.sm\:h-\[360px\]{height:360px}.sm\:h-\[440px\]{height:440px}.sm\:w-8{width:calc(var(--spacing)*8)}.sm\:w-10{width:calc(var(--spacing)*10)}.sm\:w-14{width:calc(var(--spacing)*14)}.sm\:w-\[30\%\]{width:30%}.sm\:w-\[38\%\]{width:38%}.sm\:w-\[65px\]{width:65px}.sm\:w-\[140px\]{width:140px}.sm\:w-\[160px\]{width:160px}.sm\:w-\[170px\]{width:170px}.sm\:w-\[300px\]{width:300px}.sm\:w-\[440px\]{width:440px}.sm\:w-auto{width:auto}.sm\:w-max{width:max-content}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[480px\]{max-width:480px}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:flex-none{flex:none}.sm\:-translate-x-\[60px\]{--tw-translate-x: -60px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\:translate-x-\[60px\]{--tw-translate-x:60px;translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\:scale-\[0\.80\]{scale:.8}.sm\:scale-\[0\.85\]{scale:.85}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing)*2.5)}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:gap-6{gap:calc(var(--spacing)*6)}.sm\:gap-8{gap:calc(var(--spacing)*8)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:p-7{padding:calc(var(--spacing)*7)}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:px-10{padding-inline:calc(var(--spacing)*10)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.sm\:pb-28{padding-bottom:calc(var(--spacing)*28)}.sm\:pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[10px\]{font-size:10px}.sm\:text-\[11px\]{font-size:11px}.sm\:text-\[12px\]{font-size:12px}.sm\:text-\[14px\]{font-size:14px}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:absolute{position:absolute}.md\:-top-7{top:calc(var(--spacing)*-7)}.md\:-top-8{top:calc(var(--spacing)*-8)}.md\:right-10{right:calc(var(--spacing)*10)}.md\:-bottom-7{bottom:calc(var(--spacing)*-7)}.md\:-bottom-8{bottom:calc(var(--spacing)*-8)}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-9{grid-column:span 9/span 9}.md\:mt-2{margin-top:calc(var(--spacing)*2)}.md\:mt-12{margin-top:calc(var(--spacing)*12)}.md\:mt-\[-40px\]{margin-top:-40px}.md\:mr-2{margin-right:calc(var(--spacing)*2)}.md\:mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.md\:mb-4{margin-bottom:calc(var(--spacing)*4)}.md\:mb-5{margin-bottom:calc(var(--spacing)*5)}.md\:mb-8{margin-bottom:calc(var(--spacing)*8)}.md\:ml-2{margin-left:calc(var(--spacing)*2)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-2{height:calc(var(--spacing)*2)}.md\:h-9{height:calc(var(--spacing)*9)}.md\:h-10{height:calc(var(--spacing)*10)}.md\:h-11{height:calc(var(--spacing)*11)}.md\:h-12{height:calc(var(--spacing)*12)}.md\:h-14{height:calc(var(--spacing)*14)}.md\:h-16{height:calc(var(--spacing)*16)}.md\:h-20{height:calc(var(--spacing)*20)}.md\:h-32{height:calc(var(--spacing)*32)}.md\:h-36{height:calc(var(--spacing)*36)}.md\:h-40{height:calc(var(--spacing)*40)}.md\:h-64{height:calc(var(--spacing)*64)}.md\:h-\[72px\]{height:72px}.md\:h-\[86px\]{height:86px}.md\:h-\[100px\]{height:100px}.md\:h-\[130px\]{height:130px}.md\:h-\[180px\]{height:180px}.md\:h-\[200vw\]{height:200vw}.md\:h-\[310px\]{height:310px}.md\:w-2{width:calc(var(--spacing)*2)}.md\:w-9{width:calc(var(--spacing)*9)}.md\:w-11{width:calc(var(--spacing)*11)}.md\:w-12{width:calc(var(--spacing)*12)}.md\:w-14{width:calc(var(--spacing)*14)}.md\:w-20{width:calc(var(--spacing)*20)}.md\:w-36{width:calc(var(--spacing)*36)}.md\:w-\[72px\]{width:72px}.md\:w-\[86px\]{width:86px}.md\:w-\[200vw\]{width:200vw}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[250px\]{max-width:250px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-3{gap:calc(var(--spacing)*3)}.md\:gap-4{gap:calc(var(--spacing)*4)}.md\:gap-5{gap:calc(var(--spacing)*5)}.md\:gap-6{gap:calc(var(--spacing)*6)}.md\:gap-8{gap:calc(var(--spacing)*8)}.md\:gap-10{gap:calc(var(--spacing)*10)}.md\:rounded-b-\[80px\]{border-bottom-right-radius:80px;border-bottom-left-radius:80px}.md\:p-3{padding:calc(var(--spacing)*3)}.md\:p-4{padding:calc(var(--spacing)*4)}.md\:p-5{padding:calc(var(--spacing)*5)}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:p-10{padding:calc(var(--spacing)*10)}.md\:p-12{padding:calc(var(--spacing)*12)}.md\:px-4{padding-inline:calc(var(--spacing)*4)}.md\:px-8{padding-inline:calc(var(--spacing)*8)}.md\:px-10{padding-inline:calc(var(--spacing)*10)}.md\:py-2{padding-block:calc(var(--spacing)*2)}.md\:py-6{padding-block:calc(var(--spacing)*6)}.md\:pt-8{padding-top:calc(var(--spacing)*8)}.md\:pr-4{padding-right:calc(var(--spacing)*4)}.md\:pr-10{padding-right:calc(var(--spacing)*10)}.md\:pr-\[240px\]{padding-right:240px}.md\:pl-12{padding-left:calc(var(--spacing)*12)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.md\:text-\[10px\]{font-size:10px}.md\:text-\[11px\]{font-size:11px}.md\:text-\[12px\]{font-size:12px}.md\:text-\[13px\]{font-size:13px}.md\:text-\[15px\]{font-size:15px}.md\:text-\[16px\]{font-size:16px}.md\:text-\[17px\]{font-size:17px}.md\:text-\[18px\]{font-size:18px}.md\:text-\[22px\]{font-size:22px}.md\:text-\[26px\]{font-size:26px}.md\:text-\[32px\]{font-size:32px}.md\:text-\[44px\]{font-size:44px}.md\:text-\[70px\]{font-size:70px}.md\:text-\[80px\]{font-size:80px}.md\:text-\[110px\]{font-size:110px}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:static{position:static}.lg\:top-\[5px\]{top:5px}.lg\:right-10{right:calc(var(--spacing)*10)}.lg\:right-\[-15px\]{right:-15px}.lg\:right-\[250px\]{right:250px}.lg\:bottom-20{bottom:calc(var(--spacing)*20)}.lg\:z-auto{z-index:auto}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:-mx-4{margin-inline:calc(var(--spacing)*-4)}.lg\:-mt-4{margin-top:calc(var(--spacing)*-4)}.lg\:mb-8{margin-bottom:calc(var(--spacing)*8)}.lg\:ml-10{margin-left:calc(var(--spacing)*10)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-8{height:calc(var(--spacing)*8)}.lg\:h-12{height:calc(var(--spacing)*12)}.lg\:h-\[265px\]{height:265px}.lg\:h-\[800px\]{height:800px}.lg\:min-h-\[160px\]{min-height:160px}.lg\:w-8{width:calc(var(--spacing)*8)}.lg\:w-12{width:calc(var(--spacing)*12)}.lg\:w-\[45\%\]{width:45%}.lg\:w-\[55\%\]{width:55%}.lg\:w-\[70px\]{width:70px}.lg\:w-\[260px\]{width:260px}.lg\:w-\[270px\]{width:270px}.lg\:origin-center{transform-origin:50%}.lg\:translate-y-\[19\%\]{--tw-translate-y:19%;translate:var(--tw-translate-x)var(--tw-translate-y)}.lg\:scale-\[0\.85\]{scale:.85}.lg\:scale-\[1\.3\]{scale:1.3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:gap-5{gap:calc(var(--spacing)*5)}.lg\:gap-6{gap:calc(var(--spacing)*6)}.lg\:gap-10{gap:calc(var(--spacing)*10)}.lg\:gap-12{gap:calc(var(--spacing)*12)}.lg\:gap-14{gap:calc(var(--spacing)*14)}:where(.lg\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.lg\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.lg\:divide-y-0>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.lg\:overflow-hidden{overflow:hidden}.lg\:p-4{padding:calc(var(--spacing)*4)}.lg\:p-8{padding:calc(var(--spacing)*8)}.lg\:p-12{padding:calc(var(--spacing)*12)}.lg\:px-16{padding-inline:calc(var(--spacing)*16)}.lg\:pt-6{padding-top:calc(var(--spacing)*6)}.lg\:pr-\[280px\]{padding-right:280px}.lg\:pb-0{padding-bottom:calc(var(--spacing)*0)}.lg\:pl-6{padding-left:calc(var(--spacing)*6)}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.lg\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.lg\:text-\[7px\]{font-size:7px}.lg\:text-\[16px\]{font-size:16px}.lg\:text-\[46px\]{font-size:46px}}@media(min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:mb-8{margin-bottom:calc(var(--spacing)*8)}.xl\:flex{display:flex}.xl\:w-\[75px\]{width:75px}.xl\:max-w-\[1400px\]{max-width:1400px}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.xl\:grid-cols-\[400px_1fr\]{grid-template-columns:400px 1fr}.xl\:gap-8{gap:calc(var(--spacing)*8)}.xl\:px-10{padding-inline:calc(var(--spacing)*10)}.xl\:text-\[3\.4rem\]{font-size:3.4rem}}.dark\:border-\[\#1FA7E1\]\/20:is(.dark *){border-color:#1fa7e133}.dark\:border-\[\#2b3140\]:is(.dark *){border-color:#2b3140}.dark\:border-\[\#2f3547\]:is(.dark *){border-color:#2f3547}.dark\:border-\[\#8A3FD3\]\/20:is(.dark *){border-color:#8a3fd333}.dark\:border-\[\#8A3FD3\]\/30:is(.dark *){border-color:#8a3fd34d}.dark\:border-\[\#8d7fff\]:is(.dark *){border-color:#8d7fff}.dark\:border-amber-300\/40:is(.dark *){border-color:#ffd23666}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-300\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-amber-300)40%,transparent)}}.dark\:border-amber-400\/40:is(.dark *){border-color:#fcbb0066}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-400\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-amber-400)40%,transparent)}}.dark\:border-amber-700\/50:is(.dark *){border-color:#b7500080}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-amber-700)50%,transparent)}}.dark\:border-emerald-300\/40:is(.dark *){border-color:#5ee9b566}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-300\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-300)40%,transparent)}}.dark\:border-emerald-400\/40:is(.dark *){border-color:#00d29466}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-400\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-400)40%,transparent)}}.dark\:border-emerald-500\/40:is(.dark *){border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-500\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-500)40%,transparent)}}.dark\:border-emerald-700\/50:is(.dark *){border-color:#00795680}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-700)50%,transparent)}}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:border-indigo-700\/50:is(.dark *){border-color:#432dd780}@supports (color:color-mix(in lab,red,red)){.dark\:border-indigo-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-indigo-700)50%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-purple-700\/50:is(.dark *){border-color:#8200da80}@supports (color:color-mix(in lab,red,red)){.dark\:border-purple-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-purple-700)50%,transparent)}}.dark\:border-rose-300\/40:is(.dark *){border-color:#ffa2ae66}@supports (color:color-mix(in lab,red,red)){.dark\:border-rose-300\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-rose-300)40%,transparent)}}.dark\:border-rose-400\/40:is(.dark *){border-color:#ff667f66}@supports (color:color-mix(in lab,red,red)){.dark\:border-rose-400\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-rose-400)40%,transparent)}}.dark\:border-rose-500\/20:is(.dark *){border-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.dark\:border-rose-500\/20:is(.dark *){border-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.dark\:border-rose-900:is(.dark *){border-color:var(--color-rose-900)}.dark\:border-sky-700\/50:is(.dark *){border-color:#7008e780}@supports (color:color-mix(in lab,red,red)){.dark\:border-sky-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-violet-700)50%,transparent)}}.dark\:border-slate-700:is(.dark *){border-color:var(--color-slate-700)}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/10:is(.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\:bg-\[\#1a1f2e\]\/90:is(.dark *){background-color:#1a1f2ee6}.dark\:bg-\[\#2a3143\]:is(.dark *){background-color:#2a3143}.dark\:bg-\[\#2b2b5f\]:is(.dark *){background-color:#2b2b5f}.dark\:bg-\[\#8A3FD3\]\/10:is(.dark *){background-color:#8a3fd31a}.dark\:bg-\[\#181d27\]:is(.dark *){background-color:#181d27}.dark\:bg-\[\#11151d\]:is(.dark *){background-color:#11151d}.dark\:bg-\[\#15803d\]:is(.dark *){background-color:#15803d}.dark\:bg-\[\#b0e6eb\]:is(.dark *){background-color:#b0e6eb}.dark\:bg-\[\#b45309\]:is(.dark *){background-color:#b45309}.dark\:bg-\[\#be123c\]:is(.dark *){background-color:#be123c}.dark\:bg-\[\#d6ccf5\]:is(.dark *){background-color:#d6ccf5}.dark\:bg-\[\#f6ebd2\]:is(.dark *){background-color:#f6ebd2}.dark\:bg-\[\#fbd3d3\]:is(.dark *){background-color:#fbd3d3}.dark\:bg-amber-100\/20:is(.dark *){background-color:#fef3c633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-100\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-100)20%,transparent)}}.dark\:bg-amber-400\/10:is(.dark *){background-color:#fcbb001a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-400\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-400)10%,transparent)}}.dark\:bg-amber-900\/20:is(.dark *){background-color:#7b330633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-900)20%,transparent)}}.dark\:bg-amber-900\/50:is(.dark *){background-color:#7b330680}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-900)50%,transparent)}}.dark\:bg-black\/30:is(.dark *){background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.dark\:bg-black\/40:is(.dark *){background-color:#0006}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/40:is(.dark *){background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.dark\:bg-black\/50:is(.dark *){background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.dark\:bg-black\/80:is(.dark *){background-color:#000c}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/80:is(.dark *){background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-emerald-500\/10:is(.dark *){background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.dark\:bg-emerald-500\/30:is(.dark *){background-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-500\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.dark\:bg-emerald-900\/20:is(.dark *){background-color:#004e3b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-900)20%,transparent)}}.dark\:bg-emerald-900\/50:is(.dark *){background-color:#004e3b80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-900)50%,transparent)}}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-indigo-900\/50:is(.dark *){background-color:#312c8580}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-indigo-900)50%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-purple-900\/50:is(.dark *){background-color:#59168b80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-purple-900)50%,transparent)}}.dark\:bg-rose-500\/10:is(.dark *){background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-rose-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.dark\:bg-rose-900\/20:is(.dark *){background-color:#8b083633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-rose-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-rose-900)20%,transparent)}}.dark\:bg-sky-500\/5:is(.dark *){background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-sky-500\/5:is(.dark *){background-color:color-mix(in oklab,var(--color-violet-500)5%,transparent)}}.dark\:bg-sky-500\/15:is(.dark *){background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.dark\:bg-sky-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-violet-500)15%,transparent)}}.dark\:bg-sky-900\/50:is(.dark *){background-color:#4d179a80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-sky-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-violet-900)50%,transparent)}}.dark\:from-\[\#2b2b5f\]:is(.dark *){--tw-gradient-from:#2b2b5f;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-amber-300:is(.dark *){--tw-gradient-from:var(--color-amber-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-amber-600\/20:is(.dark *){--tw-gradient-from:#dd740033}@supports (color:color-mix(in lab,red,red)){.dark\:from-amber-600\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-amber-600)20%,transparent)}}.dark\:from-amber-600\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-emerald-300:is(.dark *){--tw-gradient-from:var(--color-emerald-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-emerald-500\/20:is(.dark *){--tw-gradient-from:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.dark\:from-emerald-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.dark\:from-emerald-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-indigo-300:is(.dark *){--tw-gradient-from:var(--color-indigo-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-indigo-500\/20:is(.dark *){--tw-gradient-from:#625fff33}@supports (color:color-mix(in lab,red,red)){.dark\:from-indigo-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.dark\:from-indigo-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-purple-300:is(.dark *){--tw-gradient-from:var(--color-purple-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-purple-500\/20:is(.dark *){--tw-gradient-from:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.dark\:from-purple-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.dark\:from-purple-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-sky-300:is(.dark *){--tw-gradient-from:var(--color-violet-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-sky-500\/20:is(.dark *){--tw-gradient-from:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.dark\:from-sky-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.dark\:from-sky-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:via-cyan-500\/10:is(.dark *){--tw-gradient-via:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.dark\:via-cyan-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.dark\:via-cyan-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-fuchsia-500\/10:is(.dark *){--tw-gradient-via:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.dark\:via-fuchsia-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-fuchsia-500)10%,transparent)}}.dark\:via-fuchsia-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-orange-500\/10:is(.dark *){--tw-gradient-via:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.dark\:via-orange-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.dark\:via-orange-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-purple-500\/10:is(.dark *){--tw-gradient-via:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.dark\:via-purple-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.dark\:via-purple-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-teal-500\/10:is(.dark *){--tw-gradient-via:#00baa71a}@supports (color:color-mix(in lab,red,red)){.dark\:via-teal-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-teal-500)10%,transparent)}}.dark\:via-teal-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:to-cyan-200:is(.dark *){--tw-gradient-to:var(--color-cyan-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-fuchsia-200:is(.dark *){--tw-gradient-to:var(--color-fuchsia-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-orange-200:is(.dark *){--tw-gradient-to:var(--color-orange-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-orange-900\/10:is(.dark *){--tw-gradient-to:#7e2a0c1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-orange-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-orange-900)10%,transparent)}}.dark\:to-orange-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-purple-200:is(.dark *){--tw-gradient-to:var(--color-purple-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-purple-900\/10:is(.dark *){--tw-gradient-to:#59168b1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-purple-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-purple-900)10%,transparent)}}.dark\:to-purple-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-sky-900\/10:is(.dark *){--tw-gradient-to:#4d179a1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-sky-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-violet-900)10%,transparent)}}.dark\:to-sky-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-teal-200:is(.dark *){--tw-gradient-to:var(--color-teal-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-teal-900\/10:is(.dark *){--tw-gradient-to:#0b4f4a1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-teal-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-teal-900)10%,transparent)}}.dark\:to-teal-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-\[\#4bc1f2\]:is(.dark *){color:#4bc1f2}.dark\:text-\[\#7ad8ff\]:is(.dark *){color:#7ad8ff}.dark\:text-\[\#7f88a3\]:is(.dark *){color:#7f88a3}.dark\:text-\[\#8b95ad\]:is(.dark *){color:#8b95ad}.dark\:text-\[\#9aa4be\]:is(.dark *){color:#9aa4be}.dark\:text-\[\#9da7bf\]:is(.dark *){color:#9da7bf}.dark\:text-\[\#9e8fff\]:is(.dark *){color:#9e8fff}.dark\:text-\[\#95a0bb\]:is(.dark *){color:#95a0bb}.dark\:text-\[\#98a2bc\]:is(.dark *){color:#98a2bc}.dark\:text-\[\#a8b2c9\]:is(.dark *){color:#a8b2c9}.dark\:text-\[\#a9b3ca\]:is(.dark *){color:#a9b3ca}.dark\:text-\[\#a35ceb\]:is(.dark *){color:#a35ceb}.dark\:text-\[\#aab3c7\]:is(.dark *){color:#aab3c7}.dark\:text-\[\#b2bad0\]:is(.dark *){color:#b2bad0}.dark\:text-\[\#c48bfc\]:is(.dark *){color:#c48bfc}.dark\:text-\[\#d3a8ff\]:is(.dark *){color:#d3a8ff}.dark\:text-\[\#e4e7f1\]:is(.dark *){color:#e4e7f1}.dark\:text-\[\#ecf0fb\]:is(.dark *){color:#ecf0fb}.dark\:text-\[\#f5f7fb\]:is(.dark *){color:#f5f7fb}.dark\:text-amber-100:is(.dark *){color:var(--color-amber-100)}.dark\:text-amber-100\/70:is(.dark *){color:#fef3c6b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-100\/70:is(.dark *){color:color-mix(in oklab,var(--color-amber-100)70%,transparent)}}.dark\:text-amber-100\/90:is(.dark *){color:#fef3c6e6}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-100\/90:is(.dark *){color:color-mix(in oklab,var(--color-amber-100)90%,transparent)}}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-emerald-100\/70:is(.dark *){color:#d0fae5b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-emerald-100\/70:is(.dark *){color:color-mix(in oklab,var(--color-emerald-100)70%,transparent)}}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-indigo-100\/70:is(.dark *){color:#e0e7ffb3}@supports (color:color-mix(in lab,red,red)){.dark\:text-indigo-100\/70:is(.dark *){color:color-mix(in oklab,var(--color-indigo-100)70%,transparent)}}.dark\:text-indigo-300:is(.dark *){color:var(--color-indigo-300)}.dark\:text-indigo-400:is(.dark *){color:var(--color-indigo-400)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-purple-300:is(.dark *){color:var(--color-purple-300)}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-purple-400\/80:is(.dark *){color:#c07effcc}@supports (color:color-mix(in lab,red,red)){.dark\:text-purple-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-purple-400)80%,transparent)}}.dark\:text-rose-300:is(.dark *){color:var(--color-rose-300)}.dark\:text-rose-400:is(.dark *){color:var(--color-rose-400)}.dark\:text-sky-300:is(.dark *){color:var(--color-violet-300)}.dark\:text-sky-400:is(.dark *){color:var(--color-violet-400)}.dark\:text-sky-400\/80:is(.dark *){color:#a685ffcc}@supports (color:color-mix(in lab,red,red)){.dark\:text-sky-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-violet-400)80%,transparent)}}.dark\:text-slate-200:is(.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:is(.dark *){color:var(--color-slate-400)}.dark\:text-violet-400:is(.dark *){color:var(--color-violet-400)}.dark\:opacity-10:is(.dark *){opacity:.1}.dark\:opacity-\[0\.25\]:is(.dark *){opacity:.25}.dark\:mix-blend-screen:is(.dark *){mix-blend-mode:screen}.dark\:shadow-\[0_12px_24px_rgba\(0\,0\,0\,0\.22\)\]:is(.dark *){--tw-shadow:0 12px 24px var(--tw-shadow-color,#00000038);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:ring-offset-\[\#0B0F19\]:is(.dark *){--tw-ring-offset-color:#0b0f19}@media(hover:hover){.dark\:hover\:bg-\[\#1FA7E1\]\/10:is(.dark *):hover{background-color:#1fa7e11a}.dark\:hover\:bg-\[\#8A3FD3\]\/10:is(.dark *):hover{background-color:#8a3fd31a}.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-black\/50:is(.dark *):hover{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-black\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.dark\:hover\:bg-black\/60:is(.dark *):hover{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-black\/60:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.dark\:hover\:bg-emerald-500\/20:is(.dark *):hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-emerald-500\/20:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:bg-rose-900\/30:is(.dark *):hover{background-color:#8b08364d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-rose-900\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-rose-900)30%,transparent)}}.dark\:hover\:bg-slate-800:is(.dark *):hover{background-color:var(--color-slate-800)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-card-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--card-foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:var(--border)}@supports (color:color-mix(in lab,red,red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:color-mix(in oklab,var(--border)50%,transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:m-0 p{margin:calc(var(--spacing)*0)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_strong\]\:font-semibold strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:var(--accent)}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:first-child:has([aria-selected]){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:last-child:has([aria-selected]),.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\:last-child\]\:pb-6:last-child{padding-bottom:calc(var(--spacing)*6)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing)*2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing)*3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing)*2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing)*3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}:root{--font-size:16px;--font-display:"Nunito",ui-sans-serif,system-ui,sans-serif;--font-body:"Nunito",ui-sans-serif,system-ui,sans-serif;--background:#f7f9fc;--foreground:#0a1628;--card:#fff;--card-foreground:#0a1628;--popover:#fff;--popover-foreground:#0a1628;--amethyst:#9956de;--slate-blue:#7274ed;--summer-sky:#1fa7e1;--downy:#6ed1cf;--pastel-green:#75d06a;--texas-rose:#ffb356;--mona-lisa:#ff8b8b;--illusion:#fb96bb;--primary:#9956de;--primary-foreground:#fff;--secondary:#7274ed;--secondary-foreground:#fff;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#1fa7e1;--accent-foreground:#fff;--destructive:#ff8b8b;--destructive-foreground:#fff;--border:#e4e4e7;--input:transparent;--input-background:#f4f4f5;--switch-background:#d4d4d8;--font-weight-medium:500;--font-weight-normal:400;--ring:#9956de;--chart-1:#9956de;--chart-2:#ff8b8b;--chart-3:#75d06a;--chart-4:#ffb356;--chart-5:#1fa7e1;--radius:1.25rem;--sidebar:#fff;--sidebar-foreground:#09090b;--sidebar-primary:#7c3aed;--sidebar-primary-foreground:#fff;--sidebar-accent:#f3f0ff;--sidebar-accent-foreground:#5b21b6;--sidebar-border:#e4e4e7;--sidebar-ring:#7c3aed}.dark{--background:#050d18;--foreground:#f0f7ff;--card:#0a1628;--card-foreground:#f0f7ff;--popover:#0a1628;--popover-foreground:#f0f7ff;--primary:#a78bfa;--primary-foreground:#fff;--secondary:#2e1065;--secondary-foreground:#c4b5fd;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#f43f5e;--destructive:#ef4444;--destructive-foreground:#09090b;--border:#27272a;--input:#27272a;--input-background:#27272a;--switch-background:#3f3f46;--ring:#a78bfa;--font-weight-medium:500;--font-weight-normal:400;--chart-1:#a78bfa;--chart-2:#fb7185;--chart-3:#34d399;--chart-4:#fb923c;--chart-5:#38bdf8;--sidebar:#09090b;--sidebar-foreground:#fafafa;--sidebar-primary:#a78bfa;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#fafafa;--sidebar-border:#27272a;--sidebar-ring:#a78bfa}html{font-size:var(--font-size)}html,body,#root{height:100%}html[data-density=compact]{--radius:.9rem}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.smart-dark{filter:invert()hue-rotate(180deg);background:#101217}html.smart-dark img,html.smart-dark picture,html.smart-dark video,html.smart-dark canvas,html.smart-dark svg,html.smart-dark iframe,html.smart-dark [data-preserve-color=true]{filter:invert()hue-rotate(180deg)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.glow-blue{box-shadow:0 0 24px #0284c71f,0 0 64px #0284c70a}.glow-violet{box-shadow:0 0 24px #7c3aed1f,0 0 64px #7c3aed0a}.glow-rose{box-shadow:0 0 24px #f43f5e1f,0 0 64px #f43f5e0a}.glow-emerald{box-shadow:0 0 24px #0596691f,0 0 64px #0596690a}.bg-dot-pattern{background-image:radial-gradient(circle,#7c3aed14 1px,#0000 1px);background-size:24px 24px}.dark .bg-dot-pattern{background-image:radial-gradient(circle,#a78bfa1f 1px,#0000 1px)}.bg-math-pattern{background-color:var(--background);background-image:url("data:image/svg+xml,%3Csvg width='150' height='150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(124, 58, 237, 0.05)' font-family='sans-serif' font-weight='bold' font-size='28'%3E%3Ctext x='20' y='40'%3E%2B%3C/text%3E%3Ctext x='90' y='60'%3E%3D%3C/text%3E%3Ctext x='40' y='110'%3E%25%3C/text%3E%3Ctext x='110' y='130'%3E%C3%97%3C/text%3E%3Ctext x='130' y='30'%3E%C3%B7%3C/text%3E%3C/g%3E%3C/svg%3E");background-size:150px 150px}.bg-noise{position:relative}.bg-noise:before{content:"";opacity:.03;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.card-elevated{box-shadow:0 16px 40px -8px #7c3aed26,0 0 24px -5px #7c3aed14}.card-elevated-lg{box-shadow:0 24px 60px -12px #7c3aed33,0 0 32px -10px #7c3aed1a}.shadow-3d-button{box-shadow:0 12px 24px -6px var(--tw-shadow-color,#f9731666),0 6px 12px -4px var(--tw-shadow-color,#f973164d)}.dark .card-elevated{box-shadow:0 1px 2px #0003,0 4px 16px #00000026}.dark .card-elevated-lg{box-shadow:0 2px 4px #0003,0 8px 32px #0003}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover{scrollbar-color:#0284c733 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#0000;border-radius:10px;transition:background-color .3s}:hover::-webkit-scrollbar-thumb{background-color:#0284c733}::-webkit-scrollbar-thumb:hover{background-color:#0284c766}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.accent-line{position:relative}.accent-line:after{content:"";background:linear-gradient(90deg,#0284c7,#f43f5e);border-radius:2px;width:48px;height:3px;position:absolute;bottom:0;left:0}.surface-raised{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc}.surface-inset{background:linear-gradient(135deg,#f1f5f9,#e8eef6);border:1px solid #cbd5e180}.card-accent-sky{border-left:3px solid #0284c7}.card-accent-rose{border-left:3px solid #f43f5e}.card-accent-emerald{border-left:3px solid #059669}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.chat-markdown{font-family:var(--font-body);overflow-wrap:anywhere;word-break:break-word;font-size:.875rem;line-height:1.625}.chat-markdown h1{font-family:var(--font-display);color:var(--foreground);margin-top:.75rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.chat-markdown h2{font-family:var(--font-display);color:var(--foreground);margin-top:.75rem;margin-bottom:.375rem;font-size:1.1rem;font-weight:700}.chat-markdown h3{font-family:var(--font-display);color:var(--muted-foreground);margin-top:.5rem;margin-bottom:.25rem;font-size:1rem;font-weight:600}.chat-markdown p{margin-top:.375rem;margin-bottom:.375rem}.chat-markdown ul,.chat-markdown ol{margin-top:.375rem;margin-bottom:.375rem;padding-left:1.25rem}.chat-markdown ul{list-style-type:disc}.chat-markdown ol{list-style-type:decimal}.chat-markdown li{margin-top:.125rem;margin-bottom:.125rem}.chat-markdown strong{color:var(--foreground);font-weight:700}.chat-markdown em{font-style:italic}.chat-markdown code{background:var(--secondary);color:var(--primary);border-radius:.25rem;padding:.125rem .375rem;font-size:.8125rem}.chat-markdown pre{background:var(--muted);border:1px solid var(--border);border-radius:.5rem;margin-top:.5rem;margin-bottom:.5rem;padding:.75rem;overflow-x:auto}.chat-markdown pre code{color:inherit;background:0 0;padding:0}.chat-markdown hr{border-color:#94a3b873;margin:.75rem 0}.chat-markdown table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.8125rem}.chat-markdown th{background:var(--muted);text-align:left;border:1px solid var(--border);padding:.375rem .5rem;font-weight:600}.chat-markdown td{border:1px solid var(--border);padding:.375rem .5rem}.chat-markdown blockquote{border-left:3px solid var(--primary);color:var(--muted-foreground);margin:.5rem 0;padding-left:.75rem;font-style:italic}.chat-markdown a{color:var(--primary);text-decoration:underline}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown .katex-display{padding-bottom:.15rem;overflow:auto hidden}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}} diff --git a/assets/index-BndPkP2C.css b/assets/index-BndPkP2C.css deleted file mode 100644 index 522d8c1613ff3d4dc79480840a18f36e86bf8bff..0000000000000000000000000000000000000000 --- a/assets/index-BndPkP2C.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-divide-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-300:oklch(90.5% .182 98.111);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-teal-900:oklch(38.6% .063 188.416);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-sky-200:var(--color-violet-200);--color-sky-700:var(--color-violet-700);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:700;line-height:1.3}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700;line-height:1.35}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.4}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\[container-type\:inline-size\]{container-type:inline-size}.\[container-type\:size\]{container-type:size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-6{inset-inline:calc(var(--spacing)*6)}.inset-x-\[-20px\]{inset-inline:-20px}.inset-y-0{inset-block:calc(var(--spacing)*0)}.end-1{inset-inline-end:calc(var(--spacing)*1)}.-top-1{top:calc(var(--spacing)*-1)}.-top-2{top:calc(var(--spacing)*-2)}.-top-3{top:calc(var(--spacing)*-3)}.-top-4{top:calc(var(--spacing)*-4)}.-top-5{top:calc(var(--spacing)*-5)}.-top-6{top:calc(var(--spacing)*-6)}.-top-8{top:calc(var(--spacing)*-8)}.-top-12{top:calc(var(--spacing)*-12)}.-top-24{top:calc(var(--spacing)*-24)}.-top-32{top:calc(var(--spacing)*-32)}.-top-40{top:calc(var(--spacing)*-40)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.top-5{top:calc(var(--spacing)*5)}.top-6{top:calc(var(--spacing)*6)}.top-8{top:calc(var(--spacing)*8)}.top-24{top:calc(var(--spacing)*24)}.top-\[-10\%\]{top:-10%}.top-\[1px\]{top:1px}.top-\[10\%\]{top:10%}.top-\[40\%\]{top:40%}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.-right-3{right:calc(var(--spacing)*-3)}.-right-4{right:calc(var(--spacing)*-4)}.-right-12{right:calc(var(--spacing)*-12)}.-right-24{right:calc(var(--spacing)*-24)}.-right-32{right:calc(var(--spacing)*-32)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-1\/3{right:33.3333%}.right-1\/4{right:25%}.right-2{right:calc(var(--spacing)*2)}.right-2\.5{right:calc(var(--spacing)*2.5)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-12{right:calc(var(--spacing)*12)}.right-\[-5\%\]{right:-5%}.right-\[-5px\]{right:-5px}.right-\[-10\%\]{right:-10%}.right-\[-15px\]{right:-15px}.right-\[-20\%\]{right:-20%}.right-\[150px\]{right:150px}.right-full{right:100%}.-bottom-1{bottom:calc(var(--spacing)*-1)}.-bottom-2{bottom:calc(var(--spacing)*-2)}.-bottom-5{bottom:calc(var(--spacing)*-5)}.-bottom-6{bottom:calc(var(--spacing)*-6)}.-bottom-8{bottom:calc(var(--spacing)*-8)}.-bottom-10{bottom:calc(var(--spacing)*-10)}.-bottom-12{bottom:calc(var(--spacing)*-12)}.-bottom-32{bottom:calc(var(--spacing)*-32)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-5{bottom:calc(var(--spacing)*5)}.bottom-8{bottom:calc(var(--spacing)*8)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-20{bottom:calc(var(--spacing)*20)}.bottom-\[-10\%\]{bottom:-10%}.bottom-\[-50px\]{bottom:-50px}.bottom-\[-500px\]{bottom:-500px}.bottom-\[20\%\]{bottom:20%}.bottom-\[40px\]{bottom:40px}.bottom-full{bottom:100%}.-left-1{left:calc(var(--spacing)*-1)}.-left-2{left:calc(var(--spacing)*-2)}.-left-4{left:calc(var(--spacing)*-4)}.-left-6{left:calc(var(--spacing)*-6)}.-left-10{left:calc(var(--spacing)*-10)}.-left-12{left:calc(var(--spacing)*-12)}.-left-32{left:calc(var(--spacing)*-32)}.-left-\[150\%\]{left:-150%}.left-0{left:calc(var(--spacing)*0)}.left-1{left:calc(var(--spacing)*1)}.left-1\/2{left:50%}.left-1\/3{left:33.3333%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-3\.5{left:calc(var(--spacing)*3.5)}.left-4{left:calc(var(--spacing)*4)}.left-6{left:calc(var(--spacing)*6)}.left-12{left:calc(var(--spacing)*12)}.left-\[-10\%\]{left:-10%}.left-\[-20px\]{left:-20px}.left-\[40\%\]{left:40%}.left-\[50\%\]{left:50%}.left-\[54px\]{left:54px}.left-\[56px\]{left:56px}.left-\[var\(--x\)\]{left:var(--x)}.left-full{left:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[4\]{z-index:4}.z-\[11\]{z-index:11}.z-\[12\]{z-index:12}.z-\[13\]{z-index:13}.z-\[50\]{z-index:50}.z-\[51\]{z-index:51}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[130\]{z-index:130}.col-span-2{grid-column:span 2/span 2}.col-span-12{grid-column:span 12/span 12}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.-mx-3{margin-inline:calc(var(--spacing)*-3)}.-mx-\[4px\]{margin-inline:-4px}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-\[-20px\]{margin-inline:-20px}.mx-\[1px\]{margin-inline:1px}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing)*.5)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-3{margin-top:calc(var(--spacing)*-3)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.-mt-24{margin-top:calc(var(--spacing)*-24)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-\[-10px\]{margin-top:-10px}.mt-\[-20px\]{margin-top:-20px}.mt-\[5px\]{margin-top:5px}.mt-auto{margin-top:auto}.-mr-3{margin-right:calc(var(--spacing)*-3)}.-mr-24{margin-right:calc(var(--spacing)*-24)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.-mb-2{margin-bottom:calc(var(--spacing)*-2)}.-mb-8{margin-bottom:calc(var(--spacing)*-8)}.-mb-18{margin-bottom:calc(var(--spacing)*-18)}.-mb-\[1px\]{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-\[-10px\]{margin-bottom:-10px}.mb-\[2px\]{margin-bottom:2px}.-ml-3{margin-left:calc(var(--spacing)*-3)}.-ml-4{margin-left:calc(var(--spacing)*-4)}.-ml-18{margin-left:calc(var(--spacing)*-18)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-11{margin-left:calc(var(--spacing)*11)}.ml-12{margin-left:calc(var(--spacing)*12)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.\[aspect-ratio\:1\/var\(--aspect-ratio\)\]{aspect-ratio:1/var(--aspect-ratio)}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.\[height\:100cqmax\]{height:100cqmax}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-28{height:calc(var(--spacing)*28)}.h-32{height:calc(var(--spacing)*32)}.h-36{height:calc(var(--spacing)*36)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-96{height:calc(var(--spacing)*96)}.h-\[1\.15rem\]{height:1.15rem}.h-\[1px\]{height:1px}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[35px\]{height:35px}.h-\[40\%\]{height:40%}.h-\[40px\]{height:40px}.h-\[45vh\]{height:45vh}.h-\[50px\]{height:50px}.h-\[52px\]{height:52px}.h-\[60\%\]{height:60%}.h-\[60px\]{height:60px}.h-\[70\%\]{height:70%}.h-\[70px\]{height:70px}.h-\[72px\]{height:72px}.h-\[75px\]{height:75px}.h-\[100px\]{height:100px}.h-\[100vh\]{height:100vh}.h-\[105\%\]{height:105%}.h-\[110\%\]{height:110%}.h-\[120\%\]{height:120%}.h-\[120px\]{height:120px}.h-\[125px\]{height:125px}.h-\[140px\]{height:140px}.h-\[150vh\]{height:150vh}.h-\[155px\]{height:155px}.h-\[170px\]{height:170px}.h-\[205px\]{height:205px}.h-\[280px\]{height:280px}.h-\[300px\]{height:300px}.h-\[300vw\]{height:300vw}.h-\[340px\]{height:340px}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100\%-24px\)\]{height:calc(100% - 24px)}.h-\[calc\(100vh-2rem\)\]{height:calc(100vh - 2rem)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[300px\]{max-height:300px}.max-h-\[500px\]{max-height:500px}.max-h-\[600px\]{max-height:600px}.max-h-\[700px\]{max-height:700px}.max-h-\[calc\(85vh-280px\)\]{max-height:calc(85vh - 280px)}.max-h-\[calc\(90vh-200px\)\]{max-height:calc(90vh - 200px)}.max-h-\[calc\(90vh-320px\)\]{max-height:calc(90vh - 320px)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-24{min-height:calc(var(--spacing)*24)}.min-h-\[24px\]{min-height:24px}.min-h-\[48px\]{min-height:48px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[56px\]{min-height:56px}.min-h-\[78px\]{min-height:78px}.min-h-\[80px\]{min-height:80px}.min-h-\[140px\]{min-height:140px}.min-h-\[170px\]{min-height:170px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-\[290px\]{min-height:290px}.min-h-\[320px\]{min-height:320px}.min-h-\[450px\]{min-height:450px}.min-h-\[500px\]{min-height:500px}.min-h-\[calc\(100vh-3\.5rem\)\]{min-height:calc(100vh - 3.5rem)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.\!w-auto{width:auto!important}.\[width\:100cqh\]{width:100cqh}.\[width\:100cqi\]{width:100cqi}.\[width\:var\(--width\)\]{width:var(--width)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing)*0)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-8\/12{width:66.6667%}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-10\/12{width:83.3333%}.w-11{width:calc(var(--spacing)*11)}.w-11\/12{width:91.6667%}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[5px\]{width:5px}.w-\[16px\]{width:16px}.w-\[28\%\]{width:28%}.w-\[34px\]{width:34px}.w-\[35\%\]{width:35%}.w-\[35px\]{width:35px}.w-\[40\%\]{width:40%}.w-\[46px\]{width:46px}.w-\[52px\]{width:52px}.w-\[55\%\]{width:55%}.w-\[55px\]{width:55px}.w-\[60\%\]{width:60%}.w-\[60px\]{width:60px}.w-\[65px\]{width:65px}.w-\[70\%\]{width:70%}.w-\[70px\]{width:70px}.w-\[75px\]{width:75px}.w-\[78px\]{width:78px}.w-\[85\%\]{width:85%}.w-\[90\%\]{width:90%}.w-\[95\%\]{width:95%}.w-\[100\%\]{width:100%}.w-\[100px\]{width:100px}.w-\[110\%\]{width:110%}.w-\[150px\]{width:150px}.w-\[150vw\]{width:150vw}.w-\[152px\]{width:152px}.w-\[168px\]{width:168px}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[250vw\]{width:250vw}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[300vw\]{width:300vw}.w-\[340px\]{width:340px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[600px\]{width:600px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-20{max-width:calc(var(--spacing)*20)}.max-w-\[70\%\]{max-width:70%}.max-w-\[75\%\]{max-width:75%}.max-w-\[120px\]{max-width:120px}.max-w-\[145px\]{max-width:145px}.max-w-\[190px\]{max-width:190px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[280px\]{max-width:280px}.max-w-\[340px\]{max-width:340px}.max-w-\[420px\]{max-width:420px}.max-w-\[480px\]{max-width:480px}.max-w-\[800px\]{max-width:800px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-\[calc\(100vw-24px\)\]{max-width:calc(100vw - 24px)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-9{min-width:calc(var(--spacing)*9)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[60px\]{min-width:60px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[260px\]{min-width:260px}.min-w-\[280px\]{min-width:280px}.min-w-\[760px\]{min-width:760px}.min-w-\[980px\]{min-width:980px}.min-w-\[1920px\]{min-width:1920px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.\[transform-origin\:0\%_0\%\]{transform-origin:0 0}.\[transform-origin\:50\%_0\%\]{transform-origin:50% 0}.\[transform-origin\:100\%_0\%\]{transform-origin:100% 0}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-\[50\%_45\%\]{transform-origin:50% 45%}.origin-bottom{transform-origin:bottom}.origin-bottom-right{transform-origin:100% 100%}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\/3{--tw-translate-x:calc(calc(1/3*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\/4{--tw-translate-x: -25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-\[45px\]{--tw-translate-x: -45px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/3{--tw-translate-x:calc(1/3*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/4{--tw-translate-x: 25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-10px\]{--tw-translate-x:-10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[45px\]{--tw-translate-x:45px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/3{--tw-translate-y:calc(1/3*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-8{--tw-translate-y:calc(var(--spacing)*8);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-10{--tw-translate-y:calc(var(--spacing)*10);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-12{--tw-translate-y:calc(var(--spacing)*12);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[21\%\]{--tw-translate-y:21%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-x-\[-1\]{--tw-scale-x:-1;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-y-75{--tw-scale-y:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\[0\.75\]{scale:.75}.scale-\[0\.80\]{scale:.8}.scale-\[0\.98\]{scale:.98}.scale-\[1\.1\]{scale:1.1}.scale-\[1\.02\]{scale:1.02}.scale-\[1\.05\]{scale:1.05}.scale-\[1\.5\]{scale:1.5}.scale-\[1\.7\]{scale:1.7}.scale-\[1\.25\]{scale:1.25}.scale-\[2\.2\]{scale:2.2}.scale-\[3\.2\]{scale:3.2}.-rotate-12{rotate:-12deg}.-rotate-90{rotate:-90deg}.-rotate-\[15deg\]{rotate:-15deg}.rotate-3{rotate:3deg}.rotate-12{rotate:12deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.rotate-\[-3deg\]{rotate:-3deg}.rotate-\[15deg\]{rotate:15deg}.-skew-x-12{--tw-skew-x:skewX( -12deg );transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.\[transform\:rotate\(-90deg\)_rotateX\(-90deg\)\]{transform:rotate(-90deg)rotateX(-90deg)}.\[transform\:rotate\(90deg\)_rotateX\(-90deg\)\]{transform:rotate(90deg)rotateX(-90deg)}.\[transform\:rotateX\(-90deg\)\]{transform:rotateX(-90deg)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[shimmer_2s_infinite\]{animation:2s infinite shimmer}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-cols-\[48px_280px_120px_120px_120px_120px_120px_140px_170px_170px_220px\]{grid-template-columns:48px 280px 120px 120px 120px 120px 120px 140px 170px 170px 220px}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-12{gap:calc(var(--spacing)*12)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-\[1px\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px*var(--tw-space-y-reverse));margin-block-end:calc(1px*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}:where(.-space-x-2\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-2.5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-2.5)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-8{row-gap:calc(var(--spacing)*8)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-\[\#dde3eb\]>:not(:last-child)){border-color:#dde3eb}:where(.divide-\[\#edf1f7\]>:not(:last-child)){border-color:#edf1f7}:where(.divide-border>:not(:last-child)){border-color:var(--border)}:where(.divide-slate-100\/60>:not(:last-child)){border-color:#f1f5f999}@supports (color:color-mix(in lab,red,red)){:where(.divide-slate-100\/60>:not(:last-child)){border-color:color-mix(in oklab,var(--color-slate-100)60%,transparent)}}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[-20px\]{border-radius:-20px}.rounded-\[1\.2rem\]{border-radius:1.2rem}.rounded-\[1\.4rem\]{border-radius:1.4rem}.rounded-\[1rem\]{border-radius:1rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[3rem\]{border-radius:3rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[32px\]{border-radius:32px}.rounded-\[40px\]{border-radius:40px}.rounded-\[50\%\]{border-radius:50%}.rounded-\[50\%_50\%_0_0\/100\%_100\%_0_0\]{border-radius:50% 50% 0 0/100% 100% 0 0}.rounded-\[100\%\]{border-radius:100%}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-t-\[1\.2rem\]{border-top-left-radius:1.2rem;border-top-right-radius:1.2rem}.rounded-t-\[2\.5rem\]{border-top-left-radius:2.5rem;border-top-right-radius:2.5rem}.rounded-t-\[40px\]{border-top-left-radius:40px;border-top-right-radius:40px}.rounded-t-xl{border-top-left-radius:calc(var(--radius) + 4px);border-top-right-radius:calc(var(--radius) + 4px)}.rounded-tl-none{border-top-left-radius:0}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-b-2xl{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.rounded-b-\[2px\]{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.rounded-b-\[50\%\]{border-bottom-right-radius:50%;border-bottom-left-radius:50%}.rounded-b-\[60px\]{border-bottom-right-radius:60px;border-bottom-left-radius:60px}.rounded-b-md{border-bottom-right-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-br-sm{border-bottom-right-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-\[4px\]{border-style:var(--tw-border-style);border-width:4px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-t-\[3px\]{border-top-style:var(--tw-border-style);border-top-width:3px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-\[6px\]{border-right-style:var(--tw-border-style);border-right-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[6px\]{border-left-style:var(--tw-border-style);border-left-width:6px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\(--color-border\){border-color:var(--color-border)}.border-\[\#1E293B\]{border-color:#1e293b}.border-\[\#1FA7E1\]\/20{border-color:#1fa7e133}.border-\[\#1FA7E1\]\/30{border-color:#1fa7e14d}.border-\[\#1FA7E1\]\/40{border-color:#1fa7e166}.border-\[\#2a3648\]{border-color:#2a3648}.border-\[\#8A3FD3\]\/20{border-color:#8a3fd333}.border-\[\#8A3FD3\]\/30{border-color:#8a3fd34d}.border-\[\#8B5CF6\]\/40{border-color:#8b5cf666}.border-\[\#75D06A\]{border-color:#75d06a}.border-\[\#75D06A\]\/35{border-color:#75d06a59}.border-\[\#9956DE\]{border-color:#9956de}.border-\[\#9956DE\]\/25{border-color:#9956de40}.border-\[\#9956DE\]\/30{border-color:#9956de4d}.border-\[\#9956DE\]\/45{border-color:#9956de73}.border-\[\#F1F5F9\]{border-color:#f1f5f9}.border-\[\#F08386\]{border-color:#f08386}.border-\[\#F08386\]\/30{border-color:#f083864d}.border-\[\#FF8B8B\]{border-color:#ff8b8b}.border-\[\#FF8B8B\]\/35{border-color:#ff8b8b59}.border-\[\#FFB356\]{border-color:#ffb356}.border-\[\#FFB356\]\/38{border-color:#ffb35661}.border-\[\#b7d3ff\]{border-color:#b7d3ff}.border-\[\#d1cec6\]{border-color:#d1cec6}.border-\[\#dadce0\]{border-color:#dadce0}.border-\[\#dde3eb\]{border-color:#dde3eb}.border-\[\#edf1f7\]{border-color:#edf1f7}.border-\[\#fde68a\]{border-color:#fde68a}.border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,transparent\)\]{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--primary\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--primary)30%,transparent)}}.border-amber-50{border-color:var(--color-amber-50)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/60{border-color:color-mix(in oklab,var(--color-amber-200)60%,transparent)}}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-400{border-color:var(--color-amber-400)}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-current{border-color:currentColor}.border-destructive\/20{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-200\/60{border-color:#a4f4cf99}@supports (color:color-mix(in lab,red,red)){.border-emerald-200\/60{border-color:color-mix(in oklab,var(--color-emerald-200)60%,transparent)}}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-400{border-color:var(--color-emerald-400)}.border-emerald-400\/30{border-color:#00d2944d}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/30{border-color:color-mix(in oklab,var(--color-emerald-400)30%,transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.border-emerald-500\/50{border-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/50{border-color:color-mix(in oklab,var(--color-emerald-500)50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-500\/20{border-color:#625fff33}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/20{border-color:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.border-indigo-500\/30{border-color:#625fff4d}@supports (color:color-mix(in lab,red,red)){.border-indigo-500\/30{border-color:color-mix(in oklab,var(--color-indigo-500)30%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\/15{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/15{border-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.border-orange-100{border-color:var(--color-orange-100)}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-200\/60{border-color:#ffd7a899}@supports (color:color-mix(in lab,red,red)){.border-orange-200\/60{border-color:color-mix(in oklab,var(--color-orange-200)60%,transparent)}}.border-orange-400{border-color:var(--color-orange-400)}.border-orange-500\/40{border-color:#fe6e0066}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/40{border-color:color-mix(in oklab,var(--color-orange-500)40%,transparent)}}.border-pink-500{border-color:var(--color-pink-500)}.border-primary,.border-primary\/60{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/60{border-color:color-mix(in oklab,var(--primary)60%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/20{border-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-rose-100{border-color:var(--color-rose-100)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-200\/50{border-color:#ffccd380}@supports (color:color-mix(in lab,red,red)){.border-rose-200\/50{border-color:color-mix(in oklab,var(--color-rose-200)50%,transparent)}}.border-rose-200\/60{border-color:#ffccd399}@supports (color:color-mix(in lab,red,red)){.border-rose-200\/60{border-color:color-mix(in oklab,var(--color-rose-200)60%,transparent)}}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-400{border-color:var(--color-rose-400)}.border-rose-500\/20{border-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.border-rose-500\/20{border-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab,red,red)){.border-rose-500\/30{border-color:color-mix(in oklab,var(--color-rose-500)30%,transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-sky-100{border-color:var(--color-violet-100)}.border-sky-100\/80{border-color:#ede9fecc}@supports (color:color-mix(in lab,red,red)){.border-sky-100\/80{border-color:color-mix(in oklab,var(--color-violet-100)80%,transparent)}}.border-sky-200{border-color:var(--color-violet-200)}.border-sky-200\/50{border-color:#ddd6ff80}@supports (color:color-mix(in lab,red,red)){.border-sky-200\/50{border-color:color-mix(in oklab,var(--color-violet-200)50%,transparent)}}.border-sky-200\/60{border-color:#ddd6ff99}@supports (color:color-mix(in lab,red,red)){.border-sky-200\/60{border-color:color-mix(in oklab,var(--color-violet-200)60%,transparent)}}.border-sky-300{border-color:var(--color-violet-300)}.border-sky-400{border-color:var(--color-violet-400)}.border-sky-500{border-color:var(--color-violet-500)}.border-sky-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/20{border-color:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.border-sky-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/30{border-color:color-mix(in oklab,var(--color-violet-500)30%,transparent)}}.border-sky-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab,red,red)){.border-sky-500\/40{border-color:color-mix(in oklab,var(--color-violet-500)40%,transparent)}}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/60{border-color:#e2e8f099}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/60{border-color:color-mix(in oklab,var(--color-slate-200)60%,transparent)}}.border-slate-200\/70{border-color:#e2e8f0b3}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/70{border-color:color-mix(in oklab,var(--color-slate-200)70%,transparent)}}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/80{border-color:color-mix(in oklab,var(--color-slate-200)80%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-300\/70{border-color:#cad5e2b3}@supports (color:color-mix(in lab,red,red)){.border-slate-300\/70{border-color:color-mix(in oklab,var(--color-slate-300)70%,transparent)}}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-700\/50{border-color:#31415880}@supports (color:color-mix(in lab,red,red)){.border-slate-700\/50{border-color:color-mix(in oklab,var(--color-slate-700)50%,transparent)}}.border-slate-800\/10{border-color:#1d293d1a}@supports (color:color-mix(in lab,red,red)){.border-slate-800\/10{border-color:color-mix(in oklab,var(--color-slate-800)10%,transparent)}}.border-teal-100{border-color:var(--color-teal-100)}.border-teal-200{border-color:var(--color-teal-200)}.border-teal-400{border-color:var(--color-teal-400)}.border-teal-500{border-color:var(--color-teal-500)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-violet-200\/60{border-color:#ddd6ff99}@supports (color:color-mix(in lab,red,red)){.border-violet-200\/60{border-color:color-mix(in oklab,var(--color-violet-200)60%,transparent)}}.border-violet-400{border-color:var(--color-violet-400)}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/30{border-color:color-mix(in oklab,var(--color-violet-500)30%,transparent)}}.border-violet-800{border-color:var(--color-violet-800)}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-white\/35{border-color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.border-white\/35{border-color:color-mix(in oklab,var(--color-white)35%,transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\/50{border-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.border-white\/80{border-color:#fffc}@supports (color:color-mix(in lab,red,red)){.border-white\/80{border-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.border-zinc-200{border-color:var(--color-zinc-200)}.border-t-slate-800{border-top-color:var(--color-slate-800)}.border-t-transparent{border-top-color:#0000}.border-t-violet-500{border-top-color:var(--color-violet-500)}.border-r-\[\#0a1628\]{border-right-color:#0a1628}.border-r-\[\#2a2535\]{border-right-color:#2a2535}.border-r-amber-300{border-right-color:var(--color-amber-300)}.border-r-transparent{border-right-color:#0000}.border-b-amber-300{border-bottom-color:var(--color-amber-300)}.border-l-transparent{border-left-color:#0000}.\!bg-\[\#6ED1CF\]\/35{background-color:#6ed1cf59!important}.\!bg-\[\#7274ED\]{background-color:#7274ed!important}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-\[\#0A1128\]{background-color:#0a1128}.bg-\[\#0B0F19\]{background-color:#0b0f19}.bg-\[\#0B1021\]{background-color:#0b1021}.bg-\[\#0a1628\]{background-color:#0a1628}.bg-\[\#00a86b\]{background-color:#00a86b}.bg-\[\#1FA7E1\]{background-color:#1fa7e1}.bg-\[\#1FA7E1\]\/10{background-color:#1fa7e11a}.bg-\[\#1a2030\]{background-color:#1a2030}.bg-\[\#1e2536\]{background-color:#1e2536}.bg-\[\#2f3547\]{background-color:#2f3547}.bg-\[\#3b3a82\]{background-color:#3b3a82}.bg-\[\#5a6578\]{background-color:#5a6578}.bg-\[\#6ED1CF\]{background-color:#6ed1cf}.bg-\[\#6ED1CF\]\/20{background-color:#6ed1cf33}.bg-\[\#6ED1CF\]\/30{background-color:#6ed1cf4d}.bg-\[\#6F2BAF\]{background-color:#6f2baf}.bg-\[\#8A3FD3\]{background-color:#8a3fd3}.bg-\[\#8A3FD3\]\/5{background-color:#8a3fd30d}.bg-\[\#8A3FD3\]\/10{background-color:#8a3fd31a}.bg-\[\#8B5CF6\]{background-color:#8b5cf6}.bg-\[\#8b0d0d\]{background-color:#8b0d0d}.bg-\[\#34d399\]{background-color:#34d399}.bg-\[\#50B8B6\]{background-color:#50b8b6}.bg-\[\#58B34D\]{background-color:#58b34d}.bg-\[\#75D06A\]{background-color:#75d06a}.bg-\[\#75D06A\]\/10{background-color:#75d06a1a}.bg-\[\#75D06A\]\/14{background-color:#75d06a24}.bg-\[\#75D06A\]\/22{background-color:#75d06a38}.bg-\[\#127DA6\]{background-color:#127da6}.bg-\[\#181d27\]{background-color:#181d27}.bg-\[\#198abf\]{background-color:#198abf}.bg-\[\#662AA8\]{background-color:#662aa8}.bg-\[\#7274ED\]{background-color:#7274ed}.bg-\[\#7274ED\]\/15{background-color:#7274ed26}.bg-\[\#8248c2\]{background-color:#8248c2}.bg-\[\#9956DE\]{background-color:#9956de}.bg-\[\#9956DE\]\/12{background-color:#9956de1f}.bg-\[\#9956DE\]\/20{background-color:#9956de33}.bg-\[\#9956DE\]\/32{background-color:#9956de52}.bg-\[\#12192b\]{background-color:#12192b}.bg-\[\#42389d\]{background-color:#42389d}.bg-\[\#111827\]{background-color:#111827}.bg-\[\#D96C6A\]{background-color:#d96c6a}.bg-\[\#DE7949\]{background-color:#de7949}.bg-\[\#E06A6A\]{background-color:#e06a6a}.bg-\[\#F08386\]{background-color:#f08386}.bg-\[\#F08386\]\/12{background-color:#f083861f}.bg-\[\#F08386\]\/20{background-color:#f0838633}.bg-\[\#FAFAFA\]{background-color:#fafafa}.bg-\[\#FB96BB\]{background-color:#fb96bb}.bg-\[\#FB96BB\]\/20{background-color:#fb96bb33}.bg-\[\#FF8B8B\]{background-color:#ff8b8b}.bg-\[\#FF8B8B\]\/10{background-color:#ff8b8b1a}.bg-\[\#FF8B8B\]\/14{background-color:#ff8b8b24}.bg-\[\#FF8B8B\]\/22{background-color:#ff8b8b38}.bg-\[\#FFB356\]{background-color:#ffb356}.bg-\[\#FFB356\]\/16{background-color:#ffb35629}.bg-\[\#FFB356\]\/20{background-color:#ffb35633}.bg-\[\#FFB356\]\/24{background-color:#ffb3563d}.bg-\[\#a8a5b3\]{background-color:#a8a5b3}.bg-\[\#b61515\]{background-color:#b61515}.bg-\[\#d8e9ff\]{background-color:#d8e9ff}.bg-\[\#d24b4b\]{background-color:#d24b4b}.bg-\[\#dde3eb\]{background-color:#dde3eb}.bg-\[\#de7b9f\]{background-color:#de7b9f}.bg-\[\#e1f5f7\]{background-color:#e1f5f7}.bg-\[\#e09841\]{background-color:#e09841}.bg-\[\#edf1f7\]{background-color:#edf1f7}.bg-\[\#edf1f7\]\/50{background-color:#edf1f780}.bg-\[\#edf1f7\]\/80{background-color:#edf1f7cc}.bg-\[\#f0eaff\]{background-color:#f0eaff}.bg-\[\#f6f9ff\]{background-color:#f6f9ff}.bg-\[\#f7f9fc\]{background-color:#f7f9fc}.bg-\[\#f7fbff\]{background-color:#f7fbff}.bg-\[\#f8fafc\]{background-color:#f8fafc}.bg-\[\#f8faff\]{background-color:#f8faff}.bg-\[\#f8fbff\]{background-color:#f8fbff}.bg-\[\#f2812d\]{background-color:#f2812d}.bg-\[\#fa9746\]{background-color:#fa9746}.bg-\[\#fb7185\]{background-color:#fb7185}.bg-\[\#fbbf24\]{background-color:#fbbf24}.bg-\[\#fcfdff\]{background-color:#fcfdff}.bg-\[\#fdeceb\]{background-color:#fdeceb}.bg-\[\#fe5c5c\]{background-color:#fe5c5c}.bg-\[\#fef5e7\]{background-color:#fef5e7}.bg-\[color-mix\(in_srgb\,var\(--chart-1\)_10\%\,transparent\)\]{background-color:var(--chart-1)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-1\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-1)10%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_10\%\,transparent\)\]{background-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-2)10%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_14\%\,transparent\)\]{background-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-2\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-2)14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_10\%\,transparent\)\]{background-color:var(--chart-3)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-3)10%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_14\%\,transparent\)\]{background-color:var(--chart-3)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-3\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-3)14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--chart-4\)_14\%\,transparent\)\]{background-color:var(--chart-4)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--chart-4\)_14\%\,transparent\)\]{background-color:color-mix(in srgb,var(--chart-4)14%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--primary\)_10\%\,transparent\)\]{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--primary\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--primary)10%,transparent)}}.bg-\[var\(--chart-2\)\]{background-color:var(--chart-2)}.bg-\[var\(--chart-3\)\]{background-color:var(--chart-3)}.bg-\[var\(--chart-4\)\]{background-color:var(--chart-4)}.bg-\[var\(--primary\)\],.bg-\[var\(--primary\)\]\/60{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--primary\)\]\/60{background-color:color-mix(in oklab,var(--primary)60%,transparent)}}.bg-accent{background-color:var(--accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400\/20{background-color:#fcbb0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/20{background-color:color-mix(in oklab,var(--color-amber-400)20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-blue-300\/40{background-color:#90c5ff66}@supports (color:color-mix(in lab,red,red)){.bg-blue-300\/40{background-color:color-mix(in oklab,var(--color-blue-300)40%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/20{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/20{background-color:color-mix(in oklab,var(--card)20%,transparent)}}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-current{background-color:currentColor}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-400\/30{background-color:#00d2ef4d}@supports (color:color-mix(in lab,red,red)){.bg-cyan-400\/30{background-color:color-mix(in oklab,var(--color-cyan-400)30%,transparent)}}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-200{background-color:var(--color-emerald-200)}.bg-emerald-300{background-color:var(--color-emerald-300)}.bg-emerald-400\/20{background-color:#00d29433}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/20{background-color:color-mix(in oklab,var(--color-emerald-400)20%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-fuchsia-400\/30{background-color:#ec6cff4d}@supports (color:color-mix(in lab,red,red)){.bg-fuchsia-400\/30{background-color:color-mix(in oklab,var(--color-fuchsia-400)30%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-50\/30{background-color:#f0fdf44d}@supports (color:color-mix(in lab,red,red)){.bg-green-50\/30{background-color:color-mix(in oklab,var(--color-green-50)30%,transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-400\/20{background-color:#7d87ff33}@supports (color:color-mix(in lab,red,red)){.bg-indigo-400\/20{background-color:color-mix(in oklab,var(--color-indigo-400)20%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-input-background{background-color:var(--input-background)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\/30{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted)40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--muted)60%,transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-400\/20{background-color:#ff8b1a33}@supports (color:color-mix(in lab,red,red)){.bg-orange-400\/20{background-color:color-mix(in oklab,var(--color-orange-400)20%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-orange-500\/30{background-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/30{background-color:color-mix(in oklab,var(--color-orange-500)30%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400\/20{background-color:#c07eff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-400\/20{background-color:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/30{background-color:#fef2f24d}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/30{background-color:color-mix(in oklab,var(--color-red-50)30%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-100\/30{background-color:#ffe4e64d}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\/30{background-color:color-mix(in oklab,var(--color-rose-100)30%,transparent)}}.bg-rose-100\/40{background-color:#ffe4e666}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\/40{background-color:color-mix(in oklab,var(--color-rose-100)40%,transparent)}}.bg-rose-100\/60{background-color:#ffe4e699}@supports (color:color-mix(in lab,red,red)){.bg-rose-100\/60{background-color:color-mix(in oklab,var(--color-rose-100)60%,transparent)}}.bg-rose-200{background-color:var(--color-rose-200)}.bg-rose-200\/60{background-color:#ffccd399}@supports (color:color-mix(in lab,red,red)){.bg-rose-200\/60{background-color:color-mix(in oklab,var(--color-rose-200)60%,transparent)}}.bg-rose-200\/70{background-color:#ffccd3b3}@supports (color:color-mix(in lab,red,red)){.bg-rose-200\/70{background-color:color-mix(in oklab,var(--color-rose-200)70%,transparent)}}.bg-rose-300{background-color:var(--color-rose-300)}.bg-rose-400\/5{background-color:#ff667f0d}@supports (color:color-mix(in lab,red,red)){.bg-rose-400\/5{background-color:color-mix(in oklab,var(--color-rose-400)5%,transparent)}}.bg-rose-500{background-color:var(--color-rose-500)}.bg-rose-500\/5{background-color:#ff23570d}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/5{background-color:color-mix(in oklab,var(--color-rose-500)5%,transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/10{background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.bg-rose-500\/20{background-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/20{background-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.bg-rose-500\/30{background-color:#ff23574d}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/30{background-color:color-mix(in oklab,var(--color-rose-500)30%,transparent)}}.bg-rose-600{background-color:var(--color-rose-600)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-sky-50{background-color:var(--color-violet-50)}.bg-sky-50\/40{background-color:#f5f3ff66}@supports (color:color-mix(in lab,red,red)){.bg-sky-50\/40{background-color:color-mix(in oklab,var(--color-violet-50)40%,transparent)}}.bg-sky-50\/50{background-color:#f5f3ff80}@supports (color:color-mix(in lab,red,red)){.bg-sky-50\/50{background-color:color-mix(in oklab,var(--color-violet-50)50%,transparent)}}.bg-sky-50\/70{background-color:#f5f3ffb3}@supports (color:color-mix(in lab,red,red)){.bg-sky-50\/70{background-color:color-mix(in oklab,var(--color-violet-50)70%,transparent)}}.bg-sky-100{background-color:var(--color-violet-100)}.bg-sky-100\/40{background-color:#ede9fe66}@supports (color:color-mix(in lab,red,red)){.bg-sky-100\/40{background-color:color-mix(in oklab,var(--color-violet-100)40%,transparent)}}.bg-sky-200{background-color:var(--color-violet-200)}.bg-sky-300{background-color:var(--color-violet-300)}.bg-sky-300\/30{background-color:#c4b4ff4d}@supports (color:color-mix(in lab,red,red)){.bg-sky-300\/30{background-color:color-mix(in oklab,var(--color-violet-300)30%,transparent)}}.bg-sky-400{background-color:var(--color-violet-400)}.bg-sky-400\/20{background-color:#a685ff33}@supports (color:color-mix(in lab,red,red)){.bg-sky-400\/20{background-color:color-mix(in oklab,var(--color-violet-400)20%,transparent)}}.bg-sky-400\/30{background-color:#a685ff4d}@supports (color:color-mix(in lab,red,red)){.bg-sky-400\/30{background-color:color-mix(in oklab,var(--color-violet-400)30%,transparent)}}.bg-sky-500{background-color:var(--color-violet-500)}.bg-sky-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/5{background-color:color-mix(in oklab,var(--color-violet-500)5%,transparent)}}.bg-sky-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/10{background-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.bg-sky-500\/20{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/20{background-color:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.bg-sky-600{background-color:var(--color-violet-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/80{background-color:#f8fafccc}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/80{background-color:color-mix(in oklab,var(--color-slate-50)80%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-100\/70{background-color:#f1f5f9b3}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\/70{background-color:color-mix(in oklab,var(--color-slate-100)70%,transparent)}}.bg-slate-100\/80{background-color:#f1f5f9cc}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\/80{background-color:color-mix(in oklab,var(--color-slate-100)80%,transparent)}}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-200\/50{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\/50{background-color:color-mix(in oklab,var(--color-slate-200)50%,transparent)}}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-300\/80{background-color:#cad5e2cc}@supports (color:color-mix(in lab,red,red)){.bg-slate-300\/80{background-color:color-mix(in oklab,var(--color-slate-300)80%,transparent)}}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/5{background-color:#1d293d0d}@supports (color:color-mix(in lab,red,red)){.bg-slate-800\/5{background-color:color-mix(in oklab,var(--color-slate-800)5%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/40{background-color:#0f172b66}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-slate-900\/85{background-color:#0f172bd9}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/85{background-color:color-mix(in oklab,var(--color-slate-900)85%,transparent)}}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-300{background-color:var(--color-teal-300)}.bg-teal-400\/20{background-color:#00d3bd33}@supports (color:color-mix(in lab,red,red)){.bg-teal-400\/20{background-color:color-mix(in oklab,var(--color-teal-400)20%,transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-300{background-color:var(--color-violet-300)}.bg-violet-400\/5{background-color:#a685ff0d}@supports (color:color-mix(in lab,red,red)){.bg-violet-400\/5{background-color:color-mix(in oklab,var(--color-violet-400)5%,transparent)}}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/14{background-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.bg-white\/14{background-color:color-mix(in oklab,var(--color-white)14%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.bg-white\/25{background-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.bg-white\/35{background-color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.bg-white\/35{background-color:color-mix(in oklab,var(--color-white)35%,transparent)}}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\/40{background-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in oklab,var(--color-white)85%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.\!bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab!important;background-image:linear-gradient(var(--tw-gradient-stops))!important}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(circle_at_14\%_12\%\,rgba\(251\,150\,187\,0\.35\)\,transparent_42\%\)\,radial-gradient\(circle_at_80\%_80\%\,rgba\(117\,208\,106\,0\.25\)\,transparent_38\%\)\]{background-image:radial-gradient(circle at 14% 12%,#fb96bb59,#0000 42%),radial-gradient(circle at 80% 80%,#75d06a40,#0000 38%)}.bg-\[radial-gradient\(circle_at_18\%_8\%\,rgba\(251\,150\,187\,0\.32\)\,transparent_42\%\)\,radial-gradient\(circle_at_85\%_84\%\,rgba\(117\,208\,106\,0\.24\)\,transparent_40\%\)\]{background-image:radial-gradient(circle at 18% 8%,#fb96bb52,#0000 42%),radial-gradient(circle at 85% 84%,#75d06a3d,#0000 40%)}.bg-\[radial-gradient\(circle_at_50\%_100\%\,\#9333ea_0\%\,\#c084fc_40\%\,transparent_80\%\)\]{background-image:radial-gradient(circle at 50% 100%,#9333ea,#c084fc,#0000 80%)}.bg-\[radial-gradient\(circle_at_top_left\,\#f8fbff_0\%\,\#eef4ff_40\%\,\#f8f4ff_100\%\)\]{background-image:radial-gradient(circle at 0 0,#f8fbff,#eef4ff 40%,#f8f4ff)}.bg-\[radial-gradient\(ellipse_at_50\%_100\%\,\#7e22ce_10\%\,transparent_60\%\)\]{background-image:radial-gradient(at 50% 100%,#7e22ce 10%,#0000 60%)}.bg-\[url\(\'data\:image\/svg\+xml\;base64\,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAiLz4KPHBhdGggZD0iTTAgMEgxdjFIMHoiIGZpbGw9IiM2MzY2ZjEiIGZpbGwtb3BhY2l0eT0iMC4wNSIvPgo8L3N2Zz4\=\'\)\]{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAiLz4KPHBhdGggZD0iTTAgMEgxdjFIMHoiIGZpbGw9IiM2MzY2ZjEiIGZpbGwtb3BhY2l0eT0iMC4wNSIvPgo8L3N2Zz4=)}.bg-\[url\(\'data\:image\/svg\+xml\;base64\,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPgo8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMSI\+PC9yZWN0Pgo8L3N2Zz4\=\'\)\]{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiPgo8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI4IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjAuMSI+PC9yZWN0Pgo8L3N2Zz4=)}.\!from-\[\#6ED1CF\]{--tw-gradient-from:#6ed1cf!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.from-\[\#3b3a82\]{--tw-gradient-from:#3b3a82;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#6ED1CF\]{--tw-gradient-from:#6ed1cf;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#7274ED\]{--tw-gradient-from:#7274ed;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#9956DE\]{--tw-gradient-from:#9956de;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#9956DE\]\/12{--tw-gradient-from:oklab(59.4745% .111053 -.167638/.12);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#FFB356\]{--tw-gradient-from:#ffb356;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-100{--tw-gradient-from:var(--color-amber-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-400{--tw-gradient-from:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-500\/20{--tw-gradient-from:#f99c0033}@supports (color:color-mix(in lab,red,red)){.from-amber-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.from-amber-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-amber-600{--tw-gradient-from:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500\/20{--tw-gradient-from:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.from-emerald-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.from-emerald-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-600{--tw-gradient-from:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-50{--tw-gradient-from:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-200{--tw-gradient-from:var(--color-indigo-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500\/20{--tw-gradient-from:#625fff33}@supports (color:color-mix(in lab,red,red)){.from-indigo-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.from-indigo-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-600{--tw-gradient-from:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-50{--tw-gradient-from:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-50\/50{--tw-gradient-from:#fdf2f880}@supports (color:color-mix(in lab,red,red)){.from-pink-50\/50{--tw-gradient-from:color-mix(in oklab,var(--color-pink-50)50%,transparent)}}.from-pink-50\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-100\/30{--tw-gradient-from:#f3e8ff4d}@supports (color:color-mix(in lab,red,red)){.from-purple-100\/30{--tw-gradient-from:color-mix(in oklab,var(--color-purple-100)30%,transparent)}}.from-purple-100\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-300\/50{--tw-gradient-from:#d9b3ff80}@supports (color:color-mix(in lab,red,red)){.from-purple-300\/50{--tw-gradient-from:color-mix(in oklab,var(--color-purple-300)50%,transparent)}}.from-purple-300\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400\/20{--tw-gradient-from:#c07eff33}@supports (color:color-mix(in lab,red,red)){.from-purple-400\/20{--tw-gradient-from:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.from-purple-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500\/20{--tw-gradient-from:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.from-purple-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.from-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-rose-50{--tw-gradient-from:var(--color-rose-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-rose-400{--tw-gradient-from:var(--color-rose-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-rose-500{--tw-gradient-from:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-50{--tw-gradient-from:var(--color-violet-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-100{--tw-gradient-from:var(--color-violet-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-500\/20{--tw-gradient-from:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.from-sky-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.from-sky-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-600{--tw-gradient-from:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-sky-700{--tw-gradient-from:var(--color-violet-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-50\/30{--tw-gradient-from:#f8fafc4d}@supports (color:color-mix(in lab,red,red)){.from-slate-50\/30{--tw-gradient-from:color-mix(in oklab,var(--color-slate-50)30%,transparent)}}.from-slate-50\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-200{--tw-gradient-from:var(--color-slate-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-900\/40{--tw-gradient-from:#0f172b66}@supports (color:color-mix(in lab,red,red)){.from-slate-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.from-slate-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-teal-50{--tw-gradient-from:var(--color-teal-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-teal-500{--tw-gradient-from:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white\/0{--tw-gradient-from:#0000}@supports (color:color-mix(in lab,red,red)){.from-white\/0{--tw-gradient-from:color-mix(in oklab,var(--color-white)0%,transparent)}}.from-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white\/20{--tw-gradient-from:#fff3}@supports (color:color-mix(in lab,red,red)){.from-white\/20{--tw-gradient-from:color-mix(in oklab,var(--color-white)20%,transparent)}}.from-white\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#75D06A\]{--tw-gradient-via:#75d06a;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#7274ED\]{--tw-gradient-via:#7274ed;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-amber-400\/40{--tw-gradient-via:#fcbb0066}@supports (color:color-mix(in lab,red,red)){.via-amber-400\/40{--tw-gradient-via:color-mix(in oklab,var(--color-amber-400)40%,transparent)}}.via-amber-400\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-cyan-500{--tw-gradient-via:var(--color-cyan-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-cyan-500\/10{--tw-gradient-via:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.via-cyan-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.via-cyan-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-emerald-500{--tw-gradient-via:var(--color-emerald-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-emerald-500\/40{--tw-gradient-via:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.via-emerald-500\/40{--tw-gradient-via:color-mix(in oklab,var(--color-emerald-500)40%,transparent)}}.via-emerald-500\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-fuchsia-50{--tw-gradient-via:var(--color-fuchsia-50);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-fuchsia-500\/10{--tw-gradient-via:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.via-fuchsia-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-fuchsia-500)10%,transparent)}}.via-fuchsia-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-orange-500{--tw-gradient-via:var(--color-orange-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-orange-500\/10{--tw-gradient-via:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.via-orange-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.via-orange-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-500{--tw-gradient-via:var(--color-pink-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-600{--tw-gradient-via:var(--color-pink-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-500\/10{--tw-gradient-via:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.via-purple-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.via-purple-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-rose-500\/40{--tw-gradient-via:#ff235766}@supports (color:color-mix(in lab,red,red)){.via-rose-500\/40{--tw-gradient-via:color-mix(in oklab,var(--color-rose-500)40%,transparent)}}.via-rose-500\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-50\/30{--tw-gradient-via:#f5f3ff4d}@supports (color:color-mix(in lab,red,red)){.via-sky-50\/30{--tw-gradient-via:color-mix(in oklab,var(--color-violet-50)30%,transparent)}}.via-sky-50\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-50\/50{--tw-gradient-via:#f5f3ff80}@supports (color:color-mix(in lab,red,red)){.via-sky-50\/50{--tw-gradient-via:color-mix(in oklab,var(--color-violet-50)50%,transparent)}}.via-sky-50\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-300\/30{--tw-gradient-via:#c4b4ff4d}@supports (color:color-mix(in lab,red,red)){.via-sky-300\/30{--tw-gradient-via:color-mix(in oklab,var(--color-violet-300)30%,transparent)}}.via-sky-300\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-400\/40{--tw-gradient-via:#a685ff66}@supports (color:color-mix(in lab,red,red)){.via-sky-400\/40{--tw-gradient-via:color-mix(in oklab,var(--color-violet-400)40%,transparent)}}.via-sky-400\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-400\/50{--tw-gradient-via:#a685ff80}@supports (color:color-mix(in lab,red,red)){.via-sky-400\/50{--tw-gradient-via:color-mix(in oklab,var(--color-violet-400)50%,transparent)}}.via-sky-400\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-500{--tw-gradient-via:var(--color-violet-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-sky-600{--tw-gradient-via:var(--color-violet-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-500\/10{--tw-gradient-via:#00baa71a}@supports (color:color-mix(in lab,red,red)){.via-teal-500\/10{--tw-gradient-via:color-mix(in oklab,var(--color-teal-500)10%,transparent)}}.via-teal-500\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/15{--tw-gradient-via:#ffffff26}@supports (color:color-mix(in lab,red,red)){.via-white\/15{--tw-gradient-via:color-mix(in oklab,var(--color-white)15%,transparent)}}.via-white\/15{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/30{--tw-gradient-via:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.via-white\/30{--tw-gradient-via:color-mix(in oklab,var(--color-white)30%,transparent)}}.via-white\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/40{--tw-gradient-via:#fff6}@supports (color:color-mix(in lab,red,red)){.via-white\/40{--tw-gradient-via:color-mix(in oklab,var(--color-white)40%,transparent)}}.via-white\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/50{--tw-gradient-via:#ffffff80}@supports (color:color-mix(in lab,red,red)){.via-white\/50{--tw-gradient-via:color-mix(in oklab,var(--color-white)50%,transparent)}}.via-white\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.\!to-\[\#1FA7E1\]{--tw-gradient-to:#1fa7e1!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.to-\[\#1FA7E1\]{--tw-gradient-to:#1fa7e1;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#6ED1CF\]\/18{--tw-gradient-to:oklab(80.0346% -.0906707 -.0221346/.18);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#9956DE\]{--tw-gradient-to:#9956de;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FF8B8B\]{--tw-gradient-to:#ff8b8b;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FFB356\]{--tw-gradient-to:#ffb356;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-50{--tw-gradient-to:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-600\/5{--tw-gradient-to:#dd74000d}@supports (color:color-mix(in lab,red,red)){.to-amber-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-amber-600)5%,transparent)}}.to-amber-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-50{--tw-gradient-to:var(--color-cyan-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-100{--tw-gradient-to:var(--color-cyan-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-50{--tw-gradient-to:var(--color-emerald-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600\/5{--tw-gradient-to:#0097670d}@supports (color:color-mix(in lab,red,red)){.to-emerald-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-emerald-600)5%,transparent)}}.to-emerald-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-fuchsia-500{--tw-gradient-to:var(--color-fuchsia-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-100{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-500\/20{--tw-gradient-to:#625fff33}@supports (color:color-mix(in lab,red,red)){.to-indigo-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.to-indigo-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600\/5{--tw-gradient-to:#4f39f60d}@supports (color:color-mix(in lab,red,red)){.to-indigo-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-600)5%,transparent)}}.to-indigo-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-700{--tw-gradient-to:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-800{--tw-gradient-to:var(--color-indigo-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-50{--tw-gradient-to:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-100{--tw-gradient-to:var(--color-orange-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-600{--tw-gradient-to:var(--color-orange-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-100\/30{--tw-gradient-to:#fce7f34d}@supports (color:color-mix(in lab,red,red)){.to-pink-100\/30{--tw-gradient-to:color-mix(in oklab,var(--color-pink-100)30%,transparent)}}.to-pink-100\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-300\/40{--tw-gradient-to:#fda5d566}@supports (color:color-mix(in lab,red,red)){.to-pink-300\/40{--tw-gradient-to:color-mix(in oklab,var(--color-pink-300)40%,transparent)}}.to-pink-300\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-400\/20{--tw-gradient-to:#fb64b633}@supports (color:color-mix(in lab,red,red)){.to-pink-400\/20{--tw-gradient-to:color-mix(in oklab,var(--color-pink-400)20%,transparent)}}.to-pink-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600\/5{--tw-gradient-to:#9810fa0d}@supports (color:color-mix(in lab,red,red)){.to-purple-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-purple-600)5%,transparent)}}.to-purple-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-600{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-100{--tw-gradient-to:var(--color-violet-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-600{--tw-gradient-to:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-sky-600\/5{--tw-gradient-to:#7f22fe0d}@supports (color:color-mix(in lab,red,red)){.to-sky-600\/5{--tw-gradient-to:color-mix(in oklab,var(--color-violet-600)5%,transparent)}}.to-sky-600\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-50{--tw-gradient-to:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-100{--tw-gradient-to:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-100{--tw-gradient-to:var(--color-teal-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-300{--tw-gradient-to:var(--color-teal-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-600{--tw-gradient-to:var(--color-teal-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-700{--tw-gradient-to:var(--color-teal-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white\/0{--tw-gradient-to:#0000}@supports (color:color-mix(in lab,red,red)){.to-white\/0{--tw-gradient-to:color-mix(in oklab,var(--color-white)0%,transparent)}}.to-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white\/10{--tw-gradient-to:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.to-white\/10{--tw-gradient-to:color-mix(in oklab,var(--color-white)10%,transparent)}}.to-white\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\[background-size\:var\(--beam-size\)_var\(--beam-size\)\]{background-size:var(--beam-size)var(--beam-size)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-amber-300{fill:var(--color-amber-300)}.fill-amber-400{fill:var(--color-amber-400)}.fill-current{fill:currentColor}.fill-primary{fill:var(--primary)}.fill-yellow-300{fill:var(--color-yellow-300)}.stroke-\[2\.5\]{stroke-width:2.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-bottom{object-position:bottom}.object-center{object-position:center}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-3\.5{padding:calc(var(--spacing)*3.5)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.p-12{padding:calc(var(--spacing)*12)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-7{padding-block:calc(var(--spacing)*7)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pr-0{padding-right:calc(var(--spacing)*0)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-11{padding-right:calc(var(--spacing)*11)}.pr-24{padding-right:calc(var(--spacing)*24)}.pr-40{padding-right:calc(var(--spacing)*40)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pb-32{padding-bottom:calc(var(--spacing)*32)}.pb-48{padding-bottom:calc(var(--spacing)*48)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-9{padding-left:calc(var(--spacing)*9)}.pl-10{padding-left:calc(var(--spacing)*10)}.pl-11{padding-left:calc(var(--spacing)*11)}.pl-16{padding-left:calc(var(--spacing)*16)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[6px\]{font-size:6px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[32px\]{font-size:32px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.text-\[50px\]{font-size:50px}.text-\[60px\]{font-size:60px}.text-\[80px\]{font-size:80px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3px\]{--tw-tracking:.3px;letter-spacing:.3px}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[\#1FA7E1\]{color:#1fa7e1!important}.\!text-white{color:var(--color-white)!important}.text-\[\#0a1628\]{color:#0a1628}.text-\[\#1E293B\]{color:#1e293b}.text-\[\#1FA7E1\]{color:#1fa7e1}.text-\[\#2e2b5e\]{color:#2e2b5e}.text-\[\#3E8538\]{color:#3e8538}.text-\[\#3c4043\]{color:#3c4043}.text-\[\#4D9F46\]{color:#4d9f46}.text-\[\#5E3388\]{color:#5e3388}.text-\[\#5E3388\]\/80{color:#5e3388cc}.text-\[\#5a6578\]{color:#5a6578}.text-\[\#5f6368\]{color:#5f6368}.text-\[\#6ED1CF\]{color:#6ed1cf}.text-\[\#7A44B3\]{color:#7a44b3}.text-\[\#7b8798\]{color:#7b8798}.text-\[\#7eafbe\]{color:#7eafbe}.text-\[\#8A1A1A\]{color:#8a1a1a}.text-\[\#8A3FD3\]{color:#8a3fd3}.text-\[\#8a7fbc\]{color:#8a7fbc}.text-\[\#8f5ae2\]{color:#8f5ae2}.text-\[\#35a8bc\]\/10{color:#35a8bc1a}.text-\[\#75D06A\]{color:#75d06a}.text-\[\#141b2d\]{color:#141b2d}.text-\[\#319ab4\]{color:#319ab4}.text-\[\#6620a2\]{color:#6620a2}.text-\[\#7274ED\]{color:#7274ed}.text-\[\#9956DE\]{color:#9956de}.text-\[\#36326e\]{color:#36326e}.text-\[\#202124\]{color:#202124}.text-\[\#334155\]{color:#334155}.text-\[\#A56D29\]{color:#a56d29}.text-\[\#A74B50\]{color:#a74b50}.text-\[\#C65E63\]{color:#c65e63}.text-\[\#CC8A37\]{color:#cc8a37}.text-\[\#D66A6A\]{color:#d66a6a}.text-\[\#EAFBFF\]{color:#eafbff}.text-\[\#F1E4FF\]{color:#f1e4ff}.text-\[\#F08386\]{color:#f08386}.text-\[\#FF8B8B\]{color:#ff8b8b}.text-\[\#FFB356\]{color:#ffb356}.text-\[\#a0aec0\]{color:#a0aec0}.text-\[\#a06aec\]\/10{color:#a06aec1a}.text-\[\#a8a5b3\]{color:#a8a5b3}.text-\[\#baa4df\]{color:#baa4df}.text-\[\#c2cad8\]{color:#c2cad8}.text-\[\#d1abff\]{color:#d1abff}.text-\[\#d1cec6\]{color:#d1cec6}.text-\[\#d2a893\]{color:#d2a893}.text-\[\#d05c54\]{color:#d05c54}.text-\[\#db734b\]{color:#db734b}.text-\[\#dd9a9a\]{color:#dd9a9a}.text-\[\#dde3eb\]{color:#dde3eb}.text-\[\#df655a\]\/10{color:#df655a1a}.text-\[\#e87a42\]\/10{color:#e87a421a}.text-\[\#f8fafc\]{color:#f8fafc}.text-\[\#fcd34d\]{color:#fcd34d}.text-\[\#fde047\]{color:#fde047}.text-\[var\(--chart-1\)\]{color:var(--chart-1)}.text-\[var\(--chart-2\)\]{color:var(--chart-2)}.text-\[var\(--chart-3\)\]{color:var(--chart-3)}.text-\[var\(--chart-4\)\]{color:var(--chart-4)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-accent-foreground{color:var(--accent-foreground)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-800\/80{color:#953d00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-800\/80{color:color-mix(in oklab,var(--color-amber-800)80%,transparent)}}.text-amber-900{color:var(--color-amber-900)}.text-amber-900\/80{color:#7b3306cc}@supports (color:color-mix(in lab,red,red)){.text-amber-900\/80{color:color-mix(in oklab,var(--color-amber-900)80%,transparent)}}.text-amber-900\/85{color:#7b3306d9}@supports (color:color-mix(in lab,red,red)){.text-amber-900\/85{color:color-mix(in oklab,var(--color-amber-900)85%,transparent)}}.text-black\/25{color:#00000040}@supports (color:color-mix(in lab,red,red)){.text-black\/25{color:color-mix(in oklab,var(--color-black)25%,transparent)}}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-cyan-100{color:var(--color-cyan-100)}.text-cyan-200{color:var(--color-cyan-200)}.text-destructive{color:var(--destructive)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-800\/80{color:#005f46cc}@supports (color:color-mix(in lab,red,red)){.text-emerald-800\/80{color:color-mix(in oklab,var(--color-emerald-800)80%,transparent)}}.text-emerald-900{color:var(--color-emerald-900)}.text-emerald-950{color:var(--color-emerald-950)}.text-foreground{color:var(--foreground)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-indigo-800\/80{color:#372aaccc}@supports (color:color-mix(in lab,red,red)){.text-indigo-800\/80{color:color-mix(in oklab,var(--color-indigo-800)80%,transparent)}}.text-muted-foreground,.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,var(--muted-foreground)40%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-orange-300{color:var(--color-orange-300)}.text-orange-400{color:var(--color-orange-400)}.text-orange-400\/60{color:#ff8b1a99}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/60{color:color-mix(in oklab,var(--color-orange-400)60%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-pink-600{color:var(--color-pink-600)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-400{color:var(--color-purple-400)}.text-purple-600{color:var(--color-purple-600)}.text-purple-600\/80{color:#9810facc}@supports (color:color-mix(in lab,red,red)){.text-purple-600\/80{color:color-mix(in oklab,var(--color-purple-600)80%,transparent)}}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-rose-200{color:var(--color-rose-200)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-rose-900{color:var(--color-rose-900)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-sky-100{color:var(--color-violet-100)}.text-sky-200{color:var(--color-violet-200)}.text-sky-300{color:var(--color-violet-300)}.text-sky-400{color:var(--color-violet-400)}.text-sky-500{color:var(--color-violet-500)}.text-sky-600{color:var(--color-violet-600)}.text-sky-600\/80{color:#7f22fecc}@supports (color:color-mix(in lab,red,red)){.text-sky-600\/80{color:color-mix(in oklab,var(--color-violet-600)80%,transparent)}}.text-sky-700{color:var(--color-violet-700)}.text-sky-800{color:var(--color-violet-800)}.text-sky-900{color:var(--color-violet-900)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-400\/80{color:#90a1b9cc}@supports (color:color-mix(in lab,red,red)){.text-slate-400\/80{color:color-mix(in oklab,var(--color-slate-400)80%,transparent)}}.text-slate-500{color:var(--color-slate-500)}.text-slate-500\/60{color:#62748e99}@supports (color:color-mix(in lab,red,red)){.text-slate-500\/60{color:color-mix(in oklab,var(--color-slate-500)60%,transparent)}}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-200{color:var(--color-teal-200)}.text-teal-400{color:var(--color-teal-400)}.text-teal-500{color:var(--color-teal-500)}.text-teal-600{color:var(--color-teal-600)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-teal-900{color:var(--color-teal-900)}.text-transparent{color:#0000}.text-violet-400{color:var(--color-violet-400)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-white\/5{color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.text-white\/5{color:color-mix(in oklab,var(--color-white)5%,transparent)}}.text-white\/10{color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.text-white\/10{color:color-mix(in oklab,var(--color-white)10%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white)85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.text-yellow-300{color:var(--color-yellow-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-700{color:var(--color-zinc-700)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.decoration-slate-400{-webkit-text-decoration-color:var(--color-slate-400);text-decoration-color:var(--color-slate-400)}.underline-offset-4{text-underline-offset:4px}.placeholder-\[\#a8a5b3\]::placeholder{color:#a8a5b3}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.opacity-100{opacity:1}.opacity-\[0\.2\]{opacity:.2}.opacity-\[0\.03\]{opacity:.03}.opacity-\[0\.15\]{opacity:.15}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-screen{mix-blend-mode:screen}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_-15px_50px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 -15px 50px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(139\,92\,246\,0\.2\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#8b5cf633);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#f59e0b33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(255\,255\,255\,0\.5\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#ffffff80);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(16\,185\,129\,0\.2\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#10b98133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(99\,102\,241\,0\.2\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#6366f133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(158\,143\,255\,0\.4\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#9e8fff66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#f59e0b33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_18px_rgba\(255\,139\,139\,0\.6\)\]{--tw-shadow:0 0 18px var(--tw-shadow-color,#ff8b8b99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_18px_rgba\(255\,179\,86\,0\.6\)\]{--tw-shadow:0 0 18px var(--tw-shadow-color,#ffb35699);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_24px_rgba\(250\,204\,21\,0\.6\)\]{--tw-shadow:0 0 24px var(--tw-shadow-color,#facc1599);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(16\,185\,129\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#10b98133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(31\,167\,225\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#1fa7e133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(99\,102\,241\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#6366f133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(138\,63\,211\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#8a3fd333);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_40px_-10px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow:0 0 40px -10px var(--tw-shadow-color,#f59e0b33);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_15px_-3px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 2px 15px -3px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_8px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 4px 8px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_5px_12px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 5px 12px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(2\,132\,199\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#0284c7);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(5\,150\,105\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#059669);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(109\,40\,217\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#6d28d9);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0_rgba\(225\,29\,72\,1\)\]{--tw-shadow:0 8px 0 var(--tw-shadow-color,#e11d48);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_16px_rgba\(18\,25\,43\,0\.3\)\]{--tw-shadow:0 8px 16px var(--tw-shadow-color,#12192b4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgb\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(31\,167\,225\,0\.2\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#1fa7e133);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(59\,58\,130\,0\.3\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#3b3a824d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(138\,63\,211\,0\.2\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#8a3fd333);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_-10px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 10px 30px -10px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_-10px_rgba\(37\,99\,235\,0\.6\)\]{--tw-shadow:0 10px 30px -10px var(--tw-shadow-color,#2563eb99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_40px_-10px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:0 10px 40px -10px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_25px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 12px 25px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_15px_25px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 15px 25px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_15px_35px_-5px_rgba\(236\,72\,153\,0\.4\)\]{--tw-shadow:0 15px 35px -5px var(--tw-shadow-color,#ec489966);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_30px_-20px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 18px 30px -20px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_30px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 20px 30px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_40px_-10px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 20px 40px -10px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_40px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 20px 40px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_45px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 20px 45px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 20px 50px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 20px 60px -15px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 20px 60px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_-15px_rgba\(168\,85\,247\,0\.15\)\]{--tw-shadow:0 20px 60px -15px var(--tw-shadow-color,#a855f726);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_60px_-15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 30px 60px -15px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_60px_rgba\(15\,23\,42\,0\.4\)\,inset_0_0_120px_rgba\(0\,0\,0\,0\.9\)\]{--tw-shadow:0 30px 60px var(--tw-shadow-color,#0f172a66),inset 0 0 120px var(--tw-shadow-color,#000000e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_30px_80px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:0 30px 80px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-4px_6px_rgba\(0\,0\,0\,0\.05\)\,0_4px_6px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:inset 0 -4px 6px var(--tw-shadow-color,#0000000d),0 4px 6px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-4px_6px_rgba\(249\,115\,22\,0\.05\)\,0_4px_6px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:inset 0 -4px 6px var(--tw-shadow-color,#f973160d),0 4px 6px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-4px_8px_rgba\(251\,191\,36\,0\.1\)\,0_6px_8px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:inset 0 -4px 8px var(--tw-shadow-color,#fbbf241a),0 6px 8px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_2px_4px_rgba\(255\,255\,255\,0\.1\)\,_inset_0_-4px_4px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#ffffff1a),inset 0 -4px 4px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_6px_15px_rgba\(255\,255\,255\,0\.4\)\]{--tw-shadow:inset 0 6px 15px var(--tw-shadow-color,#fff6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\/elevation,.shadow\/rim{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[6px\]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(6px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[\#1FA7E1\]\/20{--tw-shadow-color:#1fa7e133}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#1FA7E1\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(68.7044% -.0807821 -.10979/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#1FA7E1\]\/30{--tw-shadow-color:#1fa7e14d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#1FA7E1\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(68.7044% -.0807821 -.10979/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#1FA7E1\]\/40{--tw-shadow-color:#1fa7e166}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#1FA7E1\]\/40{--tw-shadow-color:color-mix(in oklab,oklab(68.7044% -.0807821 -.10979/.4) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#8A3FD3\]\/30{--tw-shadow-color:#8a3fd34d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#8A3FD3\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(54.1025% .117281 -.181162/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#8A3FD3\]\/40{--tw-shadow-color:#8a3fd366}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#8A3FD3\]\/40{--tw-shadow-color:color-mix(in oklab,oklab(54.1025% .117281 -.181162/.4) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#8B5CF6\]\/20{--tw-shadow-color:#8b5cf633}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#8B5CF6\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(60.5631% .0845415 -.201932/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#9956DE\]\/20{--tw-shadow-color:#9956de33}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#9956DE\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(59.4745% .111053 -.167638/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#9956DE\]\/30{--tw-shadow-color:#9956de4d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#9956DE\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(59.4745% .111053 -.167638/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#FB96BB\]\/30{--tw-shadow-color:#fb96bb4d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#FB96BB\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(78.801% .12777 -.00670064/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#FFB356\]\/30{--tw-shadow-color:#ffb3564d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#FFB356\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(82.2219% .0499055 .130321/.3) var(--tw-shadow-alpha),transparent)}}.shadow-\[rgba\(124\,58\,237\,0\.05\)_0px_0px_30px_inset\]{--tw-shadow-color:#7c3aed0d}@supports (color:color-mix(in lab,red,red)){.shadow-\[rgba\(124\,58\,237\,0\.05\)_0px_0px_30px_inset\]{--tw-shadow-color:color-mix(in oklab,#7c3aed0d 0px 0px 30px inset var(--tw-shadow-alpha),transparent)}}.shadow-purple-500\/20{--tw-shadow-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.shadow-purple-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-purple-600\/25{--tw-shadow-color:#9810fa40}@supports (color:color-mix(in lab,red,red)){.shadow-purple-600\/25{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-600)25%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-red-100{--tw-shadow-color:oklch(93.6% .032 17.717)}@supports (color:color-mix(in lab,red,red)){.shadow-red-100{--tw-shadow-color:color-mix(in oklab,var(--color-red-100)var(--tw-shadow-alpha),transparent)}}.shadow-red-900\/10{--tw-shadow-color:#82181a1a}@supports (color:color-mix(in lab,red,red)){.shadow-red-900\/10{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-red-900)10%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-rose-200{--tw-shadow-color:oklch(89.2% .058 10.001)}@supports (color:color-mix(in lab,red,red)){.shadow-rose-200{--tw-shadow-color:color-mix(in oklab,var(--color-rose-200)var(--tw-shadow-alpha),transparent)}}.shadow-sky-200{--tw-shadow-color:oklch(89.4% .057 293.283)}@supports (color:color-mix(in lab,red,red)){.shadow-sky-200{--tw-shadow-color:color-mix(in oklab,var(--color-violet-200)var(--tw-shadow-alpha),transparent)}}.shadow-sky-500\/20{--tw-shadow-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.shadow-sky-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-violet-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-slate-900\/\[0\.04\]{--tw-shadow-color:#0f172b0a}@supports (color:color-mix(in lab,red,red)){.shadow-slate-900\/\[0\.04\]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-900)4%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-teal-100{--tw-shadow-color:oklch(95.3% .051 180.801)}@supports (color:color-mix(in lab,red,red)){.shadow-teal-100{--tw-shadow-color:color-mix(in oklab,var(--color-teal-100)var(--tw-shadow-alpha),transparent)}}.shadow-teal-200{--tw-shadow-color:oklch(91% .096 180.426)}@supports (color:color-mix(in lab,red,red)){.shadow-teal-200{--tw-shadow-color:color-mix(in oklab,var(--color-teal-200)var(--tw-shadow-alpha),transparent)}}.shadow-teal-500\/30{--tw-shadow-color:#00baa74d}@supports (color:color-mix(in lab,red,red)){.shadow-teal-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-teal-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-\[\#1FA7E1\]\/35{--tw-ring-color:oklab(68.7044% -.0807821 -.10979/.35)}.ring-\[\#8B5CF6\]\/10{--tw-ring-color:oklab(60.5631% .0845415 -.201932/.1)}.ring-\[\#9956DE\]\/45{--tw-ring-color:oklab(59.4745% .111053 -.167638/.45)}.ring-\[\#9956DE\]\/50{--tw-ring-color:oklab(59.4745% .111053 -.167638/.5)}.ring-\[color-mix\(in_srgb\,var\(--chart-2\)_40\%\,transparent\)\]{--tw-ring-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.ring-\[color-mix\(in_srgb\,var\(--chart-2\)_40\%\,transparent\)\]{--tw-ring-color:color-mix(in srgb,var(--chart-2)40%,transparent)}}.ring-\[color-mix\(in_srgb\,var\(--chart-3\)_40\%\,transparent\)\]{--tw-ring-color:var(--chart-3)}@supports (color:color-mix(in lab,red,red)){.ring-\[color-mix\(in_srgb\,var\(--chart-3\)_40\%\,transparent\)\]{--tw-ring-color:color-mix(in srgb,var(--chart-3)40%,transparent)}}.ring-\[color-mix\(in_srgb\,var\(--chart-4\)_40\%\,transparent\)\]{--tw-ring-color:var(--chart-4)}@supports (color:color-mix(in lab,red,red)){.ring-\[color-mix\(in_srgb\,var\(--chart-4\)_40\%\,transparent\)\]{--tw-ring-color:color-mix(in srgb,var(--chart-4)40%,transparent)}}.ring-blue-500{--tw-ring-color:var(--color-blue-500)}.ring-green-300{--tw-ring-color:var(--color-green-300)}.ring-indigo-100{--tw-ring-color:var(--color-indigo-100)}.ring-primary,.ring-primary\/40{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/40{--tw-ring-color:color-mix(in oklab,var(--primary)40%,transparent)}}.ring-red-200{--tw-ring-color:var(--color-red-200)}.ring-red-300{--tw-ring-color:var(--color-red-300)}.ring-red-500{--tw-ring-color:var(--color-red-500)}.ring-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.ring-rose-300{--tw-ring-color:var(--color-rose-300)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-sky-100{--tw-ring-color:var(--color-violet-100)}.ring-sky-300\/50{--tw-ring-color:#c4b4ff80}@supports (color:color-mix(in lab,red,red)){.ring-sky-300\/50{--tw-ring-color:color-mix(in oklab,var(--color-violet-300)50%,transparent)}}.ring-sky-500\/10{--tw-ring-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.ring-sky-500\/10{--tw-ring-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.ring-slate-900\/5{--tw-ring-color:#0f172b0d}@supports (color:color-mix(in lab,red,red)){.ring-slate-900\/5{--tw-ring-color:color-mix(in oklab,var(--color-slate-900)5%,transparent)}}.ring-teal-200{--tw-ring-color:var(--color-teal-200)}.ring-white{--tw-ring-color:var(--color-white)}.ring-white\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.ring-white\/10{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.ring-white\/20{--tw-ring-color:#fff3}@supports (color:color-mix(in lab,red,red)){.ring-white\/20{--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-\[6px\]{--tw-ring-offset-width:6px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ring-offset-\[\#0B0F19\]{--tw-ring-offset-color:#0b0f19}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[1px\]{--tw-blur:blur(1px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[15px\]{--tw-blur:blur(15px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[60px\]{--tw-blur:blur(60px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[70px\]{--tw-blur:blur(70px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[140px\]{--tw-blur:blur(140px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[160px\]{--tw-blur:blur(160px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.contrast-50{--tw-contrast:contrast(50%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-2px_-2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(-2px -2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-2px_2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(-2px 2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-2px_3px_0px_rgba\(0\,0\,0\,0\.8\)\]{--tw-drop-shadow-size:drop-shadow(-2px 3px 0px var(--tw-drop-shadow-color,#000c));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[-3px_0px_0px_white\]{--tw-drop-shadow-size:drop-shadow(-3px 0px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(16\,185\,129\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#10b98180));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(31\,167\,225\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#1fa7e180));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(99\,102\,241\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#6366f180));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(138\,63\,211\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#8a3fd380));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(251\,191\,36\,0\.9\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#fbbf24e6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_12px_rgba\(245\,158\,11\,0\.6\)\]{--tw-drop-shadow-size:drop-shadow(0 0 12px var(--tw-drop-shadow-color,#f59e0b99));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_12px_rgba\(250\,204\,21\,0\.9\)\]{--tw-drop-shadow-size:drop-shadow(0 0 12px var(--tw-drop-shadow-color,#facc15e6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_12px_rgba\(255\,255\,255\,0\.4\)\]{--tw-drop-shadow-size:drop-shadow(0 0 12px var(--tw-drop-shadow-color,#fff6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_15px_rgba\(253\,224\,71\,0\.6\)\]{--tw-drop-shadow-size:drop-shadow(0 0 15px var(--tw-drop-shadow-color,#fde04799));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_25px_rgba\(252\,211\,77\,0\.9\)\]{--tw-drop-shadow-size:drop-shadow(0 0 25px var(--tw-drop-shadow-color,#fcd34de6));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_12px_15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-drop-shadow-size:drop-shadow(0 12px 15px var(--tw-drop-shadow-color,#0000004d));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_15px_15px_rgba\(0\,0\,0\,0\.3\)\]{--tw-drop-shadow-size:drop-shadow(0 15px 15px var(--tw-drop-shadow-color,#0000004d));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0px_-3px_0px_white\]{--tw-drop-shadow-size:drop-shadow(0px -3px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0px_3px_0px_white\]{--tw-drop-shadow-size:drop-shadow(0px 3px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[2px_-2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(2px -2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[2px_2px_0px_white\]{--tw-drop-shadow-size:drop-shadow(2px 2px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[3px_0px_0px_white\]{--tw-drop-shadow-size:drop-shadow(3px 0px 0px var(--tw-drop-shadow-color,white));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-md{--tw-drop-shadow-size:drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f));--tw-drop-shadow:drop-shadow(var(--drop-shadow-md));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-xl{--tw-drop-shadow-size:drop-shadow(0 9px 7px var(--tw-drop-shadow-color,#0000001a));--tw-drop-shadow:drop-shadow(var(--drop-shadow-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.saturate-50{--tw-saturate:saturate(50%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.delay-75{transition-delay:75ms}.duration-0{--tw-duration:0s;transition-duration:0s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.prose-slate{--tw-prose-body:oklch(37.2% .044 257.287);--tw-prose-headings:oklch(20.8% .042 265.755);--tw-prose-lead:oklch(44.6% .043 257.281);--tw-prose-links:oklch(20.8% .042 265.755);--tw-prose-bold:oklch(20.8% .042 265.755);--tw-prose-counters:oklch(55.4% .046 257.417);--tw-prose-bullets:oklch(86.9% .022 252.894);--tw-prose-hr:oklch(92.9% .013 255.508);--tw-prose-quotes:oklch(20.8% .042 265.755);--tw-prose-quote-borders:oklch(92.9% .013 255.508);--tw-prose-captions:oklch(55.4% .046 257.417);--tw-prose-kbd:oklch(20.8% .042 265.755);--tw-prose-kbd-shadows:oklab(20.8% -.00310889 -.0418848/.1);--tw-prose-code:oklch(20.8% .042 265.755);--tw-prose-pre-code:oklch(92.9% .013 255.508);--tw-prose-pre-bg:oklch(27.9% .041 260.031);--tw-prose-th-borders:oklch(86.9% .022 252.894);--tw-prose-td-borders:oklch(92.9% .013 255.508);--tw-prose-invert-body:oklch(86.9% .022 252.894);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.4% .04 256.788);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.4% .04 256.788);--tw-prose-invert-bullets:oklch(44.6% .043 257.281);--tw-prose-invert-hr:oklch(37.2% .044 257.287);--tw-prose-invert-quotes:oklch(96.8% .007 247.896);--tw-prose-invert-quote-borders:oklch(37.2% .044 257.287);--tw-prose-invert-captions:oklch(70.4% .04 256.788);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(86.9% .022 252.894);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .043 257.281);--tw-prose-invert-td-borders:oklch(37.2% .044 257.287)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[background\:linear-gradient\(var\(--grid-color\)_0_1px\,_transparent_1px_var\(--beam-size\)\)_50\%_-0\.5px_\/var\(--beam-size\)_var\(--beam-size\)\,linear-gradient\(90deg\,_var\(--grid-color\)_0_1px\,_transparent_1px_var\(--beam-size\)\)_50\%_50\%_\/var\(--beam-size\)_var\(--beam-size\)\]{background:linear-gradient(var(--grid-color)0 1px,transparent 1px var(--beam-size))50% -.5px/var(--beam-size)var(--beam-size),linear-gradient(90deg,var(--grid-color)0 1px,transparent 1px var(--beam-size))50% 50%/var(--beam-size)var(--beam-size)}.\[background\:var\(--background\)\]{background:var(--background)}.\[clip-path\:inset\(0\)\]{clip-path:inset(0)}.\[perspective\:var\(--perspective\)\]{perspective:var(--perspective)}.\[transform-style\:preserve-3d\]{transform-style:preserve-3d}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:left-\[150\%\]:is(:where(.group):hover *){left:150%}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:-translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:-translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:rotate-3:is(:where(.group):hover *){rotate:3deg}.group-hover\:rotate-12:is(:where(.group):hover *){rotate:12deg}.group-hover\:rotate-45:is(:where(.group):hover *){rotate:45deg}.group-hover\:border-\[\#dde3eb\]:is(:where(.group):hover *){border-color:#dde3eb}.group-hover\:border-amber-400:is(:where(.group):hover *){border-color:var(--color-amber-400)}.group-hover\:border-sky-300:is(:where(.group):hover *){border-color:var(--color-violet-300)}.group-hover\:border-r-amber-400:is(:where(.group):hover *){border-right-color:var(--color-amber-400)}.group-hover\:border-b-amber-400:is(:where(.group):hover *){border-bottom-color:var(--color-amber-400)}.group-hover\:bg-amber-50:is(:where(.group):hover *){background-color:var(--color-amber-50)}.group-hover\:bg-amber-100\/50:is(:where(.group):hover *){background-color:#fef3c680}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-amber-100\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-amber-100)50%,transparent)}}.group-hover\:bg-slate-50:is(:where(.group):hover *){background-color:var(--color-slate-50)}.group-hover\:bg-slate-600:is(:where(.group):hover *){background-color:var(--color-slate-600)}.group-hover\:text-\[\#9956DE\]:is(:where(.group):hover *){color:#9956de}.group-hover\:text-\[var\(--hover-color\)\]:is(:where(.group):hover *){color:var(--hover-color)}.group-hover\:text-amber-500:is(:where(.group):hover *){color:var(--color-amber-500)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.group-hover\:text-purple-500:is(:where(.group):hover *){color:var(--color-purple-500)}.group-hover\:text-sky-500:is(:where(.group):hover *){color:var(--color-violet-500)}.group-hover\:text-sky-600:is(:where(.group):hover *){color:var(--color-violet-600)}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-\[0_24px_40px_-15px_rgba\(0\,0\,0\,0\.5\)\]:is(:where(.group):hover *){--tw-shadow:0 24px 40px -15px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:shadow-xl:is(:where(.group):hover *){--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\:duration-\[800ms\]:is(:where(.group):hover *){--tw-duration:.8s;transition-duration:.8s}.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *){margin-top:calc(var(--spacing)*1.5)}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-radius:calc(var(--radius) - 2px)}.group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *){background-color:var(--popover)}.group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *){color:var(--popover-foreground)}.group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.2s;transition-duration:.2s}.peer-checked\:bg-\[\#5a6578\]:is(:where(.peer):checked~*){background-color:#5a6578}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:font-medium::placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}.placeholder\:text-slate-500::placeholder{color:var(--color-slate-500)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing)*.5)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing)*1)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-\[\#dde3eb\]:after{content:var(--tw-content);border-color:#dde3eb}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}@media(hover:hover){.hover\:-translate-x-1:hover{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:rotate-0:hover{rotate:none}.hover\:gap-2:hover{gap:calc(var(--spacing)*2)}.hover\:border-\[\#1FA7E1\]\/50:hover{border-color:#1fa7e180}.hover\:border-\[\#8A3FD3\]\/50:hover{border-color:#8a3fd380}.hover\:border-\[\#75D06A\]:hover{border-color:#75d06a}.hover\:border-\[\#75D06A\]\/60:hover{border-color:#75d06a99}.hover\:border-\[\#9956DE\]:hover{border-color:#9956de}.hover\:border-\[\#9956DE\]\/30:hover{border-color:#9956de4d}.hover\:border-\[\#9956DE\]\/60:hover{border-color:#9956de99}.hover\:border-\[\#F08386\]:hover{border-color:#f08386}.hover\:border-\[\#F08386\]\/60:hover{border-color:#f0838699}.hover\:border-\[\#d1cec6\]:hover{border-color:#d1cec6}.hover\:border-\[\#dde3eb\]:hover{border-color:#dde3eb}.hover\:border-amber-200\/60:hover{border-color:#fee68599}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-200\/60:hover{border-color:color-mix(in oklab,var(--color-amber-200)60%,transparent)}}.hover\:border-emerald-300:hover{border-color:var(--color-emerald-300)}.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:border-indigo-600:hover{border-color:var(--color-indigo-600)}.hover\:border-orange-300:hover{border-color:var(--color-orange-300)}.hover\:border-rose-300:hover{border-color:var(--color-rose-300)}.hover\:border-sky-200:hover{border-color:var(--color-violet-200)}.hover\:border-sky-300:hover{border-color:var(--color-violet-300)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:border-teal-300:hover{border-color:var(--color-teal-300)}.hover\:bg-\[\#1C96CB\]:hover{background-color:#1c96cb}.hover\:bg-\[\#1FA7E1\]\/5:hover{background-color:#1fa7e10d}.hover\:bg-\[\#1a95c9\]:hover{background-color:#1a95c9}.hover\:bg-\[\#5AB84E\]:hover{background-color:#5ab84e}.hover\:bg-\[\#7A44B3\]:hover{background-color:#7a44b3}.hover\:bg-\[\#7b35c0\]:hover{background-color:#7b35c0}.hover\:bg-\[\#008f5d\]:hover{background-color:#008f5d}.hover\:bg-\[\#8A3FD3\]\/5:hover{background-color:#8a3fd30d}.hover\:bg-\[\#8A4DCA\]:hover{background-color:#8a4dca}.hover\:bg-\[\#75D06A\]\/14:hover{background-color:#75d06a24}.hover\:bg-\[\#9956DE\]\/12:hover{background-color:#9956de1f}.hover\:bg-\[\#F08386\]\/12:hover{background-color:#f083861f}.hover\:bg-\[\#FA7DA9\]:hover{background-color:#fa7da9}.hover\:bg-\[\#FF8B8B\]\/20:hover{background-color:#ff8b8b33}.hover\:bg-\[\#FF7373\]:hover{background-color:#ff7373}.hover\:bg-\[\#dde3eb\]:hover{background-color:#dde3eb}.hover\:bg-\[\#edf1f7\]:hover{background-color:#edf1f7}.hover\:bg-\[\#edf1f7\]\/50:hover{background-color:#edf1f780}.hover\:bg-\[\#f7f9fc\]:hover{background-color:#f7f9fc}.hover\:bg-accent:hover,.hover\:bg-accent\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-cyan-200:hover{background-color:var(--color-cyan-200)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-emerald-400:hover{background-color:var(--color-emerald-400)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-orange-50:hover{background-color:var(--color-orange-50)}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-primary:hover,.hover\:bg-primary\/20:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-rose-50:hover{background-color:var(--color-rose-50)}.hover\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\:bg-rose-400:hover{background-color:var(--color-rose-400)}.hover\:bg-rose-500:hover{background-color:var(--color-rose-500)}.hover\:bg-rose-500\/10:hover{background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-rose-500\/10:hover{background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.hover\:bg-rose-700:hover{background-color:var(--color-rose-700)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-sky-50:hover{background-color:var(--color-violet-50)}.hover\:bg-sky-50\/80:hover{background-color:#f5f3ffcc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-sky-50\/80:hover{background-color:color-mix(in oklab,var(--color-violet-50)80%,transparent)}}.hover\:bg-sky-100:hover{background-color:var(--color-violet-100)}.hover\:bg-sky-300:hover{background-color:var(--color-violet-300)}.hover\:bg-sky-400:hover{background-color:var(--color-violet-400)}.hover\:bg-sky-600:hover{background-color:var(--color-violet-600)}.hover\:bg-sky-700:hover{background-color:var(--color-violet-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-200\/50:hover{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-200\/50:hover{background-color:color-mix(in oklab,var(--color-slate-200)50%,transparent)}}.hover\:bg-slate-200\/70:hover{background-color:#e2e8f0b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-200\/70:hover{background-color:color-mix(in oklab,var(--color-slate-200)70%,transparent)}}.hover\:bg-teal-600:hover{background-color:var(--color-teal-600)}.hover\:bg-violet-100:hover{background-color:var(--color-violet-100)}.hover\:bg-violet-400:hover{background-color:var(--color-violet-400)}.hover\:bg-violet-500:hover{background-color:var(--color-violet-500)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:bg-white\/50:hover{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/50:hover{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.hover\:bg-white\/80:hover{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/80:hover{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\:\!from-\[\#8FE4DA\]:hover{--tw-gradient-from:#8fe4da!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.hover\:from-purple-500:hover{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-sky-700:hover{--tw-gradient-from:var(--color-violet-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:\!to-\[\#49BDEB\]:hover{--tw-gradient-to:#49bdeb!important;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))!important}.hover\:to-pink-400:hover{--tw-gradient-to:var(--color-pink-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-sky-600:hover{--tw-gradient-to:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-\[\#0a1628\]:hover{color:#0a1628}.hover\:text-\[\#5a6578\]:hover{color:#5a6578}.hover\:text-\[\#75D06A\]:hover{color:#75d06a}.hover\:text-\[\#9956DE\]:hover{color:#9956de}.hover\:text-\[\#F08386\]:hover{color:#f08386}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-emerald-600:hover{color:var(--color-emerald-600)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-green-600:hover{color:var(--color-green-600)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-orange-600:hover{color:var(--color-orange-600)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-primary-foreground:hover{color:var(--primary-foreground)}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-rose-300:hover{color:var(--color-rose-300)}.hover\:text-rose-700:hover{color:var(--color-rose-700)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:text-sky-300:hover{color:var(--color-violet-300)}.hover\:text-sky-500:hover{color:var(--color-violet-500)}.hover\:text-sky-600:hover{color:var(--color-violet-600)}.hover\:text-sky-700:hover{color:var(--color-violet-700)}.hover\:text-slate-500:hover{color:var(--color-slate-500)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_-20px_60px_rgba\(0\,0\,0\,0\.3\)\]:hover{--tw-shadow:0 -20px 60px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_12px_45px_rgba\(31\,167\,225\,0\.4\)\]:hover{--tw-shadow:0 12px 45px var(--tw-shadow-color,#1fa7e166);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_12px_45px_rgba\(138\,63\,211\,0\.4\)\]:hover{--tw-shadow:0 12px 45px var(--tw-shadow-color,#8a3fd366);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_15px_35px_-5px_rgba\(56\,189\,248\,0\.3\)\]:hover{--tw-shadow:0 15px 35px -5px var(--tw-shadow-color,#38bdf84d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_16px_30px_rgba\(0\,0\,0\,0\.12\)\]:hover{--tw-shadow:0 16px 30px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_16px_40px_rgba\(114\,116\,237\,0\.28\)\]:hover{--tw-shadow:0 16px 40px var(--tw-shadow-color,#7274ed47);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-pink-500\/35:hover{--tw-shadow-color:#f6339a59}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-pink-500\/35:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-pink-500)35%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:shadow-purple-500\/30:hover{--tw-shadow-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-purple-500\/30:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:shadow-sky-300\/50:hover{--tw-shadow-color:#c4b4ff80}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-sky-300\/50:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-violet-300)50%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:shadow-teal-500\/25:hover{--tw-shadow-color:#00baa740}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-teal-500\/25:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-teal-500)25%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:border-indigo-600:focus{border-color:var(--color-indigo-600)}.focus\:border-primary:focus{border-color:var(--primary)}.focus\:border-sky-400:focus{border-color:var(--color-violet-400)}.focus\:border-sky-500:focus{border-color:var(--color-violet-500)}.focus\:border-sky-600:focus{border-color:var(--color-violet-600)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-primary:focus{background-color:var(--primary)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:text-primary-foreground:focus{color:var(--primary-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-indigo-100:focus{--tw-ring-color:var(--color-indigo-100)}.focus\:ring-primary\/20:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary\/20:focus{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-sky-100:focus{--tw-ring-color:var(--color-violet-100)}.focus\:ring-sky-200:focus{--tw-ring-color:var(--color-violet-200)}.focus\:ring-sky-400\/15:focus{--tw-ring-color:#a685ff26}@supports (color:color-mix(in lab,red,red)){.focus\:ring-sky-400\/15:focus{--tw-ring-color:color-mix(in oklab,var(--color-violet-400)15%,transparent)}}.focus\:ring-sky-400\/20:focus{--tw-ring-color:#a685ff33}@supports (color:color-mix(in lab,red,red)){.focus\:ring-sky-400\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-violet-400)20%,transparent)}}.focus\:ring-sky-500:focus{--tw-ring-color:var(--color-violet-500)}.focus\:ring-sky-500\/20:focus{--tw-ring-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.focus\:ring-sky-500\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[\#8A3FD3\]\/50:focus-visible{--tw-ring-color:oklab(54.1025% .117281 -.181162/.5)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-red-500:focus-visible{--tw-ring-color:var(--color-red-500)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:ring-sky-400:focus-visible{--tw-ring-color:var(--color-violet-400)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-\[4px\]:active{--tw-translate-y:4px;translate:var(--tw-translate-x)var(--tw-translate-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:border-b-0:active{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.active\:bg-emerald-600:active{background-color:var(--color-emerald-600)}.active\:bg-rose-600:active{background-color:var(--color-rose-600)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:bg-sky-600:active,.active\:bg-violet-600:active{background-color:var(--color-violet-600)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-100:disabled{opacity:1}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.disabled\:hover\:translate-y-0:disabled:hover{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.aria-selected\:bg-accent[aria-selected=true]{background-color:var(--accent)}.aria-selected\:bg-primary[aria-selected=true]{background-color:var(--primary)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:var(--accent-foreground)}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.aria-selected\:text-primary-foreground[aria-selected=true]{color:var(--primary-foreground)}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:var(--ring)}.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}@media(hover:hover){.data-\[active\=true\]\:hover\:bg-accent[data-active=true]:hover{background-color:var(--accent)}}.data-\[active\=true\]\:focus\:bg-accent[data-active=true]:focus{background-color:var(--accent)}.data-\[active\=true\]\:aria-invalid\:border-destructive[data-active=true][aria-invalid=true]{border-color:var(--destructive)}.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[orientation\=horizontal\]\:h-4[data-orientation=horizontal]{height:calc(var(--spacing)*4)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing)*44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing)*1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing)*1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=active\]\:bg-card[data-state=active]{background-color:var(--card)}.data-\[state\=active\]\:bg-gradient-to-r[data-state=active]{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.data-\[state\=active\]\:from-purple-500[data-state=active]{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.data-\[state\=active\]\:to-pink-500[data-state=active]{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.data-\[state\=active\]\:text-white[data-state=active]{color:var(--color-white)}.data-\[state\=active\]\:shadow-md[data-state=active]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:bg-red-600[data-state=checked]{background-color:var(--color-red-600)}.data-\[state\=checked\]\:bg-sky-600[data-state=checked]{background-color:var(--color-violet-600)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=inactive\]\:text-slate-500[data-state=inactive]{color:var(--color-slate-500)}@media(hover:hover){.data-\[state\=inactive\]\:hover\:bg-purple-50[data-state=inactive]:hover{background-color:var(--color-purple-50)}}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-\[\#dde3eb\][data-state=unchecked]{background-color:#dde3eb}.data-\[state\=unchecked\]\:bg-switch-background[data-state=unchecked]{background-color:var(--switch-background)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=outline\]\:border-l-0[data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[variant\=outline\]\:shadow-xs[data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[variant\=outline\]\:first\:border-l[data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing)*24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing)*0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing)*24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media(min-width:40rem){.sm\:-top-\[30px\]{top:-30px}.sm\:top-4{top:calc(var(--spacing)*4)}.sm\:right-8{right:calc(var(--spacing)*8)}.sm\:bottom-8{bottom:calc(var(--spacing)*8)}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:mt-2{margin-top:calc(var(--spacing)*2)}.sm\:mb-0{margin-bottom:calc(var(--spacing)*0)}.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:ml-0{margin-left:calc(var(--spacing)*0)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-8{height:calc(var(--spacing)*8)}.sm\:h-10{height:calc(var(--spacing)*10)}.sm\:h-14{height:calc(var(--spacing)*14)}.sm\:h-\[95px\]{height:95px}.sm\:h-\[115\%\]{height:115%}.sm\:h-\[125\%\]{height:125%}.sm\:h-\[140px\]{height:140px}.sm\:h-\[145px\]{height:145px}.sm\:h-\[165px\]{height:165px}.sm\:h-\[245px\]{height:245px}.sm\:h-\[360px\]{height:360px}.sm\:h-\[440px\]{height:440px}.sm\:w-8{width:calc(var(--spacing)*8)}.sm\:w-10{width:calc(var(--spacing)*10)}.sm\:w-14{width:calc(var(--spacing)*14)}.sm\:w-\[30\%\]{width:30%}.sm\:w-\[38\%\]{width:38%}.sm\:w-\[65px\]{width:65px}.sm\:w-\[140px\]{width:140px}.sm\:w-\[160px\]{width:160px}.sm\:w-\[170px\]{width:170px}.sm\:w-\[300px\]{width:300px}.sm\:w-\[440px\]{width:440px}.sm\:w-auto{width:auto}.sm\:w-max{width:max-content}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[480px\]{max-width:480px}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:flex-none{flex:none}.sm\:-translate-x-\[60px\]{--tw-translate-x: -60px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\:translate-x-\[60px\]{--tw-translate-x:60px;translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\:scale-\[0\.80\]{scale:.8}.sm\:scale-\[0\.85\]{scale:.85}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing)*2.5)}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:gap-6{gap:calc(var(--spacing)*6)}.sm\:gap-8{gap:calc(var(--spacing)*8)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:p-7{padding:calc(var(--spacing)*7)}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:px-10{padding-inline:calc(var(--spacing)*10)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.sm\:pb-28{padding-bottom:calc(var(--spacing)*28)}.sm\:pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[10px\]{font-size:10px}.sm\:text-\[11px\]{font-size:11px}.sm\:text-\[12px\]{font-size:12px}.sm\:text-\[14px\]{font-size:14px}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:absolute{position:absolute}.md\:-top-7{top:calc(var(--spacing)*-7)}.md\:-top-8{top:calc(var(--spacing)*-8)}.md\:-bottom-7{bottom:calc(var(--spacing)*-7)}.md\:-bottom-8{bottom:calc(var(--spacing)*-8)}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-9{grid-column:span 9/span 9}.md\:mt-2{margin-top:calc(var(--spacing)*2)}.md\:mt-12{margin-top:calc(var(--spacing)*12)}.md\:mt-\[-40px\]{margin-top:-40px}.md\:mr-2{margin-right:calc(var(--spacing)*2)}.md\:mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.md\:mb-4{margin-bottom:calc(var(--spacing)*4)}.md\:mb-5{margin-bottom:calc(var(--spacing)*5)}.md\:mb-8{margin-bottom:calc(var(--spacing)*8)}.md\:ml-2{margin-left:calc(var(--spacing)*2)}.md\:ml-4{margin-left:calc(var(--spacing)*4)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-2{height:calc(var(--spacing)*2)}.md\:h-9{height:calc(var(--spacing)*9)}.md\:h-10{height:calc(var(--spacing)*10)}.md\:h-11{height:calc(var(--spacing)*11)}.md\:h-12{height:calc(var(--spacing)*12)}.md\:h-14{height:calc(var(--spacing)*14)}.md\:h-16{height:calc(var(--spacing)*16)}.md\:h-20{height:calc(var(--spacing)*20)}.md\:h-32{height:calc(var(--spacing)*32)}.md\:h-36{height:calc(var(--spacing)*36)}.md\:h-40{height:calc(var(--spacing)*40)}.md\:h-64{height:calc(var(--spacing)*64)}.md\:h-\[72px\]{height:72px}.md\:h-\[86px\]{height:86px}.md\:h-\[100px\]{height:100px}.md\:h-\[130px\]{height:130px}.md\:h-\[180px\]{height:180px}.md\:h-\[200vw\]{height:200vw}.md\:h-\[310px\]{height:310px}.md\:w-2{width:calc(var(--spacing)*2)}.md\:w-9{width:calc(var(--spacing)*9)}.md\:w-10{width:calc(var(--spacing)*10)}.md\:w-11{width:calc(var(--spacing)*11)}.md\:w-12{width:calc(var(--spacing)*12)}.md\:w-14{width:calc(var(--spacing)*14)}.md\:w-20{width:calc(var(--spacing)*20)}.md\:w-36{width:calc(var(--spacing)*36)}.md\:w-\[72px\]{width:72px}.md\:w-\[86px\]{width:86px}.md\:w-\[200vw\]{width:200vw}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[250px\]{max-width:250px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-3{gap:calc(var(--spacing)*3)}.md\:gap-4{gap:calc(var(--spacing)*4)}.md\:gap-5{gap:calc(var(--spacing)*5)}.md\:gap-6{gap:calc(var(--spacing)*6)}.md\:gap-8{gap:calc(var(--spacing)*8)}.md\:gap-10{gap:calc(var(--spacing)*10)}:where(.md\:space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}.md\:rounded-b-\[80px\]{border-bottom-right-radius:80px;border-bottom-left-radius:80px}.md\:p-3{padding:calc(var(--spacing)*3)}.md\:p-4{padding:calc(var(--spacing)*4)}.md\:p-5{padding:calc(var(--spacing)*5)}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:p-10{padding:calc(var(--spacing)*10)}.md\:p-12{padding:calc(var(--spacing)*12)}.md\:px-4{padding-inline:calc(var(--spacing)*4)}.md\:px-8{padding-inline:calc(var(--spacing)*8)}.md\:px-10{padding-inline:calc(var(--spacing)*10)}.md\:py-2{padding-block:calc(var(--spacing)*2)}.md\:py-5{padding-block:calc(var(--spacing)*5)}.md\:py-6{padding-block:calc(var(--spacing)*6)}.md\:pt-8{padding-top:calc(var(--spacing)*8)}.md\:pr-4{padding-right:calc(var(--spacing)*4)}.md\:pr-10{padding-right:calc(var(--spacing)*10)}.md\:pr-\[240px\]{padding-right:240px}.md\:pl-12{padding-left:calc(var(--spacing)*12)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.md\:text-\[10px\]{font-size:10px}.md\:text-\[11px\]{font-size:11px}.md\:text-\[12px\]{font-size:12px}.md\:text-\[13px\]{font-size:13px}.md\:text-\[15px\]{font-size:15px}.md\:text-\[16px\]{font-size:16px}.md\:text-\[17px\]{font-size:17px}.md\:text-\[22px\]{font-size:22px}.md\:text-\[26px\]{font-size:26px}.md\:text-\[32px\]{font-size:32px}.md\:text-\[44px\]{font-size:44px}.md\:text-\[70px\]{font-size:70px}.md\:text-\[80px\]{font-size:80px}.md\:text-\[110px\]{font-size:110px}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:static{position:static}.lg\:top-\[5px\]{top:5px}.lg\:right-10{right:calc(var(--spacing)*10)}.lg\:right-\[-15px\]{right:-15px}.lg\:right-\[250px\]{right:250px}.lg\:bottom-20{bottom:calc(var(--spacing)*20)}.lg\:z-auto{z-index:auto}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:-mx-4{margin-inline:calc(var(--spacing)*-4)}.lg\:-mt-4{margin-top:calc(var(--spacing)*-4)}.lg\:mb-8{margin-bottom:calc(var(--spacing)*8)}.lg\:ml-10{margin-left:calc(var(--spacing)*10)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-8{height:calc(var(--spacing)*8)}.lg\:h-12{height:calc(var(--spacing)*12)}.lg\:h-\[265px\]{height:265px}.lg\:h-\[800px\]{height:800px}.lg\:h-full{height:100%}.lg\:min-h-0{min-height:calc(var(--spacing)*0)}.lg\:min-h-\[160px\]{min-height:160px}.lg\:w-8{width:calc(var(--spacing)*8)}.lg\:w-12{width:calc(var(--spacing)*12)}.lg\:w-\[45\%\]{width:45%}.lg\:w-\[55\%\]{width:55%}.lg\:w-\[70px\]{width:70px}.lg\:w-\[260px\]{width:260px}.lg\:w-\[270px\]{width:270px}.lg\:origin-center{transform-origin:50%}.lg\:translate-y-\[19\%\]{--tw-translate-y:19%;translate:var(--tw-translate-x)var(--tw-translate-y)}.lg\:scale-\[0\.85\]{scale:.85}.lg\:scale-\[1\.3\]{scale:1.3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:gap-5{gap:calc(var(--spacing)*5)}.lg\:gap-6{gap:calc(var(--spacing)*6)}.lg\:gap-8{gap:calc(var(--spacing)*8)}.lg\:gap-10{gap:calc(var(--spacing)*10)}.lg\:gap-12{gap:calc(var(--spacing)*12)}.lg\:gap-14{gap:calc(var(--spacing)*14)}:where(.lg\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.lg\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.lg\:divide-y-0>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.lg\:overflow-hidden{overflow:hidden}.lg\:p-4{padding:calc(var(--spacing)*4)}.lg\:p-8{padding:calc(var(--spacing)*8)}.lg\:p-12{padding:calc(var(--spacing)*12)}.lg\:px-16{padding-inline:calc(var(--spacing)*16)}.lg\:pt-6{padding-top:calc(var(--spacing)*6)}.lg\:pr-\[280px\]{padding-right:280px}.lg\:pb-0{padding-bottom:calc(var(--spacing)*0)}.lg\:pl-6{padding-left:calc(var(--spacing)*6)}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.lg\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.lg\:text-\[7px\]{font-size:7px}.lg\:text-\[16px\]{font-size:16px}.lg\:text-\[46px\]{font-size:46px}}@media(min-width:80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:mb-8{margin-bottom:calc(var(--spacing)*8)}.xl\:flex{display:flex}.xl\:w-\[75px\]{width:75px}.xl\:max-w-\[1400px\]{max-width:1400px}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.xl\:grid-cols-\[400px_1fr\]{grid-template-columns:400px 1fr}.xl\:gap-8{gap:calc(var(--spacing)*8)}.xl\:px-10{padding-inline:calc(var(--spacing)*10)}.xl\:text-\[3\.4rem\]{font-size:3.4rem}}.dark\:border-\[\#1FA7E1\]\/20:is(.dark *){border-color:#1fa7e133}.dark\:border-\[\#2b3140\]:is(.dark *){border-color:#2b3140}.dark\:border-\[\#2f3547\]:is(.dark *){border-color:#2f3547}.dark\:border-\[\#8A3FD3\]\/20:is(.dark *){border-color:#8a3fd333}.dark\:border-\[\#8A3FD3\]\/30:is(.dark *){border-color:#8a3fd34d}.dark\:border-\[\#8d7fff\]:is(.dark *){border-color:#8d7fff}.dark\:border-amber-300\/40:is(.dark *){border-color:#ffd23666}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-300\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-amber-300)40%,transparent)}}.dark\:border-amber-400\/40:is(.dark *){border-color:#fcbb0066}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-400\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-amber-400)40%,transparent)}}.dark\:border-amber-700\/50:is(.dark *){border-color:#b7500080}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-amber-700)50%,transparent)}}.dark\:border-emerald-300\/40:is(.dark *){border-color:#5ee9b566}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-300\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-300)40%,transparent)}}.dark\:border-emerald-400\/40:is(.dark *){border-color:#00d29466}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-400\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-400)40%,transparent)}}.dark\:border-emerald-500\/40:is(.dark *){border-color:#00bb7f66}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-500\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-500)40%,transparent)}}.dark\:border-emerald-700\/50:is(.dark *){border-color:#00795680}@supports (color:color-mix(in lab,red,red)){.dark\:border-emerald-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-emerald-700)50%,transparent)}}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:border-indigo-700\/50:is(.dark *){border-color:#432dd780}@supports (color:color-mix(in lab,red,red)){.dark\:border-indigo-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-indigo-700)50%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-purple-700\/50:is(.dark *){border-color:#8200da80}@supports (color:color-mix(in lab,red,red)){.dark\:border-purple-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-purple-700)50%,transparent)}}.dark\:border-rose-300\/40:is(.dark *){border-color:#ffa2ae66}@supports (color:color-mix(in lab,red,red)){.dark\:border-rose-300\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-rose-300)40%,transparent)}}.dark\:border-rose-400\/40:is(.dark *){border-color:#ff667f66}@supports (color:color-mix(in lab,red,red)){.dark\:border-rose-400\/40:is(.dark *){border-color:color-mix(in oklab,var(--color-rose-400)40%,transparent)}}.dark\:border-rose-500\/20:is(.dark *){border-color:#ff235733}@supports (color:color-mix(in lab,red,red)){.dark\:border-rose-500\/20:is(.dark *){border-color:color-mix(in oklab,var(--color-rose-500)20%,transparent)}}.dark\:border-rose-900:is(.dark *){border-color:var(--color-rose-900)}.dark\:border-sky-700\/50:is(.dark *){border-color:#7008e780}@supports (color:color-mix(in lab,red,red)){.dark\:border-sky-700\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-violet-700)50%,transparent)}}.dark\:border-slate-700:is(.dark *){border-color:var(--color-slate-700)}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/10:is(.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\:bg-\[\#1a1f2e\]\/90:is(.dark *){background-color:#1a1f2ee6}.dark\:bg-\[\#2a3143\]:is(.dark *){background-color:#2a3143}.dark\:bg-\[\#2b2b5f\]:is(.dark *){background-color:#2b2b5f}.dark\:bg-\[\#8A3FD3\]\/10:is(.dark *){background-color:#8a3fd31a}.dark\:bg-\[\#181d27\]:is(.dark *){background-color:#181d27}.dark\:bg-\[\#11151d\]:is(.dark *){background-color:#11151d}.dark\:bg-\[\#15803d\]:is(.dark *){background-color:#15803d}.dark\:bg-\[\#b0e6eb\]:is(.dark *){background-color:#b0e6eb}.dark\:bg-\[\#b45309\]:is(.dark *){background-color:#b45309}.dark\:bg-\[\#be123c\]:is(.dark *){background-color:#be123c}.dark\:bg-\[\#d6ccf5\]:is(.dark *){background-color:#d6ccf5}.dark\:bg-\[\#f6ebd2\]:is(.dark *){background-color:#f6ebd2}.dark\:bg-\[\#fbd3d3\]:is(.dark *){background-color:#fbd3d3}.dark\:bg-amber-100\/20:is(.dark *){background-color:#fef3c633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-100\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-100)20%,transparent)}}.dark\:bg-amber-400\/10:is(.dark *){background-color:#fcbb001a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-400\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-400)10%,transparent)}}.dark\:bg-amber-900\/20:is(.dark *){background-color:#7b330633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-900)20%,transparent)}}.dark\:bg-amber-900\/50:is(.dark *){background-color:#7b330680}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-amber-900)50%,transparent)}}.dark\:bg-black\/30:is(.dark *){background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.dark\:bg-black\/40:is(.dark *){background-color:#0006}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/40:is(.dark *){background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.dark\:bg-black\/50:is(.dark *){background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.dark\:bg-black\/80:is(.dark *){background-color:#000c}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/80:is(.dark *){background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-emerald-500\/10:is(.dark *){background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.dark\:bg-emerald-500\/30:is(.dark *){background-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-500\/30:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.dark\:bg-emerald-900\/20:is(.dark *){background-color:#004e3b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-900)20%,transparent)}}.dark\:bg-emerald-900\/50:is(.dark *){background-color:#004e3b80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-emerald-900)50%,transparent)}}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-indigo-900\/50:is(.dark *){background-color:#312c8580}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-indigo-900)50%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-purple-900\/50:is(.dark *){background-color:#59168b80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-purple-900)50%,transparent)}}.dark\:bg-rose-500\/10:is(.dark *){background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-rose-500\/10:is(.dark *){background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.dark\:bg-rose-900\/20:is(.dark *){background-color:#8b083633}@supports (color:color-mix(in lab,red,red)){.dark\:bg-rose-900\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-rose-900)20%,transparent)}}.dark\:bg-sky-500\/5:is(.dark *){background-color:#8d54ff0d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-sky-500\/5:is(.dark *){background-color:color-mix(in oklab,var(--color-violet-500)5%,transparent)}}.dark\:bg-sky-500\/15:is(.dark *){background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.dark\:bg-sky-500\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-violet-500)15%,transparent)}}.dark\:bg-sky-900\/50:is(.dark *){background-color:#4d179a80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-sky-900\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-violet-900)50%,transparent)}}.dark\:from-\[\#2b2b5f\]:is(.dark *){--tw-gradient-from:#2b2b5f;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-amber-300:is(.dark *){--tw-gradient-from:var(--color-amber-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-amber-600\/20:is(.dark *){--tw-gradient-from:#dd740033}@supports (color:color-mix(in lab,red,red)){.dark\:from-amber-600\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-amber-600)20%,transparent)}}.dark\:from-amber-600\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-emerald-300:is(.dark *){--tw-gradient-from:var(--color-emerald-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-emerald-500\/20:is(.dark *){--tw-gradient-from:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.dark\:from-emerald-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.dark\:from-emerald-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-indigo-300:is(.dark *){--tw-gradient-from:var(--color-indigo-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-indigo-500\/20:is(.dark *){--tw-gradient-from:#625fff33}@supports (color:color-mix(in lab,red,red)){.dark\:from-indigo-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.dark\:from-indigo-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-purple-300:is(.dark *){--tw-gradient-from:var(--color-purple-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-purple-500\/20:is(.dark *){--tw-gradient-from:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.dark\:from-purple-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.dark\:from-purple-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-sky-300:is(.dark *){--tw-gradient-from:var(--color-violet-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-sky-500\/20:is(.dark *){--tw-gradient-from:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.dark\:from-sky-500\/20:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-violet-500)20%,transparent)}}.dark\:from-sky-500\/20:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:via-cyan-500\/10:is(.dark *){--tw-gradient-via:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.dark\:via-cyan-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.dark\:via-cyan-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-fuchsia-500\/10:is(.dark *){--tw-gradient-via:#e12afb1a}@supports (color:color-mix(in lab,red,red)){.dark\:via-fuchsia-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-fuchsia-500)10%,transparent)}}.dark\:via-fuchsia-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-orange-500\/10:is(.dark *){--tw-gradient-via:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.dark\:via-orange-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.dark\:via-orange-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-purple-500\/10:is(.dark *){--tw-gradient-via:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.dark\:via-purple-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.dark\:via-purple-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:via-teal-500\/10:is(.dark *){--tw-gradient-via:#00baa71a}@supports (color:color-mix(in lab,red,red)){.dark\:via-teal-500\/10:is(.dark *){--tw-gradient-via:color-mix(in oklab,var(--color-teal-500)10%,transparent)}}.dark\:via-teal-500\/10:is(.dark *){--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.dark\:to-cyan-200:is(.dark *){--tw-gradient-to:var(--color-cyan-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-fuchsia-200:is(.dark *){--tw-gradient-to:var(--color-fuchsia-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-orange-200:is(.dark *){--tw-gradient-to:var(--color-orange-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-orange-900\/10:is(.dark *){--tw-gradient-to:#7e2a0c1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-orange-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-orange-900)10%,transparent)}}.dark\:to-orange-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-purple-200:is(.dark *){--tw-gradient-to:var(--color-purple-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-purple-900\/10:is(.dark *){--tw-gradient-to:#59168b1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-purple-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-purple-900)10%,transparent)}}.dark\:to-purple-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-sky-900\/10:is(.dark *){--tw-gradient-to:#4d179a1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-sky-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-violet-900)10%,transparent)}}.dark\:to-sky-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-teal-200:is(.dark *){--tw-gradient-to:var(--color-teal-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-teal-900\/10:is(.dark *){--tw-gradient-to:#0b4f4a1a}@supports (color:color-mix(in lab,red,red)){.dark\:to-teal-900\/10:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-teal-900)10%,transparent)}}.dark\:to-teal-900\/10:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-\[\#4bc1f2\]:is(.dark *){color:#4bc1f2}.dark\:text-\[\#7ad8ff\]:is(.dark *){color:#7ad8ff}.dark\:text-\[\#7f88a3\]:is(.dark *){color:#7f88a3}.dark\:text-\[\#8b95ad\]:is(.dark *){color:#8b95ad}.dark\:text-\[\#9aa4be\]:is(.dark *){color:#9aa4be}.dark\:text-\[\#9da7bf\]:is(.dark *){color:#9da7bf}.dark\:text-\[\#9e8fff\]:is(.dark *){color:#9e8fff}.dark\:text-\[\#95a0bb\]:is(.dark *){color:#95a0bb}.dark\:text-\[\#98a2bc\]:is(.dark *){color:#98a2bc}.dark\:text-\[\#a8b2c9\]:is(.dark *){color:#a8b2c9}.dark\:text-\[\#a9b3ca\]:is(.dark *){color:#a9b3ca}.dark\:text-\[\#a35ceb\]:is(.dark *){color:#a35ceb}.dark\:text-\[\#aab3c7\]:is(.dark *){color:#aab3c7}.dark\:text-\[\#b2bad0\]:is(.dark *){color:#b2bad0}.dark\:text-\[\#c48bfc\]:is(.dark *){color:#c48bfc}.dark\:text-\[\#d3a8ff\]:is(.dark *){color:#d3a8ff}.dark\:text-\[\#e4e7f1\]:is(.dark *){color:#e4e7f1}.dark\:text-\[\#ecf0fb\]:is(.dark *){color:#ecf0fb}.dark\:text-\[\#f5f7fb\]:is(.dark *){color:#f5f7fb}.dark\:text-amber-100:is(.dark *){color:var(--color-amber-100)}.dark\:text-amber-100\/70:is(.dark *){color:#fef3c6b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-100\/70:is(.dark *){color:color-mix(in oklab,var(--color-amber-100)70%,transparent)}}.dark\:text-amber-100\/90:is(.dark *){color:#fef3c6e6}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-100\/90:is(.dark *){color:color-mix(in oklab,var(--color-amber-100)90%,transparent)}}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-amber-300:is(.dark *){color:var(--color-amber-300)}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-emerald-100\/70:is(.dark *){color:#d0fae5b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-emerald-100\/70:is(.dark *){color:color-mix(in oklab,var(--color-emerald-100)70%,transparent)}}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-indigo-100\/70:is(.dark *){color:#e0e7ffb3}@supports (color:color-mix(in lab,red,red)){.dark\:text-indigo-100\/70:is(.dark *){color:color-mix(in oklab,var(--color-indigo-100)70%,transparent)}}.dark\:text-indigo-300:is(.dark *){color:var(--color-indigo-300)}.dark\:text-indigo-400:is(.dark *){color:var(--color-indigo-400)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-purple-300:is(.dark *){color:var(--color-purple-300)}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-purple-400\/80:is(.dark *){color:#c07effcc}@supports (color:color-mix(in lab,red,red)){.dark\:text-purple-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-purple-400)80%,transparent)}}.dark\:text-rose-300:is(.dark *){color:var(--color-rose-300)}.dark\:text-rose-400:is(.dark *){color:var(--color-rose-400)}.dark\:text-sky-300:is(.dark *){color:var(--color-violet-300)}.dark\:text-sky-400:is(.dark *){color:var(--color-violet-400)}.dark\:text-sky-400\/80:is(.dark *){color:#a685ffcc}@supports (color:color-mix(in lab,red,red)){.dark\:text-sky-400\/80:is(.dark *){color:color-mix(in oklab,var(--color-violet-400)80%,transparent)}}.dark\:text-slate-200:is(.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:is(.dark *){color:var(--color-slate-400)}.dark\:text-violet-400:is(.dark *){color:var(--color-violet-400)}.dark\:opacity-10:is(.dark *){opacity:.1}.dark\:opacity-\[0\.25\]:is(.dark *){opacity:.25}.dark\:mix-blend-screen:is(.dark *){mix-blend-mode:screen}.dark\:shadow-\[0_12px_24px_rgba\(0\,0\,0\,0\.22\)\]:is(.dark *){--tw-shadow:0 12px 24px var(--tw-shadow-color,#00000038);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:ring-offset-\[\#0B0F19\]:is(.dark *){--tw-ring-offset-color:#0b0f19}@media(hover:hover){.dark\:hover\:bg-\[\#1FA7E1\]\/10:is(.dark *):hover{background-color:#1fa7e11a}.dark\:hover\:bg-\[\#8A3FD3\]\/10:is(.dark *):hover{background-color:#8a3fd31a}.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-black\/50:is(.dark *):hover{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-black\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.dark\:hover\:bg-black\/60:is(.dark *):hover{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-black\/60:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.dark\:hover\:bg-emerald-500\/20:is(.dark *):hover{background-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-emerald-500\/20:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:bg-rose-900\/30:is(.dark *):hover{background-color:#8b08364d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-rose-900\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-rose-900)30%,transparent)}}.dark\:hover\:bg-slate-800:is(.dark *):hover{background-color:var(--color-slate-800)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-card-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--card-foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:var(--border)}@supports (color:color-mix(in lab,red,red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:color-mix(in oklab,var(--border)50%,transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:m-0 p{margin:calc(var(--spacing)*0)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_strong\]\:font-semibold strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:var(--accent)}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:first-child:has([aria-selected]){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:last-child:has([aria-selected]),.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\:last-child\]\:pb-6:last-child{padding-bottom:calc(var(--spacing)*6)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing)*2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing)*3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing)*2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing)*3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}:root{--font-size:16px;--font-display:"Nunito",ui-sans-serif,system-ui,sans-serif;--font-body:"Nunito",ui-sans-serif,system-ui,sans-serif;--background:#f7f9fc;--foreground:#0a1628;--card:#fff;--card-foreground:#0a1628;--popover:#fff;--popover-foreground:#0a1628;--amethyst:#9956de;--slate-blue:#7274ed;--summer-sky:#1fa7e1;--downy:#6ed1cf;--pastel-green:#75d06a;--texas-rose:#ffb356;--mona-lisa:#ff8b8b;--illusion:#fb96bb;--primary:#9956de;--primary-foreground:#fff;--secondary:#7274ed;--secondary-foreground:#fff;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#1fa7e1;--accent-foreground:#fff;--destructive:#ff8b8b;--destructive-foreground:#fff;--border:#e4e4e7;--input:transparent;--input-background:#f4f4f5;--switch-background:#d4d4d8;--font-weight-medium:500;--font-weight-normal:400;--ring:#9956de;--chart-1:#9956de;--chart-2:#ff8b8b;--chart-3:#75d06a;--chart-4:#ffb356;--chart-5:#1fa7e1;--radius:1.25rem;--sidebar:#fff;--sidebar-foreground:#09090b;--sidebar-primary:#7c3aed;--sidebar-primary-foreground:#fff;--sidebar-accent:#f3f0ff;--sidebar-accent-foreground:#5b21b6;--sidebar-border:#e4e4e7;--sidebar-ring:#7c3aed}.dark{--background:#050d18;--foreground:#f0f7ff;--card:#0a1628;--card-foreground:#f0f7ff;--popover:#0a1628;--popover-foreground:#f0f7ff;--primary:#a78bfa;--primary-foreground:#fff;--secondary:#2e1065;--secondary-foreground:#c4b5fd;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#f43f5e;--destructive:#ef4444;--destructive-foreground:#09090b;--border:#27272a;--input:#27272a;--input-background:#27272a;--switch-background:#3f3f46;--ring:#a78bfa;--font-weight-medium:500;--font-weight-normal:400;--chart-1:#a78bfa;--chart-2:#fb7185;--chart-3:#34d399;--chart-4:#fb923c;--chart-5:#38bdf8;--sidebar:#09090b;--sidebar-foreground:#fafafa;--sidebar-primary:#a78bfa;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#fafafa;--sidebar-border:#27272a;--sidebar-ring:#a78bfa}html{font-size:var(--font-size)}html,body,#root{height:100%}html[data-density=compact]{--radius:.9rem}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.smart-dark{filter:invert()hue-rotate(180deg);background:#101217}html.smart-dark img,html.smart-dark picture,html.smart-dark video,html.smart-dark canvas,html.smart-dark svg,html.smart-dark iframe,html.smart-dark [data-preserve-color=true]{filter:invert()hue-rotate(180deg)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.glow-blue{box-shadow:0 0 24px #0284c71f,0 0 64px #0284c70a}.glow-violet{box-shadow:0 0 24px #7c3aed1f,0 0 64px #7c3aed0a}.glow-rose{box-shadow:0 0 24px #f43f5e1f,0 0 64px #f43f5e0a}.glow-emerald{box-shadow:0 0 24px #0596691f,0 0 64px #0596690a}.bg-dot-pattern{background-image:radial-gradient(circle,#7c3aed14 1px,#0000 1px);background-size:24px 24px}.dark .bg-dot-pattern{background-image:radial-gradient(circle,#a78bfa1f 1px,#0000 1px)}.bg-math-pattern{background-color:var(--background);background-image:url("data:image/svg+xml,%3Csvg width='150' height='150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='rgba(124, 58, 237, 0.05)' font-family='sans-serif' font-weight='bold' font-size='28'%3E%3Ctext x='20' y='40'%3E%2B%3C/text%3E%3Ctext x='90' y='60'%3E%3D%3C/text%3E%3Ctext x='40' y='110'%3E%25%3C/text%3E%3Ctext x='110' y='130'%3E%C3%97%3C/text%3E%3Ctext x='130' y='30'%3E%C3%B7%3C/text%3E%3C/g%3E%3C/svg%3E");background-size:150px 150px}.bg-noise{position:relative}.bg-noise:before{content:"";opacity:.03;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.card-elevated{box-shadow:0 16px 40px -8px #7c3aed26,0 0 24px -5px #7c3aed14}.card-elevated-lg{box-shadow:0 24px 60px -12px #7c3aed33,0 0 32px -10px #7c3aed1a}.shadow-3d-button{box-shadow:0 12px 24px -6px var(--tw-shadow-color,#f9731666),0 6px 12px -4px var(--tw-shadow-color,#f973164d)}.dark .card-elevated{box-shadow:0 1px 2px #0003,0 4px 16px #00000026}.dark .card-elevated-lg{box-shadow:0 2px 4px #0003,0 8px 32px #0003}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover{scrollbar-color:#0284c733 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#0000;border-radius:10px;transition:background-color .3s}:hover::-webkit-scrollbar-thumb{background-color:#0284c733}::-webkit-scrollbar-thumb:hover{background-color:#0284c766}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.accent-line{position:relative}.accent-line:after{content:"";background:linear-gradient(90deg,#0284c7,#f43f5e);border-radius:2px;width:48px;height:3px;position:absolute;bottom:0;left:0}.surface-raised{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0cc}.surface-inset{background:linear-gradient(135deg,#f1f5f9,#e8eef6);border:1px solid #cbd5e180}.card-accent-sky{border-left:3px solid #0284c7}.card-accent-rose{border-left:3px solid #f43f5e}.card-accent-emerald{border-left:3px solid #059669}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.chat-markdown{font-family:var(--font-body);overflow-wrap:anywhere;word-break:break-word;font-size:.875rem;line-height:1.625}.chat-markdown h1{font-family:var(--font-display);color:var(--foreground);margin-top:.75rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.chat-markdown h2{font-family:var(--font-display);color:var(--foreground);margin-top:.75rem;margin-bottom:.375rem;font-size:1.1rem;font-weight:700}.chat-markdown h3{font-family:var(--font-display);color:var(--muted-foreground);margin-top:.5rem;margin-bottom:.25rem;font-size:1rem;font-weight:600}.chat-markdown p{margin-top:.375rem;margin-bottom:.375rem}.chat-markdown ul,.chat-markdown ol{margin-top:.375rem;margin-bottom:.375rem;padding-left:1.25rem}.chat-markdown ul{list-style-type:disc}.chat-markdown ol{list-style-type:decimal}.chat-markdown li{margin-top:.125rem;margin-bottom:.125rem}.chat-markdown strong{color:var(--foreground);font-weight:700}.chat-markdown em{font-style:italic}.chat-markdown code{background:var(--secondary);color:var(--primary);border-radius:.25rem;padding:.125rem .375rem;font-size:.8125rem}.chat-markdown pre{background:var(--muted);border:1px solid var(--border);border-radius:.5rem;margin-top:.5rem;margin-bottom:.5rem;padding:.75rem;overflow-x:auto}.chat-markdown pre code{color:inherit;background:0 0;padding:0}.chat-markdown hr{border-color:#94a3b873;margin:.75rem 0}.chat-markdown table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.8125rem}.chat-markdown th{background:var(--muted);text-align:left;border:1px solid var(--border);padding:.375rem .5rem;font-weight:600}.chat-markdown td{border:1px solid var(--border);padding:.375rem .5rem}.chat-markdown blockquote{border-left:3px solid var(--primary);color:var(--muted-foreground);margin:.5rem 0;padding-left:.75rem;font-style:italic}.chat-markdown a{color:var(--primary);text-decoration:underline}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown .katex-display{padding-bottom:.15rem;overflow:auto hidden}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}} diff --git a/assets/index-CUP7q97n.js b/assets/index-DGWrSMOK.js similarity index 97% rename from assets/index-CUP7q97n.js rename to assets/index-DGWrSMOK.js index 4f91e4fc18fdb0353d4ec93abae1899adf45285a..ad3890d0511bdcd5ccd471258c72d629d653da9f 100644 --- a/assets/index-CUP7q97n.js +++ b/assets/index-DGWrSMOK.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/automationService-CH2Qjv3D.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-react-Dexh7fmo.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/apiService-BmQUiVGe.js","assets/chatService-ctCZO3Ne.js","assets/LoginPage-CUimtvyL.js","assets/button-DWdPuxDU.js","assets/vendor-radix-B-ht8aK0.js","assets/clsx-B-dksMZM.js","assets/utils-BQQgILNW.js","assets/input-DBkKXOmF.js","assets/sparkles-Cg_SVFRk.js","assets/brain-CaMXLcPK.js","assets/trending-up-DmBYqjZb.js","assets/award-BtESaHld.js","assets/users-BpOE7EHN.js","assets/graduation-cap-CCth-BT0.js","assets/book-open-CeQC7bWj.js","assets/mail-Dt-oZ527.js","assets/lock-lKS0Wfg_.js","assets/eye-off-D5b_ErbA.js","assets/eye-CG0PWKAR.js","assets/shield-check-g-gosqjU.js","assets/TeacherDashboard-DfrjZbpI.js","assets/ConfirmModal--kX4RdFk.js","assets/x-DSPvcKpY.js","assets/trash-2-DhgLaJ_c.js","assets/log-out-DSwWLQA-.js","assets/LogoutActionButton-Js9om3fZ.js","assets/quizService-MwzPk14n.js","assets/loader-circle-kcw3SM4v.js","assets/send-D1NSm_uD.js","assets/circle-alert-_UGdorkr.js","assets/minus-FdgaZoCo.js","assets/plus-BqPmFcy0.js","assets/check-DXbjXZsm.js","assets/dialog-BJJiOR2B.js","assets/chart-column-D_9m8xSU.js","assets/skeleton-6_TnmEdc.js","assets/download-DWfJPUrU.js","assets/save-DTLT0-dh.js","assets/search-C5n5sv5I.js","assets/chevron-up-B9_iMYGp.js","assets/subjects-Cwbch54O.js","assets/circle-check-big-5ddhW4zc.js","assets/user-BXAf0Aum.js","assets/chevron-right-BKVsZIKp.js","assets/ChatMarkdown-BoigvQ2c.js","assets/vendor-markdown-C5ikSDMA.js","assets/vendor-markdown-CBmFCdgC.css","assets/bell-CPMVIplR.js","assets/check-check-DgFAqf3A.js","assets/clock-C56zvyHw.js","assets/message-square-C0Ume0lR.js","assets/trophy-di6eNjuA.js","assets/target-DaU28Ow3.js","assets/calendar-BJy8dui2.js","assets/generateCategoricalChart-CiUYzAvW.js","assets/pen-line-BrNinh8A.js","assets/AdminDashboard-C6SAt4d-.js","assets/Sidebar-o2bWY_8O.js","assets/tooltip-D9lDiW9U.js","assets/shield-U0fpKH0K.js","assets/swords-DXWdiz6s.js","assets/shirt-Bw3DfDxH.js","assets/select-LT8ybtB9.js","assets/circle-help-CByYbu6M.js","assets/switch-DbjIWZtF.js","assets/trending-down-DhwTMb31.js","assets/HeroBanner-h-p9WeQe.js","assets/RightSidebar-ZeBX_x2u.js","assets/star-CX9mS3Me.js","assets/XPNotification-XhraxJ7G.js","assets/NotificationCenter-DwfKrdw2.js","assets/SearchBar-CXXu3t8J.js","assets/SupplementalBanner-CI0k5FtZ.js","assets/LearningPath-DlUcYiIS.js","assets/ModuleFolderCard-Z8brsNEm.js","assets/CompetencyRadarChart-Dw0s090i.js","assets/ModulesPage-QYg9jqb4.js","assets/confetti.module-C94ZD2ww.js","assets/ScientificCalculator-1iS2ZTqh.js","assets/MathAnswerInput-BCqSwAnE.js","assets/AIChatPage-BnPgCn4P.js","assets/GradesPage-NucBV7D9.js","assets/LeaderboardPage-CjX6Lh56.js","assets/QuizBattlePage-BL6YOo4B.js","assets/CompositeAvatar-DHpmR1ki.js","assets/avatarData-DykDiQ_Y.js","assets/tabs-BJVl1n4R.js","assets/AvatarShop-Dj-BWVeS.js","assets/FloatingAITutor-C31CfNiH.js","assets/RewardsModal-DVcgjCVB.js","assets/ProfileModal-CZ6-Hci5.js","assets/globe-CTl9V8GV.js","assets/SettingsModal-BSwXYND2.js","assets/DiagnosticAssessmentModal-B520o5zz.js","assets/testResetService-DvKskSa6.js","assets/index-BndPkP2C.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/automationService-1THdsq3v.js","assets/vendor-firebase-firestore-CkuVbeP5.js","assets/vendor-firebase-core-DQ-pMjxd.js","assets/vendor-react-Dexh7fmo.js","assets/vendor-firebase-auth-COrkgW0P.js","assets/vendor-firebase-storage-BOeKE_0n.js","assets/vendor-firebase-analytics-CCo6E2f7.js","assets/apiService-BuaHZ1Ho.js","assets/chatService-tsfogjaC.js","assets/LoginPage-BTBes4zQ.js","assets/button-DWdPuxDU.js","assets/vendor-radix-B-ht8aK0.js","assets/clsx-B-dksMZM.js","assets/utils-BQQgILNW.js","assets/input-DBkKXOmF.js","assets/sparkles-DxmNHQEo.js","assets/brain-DHmY5cbv.js","assets/trending-up-B2MPUPwk.js","assets/award-DpLN2BvV.js","assets/users-BRS21lR4.js","assets/graduation-cap-Cr-ek4Bs.js","assets/book-open-B5Xvd1JL.js","assets/mail-D-r4ZWDN.js","assets/lock-C6XEepuP.js","assets/eye-off-DCr0gD8u.js","assets/eye-pSTVqBYO.js","assets/shield-check-B-VFrdlh.js","assets/TeacherDashboard-CtdIzfjb.js","assets/ConfirmModal-B9CUrvQP.js","assets/x-Bj25rnWX.js","assets/trash-2-CBQVcuBL.js","assets/log-out-DYYu4gFF.js","assets/LogoutActionButton-D-8gok3U.js","assets/quizService-BkrCeM05.js","assets/loader-circle-BUf2fYcT.js","assets/send-nCgvy9cZ.js","assets/circle-alert-D8UKyVHS.js","assets/minus-BjTBUAx2.js","assets/plus-DVCmopn-.js","assets/check-BONc3QkK.js","assets/dialog-C0Vo-dln.js","assets/chart-column-CJzwyNMx.js","assets/skeleton-DgVR4gS7.js","assets/download-DINpalm9.js","assets/save-B5SCmCsP.js","assets/search-O5gEqRZi.js","assets/chevron-up-BJyzaJs7.js","assets/subjects-DDYtJwQO.js","assets/circle-check-big-mv2CRLCE.js","assets/user-Br5UzORP.js","assets/chevron-right-DxXkA9aZ.js","assets/ChatMarkdown-BI4vbcO7.js","assets/vendor-markdown-C5ikSDMA.js","assets/vendor-markdown-CBmFCdgC.css","assets/bell-DeNrtKrI.js","assets/check-check-BDU3hkDf.js","assets/clock-qHFbMxrB.js","assets/message-square-DIXhbelM.js","assets/trophy-73YPSH67.js","assets/target-7Gevl8jn.js","assets/calendar-19p2TrVX.js","assets/generateCategoricalChart-CiUYzAvW.js","assets/pen-line-CX1xh2Q2.js","assets/AdminDashboard-uzlVc26h.js","assets/Sidebar-BH3yU0R9.js","assets/tooltip-D9lDiW9U.js","assets/shield-Cin8984_.js","assets/swords-Bn50CmyM.js","assets/shirt-C4Gsu12G.js","assets/select-CH9gS87N.js","assets/circle-help-BOZYr6oH.js","assets/switch-DbjIWZtF.js","assets/trending-down-C7JHnrbb.js","assets/HeroBanner-DgRlQubI.js","assets/RightSidebar-kfU04N_d.js","assets/star-DqP0S0c5.js","assets/XPNotification-DOZFX3ET.js","assets/NotificationCenter-l7IdH4wu.js","assets/SearchBar-DYN0WTzx.js","assets/SupplementalBanner-COM6ABNZ.js","assets/LearningPath-CTKb6bQc.js","assets/ModuleFolderCard-BGJM_1PJ.js","assets/CompetencyRadarChart-Bv4P4qFs.js","assets/ModulesPage-C8056uyx.js","assets/confetti.module-C94ZD2ww.js","assets/ScientificCalculator-BP-XvW_h.js","assets/MathAnswerInput-Bx58557t.js","assets/AIChatPage-DDSYPYxd.js","assets/GradesPage-BIf0hX4r.js","assets/LeaderboardPage-C97hWKsZ.js","assets/QuizBattlePage-BhgM4TWz.js","assets/CompositeAvatar-CphZ-OWw.js","assets/avatarData-DykDiQ_Y.js","assets/tabs-BJVl1n4R.js","assets/AvatarShop-D-gwLcZq.js","assets/FloatingAITutor-DYvlvoVe.js","assets/RewardsModal-CtOcWG3R.js","assets/ProfileModal-CvubwvbT.js","assets/globe-CA6LY_zw.js","assets/SettingsModal-BFFZzSRx.js","assets/DiagnosticAssessmentModal-BoOvPWwv.js","assets/testResetService-Bzfj9Z1A.js","assets/index-6qUCYOVY.css"])))=>i.map(i=>d[i]); import{r as h,j as m,c as E,b as Tl,e as Pl}from"./vendor-react-Dexh7fmo.js";import{g as Al,G as El,c as Cl,u as Dl,s as Rl,a as kl,d as Ml,b as Ll,o as Il}from"./vendor-firebase-auth-COrkgW0P.js";import{R as Vl,T as _l,U as jl,V as Nl}from"./vendor-firebase-core-DQ-pMjxd.js";import{g as Ol,d as se,s as He,a as he,b as ke,c as Fl,w as Oe,o as tn,l as nn,q as rt,e as We,f as xo,h as un,u as Bt,i as Bl,j as Fn}from"./vendor-firebase-firestore-CkuVbeP5.js";import{g as $l}from"./vendor-firebase-storage-BOeKE_0n.js";import{g as zl}from"./vendor-firebase-analytics-CCo6E2f7.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();const Ul="modulepreload",Wl=function(e){return"/"+e},zi={},H=function(t,n,s){let i=Promise.resolve();if(n&&n.length>0){let r=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),c=a?.nonce||a?.getAttribute("nonce");i=r(n.map(u=>{if(u=Wl(u),u in zi)return;zi[u]=!0;const d=u.endsWith(".css"),l=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${l}`))return;const f=document.createElement("link");if(f.rel=d?"stylesheet":Ul,d||(f.as="script"),f.crossOrigin="",f.href=u,c&&f.setAttribute("nonce",c),document.head.appendChild(f),d)return new Promise((p,g)=>{f.addEventListener("load",p),f.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${u}`)))})}))}function o(r){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=r,window.dispatchEvent(a),!a.defaultPrevented)throw r}return i.then(r=>{for(const a of r||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},ii=h.createContext({});function ri(e){const t=h.useRef(null);return t.current===null&&(t.current=e()),t.current}const wo=typeof window<"u",So=wo?h.useLayoutEffect:h.useEffect,Gn=h.createContext(null);function oi(e,t){e.indexOf(t)===-1&&e.push(t)}function Bn(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const Qe=(e,t,n)=>n>t?t:n{};const Je={},To=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Po(e){return typeof e=="object"&&e!==null}const Ao=e=>/^0[^.\s]+$/u.test(e);function li(e){let t;return()=>(t===void 0&&(t=e()),t)}const Fe=e=>e,Hl=(e,t)=>n=>t(e(n)),dn=(...e)=>e.reduce(Hl),sn=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s};class ci{constructor(){this.subscriptions=[]}add(t){return oi(this.subscriptions,t),()=>Bn(this.subscriptions,t)}notify(t,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,s);else for(let o=0;oe*1e3,Ne=e=>e/1e3;function Eo(e,t){return t?e*(1e3/t):0}const Co=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,ql=1e-7,Kl=12;function Gl(e,t,n,s,i){let o,r,a=0;do r=t+(n-t)/2,o=Co(r,s,i)-e,o>0?n=r:t=r;while(Math.abs(o)>ql&&++aGl(o,0,1,e,n);return o=>o===0||o===1?o:Co(i(o),t,s)}const Do=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ro=e=>t=>1-e(1-t),ko=fn(.33,1.53,.69,.99),ui=Ro(ko),Mo=Do(ui),Lo=e=>(e*=2)<1?.5*ui(e):.5*(2-Math.pow(2,-10*(e-1))),di=e=>1-Math.sin(Math.acos(e)),Io=Ro(di),Vo=Do(di),Xl=fn(.42,0,1,1),Yl=fn(0,0,.58,1),_o=fn(.42,0,.58,1),Ql=e=>Array.isArray(e)&&typeof e[0]!="number",jo=e=>Array.isArray(e)&&typeof e[0]=="number",Zl={linear:Fe,easeIn:Xl,easeInOut:_o,easeOut:Yl,circIn:di,circInOut:Vo,circOut:Io,backIn:ui,backInOut:Mo,backOut:ko,anticipate:Lo},Jl=e=>typeof e=="string",Ui=e=>{if(jo(e)){ai(e.length===4);const[t,n,s,i]=e;return fn(t,n,s,i)}else if(Jl(e))return Zl[e];return e},Sn=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function ec(e,t){let n=new Set,s=new Set,i=!1,o=!1;const r=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function c(d){r.has(d)&&(u.schedule(d),e()),d(a)}const u={schedule:(d,l=!1,f=!1)=>{const g=f&&i?n:s;return l&&r.add(d),g.has(d)||g.add(d),d},cancel:d=>{s.delete(d),r.delete(d)},process:d=>{if(a=d,i){o=!0;return}i=!0,[n,s]=[s,n],n.forEach(c),n.clear(),i=!1,o&&(o=!1,u.process(d))}};return u}const tc=40;function No(e,t){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,r=Sn.reduce((y,b)=>(y[b]=ec(o),y),{}),{setup:a,read:c,resolveKeyframes:u,preUpdate:d,update:l,preRender:f,render:p,postRender:g}=r,w=()=>{const y=Je.useManualTiming?i.timestamp:performance.now();n=!1,Je.useManualTiming||(i.delta=s?1e3/60:Math.max(Math.min(y-i.timestamp,tc),1)),i.timestamp=y,i.isProcessing=!0,a.process(i),c.process(i),u.process(i),d.process(i),l.process(i),f.process(i),p.process(i),g.process(i),i.isProcessing=!1,n&&t&&(s=!1,e(w))},T=()=>{n=!0,s=!0,i.isProcessing||e(w)};return{schedule:Sn.reduce((y,b)=>{const P=r[b];return y[b]=(S,I=!1,x=!1)=>(n||T(),P.schedule(S,I,x)),y},{}),cancel:y=>{for(let b=0;b(kn===void 0&&Te.set(me.isProcessing||Je.useManualTiming?me.timestamp:performance.now()),kn),set:e=>{kn=e,queueMicrotask(nc)}},Oo=e=>t=>typeof t=="string"&&t.startsWith(e),Fo=Oo("--"),sc=Oo("var(--"),fi=e=>sc(e)?ic.test(e.split("/*")[0].trim()):!1,ic=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Wi(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const $t={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},rn={...$t,transform:e=>Qe(0,1,e)},Tn={...$t,default:1},Qt=e=>Math.round(e*1e5)/1e5,hi=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function rc(e){return e==null}const oc=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,pi=(e,t)=>n=>!!(typeof n=="string"&&oc.test(n)&&n.startsWith(e)||t&&!rc(n)&&Object.prototype.hasOwnProperty.call(n,t)),Bo=(e,t,n)=>s=>{if(typeof s!="string")return s;const[i,o,r,a]=s.match(hi);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(r),alpha:a!==void 0?parseFloat(a):1}},ac=e=>Qe(0,255,e),rs={...$t,transform:e=>Math.round(ac(e))},vt={test:pi("rgb","red"),parse:Bo("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+rs.transform(e)+", "+rs.transform(t)+", "+rs.transform(n)+", "+Qt(rn.transform(s))+")"};function lc(e){let t="",n="",s="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,s+=s,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const Rs={test:pi("#"),parse:lc,transform:vt.transform},hn=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),st=hn("deg"),Ye=hn("%"),k=hn("px"),cc=hn("vh"),uc=hn("vw"),Hi={...Ye,parse:e=>Ye.parse(e)/100,transform:e=>Ye.transform(e*100)},Lt={test:pi("hsl","hue"),parse:Bo("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+Ye.transform(Qt(t))+", "+Ye.transform(Qt(n))+", "+Qt(rn.transform(s))+")"},ce={test:e=>vt.test(e)||Rs.test(e)||Lt.test(e),parse:e=>vt.test(e)?vt.parse(e):Lt.test(e)?Lt.parse(e):Rs.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?vt.transform(e):Lt.transform(e),getAnimatableNone:e=>{const t=ce.parse(e);return t.alpha=0,ce.transform(t)}},dc=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function fc(e){return isNaN(e)&&typeof e=="string"&&(e.match(hi)?.length||0)+(e.match(dc)?.length||0)>0}const $o="number",zo="color",hc="var",pc="var(",qi="${}",mc=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function on(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},i=[];let o=0;const a=t.replace(mc,c=>(ce.test(c)?(s.color.push(o),i.push(zo),n.push(ce.parse(c))):c.startsWith(pc)?(s.var.push(o),i.push(hc),n.push(c)):(s.number.push(o),i.push($o),n.push(parseFloat(c))),++o,qi)).split(qi);return{values:n,split:a,indexes:s,types:i}}function Uo(e){return on(e).values}function Wo(e){const{split:t,types:n}=on(e),s=t.length;return i=>{let o="";for(let r=0;rtypeof e=="number"?0:ce.test(e)?ce.getAnimatableNone(e):e;function yc(e){const t=Uo(e);return Wo(e)(t.map(gc))}const at={test:fc,parse:Uo,createTransformer:Wo,getAnimatableNone:yc};function os(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function vc({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let i=0,o=0,r=0;if(!t)i=o=r=n;else{const a=n<.5?n*(1+t):n+t-n*t,c=2*n-a;i=os(c,a,e+1/3),o=os(c,a,e),r=os(c,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(r*255),alpha:s}}function $n(e,t){return n=>n>0?t:e}const Z=(e,t,n)=>e+(t-e)*n,as=(e,t,n)=>{const s=e*e,i=n*(t*t-s)+s;return i<0?0:Math.sqrt(i)},bc=[Rs,vt,Lt],xc=e=>bc.find(t=>t.test(e));function Ki(e){const t=xc(e);if(!t)return!1;let n=t.parse(e);return t===Lt&&(n=vc(n)),n}const Gi=(e,t)=>{const n=Ki(e),s=Ki(t);if(!n||!s)return $n(e,t);const i={...n};return o=>(i.red=as(n.red,s.red,o),i.green=as(n.green,s.green,o),i.blue=as(n.blue,s.blue,o),i.alpha=Z(n.alpha,s.alpha,o),vt.transform(i))},ks=new Set(["none","hidden"]);function wc(e,t){return ks.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Sc(e,t){return n=>Z(e,t,n)}function mi(e){return typeof e=="number"?Sc:typeof e=="string"?fi(e)?$n:ce.test(e)?Gi:Ac:Array.isArray(e)?Ho:typeof e=="object"?ce.test(e)?Gi:Tc:$n}function Ho(e,t){const n=[...e],s=n.length,i=e.map((o,r)=>mi(o)(o,t[r]));return o=>{for(let r=0;r{for(const o in s)n[o]=s[o](i);return n}}function Pc(e,t){const n=[],s={color:0,var:0,number:0};for(let i=0;i{const n=at.createTransformer(t),s=on(e),i=on(t);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?ks.has(e)&&!i.values.length||ks.has(t)&&!s.values.length?wc(e,t):dn(Ho(Pc(s,i),i.values),n):$n(e,t)};function qo(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?Z(e,t,n):mi(e)(e,t)}const Ec=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>Y.update(t,n),stop:()=>ot(t),now:()=>me.isProcessing?me.timestamp:Te.now()}},Ko=(e,t,n=10)=>{let s="";const i=Math.max(Math.round(t/n),2);for(let o=0;o=zn?1/0:t}function Cc(e,t=100,n){const s=n({...e,keyframes:[0,t]}),i=Math.min(gi(s),zn);return{type:"keyframes",ease:o=>s.next(i*o).value/t,duration:Ne(i)}}const Dc=5;function Go(e,t,n){const s=Math.max(t-Dc,0);return Eo(n-e(s),t-s)}const ne={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},ls=.001;function Rc({duration:e=ne.duration,bounce:t=ne.bounce,velocity:n=ne.velocity,mass:s=ne.mass}){let i,o,r=1-t;r=Qe(ne.minDamping,ne.maxDamping,r),e=Qe(ne.minDuration,ne.maxDuration,Ne(e)),r<1?(i=u=>{const d=u*r,l=d*e,f=d-n,p=Ms(u,r),g=Math.exp(-l);return ls-f/p*g},o=u=>{const l=u*r*e,f=l*n+n,p=Math.pow(r,2)*Math.pow(u,2)*e,g=Math.exp(-l),w=Ms(Math.pow(u,2),r);return(-i(u)+ls>0?-1:1)*((f-p)*g)/w}):(i=u=>{const d=Math.exp(-u*e),l=(u-n)*e+1;return-ls+d*l},o=u=>{const d=Math.exp(-u*e),l=(n-u)*(e*e);return d*l});const a=5/e,c=Mc(i,o,a);if(e=Ue(e),isNaN(c))return{stiffness:ne.stiffness,damping:ne.damping,duration:e};{const u=Math.pow(c,2)*s;return{stiffness:u,damping:r*2*Math.sqrt(s*u),duration:e}}}const kc=12;function Mc(e,t,n){let s=n;for(let i=1;ie[n]!==void 0)}function Vc(e){let t={velocity:ne.velocity,stiffness:ne.stiffness,damping:ne.damping,mass:ne.mass,isResolvedFromDuration:!1,...e};if(!Xi(e,Ic)&&Xi(e,Lc))if(e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),i=s*s,o=2*Qe(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:ne.mass,stiffness:i,damping:o}}else{const n=Rc(e);t={...t,...n,mass:ne.mass},t.isResolvedFromDuration=!0}return t}function Un(e=ne.visualDuration,t=ne.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:i}=n;const o=n.keyframes[0],r=n.keyframes[n.keyframes.length-1],a={done:!1,value:o},{stiffness:c,damping:u,mass:d,duration:l,velocity:f,isResolvedFromDuration:p}=Vc({...n,velocity:-Ne(n.velocity||0)}),g=f||0,w=u/(2*Math.sqrt(c*d)),T=r-o,v=Ne(Math.sqrt(c/d)),A=Math.abs(T)<5;s||(s=A?ne.restSpeed.granular:ne.restSpeed.default),i||(i=A?ne.restDelta.granular:ne.restDelta.default);let y;if(w<1){const P=Ms(v,w);y=S=>{const I=Math.exp(-w*v*S);return r-I*((g+w*v*T)/P*Math.sin(P*S)+T*Math.cos(P*S))}}else if(w===1)y=P=>r-Math.exp(-v*P)*(T+(g+v*T)*P);else{const P=v*Math.sqrt(w*w-1);y=S=>{const I=Math.exp(-w*v*S),x=Math.min(P*S,300);return r-I*((g+w*v*T)*Math.sinh(x)+P*T*Math.cosh(x))/P}}const b={calculatedDuration:p&&l||null,next:P=>{const S=y(P);if(p)a.done=P>=l;else{let I=P===0?g:0;w<1&&(I=P===0?Ue(g):Go(y,P,S));const x=Math.abs(I)<=s,R=Math.abs(r-S)<=i;a.done=x&&R}return a.value=a.done?r:S,a},toString:()=>{const P=Math.min(gi(b),zn),S=Ko(I=>b.next(P*I).value,P,30);return P+"ms "+S},toTransition:()=>{}};return b}Un.applyToOptions=e=>{const t=Cc(e,100,Un);return e.ease=t.ease,e.duration=Ue(t.duration),e.type="keyframes",e};function Ls({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:r,min:a,max:c,restDelta:u=.5,restSpeed:d}){const l=e[0],f={done:!1,value:l},p=x=>a!==void 0&&xc,g=x=>a===void 0?c:c===void 0||Math.abs(a-x)-w*Math.exp(-x/s),y=x=>v+A(x),b=x=>{const R=A(x),L=y(x);f.done=Math.abs(R)<=u,f.value=f.done?v:L};let P,S;const I=x=>{p(f.value)&&(P=x,S=Un({keyframes:[f.value,g(f.value)],velocity:Go(y,x,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return I(0),{calculatedDuration:null,next:x=>{let R=!1;return!S&&P===void 0&&(R=!0,b(x),I(x)),P!==void 0&&x>=P?S.next(x-P):(!R&&b(x),f)}}}function _c(e,t,n){const s=[],i=n||Je.mix||qo,o=e.length-1;for(let r=0;rt[0];if(o===2&&t[0]===t[1])return()=>t[1];const r=e[0]===e[1];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=_c(t,s,i),c=a.length,u=d=>{if(r&&d1)for(;lu(Qe(e[0],e[o-1],d)):u}function Nc(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const i=sn(0,t,s);e.push(Z(n,1,i))}}function Oc(e){const t=[0];return Nc(t,e.length-1),t}function Fc(e,t){return e.map(n=>n*t)}function Bc(e,t){return e.map(()=>t||_o).splice(0,e.length-1)}function Zt({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const i=Ql(s)?s.map(Ui):Ui(s),o={done:!1,value:t[0]},r=Fc(n&&n.length===t.length?n:Oc(t),e),a=jc(r,t,{ease:Array.isArray(i)?i:Bc(t,i)});return{calculatedDuration:e,next:c=>(o.value=a(c),o.done=c>=e,o)}}const $c=e=>e!==null;function yi(e,{repeat:t,repeatType:n="loop"},s,i=1){const o=e.filter($c),a=i<0||t&&n!=="loop"&&t%2===1?0:o.length-1;return!a||s===void 0?o[a]:s}const zc={decay:Ls,inertia:Ls,tween:Zt,keyframes:Zt,spring:Un};function Xo(e){typeof e.type=="string"&&(e.type=zc[e.type])}class vi{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const Uc=e=>e/100;class bi extends vi{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==Te.now()&&this.tick(Te.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;Xo(t);const{type:n=Zt,repeat:s=0,repeatDelay:i=0,repeatType:o,velocity:r=0}=t;let{keyframes:a}=t;const c=n||Zt;c!==Zt&&typeof a[0]!="number"&&(this.mixKeyframes=dn(Uc,qo(a[0],a[1])),a=[0,100]);const u=c({...t,keyframes:a});o==="mirror"&&(this.mirroredGenerator=c({...t,keyframes:[...a].reverse(),velocity:-r})),u.calculatedDuration===null&&(u.calculatedDuration=gi(u));const{calculatedDuration:d}=u;this.calculatedDuration=d,this.resolvedDuration=d+i,this.totalDuration=this.resolvedDuration*(s+1)-i,this.generator=u}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:s,totalDuration:i,mixKeyframes:o,mirroredGenerator:r,resolvedDuration:a,calculatedDuration:c}=this;if(this.startTime===null)return s.next(0);const{delay:u=0,keyframes:d,repeat:l,repeatType:f,repeatDelay:p,type:g,onUpdate:w,finalKeyframe:T}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const v=this.currentTime-u*(this.playbackSpeed>=0?1:-1),A=this.playbackSpeed>=0?v<0:v>i;this.currentTime=Math.max(v,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let y=this.currentTime,b=s;if(l){const x=Math.min(this.currentTime,i)/a;let R=Math.floor(x),L=x%1;!L&&x>=1&&(L=1),L===1&&R--,R=Math.min(R,l+1),!!(R%2)&&(f==="reverse"?(L=1-L,p&&(L-=p/a)):f==="mirror"&&(b=r)),y=Qe(0,1,L)*a}const P=A?{done:!1,value:d[0]}:b.next(y);o&&(P.value=o(P.value));let{done:S}=P;!A&&c!==null&&(S=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const I=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&S);return I&&g!==Ls&&(P.value=yi(d,this.options,T,this.speed)),w&&w(P.value),I&&this.finish(),P}then(t,n){return this.finished.then(t,n)}get duration(){return Ne(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ne(t)}get time(){return Ne(this.currentTime)}set time(t){t=Ue(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(Te.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Ne(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Ec,startTime:n}=this.options;this.driver||(this.driver=t(i=>this.tick(i))),this.options.onPlay?.();const s=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=s):this.holdTime!==null?this.startTime=s-this.holdTime:this.startTime||(this.startTime=n??s),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(Te.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function Wc(e){for(let t=1;te*180/Math.PI,Is=e=>{const t=bt(Math.atan2(e[1],e[0]));return Vs(t)},Hc={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Is,rotateZ:Is,skewX:e=>bt(Math.atan(e[1])),skewY:e=>bt(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},Vs=e=>(e=e%360,e<0&&(e+=360),e),Yi=Is,Qi=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Zi=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),qc={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Qi,scaleY:Zi,scale:e=>(Qi(e)+Zi(e))/2,rotateX:e=>Vs(bt(Math.atan2(e[6],e[5]))),rotateY:e=>Vs(bt(Math.atan2(-e[2],e[0]))),rotateZ:Yi,rotate:Yi,skewX:e=>bt(Math.atan(e[4])),skewY:e=>bt(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function _s(e){return e.includes("scale")?1:0}function js(e,t){if(!e||e==="none")return _s(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,i;if(n)s=qc,i=n;else{const a=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=Hc,i=a}if(!i)return _s(t);const o=s[t],r=i[1].split(",").map(Gc);return typeof o=="function"?o(r):r[o]}const Kc=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return js(n,t)};function Gc(e){return parseFloat(e.trim())}const zt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Ut=new Set(zt),Ji=e=>e===$t||e===k,Xc=new Set(["x","y","z"]),Yc=zt.filter(e=>!Xc.has(e));function Qc(e){const t=[];return Yc.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const it={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>js(t,"x"),y:(e,{transform:t})=>js(t,"y")};it.translateX=it.x;it.translateY=it.y;const xt=new Set;let Ns=!1,Os=!1,Fs=!1;function Yo(){if(Os){const e=Array.from(xt).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const i=Qc(s);i.length&&(n.set(s,i),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const i=n.get(s);i&&i.forEach(([o,r])=>{s.getValue(o)?.set(r)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}Os=!1,Ns=!1,xt.forEach(e=>e.complete(Fs)),xt.clear()}function Qo(){xt.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Os=!0)})}function Zc(){Fs=!0,Qo(),Yo(),Fs=!1}class xi{constructor(t,n,s,i,o,r=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=s,this.motionValue=i,this.element=o,this.isAsync=r}scheduleResolve(){this.state="scheduled",this.isAsync?(xt.add(this),Ns||(Ns=!0,Y.read(Qo),Y.resolveKeyframes(Yo))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:i}=this;if(t[0]===null){const o=i?.get(),r=t[t.length-1];if(o!==void 0)t[0]=o;else if(s&&n){const a=s.readValue(n,r);a!=null&&(t[0]=a)}t[0]===void 0&&(t[0]=r),i&&o===void 0&&i.set(t[0])}Wc(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),xt.delete(this)}cancel(){this.state==="scheduled"&&(xt.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const Jc=e=>e.startsWith("--");function eu(e,t,n){Jc(t)?e.style.setProperty(t,n):e.style[t]=n}const tu=li(()=>window.ScrollTimeline!==void 0),nu={};function su(e,t){const n=li(e);return()=>nu[t]??n()}const Zo=su(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Yt=([e,t,n,s])=>`cubic-bezier(${e}, ${t}, ${n}, ${s})`,er={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Yt([0,.65,.55,1]),circOut:Yt([.55,0,1,.45]),backIn:Yt([.31,.01,.66,-.59]),backOut:Yt([.33,1.53,.69,.99])};function Jo(e,t){if(e)return typeof e=="function"?Zo()?Ko(e,t):"ease-out":jo(e)?Yt(e):Array.isArray(e)?e.map(n=>Jo(n,t)||er.easeOut):er[e]}function iu(e,t,n,{delay:s=0,duration:i=300,repeat:o=0,repeatType:r="loop",ease:a="easeOut",times:c}={},u=void 0){const d={[t]:n};c&&(d.offset=c);const l=Jo(a,i);Array.isArray(l)&&(d.easing=l);const f={delay:s,duration:i,easing:Array.isArray(l)?"linear":l,fill:"both",iterations:o+1,direction:r==="reverse"?"alternate":"normal"};return u&&(f.pseudoElement=u),e.animate(d,f)}function ea(e){return typeof e=="function"&&"applyToOptions"in e}function ru({type:e,...t}){return ea(e)&&Zo()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class ta extends vi{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:n,name:s,keyframes:i,pseudoElement:o,allowFlatten:r=!1,finalKeyframe:a,onComplete:c}=t;this.isPseudoElement=!!o,this.allowFlatten=r,this.options=t,ai(typeof t.type!="string");const u=ru(t);this.animation=iu(n,s,i,u,o),u.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!o){const d=yi(i,this.options,a,this.speed);this.updateMotionValue?this.updateMotionValue(d):eu(n,s,d),this.animation.cancel()}c?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){const t=this.options?.element;!this.isPseudoElement&&t?.isConnected&&this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return Ne(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ne(t)}get time(){return Ne(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Ue(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&tu()?(this.animation.timeline=t,Fe):n(this)}}const na={anticipate:Lo,backInOut:Mo,circInOut:Vo};function ou(e){return e in na}function au(e){typeof e.ease=="string"&&ou(e.ease)&&(e.ease=na[e.ease])}const cs=10;class lu extends ta{constructor(t){au(t),Xo(t),super(t),t.startTime!==void 0&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:s,onComplete:i,element:o,...r}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const a=new bi({...r,autoplay:!1}),c=Math.max(cs,Te.now()-this.startTime),u=Qe(0,cs,c-cs);n.setWithVelocity(a.sample(Math.max(0,c-u)).value,a.sample(c).value,u),a.stop()}}const tr=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(at.test(e)||e==="0")&&!e.startsWith("url("));function cu(e){const t=e[0];if(e.length===1)return!0;for(let n=0;nObject.hasOwnProperty.call(Element.prototype,"animate"));function hu(e){const{motionValue:t,name:n,repeatDelay:s,repeatType:i,damping:o,type:r}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=t.owner.getProps();return fu()&&n&&du.has(n)&&(n!=="transform"||!u)&&!c&&!s&&i!=="mirror"&&o!==0&&r!=="inertia"}const pu=40;class mu extends vi{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:i=0,repeatDelay:o=0,repeatType:r="loop",keyframes:a,name:c,motionValue:u,element:d,...l}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=Te.now();const f={autoplay:t,delay:n,type:s,repeat:i,repeatDelay:o,repeatType:r,name:c,motionValue:u,element:d,...l},p=d?.KeyframeResolver||xi;this.keyframeResolver=new p(a,(g,w,T)=>this.onKeyframesResolved(g,w,f,!T),c,u,d),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,s,i){this.keyframeResolver=void 0;const{name:o,type:r,velocity:a,delay:c,isHandoff:u,onUpdate:d}=s;this.resolvedAt=Te.now(),uu(t,o,r,a)||((Je.instantAnimations||!c)&&d?.(yi(t,s,n)),t[0]=t[t.length-1],Bs(s),s.repeat=0);const f={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>pu?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...s,keyframes:t},p=!u&&hu(f),g=f.motionValue?.owner?.current,w=p?new lu({...f,element:g}):new bi(f);w.finished.then(()=>{this.notifyFinished()}).catch(Fe),this.pendingTimeline&&(this.stopTimeline=w.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=w}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Zc()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function sa(e,t,n,s=0,i=1){const o=Array.from(e).sort((u,d)=>u.sortNodePosition(d)).indexOf(t),r=e.size,a=(r-1)*s;return typeof n=="function"?n(o,r):i===1?o*s:a-o*s}const gu=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function yu(e){const t=gu.exec(e);if(!t)return[,];const[,n,s,i]=t;return[`--${n??s}`,i]}function ia(e,t,n=1){const[s,i]=yu(e);if(!s)return;const o=window.getComputedStyle(t).getPropertyValue(s);if(o){const r=o.trim();return To(r)?parseFloat(r):r}return fi(i)?ia(i,t,n+1):i}const vu={type:"spring",stiffness:500,damping:25,restSpeed:10},bu=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),xu={type:"keyframes",duration:.8},wu={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Su=(e,{keyframes:t})=>t.length>2?xu:Ut.has(e)?e.startsWith("scale")?bu(t[1]):vu:wu,Tu=e=>e!==null;function Pu(e,{repeat:t,repeatType:n="loop"},s){const i=e.filter(Tu),o=t&&n!=="loop"&&t%2===1?0:i.length-1;return i[o]}function ra(e,t){if(e?.inherit&&t){const{inherit:n,...s}=e;return{...t,...s}}return e}function wi(e,t){const n=e?.[t]??e?.default??e;return n!==e?ra(n,e):n}function Au({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:o,repeatType:r,repeatDelay:a,from:c,elapsed:u,...d}){return!!Object.keys(d).length}const Si=(e,t,n,s={},i,o)=>r=>{const a=wi(s,e)||{},c=a.delay||s.delay||0;let{elapsed:u=0}=s;u=u-Ue(c);const d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...a,delay:-u,onUpdate:f=>{t.set(f),a.onUpdate&&a.onUpdate(f)},onComplete:()=>{r(),a.onComplete&&a.onComplete()},name:e,motionValue:t,element:o?void 0:i};Au(a)||Object.assign(d,Su(e,d)),d.duration&&(d.duration=Ue(d.duration)),d.repeatDelay&&(d.repeatDelay=Ue(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let l=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(Bs(d),d.delay===0&&(l=!0)),(Je.instantAnimations||Je.skipAnimations||i?.shouldSkipAnimations)&&(l=!0,Bs(d),d.delay=0),d.allowFlatten=!a.type&&!a.ease,l&&!o&&t.get()!==void 0){const f=Pu(d.keyframes,a);if(f!==void 0){Y.update(()=>{d.onUpdate(f),d.onComplete()});return}}return a.isSync?new bi(d):new mu(d)};function nr(e){const t=[{},{}];return e?.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function Ti(e,t,n,s){if(typeof t=="function"){const[i,o]=nr(s);t=t(n!==void 0?n:e.custom,i,o)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,o]=nr(s);t=t(n!==void 0?n:e.custom,i,o)}return t}function Nt(e,t,n){const s=e.getProps();return Ti(s,t,n!==void 0?n:s.custom,e)}const oa=new Set(["width","height","top","left","right","bottom",...zt]),sr=30,Eu=e=>!isNaN(parseFloat(e));class Cu{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const i=Te.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=Te.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Eu(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new ci);const s=this.events[t].add(n);return t==="change"?()=>{s(),Y.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-s}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=Te.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>sr)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,sr);return Eo(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Ft(e,t){return new Cu(e,t)}const $s=e=>Array.isArray(e);function Du(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Ft(n))}function Ru(e){return $s(e)?e[e.length-1]||0:e}function ku(e,t){const n=Nt(e,t);let{transitionEnd:s={},transition:i={},...o}=n||{};o={...o,...s};for(const r in o){const a=Ru(o[r]);Du(e,r,a)}}const xe=e=>!!(e&&e.getVelocity);function Mu(e){return!!(xe(e)&&e.add)}function zs(e,t){const n=e.getValue("willChange");if(Mu(n))return n.add(t);if(!n&&Je.WillChange){const s=new Je.WillChange("auto");e.addValue("willChange",s),s.add(t)}}function Pi(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const Lu="framerAppearId",aa="data-"+Pi(Lu);function la(e){return e.props[aa]}function Iu({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function ca(e,t,{delay:n=0,transitionOverride:s,type:i}={}){let{transition:o,transitionEnd:r,...a}=t;const c=e.getDefaultTransition();o=o?ra(o,c):c;const u=o?.reduceMotion;s&&(o=s);const d=[],l=i&&e.animationState&&e.animationState.getState()[i];for(const f in a){const p=e.getValue(f,e.latestValues[f]??null),g=a[f];if(g===void 0||l&&Iu(l,f))continue;const w={delay:n,...wi(o||{},f)},T=p.get();if(T!==void 0&&!p.isAnimating&&!Array.isArray(g)&&g===T&&!w.velocity)continue;let v=!1;if(window.MotionHandoffAnimation){const b=la(e);if(b){const P=window.MotionHandoffAnimation(b,f,Y);P!==null&&(w.startTime=P,v=!0)}}zs(e,f);const A=u??e.shouldReduceMotion;p.start(Si(f,p,g,A&&oa.has(f)?{type:!1}:w,e,v));const y=p.animation;y&&d.push(y)}if(r){const f=()=>Y.update(()=>{r&&ku(e,r)});d.length?Promise.all(d).then(f):f()}return d}function Us(e,t,n={}){const s=Nt(e,t,n.type==="exit"?e.presenceContext?.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=s||{};n.transitionOverride&&(i=n.transitionOverride);const o=s?()=>Promise.all(ca(e,s,n)):()=>Promise.resolve(),r=e.variantChildren&&e.variantChildren.size?(c=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:l}=i;return Vu(e,t,c,u,d,l,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[c,u]=a==="beforeChildren"?[o,r]:[r,o];return c().then(()=>u())}else return Promise.all([o(),r(n.delay)])}function Vu(e,t,n=0,s=0,i=0,o=1,r){const a=[];for(const c of e.variantChildren)c.notify("AnimationStart",t),a.push(Us(c,t,{...r,delay:n+(typeof s=="function"?0:s)+sa(e.variantChildren,c,s,i,o)}).then(()=>c.notify("AnimationComplete",t)));return Promise.all(a)}function _u(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const i=t.map(o=>Us(e,o,n));s=Promise.all(i)}else if(typeof t=="string")s=Us(e,t,n);else{const i=typeof t=="function"?Nt(e,t,n.custom):t;s=Promise.all(ca(e,i,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}const ju={test:e=>e==="auto",parse:e=>e},ua=e=>t=>t.test(e),da=[$t,k,Ye,st,uc,cc,ju],ir=e=>da.find(ua(e));function Nu(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||Ao(e):!0}const Ou=new Set(["brightness","contrast","saturate","opacity"]);function Fu(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(hi)||[];if(!s)return e;const i=n.replace(s,"");let o=Ou.has(t)?1:0;return s!==n&&(o*=100),t+"("+o+i+")"}const Bu=/\b([a-z-]*)\(.*?\)/gu,Ws={...at,getAnimatableNone:e=>{const t=e.match(Bu);return t?t.map(Fu).join(" "):e}},rr={...$t,transform:Math.round},$u={rotate:st,rotateX:st,rotateY:st,rotateZ:st,scale:Tn,scaleX:Tn,scaleY:Tn,scaleZ:Tn,skew:st,skewX:st,skewY:st,distance:k,translateX:k,translateY:k,translateZ:k,x:k,y:k,z:k,perspective:k,transformPerspective:k,opacity:rn,originX:Hi,originY:Hi,originZ:k},Ai={borderWidth:k,borderTopWidth:k,borderRightWidth:k,borderBottomWidth:k,borderLeftWidth:k,borderRadius:k,borderTopLeftRadius:k,borderTopRightRadius:k,borderBottomRightRadius:k,borderBottomLeftRadius:k,width:k,maxWidth:k,height:k,maxHeight:k,top:k,right:k,bottom:k,left:k,inset:k,insetBlock:k,insetBlockStart:k,insetBlockEnd:k,insetInline:k,insetInlineStart:k,insetInlineEnd:k,padding:k,paddingTop:k,paddingRight:k,paddingBottom:k,paddingLeft:k,paddingBlock:k,paddingBlockStart:k,paddingBlockEnd:k,paddingInline:k,paddingInlineStart:k,paddingInlineEnd:k,margin:k,marginTop:k,marginRight:k,marginBottom:k,marginLeft:k,marginBlock:k,marginBlockStart:k,marginBlockEnd:k,marginInline:k,marginInlineStart:k,marginInlineEnd:k,fontSize:k,backgroundPositionX:k,backgroundPositionY:k,...$u,zIndex:rr,fillOpacity:rn,strokeOpacity:rn,numOctaves:rr},zu={...Ai,color:ce,backgroundColor:ce,outlineColor:ce,fill:ce,stroke:ce,borderColor:ce,borderTopColor:ce,borderRightColor:ce,borderBottomColor:ce,borderLeftColor:ce,filter:Ws,WebkitFilter:Ws},fa=e=>zu[e];function ha(e,t){let n=fa(e);return n!==Ws&&(n=at),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Uu=new Set(["auto","none","0"]);function Wu(e,t,n){let s=0,i;for(;s{t.getValue(a).set(c)}),this.resolveNoneKeyframes()}}const qu=new Set(["opacity","clipPath","filter","transform"]);function pa(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){let s=document;const i=n?.[e]??s.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(s=>s!=null)}const ma=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function Hs(e){return Po(e)&&"offsetHeight"in e}const{schedule:Ei}=No(queueMicrotask,!1),ze={x:!1,y:!1};function ga(){return ze.x||ze.y}function Ku(e){return e==="x"||e==="y"?ze[e]?null:(ze[e]=!0,()=>{ze[e]=!1}):ze.x||ze.y?null:(ze.x=ze.y=!0,()=>{ze.x=ze.y=!1})}function ya(e,t){const n=pa(e),s=new AbortController,i={passive:!0,...t,signal:s.signal};return[n,i,()=>s.abort()]}function Gu(e){return!(e.pointerType==="touch"||ga())}function Xu(e,t,n={}){const[s,i,o]=ya(e,n);return s.forEach(r=>{let a=!1,c=!1,u;const d=()=>{r.removeEventListener("pointerleave",g)},l=T=>{u&&(u(T),u=void 0),d()},f=T=>{a=!1,window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",f),c&&(c=!1,l(T))},p=()=>{a=!0,window.addEventListener("pointerup",f,i),window.addEventListener("pointercancel",f,i)},g=T=>{if(T.pointerType!=="touch"){if(a){c=!0;return}l(T)}},w=T=>{if(!Gu(T))return;c=!1;const v=t(r,T);typeof v=="function"&&(u=v,r.addEventListener("pointerleave",g,i))};r.addEventListener("pointerenter",w,i),r.addEventListener("pointerdown",p,i)}),o}const va=(e,t)=>t?e===t?!0:va(e,t.parentElement):!1,Ci=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,Yu=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Qu(e){return Yu.has(e.tagName)||e.isContentEditable===!0}const Zu=new Set(["INPUT","SELECT","TEXTAREA"]);function Ju(e){return Zu.has(e.tagName)||e.isContentEditable===!0}const Mn=new WeakSet;function or(e){return t=>{t.key==="Enter"&&e(t)}}function us(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const ed=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=or(()=>{if(Mn.has(n))return;us(n,"down");const i=or(()=>{us(n,"up")}),o=()=>us(n,"cancel");n.addEventListener("keyup",i,t),n.addEventListener("blur",o,t)});n.addEventListener("keydown",s,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),t)};function ar(e){return Ci(e)&&!ga()}const lr=new WeakSet;function td(e,t,n={}){const[s,i,o]=ya(e,n),r=a=>{const c=a.currentTarget;if(!ar(a)||lr.has(a))return;Mn.add(c),n.stopPropagation&&lr.add(a);const u=t(c,a),d=(p,g)=>{window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",f),Mn.has(c)&&Mn.delete(c),ar(p)&&typeof u=="function"&&u(p,{success:g})},l=p=>{d(p,c===window||c===document||n.useGlobalTarget||va(c,p.target))},f=p=>{d(p,!1)};window.addEventListener("pointerup",l,i),window.addEventListener("pointercancel",f,i)};return s.forEach(a=>{(n.useGlobalTarget?window:a).addEventListener("pointerdown",r,i),Hs(a)&&(a.addEventListener("focus",u=>ed(u,i)),!Qu(a)&&!a.hasAttribute("tabindex")&&(a.tabIndex=0))}),o}function Di(e){return Po(e)&&"ownerSVGElement"in e}const Ln=new WeakMap;let In;const ba=(e,t,n)=>(s,i)=>i&&i[0]?i[0][e+"Size"]:Di(s)&&"getBBox"in s?s.getBBox()[t]:s[n],nd=ba("inline","width","offsetWidth"),sd=ba("block","height","offsetHeight");function id({target:e,borderBoxSize:t}){Ln.get(e)?.forEach(n=>{n(e,{get width(){return nd(e,t)},get height(){return sd(e,t)}})})}function rd(e){e.forEach(id)}function od(){typeof ResizeObserver>"u"||(In=new ResizeObserver(rd))}function ad(e,t){In||od();const n=pa(e);return n.forEach(s=>{let i=Ln.get(s);i||(i=new Set,Ln.set(s,i)),i.add(t),In?.observe(s)}),()=>{n.forEach(s=>{const i=Ln.get(s);i?.delete(t),i?.size||In?.unobserve(s)})}}const Vn=new Set;let It;function ld(){It=()=>{const e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Vn.forEach(t=>t(e))},window.addEventListener("resize",It)}function cd(e){return Vn.add(e),It||ld(),()=>{Vn.delete(e),!Vn.size&&typeof It=="function"&&(window.removeEventListener("resize",It),It=void 0)}}function cr(e,t){return typeof e=="function"?cd(e):ad(e,t)}function ud(e){return Di(e)&&e.tagName==="svg"}const dd=[...da,ce,at],fd=e=>dd.find(ua(e)),ur=()=>({translate:0,scale:1,origin:0,originPoint:0}),Vt=()=>({x:ur(),y:ur()}),dr=()=>({min:0,max:0}),de=()=>({x:dr(),y:dr()}),hd=new WeakMap;function Xn(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function an(e){return typeof e=="string"||Array.isArray(e)}const Ri=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],ki=["initial",...Ri];function Yn(e){return Xn(e.animate)||ki.some(t=>an(e[t]))}function xa(e){return!!(Yn(e)||e.variants)}function pd(e,t,n){for(const s in t){const i=t[s],o=n[s];if(xe(i))e.addValue(s,i);else if(xe(o))e.addValue(s,Ft(i,{owner:e}));else if(o!==i)if(e.hasValue(s)){const r=e.getValue(s);r.liveStyle===!0?r.jump(i):r.hasAnimated||r.set(i)}else{const r=e.getStaticValue(s);e.addValue(s,Ft(r!==void 0?r:i,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const qs={current:null},wa={current:!1},md=typeof window<"u";function gd(){if(wa.current=!0,!!md)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>qs.current=e.matches;e.addEventListener("change",t),t()}else qs.current=!1}const fr=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let Wn={};function Sa(e){Wn=e}function yd(){return Wn}class vd{scrapeMotionValuesFromProps(t,n,s){return{}}constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:i,skipAnimations:o,blockInitialAnimation:r,visualState:a},c={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=xi,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const p=Te.now();this.renderScheduledAtthis.bindToMotionValue(s,n)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(wa.current||gd(),this.shouldReduceMotion=qs.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),ot(this.notifyUpdate),ot(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const t in this.events)this.events[t].clear();for(const t in this.features){const n=this.features[t];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,n){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),n.accelerate&&qu.has(t)&&this.current instanceof HTMLElement){const{factory:r,keyframes:a,times:c,ease:u,duration:d}=n.accelerate,l=new ta({element:this.current,name:t,keyframes:a,times:c,ease:u,duration:Ue(d)}),f=r(l);this.valueSubscriptions.set(t,()=>{f(),l.cancel()});return}const s=Ut.has(t);s&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",r=>{this.latestValues[t]=r,this.props.onUpdate&&Y.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let o;typeof window<"u"&&window.MotionCheckAppearSync&&(o=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),o&&o(),n.owner&&n.stop()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in Wn){const n=Wn[t];if(!n)continue;const{isEnabled:s,Feature:i}=n;if(!this.features[t]&&i&&s(this.props)&&(this.features[t]=new i(this)),this.features[t]){const o=this.features[t];o.isMounted?o.update():(o.mount(),o.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):de()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;sn.variantChildren.delete(t)}addValue(t,n){const s=this.values.get(t);n!==s&&(s&&this.removeValue(t),this.bindToMotionValue(t,n),this.values.set(t,n),this.latestValues[t]=n.get())}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let s=this.values.get(t);return s===void 0&&n!==void 0&&(s=Ft(n===null?void 0:n,{owner:this}),this.addValue(t,s)),s}readValue(t,n){let s=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return s!=null&&(typeof s=="string"&&(To(s)||Ao(s))?s=parseFloat(s):!fd(s)&&at.test(n)&&(s=ha(t,n)),this.setBaseTarget(t,xe(s)?s.get():s)),xe(s)?s.get():s}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const o=Ti(this.props,n,this.presenceContext?.custom);o&&(s=o[t])}if(n&&s!==void 0)return s;const i=this.getBaseTargetFromProps(this.props,t);return i!==void 0&&!xe(i)?i:this.initialValues[t]!==void 0&&s===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new ci),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){Ei.render(this.render)}}class Ta extends vd{constructor(){super(...arguments),this.KeyframeResolver=Hu}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){const s=t.style;return s?s[n]:void 0}removeValueFromRenderState(t,{vars:n,style:s}){delete n[t],delete s[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;xe(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}class ct{constructor(t){this.isMounted=!1,this.node=t}update(){}}function Pa({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function bd({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function xd(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function ds(e){return e===void 0||e===1}function Ks({scale:e,scaleX:t,scaleY:n}){return!ds(e)||!ds(t)||!ds(n)}function yt(e){return Ks(e)||Aa(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Aa(e){return hr(e.x)||hr(e.y)}function hr(e){return e&&e!=="0%"}function Hn(e,t,n){const s=e-n,i=t*s;return n+i}function pr(e,t,n,s,i){return i!==void 0&&(e=Hn(e,i,s)),Hn(e,n,s)+t}function Gs(e,t=0,n=1,s,i){e.min=pr(e.min,t,n,s,i),e.max=pr(e.max,t,n,s,i)}function Ea(e,{x:t,y:n}){Gs(e.x,t.translate,t.scale,t.originPoint),Gs(e.y,n.translate,n.scale,n.originPoint)}const mr=.999999999999,gr=1.0000000000001;function wd(e,t,n,s=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,r;for(let a=0;amr&&(t.x=1),t.ymr&&(t.y=1)}function _t(e,t){e.min=e.min+t,e.max=e.max+t}function yr(e,t,n,s,i=.5){const o=Z(e.min,e.max,i);Gs(e,t,n,o,s)}function jt(e,t){yr(e.x,t.x,t.scaleX,t.scale,t.originX),yr(e.y,t.y,t.scaleY,t.scale,t.originY)}function Ca(e,t){return Pa(xd(e.getBoundingClientRect(),t))}function Sd(e,t,n){const s=Ca(e,n),{scroll:i}=t;return i&&(_t(s.x,i.offset.x),_t(s.y,i.offset.y)),s}const Td={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Pd=zt.length;function Ad(e,t,n){let s="",i=!0;for(let o=0;o{if(!t.target)return e;if(typeof e=="string")if(k.test(e))e=parseFloat(e);else return e;const n=vr(e,t.target.x),s=vr(e,t.target.y);return`${n}% ${s}%`}},Ed={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,i=at.parse(e);if(i.length>5)return s;const o=at.createTransformer(e),r=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,c=n.y.scale*t.y;i[0+r]/=a,i[1+r]/=c;const u=Z(a,c,.5);return typeof i[2+r]=="number"&&(i[2+r]/=u),typeof i[3+r]=="number"&&(i[3+r]/=u),o(i)}},Xs={borderRadius:{...Gt,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Gt,borderTopRightRadius:Gt,borderBottomLeftRadius:Gt,borderBottomRightRadius:Gt,boxShadow:Ed};function Ra(e,{layout:t,layoutId:n}){return Ut.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!Xs[e]||e==="opacity")}function Li(e,t,n){const s=e.style,i=t?.style,o={};if(!s)return o;for(const r in s)(xe(s[r])||i&&xe(i[r])||Ra(r,e)||n?.getValue(r)?.liveStyle!==void 0)&&(o[r]=s[r]);return o}function Cd(e){return window.getComputedStyle(e)}class Dd extends Ta{constructor(){super(...arguments),this.type="html",this.renderInstance=Da}readValueFromInstance(t,n){if(Ut.has(n))return this.projection?.isProjecting?_s(n):Kc(t,n);{const s=Cd(t),i=(Fo(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ca(t,n)}build(t,n,s){Mi(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return Li(t,n,s)}}const Rd={offset:"stroke-dashoffset",array:"stroke-dasharray"},kd={offset:"strokeDashoffset",array:"strokeDasharray"};function Md(e,t,n=1,s=0,i=!0){e.pathLength=1;const o=i?Rd:kd;e[o.offset]=`${-s}`,e[o.array]=`${t} ${n}`}const Ld=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function ka(e,{attrX:t,attrY:n,attrScale:s,pathLength:i,pathSpacing:o=1,pathOffset:r=0,...a},c,u,d){if(Mi(e,a,u),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:l,style:f}=e;l.transform&&(f.transform=l.transform,delete l.transform),(f.transform||l.transformOrigin)&&(f.transformOrigin=l.transformOrigin??"50% 50%",delete l.transformOrigin),f.transform&&(f.transformBox=d?.transformBox??"fill-box",delete l.transformBox);for(const p of Ld)l[p]!==void 0&&(f[p]=l[p],delete l[p]);t!==void 0&&(l.x=t),n!==void 0&&(l.y=n),s!==void 0&&(l.scale=s),i!==void 0&&Md(l,i,o,r,!1)}const Ma=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),La=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Id(e,t,n,s){Da(e,t,void 0,s);for(const i in t.attrs)e.setAttribute(Ma.has(i)?i:Pi(i),t.attrs[i])}function Ia(e,t,n){const s=Li(e,t,n);for(const i in e)if(xe(e[i])||xe(t[i])){const o=zt.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;s[o]=e[i]}return s}class Vd extends Ta{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=de}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Ut.has(n)){const s=fa(n);return s&&s.default||0}return n=Ma.has(n)?n:Pi(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return Ia(t,n,s)}build(t,n,s){ka(t,n,this.isSVGTag,s.transformTemplate,s.style)}renderInstance(t,n,s,i){Id(t,n,s,i)}mount(t){this.isSVGTag=La(t.tagName),super.mount(t)}}const _d=ki.length;function Va(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?Va(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<_d;n++){const s=ki[n],i=e.props[s];(an(i)||i===!1)&&(t[s]=i)}return t}function _a(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let s=0;sPromise.all(t.map(({animation:n,options:s})=>_u(e,n,s)))}function Fd(e){let t=Od(e),n=br(),s=!0;const i=c=>(u,d)=>{const l=Nt(e,d,c==="exit"?e.presenceContext?.custom:void 0);if(l){const{transition:f,transitionEnd:p,...g}=l;u={...u,...g,...p}}return u};function o(c){t=c(e)}function r(c){const{props:u}=e,d=Va(e.parent)||{},l=[],f=new Set;let p={},g=1/0;for(let T=0;Tg&&b,R=!1;const L=Array.isArray(y)?y:[y];let _=L.reduce(i(v),{});P===!1&&(_={});const{prevResolvedValues:oe={}}=A,J={...oe,..._},ge=V=>{x=!0,f.has(V)&&(R=!0,f.delete(V)),A.needsAnimating[V]=!0;const W=e.getValue(V);W&&(W.liveStyle=!1)};for(const V in J){const W=_[V],ee=oe[V];if(p.hasOwnProperty(V))continue;let G=!1;$s(W)&&$s(ee)?G=!_a(W,ee):G=W!==ee,G?W!=null?ge(V):f.add(V):W!==void 0&&f.has(V)?ge(V):A.protectedKeys[V]=!0}A.prevProp=y,A.prevResolvedValues=_,A.isActive&&(p={...p,..._}),s&&e.blockInitialAnimation&&(x=!1);const Me=S&&I;x&&(!Me||R)&&l.push(...L.map(V=>{const W={type:v};if(typeof V=="string"&&s&&!Me&&e.manuallyAnimateOnMount&&e.parent){const{parent:ee}=e,G=Nt(ee,V);if(ee.enteringChildren&&G){const{delayChildren:Q}=G.transition||{};W.delay=sa(ee.enteringChildren,e,Q)}}return{animation:V,options:W}}))}if(f.size){const T={};if(typeof u.initial!="boolean"){const v=Nt(e,Array.isArray(u.initial)?u.initial[0]:u.initial);v&&v.transition&&(T.transition=v.transition)}f.forEach(v=>{const A=e.getBaseTarget(v),y=e.getValue(v);y&&(y.liveStyle=!0),T[v]=A??null}),l.push({animation:T})}let w=!!l.length;return s&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(w=!1),s=!1,w?t(l):Promise.resolve()}function a(c,u){if(n[c].isActive===u)return Promise.resolve();e.variantChildren?.forEach(l=>l.animationState?.setActive(c,u)),n[c].isActive=u;const d=r(c);for(const l in n)n[l].protectedKeys={};return d}return{animateChanges:r,setActive:a,setAnimateFunction:o,getState:()=>n,reset:()=>{n=br()}}}function Bd(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!_a(t,e):!1}function mt(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function br(){return{animate:mt(!0),whileInView:mt(),whileHover:mt(),whileTap:mt(),whileDrag:mt(),whileFocus:mt(),exit:mt()}}function xr(e,t){e.min=t.min,e.max=t.max}function $e(e,t){xr(e.x,t.x),xr(e.y,t.y)}function wr(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const ja=1e-4,$d=1-ja,zd=1+ja,Na=.01,Ud=0-Na,Wd=0+Na;function Pe(e){return e.max-e.min}function Hd(e,t,n){return Math.abs(e-t)<=n}function Sr(e,t,n,s=.5){e.origin=s,e.originPoint=Z(t.min,t.max,e.origin),e.scale=Pe(n)/Pe(t),e.translate=Z(n.min,n.max,e.origin)-e.originPoint,(e.scale>=$d&&e.scale<=zd||isNaN(e.scale))&&(e.scale=1),(e.translate>=Ud&&e.translate<=Wd||isNaN(e.translate))&&(e.translate=0)}function Jt(e,t,n,s){Sr(e.x,t.x,n.x,s?s.originX:void 0),Sr(e.y,t.y,n.y,s?s.originY:void 0)}function Tr(e,t,n){e.min=n.min+t.min,e.max=e.min+Pe(t)}function qd(e,t,n){Tr(e.x,t.x,n.x),Tr(e.y,t.y,n.y)}function Pr(e,t,n){e.min=t.min-n.min,e.max=e.min+Pe(t)}function qn(e,t,n){Pr(e.x,t.x,n.x),Pr(e.y,t.y,n.y)}function Ar(e,t,n,s,i){return e-=t,e=Hn(e,1/n,s),i!==void 0&&(e=Hn(e,1/i,s)),e}function Kd(e,t=0,n=1,s=.5,i,o=e,r=e){if(Ye.test(t)&&(t=parseFloat(t),t=Z(r.min,r.max,t/100)-r.min),typeof t!="number")return;let a=Z(o.min,o.max,s);e===o&&(a-=t),e.min=Ar(e.min,t,n,a,i),e.max=Ar(e.max,t,n,a,i)}function Er(e,t,[n,s,i],o,r){Kd(e,t[n],t[s],t[i],t.scale,o,r)}const Gd=["x","scaleX","originX"],Xd=["y","scaleY","originY"];function Cr(e,t,n,s){Er(e.x,t,Gd,n?n.x:void 0,s?s.x:void 0),Er(e.y,t,Xd,n?n.y:void 0,s?s.y:void 0)}function Dr(e){return e.translate===0&&e.scale===1}function Oa(e){return Dr(e.x)&&Dr(e.y)}function Rr(e,t){return e.min===t.min&&e.max===t.max}function Yd(e,t){return Rr(e.x,t.x)&&Rr(e.y,t.y)}function kr(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Fa(e,t){return kr(e.x,t.x)&&kr(e.y,t.y)}function Mr(e){return Pe(e.x)/Pe(e.y)}function Lr(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function Xe(e){return[e("x"),e("y")]}function Qd(e,t,n){let s="";const i=e.x.translate/t.x,o=e.y.translate/t.y,r=n?.z||0;if((i||o||r)&&(s=`translate3d(${i}px, ${o}px, ${r}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:l,rotateY:f,skewX:p,skewY:g}=n;u&&(s=`perspective(${u}px) ${s}`),d&&(s+=`rotate(${d}deg) `),l&&(s+=`rotateX(${l}deg) `),f&&(s+=`rotateY(${f}deg) `),p&&(s+=`skewX(${p}deg) `),g&&(s+=`skewY(${g}deg) `)}const a=e.x.scale*t.x,c=e.y.scale*t.y;return(a!==1||c!==1)&&(s+=`scale(${a}, ${c})`),s||"none"}const Ba=["TopLeft","TopRight","BottomLeft","BottomRight"],Zd=Ba.length,Ir=e=>typeof e=="string"?parseFloat(e):e,Vr=e=>typeof e=="number"||k.test(e);function Jd(e,t,n,s,i,o){i?(e.opacity=Z(0,n.opacity??1,ef(s)),e.opacityExit=Z(t.opacity??1,0,tf(s))):o&&(e.opacity=Z(t.opacity??1,n.opacity??1,s));for(let r=0;rst?1:n(sn(e,t,s))}function nf(e,t,n){const s=xe(e)?e:Ft(e);return s.start(Si("",s,t,n)),s.animation}function ln(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}const sf=(e,t)=>e.depth-t.depth;class rf{constructor(){this.children=[],this.isDirty=!1}add(t){oi(this.children,t),this.isDirty=!0}remove(t){Bn(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(sf),this.isDirty=!1,this.children.forEach(t)}}function of(e,t){const n=Te.now(),s=({timestamp:i})=>{const o=i-n;o>=t&&(ot(s),e(o-t))};return Y.setup(s,!0),()=>ot(s)}function _n(e){return xe(e)?e.get():e}class af{constructor(){this.members=[]}add(t){oi(this.members,t);for(let n=this.members.length-1;n>=0;n--){const s=this.members[n];if(s===t||s===this.lead||s===this.prevLead)continue;const i=s.instance;i&&i.isConnected===!1&&s.isPresent!==!1&&!s.snapshot&&Bn(this.members,s)}t.scheduleRender()}remove(t){if(Bn(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let s;for(let i=n;i>=0;i--){const o=this.members[i],r=o.instance;if(o.isPresent!==!1&&(!r||r.isConnected!==!1)){s=o;break}}return s?(this.promote(s),!0):!1}promote(t,n){const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.instance&&s.scheduleRender(),t.scheduleRender();const i=s.options.layoutDependency,o=t.options.layoutDependency;if(!(i!==void 0&&o!==void 0&&i===o)){const c=s.instance;c&&c.isConnected===!1&&!s.snapshot||(t.resumeFrom=s,n&&(t.resumeFrom.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0))}const{crossfade:a}=t.options;a===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:s}=t;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const jn={hasAnimatedSinceResize:!0,hasEverUpdated:!1},fs=["","X","Y","Z"],lf=1e3;let cf=0;function hs(e,t,n,s){const{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),s&&(s[e]=0))}function za(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=la(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:o}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Y,!(i||o))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&za(s)}function Ua({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(r={},a=t?.()){this.id=cf++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(ff),this.nodes.forEach(gf),this.nodes.forEach(yf),this.nodes.forEach(hf)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=r,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let c=0;cthis.root.updateBlockedByResize=!1;Y.read(()=>{l=window.innerWidth}),e(r,()=>{const p=window.innerWidth;p!==l&&(l=p,this.root.updateBlockedByResize=!0,d&&d(),d=of(f,250),jn.hasAnimatedSinceResize&&(jn.hasAnimatedSinceResize=!1,this.nodes.forEach(Or)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&u&&(a||c)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:l,hasRelativeLayoutChanged:f,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||u.getDefaultTransition()||Sf,{onLayoutAnimationStart:w,onLayoutAnimationComplete:T}=u.getProps(),v=!this.targetLayout||!Fa(this.targetLayout,p),A=!l&&f;if(this.options.layoutRoot||this.resumeFrom||A||l&&(v||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const y={...wi(g,"layout"),onPlay:w,onComplete:T};(u.shouldReduceMotion||this.options.layoutRoot)&&(y.delay=0,y.type=!1),this.startAnimation(y),this.setAnimationOrigin(d,A)}else l||Or(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const r=this.getStack();r&&r.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),ot(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(vf),this.animationId++)}getTransformTemplate(){const{visualElement:r}=this.options;return r&&r.getProps().transformTemplate}willUpdate(r=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&za(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Pe(this.snapshot.measuredBox.x)&&!Pe(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let c=0;c{const P=b/1e3;Fr(l.x,r.x,P),Fr(l.y,r.y,P),this.setTargetDelta(l),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(qn(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),xf(this.relativeTarget,this.relativeTargetOrigin,f,P),y&&Yd(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=de()),$e(y,this.relativeTarget)),w&&(this.animationValues=d,Jd(d,u,this.latestValues,P,A,v)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=P},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(r){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(ot(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Y.update(()=>{jn.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Ft(0)),this.currentAnimation=nf(this.motionValue,[0,1e3],{...r,velocity:0,isSync:!0,onUpdate:a=>{this.mixTargetDelta(a),r.onUpdate&&r.onUpdate(a)},onStop:()=>{},onComplete:()=>{r.onComplete&&r.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const r=this.getStack();r&&r.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(lf),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const r=this.getLead();let{targetWithTransforms:a,target:c,layout:u,latestValues:d}=r;if(!(!a||!c||!u)){if(this!==r&&this.layout&&u&&Wa(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||de();const l=Pe(this.layout.layoutBox.x);c.x.min=r.target.x.min,c.x.max=c.x.min+l;const f=Pe(this.layout.layoutBox.y);c.y.min=r.target.y.min,c.y.max=c.y.min+f}$e(a,c),jt(a,d),Jt(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(r,a){this.sharedNodes.has(r)||this.sharedNodes.set(r,new af),this.sharedNodes.get(r).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const r=this.getStack();return r?r.lead===this:!0}getLead(){const{layoutId:r}=this.options;return r?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:r}=this.options;return r?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:r}=this.options;if(r)return this.root.sharedNodes.get(r)}promote({needsReset:r,transition:a,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),r&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const r=this.getStack();return r?r.relegate(this):!1}resetSkewAndRotation(){const{visualElement:r}=this.options;if(!r)return;let a=!1;const{latestValues:c}=r;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(a=!0),!a)return;const u={};c.z&&hs("z",r,u,this.animationValues);for(let d=0;dr.currentAnimation?.stop()),this.root.nodes.forEach(jr),this.root.sharedNodes.clear()}}}function uf(e){e.updateLayout()}function df(e){const t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:s}=e.layout,{animationType:i}=e.options,o=t.source!==e.layout.source;i==="size"?Xe(d=>{const l=o?t.measuredBox[d]:t.layoutBox[d],f=Pe(l);l.min=n[d].min,l.max=l.min+f}):Wa(i,t.layoutBox,n)&&Xe(d=>{const l=o?t.measuredBox[d]:t.layoutBox[d],f=Pe(n[d]);l.max=l.min+f,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+f)});const r=Vt();Jt(r,n,t.layoutBox);const a=Vt();o?Jt(a,e.applyTransform(s,!0),t.measuredBox):Jt(a,n,t.layoutBox);const c=!Oa(r);let u=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:l,layout:f}=d;if(l&&f){const p=de();qn(p,t.layoutBox,l.layoutBox);const g=de();qn(g,n,f.layoutBox),Fa(p,g)||(u=!0),d.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:a,layoutDelta:r,hasLayoutChanged:c,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function ff(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function hf(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function pf(e){e.clearSnapshot()}function jr(e){e.clearMeasurements()}function Nr(e){e.isLayoutDirty=!1}function mf(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function Or(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function gf(e){e.resolveTargetDelta()}function yf(e){e.calcProjection()}function vf(e){e.resetSkewAndRotation()}function bf(e){e.removeLeadSnapshot()}function Fr(e,t,n){e.translate=Z(t.translate,0,n),e.scale=Z(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Br(e,t,n,s){e.min=Z(t.min,n.min,s),e.max=Z(t.max,n.max,s)}function xf(e,t,n,s){Br(e.x,t.x,n.x,s),Br(e.y,t.y,n.y,s)}function wf(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Sf={duration:.45,ease:[.4,0,.1,1]},$r=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),zr=$r("applewebkit/")&&!$r("chrome/")?Math.round:Fe;function Ur(e){e.min=zr(e.min),e.max=zr(e.max)}function Tf(e){Ur(e.x),Ur(e.y)}function Wa(e,t,n){return e==="position"||e==="preserve-aspect"&&!Hd(Mr(t),Mr(n),.2)}function Pf(e){return e!==e.root&&e.scroll?.wasRoot}const Af=Ua({attachResizeListener:(e,t)=>ln(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),ps={current:void 0},Ha=Ua({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!ps.current){const e=new Af({});e.mount(window),e.setOptions({layoutScroll:!0}),ps.current=e}return ps.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),Ii=h.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function Wr(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ef(...e){return t=>{let n=!1;const s=e.map(i=>{const o=Wr(i,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let i=0;i{const{width:f,height:p,top:g,left:w,right:T,bottom:v}=c.current;if(t||o===!1||!a.current||!f||!p)return;const A=n==="left"?`left: ${w}`:`right: ${T}`,y=s==="bottom"?`bottom: ${v}`:`top: ${g}`;a.current.dataset.motionPopId=r;const b=document.createElement("style");u&&(b.nonce=u);const P=i??document.head;return P.appendChild(b),b.sheet&&b.sheet.insertRule(` [data-motion-pop-id="${r}"] { position: absolute !important; @@ -67,11 +67,11 @@ import{r as h,j as m,c as E,b as Tl,e as Pl}from"./vendor-react-Dexh7fmo.js";imp * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ip=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],rp=ut("zap",ip),Xt=({message:e="Loading MathPulse AI..."})=>{const[t,n]=h.useState(!1),s={position:"fixed",inset:0,zIndex:50,display:"flex",alignItems:"center",justifyContent:"center",padding:"1rem",background:"#f7f9fc"},i={width:"min(100%, 24rem)",padding:"2rem",borderRadius:"2rem",border:"1px solid #dde3eb",background:"#ffffff",boxShadow:"0 24px 40px rgba(56, 189, 248, 0.12)",display:"flex",flexDirection:"column",alignItems:"center",gap:"1.5rem"},o={width:"6rem",height:"6rem",borderRadius:"1.5rem",border:"2px solid #ffffff",background:"linear-gradient(135deg, #e0f2fe 0%, #e0e7ff 100%)",boxShadow:"0 12px 24px rgba(15, 23, 42, 0.12)",display:"flex",alignItems:"center",justifyContent:"center"},r={width:"4rem",height:"4rem",objectFit:"contain",filter:"drop-shadow(0 8px 12px rgba(15, 23, 42, 0.2))"},a={marginTop:"0.5rem",display:"flex",alignItems:"center",justifyContent:"center",gap:"0.5rem"},c={width:"1rem",height:"1rem",borderRadius:"999px",border:"2px solid #0284c7",borderTopColor:"transparent"},u={margin:0,fontSize:"1.25rem",fontWeight:700,color:"#0a1628"},d={margin:0,fontSize:"0.875rem",fontWeight:600,color:"#64748b"};return m.jsx("div",{className:"app-loader-screen",style:s,role:"status","aria-live":"polite","aria-busy":"true","aria-label":e,children:m.jsxs(Nn.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{duration:.4,ease:"easeOut"},className:"app-loader-card",style:i,children:[m.jsxs(Nn.div,{animate:{y:[0,-10,0]},transition:{duration:2,repeat:1/0,ease:"easeInOut"},className:"app-loader-avatar-shell",style:o,children:[m.jsx("img",{src:"/avatar/avatar_icon.png",alt:"Loading...",className:"app-loader-avatar",style:{...r,display:t?"none":"block"},onError:()=>{n(!0)}}),m.jsx(Kh,{className:"app-loader-bot-icon",style:{display:t?"block":"none"}})]}),m.jsxs("div",{className:"app-loader-copy",children:[m.jsx("h2",{className:"app-loader-title",style:u,children:"MathPulse AI"}),m.jsxs("div",{className:"app-loader-message-row",style:a,children:[m.jsx(Nn.div,{animate:{rotate:360},transition:{duration:1.5,repeat:1/0,ease:"linear"},className:"app-loader-spinner",style:c}),m.jsx("p",{className:"app-loader-message",style:d,children:e})]})]})]})})},op=e=>{if(!e||e.includes("your_project")||e.includes("your_database")||e.includes("your_"))return!1;try{const t=new URL(e);return t.protocol!=="https:"?!1:t.hostname.endsWith(".firebaseio.com")||t.hostname.endsWith(".firebasedatabase.app")}catch{return!1}},Zs="".trim(),cn=op(Zs)?Zs:"";Zs&&!cn&&console.warn("[FIREBASE] VITE_FIREBASE_DATABASE_URL is set but invalid. Expected an https URL ending in .firebaseio.com or .firebasedatabase.app. RTDB presence is disabled.");const Ot={apiKey:"AIzaSyBtKDbf3CoNSJHMX2W-Bfru8qEX2mKm03Y",authDomain:"mathpulse-ai-2026.firebaseapp.com",projectId:"mathpulse-ai-2026",storageBucket:"mathpulse-ai-2026.firebasestorage.app",messagingSenderId:"441656461",appId:"1:441656461:web:68f877c7bdde7065ec2ec4",measurementId:void 0,...cn?{databaseURL:cn}:{}};Ot.apiKey||console.error("[ERROR] Firebase API key is missing! Copy .env.example to .env.local and fill in your values.");console.log("[FIREBASE] Config:",{projectId:Ot.projectId,authDomain:Ot.authDomain,configured:!!Ot.apiKey});const Wt=Vl(Ot),lt=Al(Wt),q=Ol(Wt);$l(Wt);const ap=_l(Wt),lp="".toLowerCase()==="true";if(lp){const e="127.0.0.1".trim()||"127.0.0.1",t=5001,n=Number.isFinite(t)&&t>0?Math.floor(t):5001;jl(ap,e,n),console.log(`[FIREBASE] Functions emulator enabled at ${e}:${n}`)}const gg=cn?Nl(Wt,cn):null;typeof window<"u"&&Ot.measurementId&&zl(Wt);new El;const Js="mathpulse.pendingAuthRole",ol="mathpulse.lastAuthRole",cp=e=>{if(e==="admin")throw new Error("Admin account creation is restricted. Please contact an existing administrator.")},ji=(e,t)=>{const n=e,s=new Error(n.message||t);return n.code&&(s.code=n.code),s},yg=e=>{try{localStorage.setItem(Js,e),localStorage.setItem(ol,e)}catch{}},up=()=>{try{const e=localStorage.getItem(Js);return localStorage.removeItem(Js),e==="student"||e==="teacher"||e==="admin"?e:null}catch{return null}},dp=()=>{try{const e=localStorage.getItem(ol);return e==="student"||e==="teacher"||e==="admin"?e:null}catch{return null}},vg=async(e,t,n,s,i={})=>{try{cp(s);const r=(await Cl(lt,e,t)).user;return await Dl(r,{displayName:n}),await al(r,s,i)}catch(o){const r=o;throw console.error("[ERROR] Error signing up:",{code:r.code,message:r.message,fullError:o}),ji(o,"Failed to create account")}},bg=async(e,t)=>{try{console.log("[AUTH] Attempting sign in...",{email:e}),await Rl(lt,e,t),console.log("[OK] Sign in successful, AuthContext will handle profile creation")}catch(n){const s=n;throw console.error("[ERROR] Error signing in:",{code:s.code,message:s.message,fullError:n}),ji(n,"Failed to sign in")}},fp=async()=>{try{await kl(lt)}catch(e){throw console.error("Error signing out:",e),ji(e,"Failed to sign out")}},al=async(e,t,n)=>{const s=`${Date.now()}`.slice(-12).padStart(12,"0"),i={uid:e.uid,email:e.email||"",name:e.displayName||n.name||"User",role:t,photo:e.photoURL||"",createdAt:he(),updatedAt:he()},o=(()=>{switch(t){case"student":return{lrn:n.lrn||s,grade:n.grade||"Grade 11",section:n.section||"Section A",classSectionId:n.classSectionId||"",adviserTeacherId:n.adviserTeacherId||"",adviserTeacherName:n.adviserTeacherName||"",schoolYear:n.schoolYear||"",school:n.school||"",enrollmentDate:new Date().toISOString().split("T")[0],major:n.major||"General",gpa:n.gpa||"0.00",level:1,currentXP:0,totalXP:0,streak:0,atRiskSubjects:[],hasTakenDiagnostic:!1,iarAssessmentState:"not_started",startingQuarterG11:"Q1",recommendedPace:"normal"};case"teacher":return{teacherId:`TCH-${Date.now()}`,department:n.department||"Mathematics",subject:n.subject||"Mathematics",yearsOfExperience:n.yearsOfExperience||"0",qualification:n.qualification||"",students:[]};case"admin":return{adminId:`ADM-${Date.now()}`,position:n.position||"Administrator",department:n.department||"System"}}})(),r={...i,...o};return await He(se(q,"users",e.uid),r),r},ei=async e=>{try{const t=se(q,"users",e),n=await ke(t);return n.exists()?{...n.data(),uid:n.id}:null}catch(t){return console.error("Error getting user profile:",t),null}},ws=async(e,t)=>{try{const n=await ei(e);if(!n)throw new Error("Profile not found");const s=["name","email","phone","photo","avatarLayers"],i={student:["lrn","grade","section","school","enrollmentDate","major","gpa"],teacher:["department","subject","yearsOfExperience","qualification"],admin:["department","position"]},o=new Set([...s,...i[n.role]]),r={};Object.entries(t).forEach(([c,u])=>{u!==void 0&&o.has(c)&&(r[c]=u)});const a=se(q,"users",e);await He(a,{...r,updatedAt:he()},{merge:!0})}catch(n){throw console.error("Error updating user profile:",n),n}},hp=async e=>{if(!lt.currentUser)throw new Error("No user logged in");await Ll(lt.currentUser,e)},pp=async e=>{if(!lt.currentUser)throw new Error("No user logged in");await Ml(lt.currentUser);try{await Fl(se(q,"users",e))}catch(t){console.warn("User auth deleted but profile document cleanup failed:",t)}},ll=h.createContext({currentUser:null,userProfile:null,loading:!0,isLoggedIn:!1,userRole:"student",refreshProfile:async()=>{}}),cl=()=>{const e=h.useContext(ll);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},mp=({children:e})=>{const[t,n]=h.useState(null),[s,i]=h.useState(null),[o,r]=h.useState(!0),[a,c]=h.useState("student"),u=f=>{if(!f)return null;const p=f.trim().toLowerCase();return p==="testteacher@school.edu"?"teacher":p==="testadmin@school.edu"?"admin":p==="teststudent@school.edu"?"student":null};h.useEffect(()=>Il(lt,async p=>{if(r(!0),n(p),p){const g=up()||dp()||u(p.email)||"student",w=g==="admin"?"student":g;let T=await ei(p.uid);if(!T&&p.email){console.log("[WARN] AuthContext: Profile missing, auto-creating...");const v=w,A=p.displayName||"User";try{T=await al(p,v,{name:A}),console.log("[OK] AuthContext: Profile auto-created:",{role:v,name:A}),v==="student"&&H(async()=>{const{triggerStudentEnrolled:y}=await import("./automationService-CH2Qjv3D.js");return{triggerStudentEnrolled:y}},__vite__mapDeps([0,1,2,3,4,5,6])).then(({triggerStudentEnrolled:y})=>y({lrn:T?.lrn||p.uid,name:A,email:p.email||"",gradeLevel:""})).catch(y=>console.error("[WARN] Automation: enrollment pipeline failed:",y))}catch(y){console.error("[ERROR] AuthContext: Failed to auto-create profile:",y)}}T?(c(T.role),i(T)):(c(w),i({uid:p.uid,email:p.email||"",name:p.displayName||"User",role:w,photo:p.photoURL||"",createdAt:new Date,updatedAt:new Date}))}else c("student"),i(null);r(!1)}),[]);const d=async()=>{if(t){const f=await ei(t.uid);f&&i(f)}},l={currentUser:t,userProfile:s,loading:o,isLoggedIn:!!t,userRole:s?.role||a,refreshProfile:d};return m.jsx(ll.Provider,{value:l,children:e})},gp=/(```[\s\S]*?```|`[^`\n]+`)/g,yp=/(\$\$[\s\S]*?\$\$|\$[^$\n]+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\])/g,vp=/\\(?:boxed\{[^{}]+\}|frac\{[^{}]+\}\{[^{}]+\}|sqrt\{[^{}]+\}|(?:cdot|times|pm|mp|leq|geq|neq|approx|alpha|beta|gamma|delta|theta|pi|sum|int)(?:_[a-zA-Z0-9]+|_\{[^{}]+\})?(?:\^[a-zA-Z0-9]+|\^\{[^{}]+\})?)/g,bp=/<\s*think\b[^>]*>[\s\S]*?<\s*\/\s*think\s*>/gi,xp=/<\s*\/?\s*think\b[^>]*>/gi,wp=/<\s*\/\s*think\s*>/gi,Sp=/<\s*(\/?)\s*think\b([\s\S]*?)>/gi,Tp=/(?:<\s*\/?\s*t(?:h(?:i(?:n(?:k)?)?)?)?)\s*$/i,Pp=/(?:<\s*\/?\s*t(?:h(?:i(?:n(?:k)?)?)?)?)\s*$/i,Ap=/\bfinal\s+answer\s*:|(?:^|\n)\s*#{1,6}\s+\S|(?:^|\n)\s*(?:answer|solution)\s*:|(?:^|\n)\s*here(?:'s| is)\b|(?:^|\n)\s*(?:\d+[.)]|[-*])\s+\S/i,Ep=/^\s*(?:okay|alright|let\s+me|i\s+should|i\s+need\s+to|i\s+will|wait|hmm|maybe|the\s+user\s+asked|let\s+us|let's)\b/i;function ul(e){return e.replace(Sp,(t,n,s)=>`<${n?"/":""}think${s}>`)}function Cp(e,t){t.lastIndex=0;let n=-1,s=t.exec(e);for(;s;)n=s.index+s[0].length,s=t.exec(e);return n}function Dp(e){const t=ul(e);if(/<\s*think\b/i.test(t))return"";const n=Cp(t,wp);return n===-1?"":t.slice(n).trim()}function Rp(e){const t=e.replace(/\r\n?/g,` + */const ip=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],rp=ut("zap",ip),Xt=({message:e="Loading MathPulse AI..."})=>{const[t,n]=h.useState(!1),s={position:"fixed",inset:0,zIndex:50,display:"flex",alignItems:"center",justifyContent:"center",padding:"1rem",background:"#f7f9fc"},i={width:"min(100%, 24rem)",padding:"2rem",borderRadius:"2rem",border:"1px solid #dde3eb",background:"#ffffff",boxShadow:"0 24px 40px rgba(56, 189, 248, 0.12)",display:"flex",flexDirection:"column",alignItems:"center",gap:"1.5rem"},o={width:"6rem",height:"6rem",borderRadius:"1.5rem",border:"2px solid #ffffff",background:"linear-gradient(135deg, #e0f2fe 0%, #e0e7ff 100%)",boxShadow:"0 12px 24px rgba(15, 23, 42, 0.12)",display:"flex",alignItems:"center",justifyContent:"center"},r={width:"4rem",height:"4rem",objectFit:"contain",filter:"drop-shadow(0 8px 12px rgba(15, 23, 42, 0.2))"},a={marginTop:"0.5rem",display:"flex",alignItems:"center",justifyContent:"center",gap:"0.5rem"},c={width:"1rem",height:"1rem",borderRadius:"999px",border:"2px solid #0284c7",borderTopColor:"transparent"},u={margin:0,fontSize:"1.25rem",fontWeight:700,color:"#0a1628"},d={margin:0,fontSize:"0.875rem",fontWeight:600,color:"#64748b"};return m.jsx("div",{className:"app-loader-screen",style:s,role:"status","aria-live":"polite","aria-busy":"true","aria-label":e,children:m.jsxs(Nn.div,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},transition:{duration:.4,ease:"easeOut"},className:"app-loader-card",style:i,children:[m.jsxs(Nn.div,{animate:{y:[0,-10,0]},transition:{duration:2,repeat:1/0,ease:"easeInOut"},className:"app-loader-avatar-shell",style:o,children:[m.jsx("img",{src:"/avatar/avatar_icon.png",alt:"Loading...",className:"app-loader-avatar",style:{...r,display:t?"none":"block"},onError:()=>{n(!0)}}),m.jsx(Kh,{className:"app-loader-bot-icon",style:{display:t?"block":"none"}})]}),m.jsxs("div",{className:"app-loader-copy",children:[m.jsx("h2",{className:"app-loader-title",style:u,children:"MathPulse AI"}),m.jsxs("div",{className:"app-loader-message-row",style:a,children:[m.jsx(Nn.div,{animate:{rotate:360},transition:{duration:1.5,repeat:1/0,ease:"linear"},className:"app-loader-spinner",style:c}),m.jsx("p",{className:"app-loader-message",style:d,children:e})]})]})]})})},op=e=>{if(!e||e.includes("your_project")||e.includes("your_database")||e.includes("your_"))return!1;try{const t=new URL(e);return t.protocol!=="https:"?!1:t.hostname.endsWith(".firebaseio.com")||t.hostname.endsWith(".firebasedatabase.app")}catch{return!1}},Zs="".trim(),cn=op(Zs)?Zs:"";Zs&&!cn&&console.warn("[FIREBASE] VITE_FIREBASE_DATABASE_URL is set but invalid. Expected an https URL ending in .firebaseio.com or .firebasedatabase.app. RTDB presence is disabled.");const Ot={apiKey:"AIzaSyBtKDbf3CoNSJHMX2W-Bfru8qEX2mKm03Y",authDomain:"mathpulse-ai-2026.firebaseapp.com",projectId:"mathpulse-ai-2026",storageBucket:"mathpulse-ai-2026.firebasestorage.app",messagingSenderId:"441656461",appId:"1:441656461:web:68f877c7bdde7065ec2ec4",measurementId:void 0,...cn?{databaseURL:cn}:{}};Ot.apiKey||console.error("[ERROR] Firebase API key is missing! Copy .env.example to .env.local and fill in your values.");console.log("[FIREBASE] Config:",{projectId:Ot.projectId,authDomain:Ot.authDomain,configured:!!Ot.apiKey});const Wt=Vl(Ot),lt=Al(Wt),q=Ol(Wt);$l(Wt);const ap=_l(Wt),lp="".toLowerCase()==="true";if(lp){const e="127.0.0.1".trim()||"127.0.0.1",t=5001,n=Number.isFinite(t)&&t>0?Math.floor(t):5001;jl(ap,e,n),console.log(`[FIREBASE] Functions emulator enabled at ${e}:${n}`)}const gg=cn?Nl(Wt,cn):null;typeof window<"u"&&Ot.measurementId&&zl(Wt);new El;const Js="mathpulse.pendingAuthRole",ol="mathpulse.lastAuthRole",cp=e=>{if(e==="admin")throw new Error("Admin account creation is restricted. Please contact an existing administrator.")},ji=(e,t)=>{const n=e,s=new Error(n.message||t);return n.code&&(s.code=n.code),s},yg=e=>{try{localStorage.setItem(Js,e),localStorage.setItem(ol,e)}catch{}},up=()=>{try{const e=localStorage.getItem(Js);return localStorage.removeItem(Js),e==="student"||e==="teacher"||e==="admin"?e:null}catch{return null}},dp=()=>{try{const e=localStorage.getItem(ol);return e==="student"||e==="teacher"||e==="admin"?e:null}catch{return null}},vg=async(e,t,n,s,i={})=>{try{cp(s);const r=(await Cl(lt,e,t)).user;return await Dl(r,{displayName:n}),await al(r,s,i)}catch(o){const r=o;throw console.error("[ERROR] Error signing up:",{code:r.code,message:r.message,fullError:o}),ji(o,"Failed to create account")}},bg=async(e,t)=>{try{console.log("[AUTH] Attempting sign in...",{email:e}),await Rl(lt,e,t),console.log("[OK] Sign in successful, AuthContext will handle profile creation")}catch(n){const s=n;throw console.error("[ERROR] Error signing in:",{code:s.code,message:s.message,fullError:n}),ji(n,"Failed to sign in")}},fp=async()=>{try{await kl(lt)}catch(e){throw console.error("Error signing out:",e),ji(e,"Failed to sign out")}},al=async(e,t,n)=>{const s=`${Date.now()}`.slice(-12).padStart(12,"0"),i={uid:e.uid,email:e.email||"",name:e.displayName||n.name||"User",role:t,photo:e.photoURL||"",createdAt:he(),updatedAt:he()},o=(()=>{switch(t){case"student":return{lrn:n.lrn||s,grade:n.grade||"Grade 11",section:n.section||"Section A",classSectionId:n.classSectionId||"",adviserTeacherId:n.adviserTeacherId||"",adviserTeacherName:n.adviserTeacherName||"",schoolYear:n.schoolYear||"",school:n.school||"",enrollmentDate:new Date().toISOString().split("T")[0],major:n.major||"General",gpa:n.gpa||"0.00",level:1,currentXP:0,totalXP:0,streak:0,atRiskSubjects:[],hasTakenDiagnostic:!1,iarAssessmentState:"not_started",startingQuarterG11:"Q1",recommendedPace:"normal"};case"teacher":return{teacherId:`TCH-${Date.now()}`,department:n.department||"Mathematics",subject:n.subject||"Mathematics",yearsOfExperience:n.yearsOfExperience||"0",qualification:n.qualification||"",students:[]};case"admin":return{adminId:`ADM-${Date.now()}`,position:n.position||"Administrator",department:n.department||"System"}}})(),r={...i,...o};return await He(se(q,"users",e.uid),r),r},ei=async e=>{try{const t=se(q,"users",e),n=await ke(t);return n.exists()?{...n.data(),uid:n.id}:null}catch(t){return console.error("Error getting user profile:",t),null}},ws=async(e,t)=>{try{const n=await ei(e);if(!n)throw new Error("Profile not found");const s=["name","email","phone","photo","avatarLayers"],i={student:["lrn","grade","section","school","enrollmentDate","major","gpa"],teacher:["department","subject","yearsOfExperience","qualification"],admin:["department","position"]},o=new Set([...s,...i[n.role]]),r={};Object.entries(t).forEach(([c,u])=>{u!==void 0&&o.has(c)&&(r[c]=u)});const a=se(q,"users",e);await He(a,{...r,updatedAt:he()},{merge:!0})}catch(n){throw console.error("Error updating user profile:",n),n}},hp=async e=>{if(!lt.currentUser)throw new Error("No user logged in");await Ll(lt.currentUser,e)},pp=async e=>{if(!lt.currentUser)throw new Error("No user logged in");await Ml(lt.currentUser);try{await Fl(se(q,"users",e))}catch(t){console.warn("User auth deleted but profile document cleanup failed:",t)}},ll=h.createContext({currentUser:null,userProfile:null,loading:!0,isLoggedIn:!1,userRole:"student",refreshProfile:async()=>{}}),cl=()=>{const e=h.useContext(ll);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},mp=({children:e})=>{const[t,n]=h.useState(null),[s,i]=h.useState(null),[o,r]=h.useState(!0),[a,c]=h.useState("student"),u=f=>{if(!f)return null;const p=f.trim().toLowerCase();return p==="testteacher@school.edu"?"teacher":p==="testadmin@school.edu"?"admin":p==="teststudent@school.edu"?"student":null};h.useEffect(()=>Il(lt,async p=>{if(r(!0),n(p),p){const g=up()||dp()||u(p.email)||"student",w=g==="admin"?"student":g;let T=await ei(p.uid);if(!T&&p.email){console.log("[WARN] AuthContext: Profile missing, auto-creating...");const v=w,A=p.displayName||"User";try{T=await al(p,v,{name:A}),console.log("[OK] AuthContext: Profile auto-created:",{role:v,name:A}),v==="student"&&H(async()=>{const{triggerStudentEnrolled:y}=await import("./automationService-1THdsq3v.js");return{triggerStudentEnrolled:y}},__vite__mapDeps([0,1,2,3,4,5,6])).then(({triggerStudentEnrolled:y})=>y({lrn:T?.lrn||p.uid,name:A,email:p.email||"",gradeLevel:""})).catch(y=>console.error("[WARN] Automation: enrollment pipeline failed:",y))}catch(y){console.error("[ERROR] AuthContext: Failed to auto-create profile:",y)}}T?(c(T.role),i(T)):(c(w),i({uid:p.uid,email:p.email||"",name:p.displayName||"User",role:w,photo:p.photoURL||"",createdAt:new Date,updatedAt:new Date}))}else c("student"),i(null);r(!1)}),[]);const d=async()=>{if(t){const f=await ei(t.uid);f&&i(f)}},l={currentUser:t,userProfile:s,loading:o,isLoggedIn:!!t,userRole:s?.role||a,refreshProfile:d};return m.jsx(ll.Provider,{value:l,children:e})},gp=/(```[\s\S]*?```|`[^`\n]+`)/g,yp=/(\$\$[\s\S]*?\$\$|\$[^$\n]+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\])/g,vp=/\\(?:boxed\{[^{}]+\}|frac\{[^{}]+\}\{[^{}]+\}|sqrt\{[^{}]+\}|(?:cdot|times|pm|mp|leq|geq|neq|approx|alpha|beta|gamma|delta|theta|pi|sum|int)(?:_[a-zA-Z0-9]+|_\{[^{}]+\})?(?:\^[a-zA-Z0-9]+|\^\{[^{}]+\})?)/g,bp=/<\s*think\b[^>]*>[\s\S]*?<\s*\/\s*think\s*>/gi,xp=/<\s*\/?\s*think\b[^>]*>/gi,wp=/<\s*\/\s*think\s*>/gi,Sp=/<\s*(\/?)\s*think\b([\s\S]*?)>/gi,Tp=/(?:<\s*\/?\s*t(?:h(?:i(?:n(?:k)?)?)?)?)\s*$/i,Pp=/(?:<\s*\/?\s*t(?:h(?:i(?:n(?:k)?)?)?)?)\s*$/i,Ap=/\bfinal\s+answer\s*:|(?:^|\n)\s*#{1,6}\s+\S|(?:^|\n)\s*(?:answer|solution)\s*:|(?:^|\n)\s*here(?:'s| is)\b|(?:^|\n)\s*(?:\d+[.)]|[-*])\s+\S/i,Ep=/^\s*(?:okay|alright|let\s+me|i\s+should|i\s+need\s+to|i\s+will|wait|hmm|maybe|the\s+user\s+asked|let\s+us|let's)\b/i;function ul(e){return e.replace(Sp,(t,n,s)=>`<${n?"/":""}think${s}>`)}function Cp(e,t){t.lastIndex=0;let n=-1,s=t.exec(e);for(;s;)n=s.index+s[0].length,s=t.exec(e);return n}function Dp(e){const t=ul(e);if(/<\s*think\b/i.test(t))return"";const n=Cp(t,wp);return n===-1?"":t.slice(n).trim()}function Rp(e){const t=e.replace(/\r\n?/g,` `).trim();if(!t)return"";const n=Ap.exec(t);return n&&typeof n.index=="number"?t.slice(n.index).trim():t.split(` `).map(o=>o.trim()).filter(o=>o&&Ep.test(o)).length>=2?"":t}function ti(e,t={}){if(!e||typeof e!="string")return"";let n=ul(e),s="";for(;n!==s;)s=n,n=n.replace(bp,"");if(!t.preserveUnclosedThinkBlocks){const i=n.toLowerCase(),o=i.lastIndexOf("");o!==-1&&o>r&&(n=n.slice(0,o))}return n=n.replace(xp,""),t.streamingSafeTail&&(n=n.replace(Tp,"").replace(Pp,"")),n}function kp(e){return ti(e,{streamingSafeTail:!0}).trim()}function je(e){const t=Dp(e);if(t)return t;const n=ti(e,{streamingSafeTail:!0}).trim();if(n)return n;const s=ti(e,{streamingSafeTail:!0,preserveUnclosedThinkBlocks:!0}).trim();return Rp(s)}function Mp(e){return e.replace(vp,t=>`$${t}$`)}function Lp(e){return!e||typeof e!="string"?"":je(e).replace(/\r\n?/g,` `).split(gp).map((i,o)=>o%2===1?i:i.replace(/\\\\(?=(?:boxed|frac|sqrt|cdot|times|pm|mp|leq|geq|neq|approx|alpha|beta|gamma|delta|theta|pi|sum|int)\b|[()[\]{}])/g,"\\").replace(/\\n/g,` -`).split(yp).map((c,u)=>u%2===1?c:Mp(c)).join("")).join("")}const Ip=80;function Ss(e,t=Ip){if(!e||typeof e!="string")return"";const n=Lp(e).replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\(([^)]+)\)/g,"$1").replace(/```(?:[a-zA-Z0-9_-]+\n)?([\s\S]*?)```/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\$\$([\s\S]+?)\$\$/g,"$1").replace(/\$([^$\n]+)\$/g,"$1").replace(/\\\(([\s\S]+?)\\\)/g,"$1").replace(/\\\[([\s\S]+?)\\\]/g,"$1").replace(/^\s{0,3}#{1,6}\s+/gm,"").replace(/^\s{0,3}>\s?/gm,"").replace(/^\s{0,3}(?:[-*+]|\d+\.)\s+/gm,"").replace(/^\s{0,3}(?:[-*_]\s?){3,}$/gm," ").replace(/\\boxed\{([^{}]+)\}/g,"$1").replace(/\\frac\{([^{}]+)\}\{([^{}]+)\}/g,"$1/$2").replace(/\\sqrt\{([^{}]+)\}/g,"sqrt($1)").replace(/\\(?:cdot|times)/g,"*").replace(/\\(alpha|beta|gamma|delta|theta|pi|sum|int|pm|mp|leq|geq|neq|approx)\b/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/__([^_]+)__/g,"$1").replace(/\*([^*\n]+)\*/g,"$1").replace(/_([^_\n]+)_/g,"$1").replace(/~~([^~]+)~~/g,"$1").replace(/\*{2,}|_{2,}|~{2,}/g,"").replace(/`+/g,"").replace(/\|/g," ").replace(/\s+/g," ").trim();return n.length<=t?n:n.slice(0,t)}const Vp=/^\s*(?:hi|hello|hey|good\s+(?:morning|afternoon|evening))\b/i,_p=/\b(?:thanks|thank\s+you|thank\s+u|ty)\b/i,dl=["Hi! I am MathPulse, your math tutor. I can help with algebra, geometry, calculus, and more. What math question would you like to try?","Hello! Great to see you. I am here for math topics and step-by-step solutions whenever you are ready."],fl=["You are very welcome. If you want, send another math question and we can work through it together.","Glad I could help. I am here anytime you want to practice more math."],oo=["That topic is outside my math scope, but I would be happy to help with mathematics like algebra, calculus, geometry, trigonometry, or statistics.","I focus on math-only support, so I may not be the best for that request. Share a math question and I will guide you step by step.","I am built for math tutoring, so I can best help with mathematical problems and explanations. If you want, ask me any math question next."],jp=["math","mathematics","algebra","geometry","trigonometry","calculus","statistics","probability","arithmetic","equation","inequality","function","graph","slope","derivative","integral","limit","matrix","determinant","fraction","percentage","ratio","polynomial","quadratic","logarithm","exponent","angle","triangle","circle","perimeter","area","volume","mean","median","mode","standard deviation","solve","simplify","factor","evaluate","compute","calculate"],Np=[/\d+\s*[%+\-*/^=]\s*[-+]?\d*/,/\b(?:sin|cos|tan|cot|sec|csc|log|ln|sqrt)\s*\(?/,/\b(?:differentiate|integrate|derive|proof|prove)\b/,/\b(?:x|y|z)\s*[=+\-*/^]\s*[-+]?\d/],Op=new Set(["go","continue","yes","ok","next","more"]),Fp=[/\bshall\s+we\s+continue\b/i,/\b(?:would|do)\s+you\s+like\s+to\s+continue\b/i,/\b(?:want|need)\s+me\s+to\s+continue\b/i,/\bshould\s+(?:i|we)\s+continue\b/i,/\bcontinue\s*\?\s*$/i,/\b(?:ready\s+for|go\s+to)\s+the\s+next\s+step\b/i,/\bnext\s+step(?:s)?\s*\?\s*$/i,/\bkeep\s+going\s*\?\s*$/i],ao="I can continue once I know which math problem you mean. Please share the problem again or tell me which step to continue.";function En(e){return e.length===0?"":e[Math.floor(Math.random()*e.length)]??e[0]}function Bp(e){const t=(e??"").trim().toLowerCase();return t?jp.some(n=>t.includes(n))?!0:Np.some(n=>n.test(t)):!1}function $p(e){return(e??"").trim().toLowerCase().replace(/\s+/g," ").replace(/[\p{P}]+$/gu,"")}function hl(e){const t=$p(e);return t?Op.has(t):!1}function lo(e){const t=(e??"").trim();return t?Bp(t)?null:Vp.test(t)?En(dl):_p.test(t)?En(fl):En(oo):En(oo)}function zp(e){const t=(e?.latestAssistantMessage??"").trim();if(t)return t;const n=e?.history??[];for(let s=n.length-1;s>=0;s-=1){const i=n[s],o=(i?.role??"").toLowerCase(),r=(i?.content??"").trim();if(r&&(o==="assistant"||o==="ai"))return r}return null}function Up(e){const t=zp(e);return t?Fp.some(n=>n.test(t)):!1}function Wp(e){const t=e?.history??[];for(let n=t.length-1;n>=0;n-=1){const s=t[n],i=(s?.role??"").toLowerCase(),o=(s?.content??"").trim();if(o&&i==="user"&&!hl(o))return o}return null}function Hp(e){return dl.includes(e)||fl.includes(e)}function pl(e,t){const n=lo(e);if(n===null)return null;if(!hl(e))return n;if(Up(t))return null;const s=Wp(t);if(!s)return ao;const i=lo(s);return i===null?null:Hp(i)?ao:i}const ml=h.createContext(void 0);let Ts=null,Ps=null;const co=()=>(Ts||(Ts=H(()=>import("./apiService-BmQUiVGe.js"),__vite__mapDeps([7,3,4,2,1,5,6]))),Ts),gt=()=>(Ps||(Ps=H(()=>import("./chatService-ctCZO3Ne.js"),__vite__mapDeps([8,1,2,3,4,5,6]))),Ps),qp=new Set(["go","continue","next","more","yes","ok"]),Kp=[/\b(?:end|finish|stop)\s+with(?:\s+the\s+(?:exact\s+)?(?:marker|text))?\s*[:\-]?\s*(["'`]?)([A-Za-z0-9_:\-]{2,96})\1/i,/\b(?:include|append)\s+(?:the\s+)?marker\s*[:\-]?\s*(["'`]?)([A-Za-z0-9_:\-]{2,96})\1/i];function mn(e){if(!e)return null;let t=e.trim();return!t||(t.length>=2&&t[0]===t[t.length-1]&&['"',"'","`"].includes(t[0])&&(t=t.slice(1,-1).trim()),t=t.replace(/[.,;\s]+$/g,""),!t)?null:t.slice(0,120)}function Gp(e){return(e??"").trim().toLowerCase().replace(/\s+/g," ").replace(/[\p{P}]+$/gu,"")}function gl(e){const t=Gp(e);return t?qp.has(t):!1}function Xp(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t];if(n.role!=="user")continue;const s=(n.content??"").trim();if(s&&!gl(s))return s}return null}function Yp(e){return["Continue the ongoing math explanation for the same user request.","Do not refuse or reset the topic if the request is mathematical.","Original user request:",e].join(` +`).split(yp).map((c,u)=>u%2===1?c:Mp(c)).join("")).join("")}const Ip=80;function Ss(e,t=Ip){if(!e||typeof e!="string")return"";const n=Lp(e).replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\(([^)]+)\)/g,"$1").replace(/```(?:[a-zA-Z0-9_-]+\n)?([\s\S]*?)```/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\$\$([\s\S]+?)\$\$/g,"$1").replace(/\$([^$\n]+)\$/g,"$1").replace(/\\\(([\s\S]+?)\\\)/g,"$1").replace(/\\\[([\s\S]+?)\\\]/g,"$1").replace(/^\s{0,3}#{1,6}\s+/gm,"").replace(/^\s{0,3}>\s?/gm,"").replace(/^\s{0,3}(?:[-*+]|\d+\.)\s+/gm,"").replace(/^\s{0,3}(?:[-*_]\s?){3,}$/gm," ").replace(/\\boxed\{([^{}]+)\}/g,"$1").replace(/\\frac\{([^{}]+)\}\{([^{}]+)\}/g,"$1/$2").replace(/\\sqrt\{([^{}]+)\}/g,"sqrt($1)").replace(/\\(?:cdot|times)/g,"*").replace(/\\(alpha|beta|gamma|delta|theta|pi|sum|int|pm|mp|leq|geq|neq|approx)\b/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/__([^_]+)__/g,"$1").replace(/\*([^*\n]+)\*/g,"$1").replace(/_([^_\n]+)_/g,"$1").replace(/~~([^~]+)~~/g,"$1").replace(/\*{2,}|_{2,}|~{2,}/g,"").replace(/`+/g,"").replace(/\|/g," ").replace(/\s+/g," ").trim();return n.length<=t?n:n.slice(0,t)}const Vp=/^\s*(?:hi|hello|hey|good\s+(?:morning|afternoon|evening))\b/i,_p=/\b(?:thanks|thank\s+you|thank\s+u|ty)\b/i,dl=["Hi! I am MathPulse, your math tutor. I can help with algebra, geometry, calculus, and more. What math question would you like to try?","Hello! Great to see you. I am here for math topics and step-by-step solutions whenever you are ready."],fl=["You are very welcome. If you want, send another math question and we can work through it together.","Glad I could help. I am here anytime you want to practice more math."],oo=["That topic is outside my math scope, but I would be happy to help with mathematics like algebra, calculus, geometry, trigonometry, or statistics.","I focus on math-only support, so I may not be the best for that request. Share a math question and I will guide you step by step.","I am built for math tutoring, so I can best help with mathematical problems and explanations. If you want, ask me any math question next."],jp=["math","mathematics","algebra","geometry","trigonometry","calculus","statistics","probability","arithmetic","equation","inequality","function","graph","slope","derivative","integral","limit","matrix","determinant","fraction","percentage","ratio","polynomial","quadratic","logarithm","exponent","angle","triangle","circle","perimeter","area","volume","mean","median","mode","standard deviation","solve","simplify","factor","evaluate","compute","calculate"],Np=[/\d+\s*[%+\-*/^=]\s*[-+]?\d*/,/\b(?:sin|cos|tan|cot|sec|csc|log|ln|sqrt)\s*\(?/,/\b(?:differentiate|integrate|derive|proof|prove)\b/,/\b(?:x|y|z)\s*[=+\-*/^]\s*[-+]?\d/],Op=new Set(["go","continue","yes","ok","next","more"]),Fp=[/\bshall\s+we\s+continue\b/i,/\b(?:would|do)\s+you\s+like\s+to\s+continue\b/i,/\b(?:want|need)\s+me\s+to\s+continue\b/i,/\bshould\s+(?:i|we)\s+continue\b/i,/\bcontinue\s*\?\s*$/i,/\b(?:ready\s+for|go\s+to)\s+the\s+next\s+step\b/i,/\bnext\s+step(?:s)?\s*\?\s*$/i,/\bkeep\s+going\s*\?\s*$/i],ao="I can continue once I know which math problem you mean. Please share the problem again or tell me which step to continue.";function En(e){return e.length===0?"":e[Math.floor(Math.random()*e.length)]??e[0]}function Bp(e){const t=(e??"").trim().toLowerCase();return t?jp.some(n=>t.includes(n))?!0:Np.some(n=>n.test(t)):!1}function $p(e){return(e??"").trim().toLowerCase().replace(/\s+/g," ").replace(/[\p{P}]+$/gu,"")}function hl(e){const t=$p(e);return t?Op.has(t):!1}function lo(e){const t=(e??"").trim();return t?Bp(t)?null:Vp.test(t)?En(dl):_p.test(t)?En(fl):En(oo):En(oo)}function zp(e){const t=(e?.latestAssistantMessage??"").trim();if(t)return t;const n=e?.history??[];for(let s=n.length-1;s>=0;s-=1){const i=n[s],o=(i?.role??"").toLowerCase(),r=(i?.content??"").trim();if(r&&(o==="assistant"||o==="ai"))return r}return null}function Up(e){const t=zp(e);return t?Fp.some(n=>n.test(t)):!1}function Wp(e){const t=e?.history??[];for(let n=t.length-1;n>=0;n-=1){const s=t[n],i=(s?.role??"").toLowerCase(),o=(s?.content??"").trim();if(o&&i==="user"&&!hl(o))return o}return null}function Hp(e){return dl.includes(e)||fl.includes(e)}function pl(e,t){const n=lo(e);if(n===null)return null;if(!hl(e))return n;if(Up(t))return null;const s=Wp(t);if(!s)return ao;const i=lo(s);return i===null?null:Hp(i)?ao:i}const ml=h.createContext(void 0);let Ts=null,Ps=null;const co=()=>(Ts||(Ts=H(()=>import("./apiService-BuaHZ1Ho.js"),__vite__mapDeps([7,3,4,2,1,5,6]))),Ts),gt=()=>(Ps||(Ps=H(()=>import("./chatService-tsfogjaC.js"),__vite__mapDeps([8,1,2,3,4,5,6]))),Ps),qp=new Set(["go","continue","next","more","yes","ok"]),Kp=[/\b(?:end|finish|stop)\s+with(?:\s+the\s+(?:exact\s+)?(?:marker|text))?\s*[:\-]?\s*(["'`]?)([A-Za-z0-9_:\-]{2,96})\1/i,/\b(?:include|append)\s+(?:the\s+)?marker\s*[:\-]?\s*(["'`]?)([A-Za-z0-9_:\-]{2,96})\1/i];function mn(e){if(!e)return null;let t=e.trim();return!t||(t.length>=2&&t[0]===t[t.length-1]&&['"',"'","`"].includes(t[0])&&(t=t.slice(1,-1).trim()),t=t.replace(/[.,;\s]+$/g,""),!t)?null:t.slice(0,120)}function Gp(e){return(e??"").trim().toLowerCase().replace(/\s+/g," ").replace(/[\p{P}]+$/gu,"")}function gl(e){const t=Gp(e);return t?qp.has(t):!1}function Xp(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t];if(n.role!=="user")continue;const s=(n.content??"").trim();if(s&&!gl(s))return s}return null}function Yp(e){return["Continue the ongoing math explanation for the same user request.","Do not refuse or reset the topic if the request is mathematical.","Original user request:",e].join(` `)}function Qp(e){const t=(e??"").trim();if(!t)return null;for(const n of Kp){const s=n.exec(t);if(!s)continue;const i=mn(s[2]);if(i)return i}return null}function Zp(e,t){const n=mn(t);return n?e.toLowerCase().includes(n.toLowerCase()):!1}function ni(e,t,n,s){return n&&!Zp(t,n)?!0:s?em(e,t):!1}function Jp(e){const t=e.trim();if(!t||[/```[^`]*$/,/\$\$[^$]*$/,/\$[^$\n]*$/,/\\\[[^\]]*$/,/\\\([^\)]*$/,/\\boxed\{[^}]*$/,/\\frac\{[^}]*\}\{?$/,/\\[a-zA-Z]+\s*$/,/(?:Step\s*\d+[:.]?)\s*$/i,/(?:Final\s*Answer[:.]?)\s*$/i].some(f=>f.test(t))||(t.match(/```/g)??[]).length%2!==0||(()=>{let f=0;for(let p=0;p=0&&t[w]==="\\";w-=1)g+=1;g%2===0&&(f+=1)}return f})()%2!==0)return!0;const o=(t.match(/\\left\b/g)??[]).length,r=(t.match(/\\right\b/g)??[]).length;if(o!==r)return!0;const a=[["(",")"],["[","]"],["{","}"]];for(const[f,p]of a){const g=(t.match(new RegExp(`\\${f}`,"g"))??[]).length,w=(t.match(new RegExp(`\\${p}`,"g"))??[]).length;if(g>w)return!0}if(t.length>=80&&/\b(?:and|or|but|because|since|so|then|which|that|where|when|with|for|to|from|of|in|on|at|by)\s*$/i.test(t))return!0;const c=t.split(/\r?\n/).map(f=>f.trim()).filter(Boolean),u=c.length>0?c[c.length-1]:t,d=/[.!?)]$/.test(u),l=/(?:=|\\boxed|\\int|d\/dx|f\(x\)|x\^\d+|\b\d+(?:\.\d+)?\b)\s*$/.test(u);return t.length>=140&&!d&&!l}function em(e,t){const n=t.trim(),s=e.toLowerCase();if(!n||Jp(n))return!0;const i=n.replace(/[#*_`>|\-]/g," ").replace(/\s+/g," ").trim();if(!i||i.length<24&&/(derivative|integral|equation|complete|explain|step)/.test(s))return!0;if(s.includes("derivative")&&s.includes("integral")){const o=n.toLowerCase(),r=/derivative|f'|d\/dx/.test(o),a=/integral|∫|\\int/.test(o);if(!r||!a)return!0}return!!((s.includes("complete equation")||s.includes("complete equations")||s.includes("step-by-step")||s.includes("step by step"))&&((n.match(/=|\\frac|\\int|∫|\\boxed|d\/dx|\b(dx|x\^\d+)\b/g)??[]).length<2||n.length<120))}function kt(e){const t=e.split(/\n{2,}/).map(i=>i.trim()).filter(Boolean);if(t.length<=1)return e.trim();const n=new Set,s=[];for(const i of t){const o=i.toLowerCase().replace(/[#*_`]/g,"").replace(/\s+/g," ").trim();!o||n.has(o)||(n.add(o),s.push(i))}return s.join(` `).trim()}function Cn(e,t){const n=e.trim(),s=t.trim();if(!n)return kt(s);if(!s)return kt(n);const i=Math.min(n.length,s.length,220);for(let o=i;o>=24;o-=1){const r=n.slice(-o),a=s.slice(0,o);if(r===a)return kt(`${n}${s.slice(o)}`.trim())}return n.endsWith(s)?kt(n):s.startsWith(n)?kt(s):kt(`${n} @@ -555,4 +555,4 @@ I can help with a wide range of math topics. Try asking: - Arithmetic (fractions, percentages) - Logarithms, Exponents, Matrices -What would you like to learn about?`}const xg=()=>{const e=h.useContext(ml);if(!e)throw new Error("useChatContext must be used within ChatProvider");return e},sm=({children:e})=>{const{currentUser:t}=cl(),[n,s]=h.useState([]),[i,o]=h.useState(null),[r,a]=h.useState(!1),[c,u]=h.useState(null),[d,l]=h.useState(!1),f=h.useRef(new Map);h.useEffect(()=>{if(!t){s([]),l(!1);return}(async()=>{try{const P=await gt(),S=await P.getUserChatSessions(t.uid),I=await Promise.all(S.map(async x=>{const L=(await P.getSessionMessages(x.id)).map(_=>({id:_.id,sender:_.role==="user"?"user":"ai",text:_.role==="assistant"?je(_.content):_.content,timestamp:_.timestamp instanceof Date?_.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):new Date(_.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}));return{id:x.id,title:x.title,date:x.updatedAt instanceof Date?x.updatedAt.toLocaleDateString():new Date(x.updatedAt).toLocaleDateString(),messageCount:L.length,preview:L.length>0&&Ss(L[L.length-1].text)||"No messages yet",topics:[],messages:L,createdAt:x.createdAt instanceof Date?x.createdAt:new Date(x.createdAt),updatedAt:x.updatedAt instanceof Date?x.updatedAt:new Date(x.updatedAt)}}));s(I)}catch(P){console.error("Error loading chat sessions:",P)}finally{l(!0)}})()},[t]);const p=b=>{if(b.length===0)return"New Chat";const P=b.find(x=>x.sender==="user")?.text||"",S=P.toLowerCase();if(S.includes("quadratic")||S.includes("ax² + bx + c"))return"Quadratic Equations Help";if(S.includes("derivative")||S.includes("calculus"))return"Derivatives & Calculus";if(S.includes("pythagor")||S.includes("right triangle"))return"Pythagorean Theorem";if(S.includes("trig")||S.includes("sin")||S.includes("cos"))return"Trigonometry Help";if(S.includes("area")||S.includes("perimeter"))return"Geometry - Area & Perimeter";if(S.includes("algebra")||S.includes("solve")&&S.includes("x"))return"Algebra Problem Solving";if(S.includes("factor"))return"Factoring Practice";if(S.includes("graph")||S.includes("plot"))return"Graphing Functions";if(S.includes("matrix")||S.includes("matrices"))return"Matrix Operations";if(S.includes("integral")||S.includes("integrate"))return"Integration Problems";if(S.includes("limit"))return"Limits in Calculus";if(S.includes("statistic")||S.includes("probability"))return"Statistics & Probability";const I=P.slice(0,40);return I.length{const P=Date.now().toString(),S=new Date,I={id:P,title:b?p([b]):"New Chat",date:"Just now",messageCount:b?1:0,preview:b&&Ss(b.text)||"Start a new conversation...",topics:[],messages:b?[b]:[],createdAt:S,updatedAt:S};if(s(x=>[I,...x]),t){const x=b?p([b]):"New Chat",R=gt().then(async L=>{const _=await L.createChatSession(t.uid,x);return b&&await L.addMessageToSession(_.id,b.sender==="user"?"user":"assistant",b.text),_.id}).catch(L=>(console.error("Error creating Firebase session:",L),P));f.current.set(P,R)}return P},[t]),w=h.useCallback((b,P)=>{const S=P.sender==="ai"?{...P,text:je(P.text)}:P;s(x=>x.map(R=>{if(R.id===b){const L=[...R.messages,S];return{...R,messages:L,messageCount:L.length,preview:Ss(S.text)||R.preview,updatedAt:new Date,title:L.length===2?p(L):R.title}}return R}));const I=async x=>{const R=f.current.get(x);return R?await R:x};I(b).then(async x=>{await(await gt()).addMessageToSession(x,S.sender==="user"?"user":"assistant",S.text)}).catch(x=>console.error("Error persisting message:",x)),s(x=>{const R=x.find(L=>L.id===b);if(R&&R.messages.length===2){const L=p(R.messages);I(b).then(async _=>{await(await gt()).updateSessionTitle(_,L)}).catch(_=>console.error("Error updating title:",_))}return x})},[]),T=h.useCallback(async(b,P)=>{const S=P.trim(),I={id:Date.now().toString(),sender:"user",text:S,timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};w(b,I),u(b),a(!0);try{let x=null,R=null;const L=n.find(N=>N.id===b),_=(L?.messages||[]).map(N=>({role:N.sender==="user"?"user":"assistant",content:N.text})),oe=gl(S)?Xp(_):null,J=oe?Yp(oe):S,ge=oe??S,Me=pl(S,{history:_});if(Me){const N={id:(Date.now()+1).toString(),sender:"ai",text:Me,timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};w(b,N);return}try{const N=await co();x=N.apiService,R=N.ApiTimeoutError}catch(N){console.error("Failed to load API service for chat:",N);const D={id:(Date.now()+1).toString(),sender:"ai",text:Dn(ge),timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};w(b,D);return}const U=new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});let V="",W=null;const ee=tm(S),G=nm(S),Q=Qp(S),ye=G||!!Q,j=Q?{expectedEndMarker:Q,completionMode:"marker"}:void 0,B=N=>ni(S,N,Q,G),z=N=>{N.trim()&&s(D=>D.map(K=>{if(K.id!==b)return K;if(!W){W=`stream-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;const ae={id:W,sender:"ai",text:N,timestamp:U},F=[...K.messages,ae];return{...K,messages:F,messageCount:F.length,updatedAt:new Date}}return{...K,messages:K.messages.map(ae=>ae.id===W?{...ae,text:N}:ae),updatedAt:new Date}}))},te=()=>{if(!W)return;const N=W;s(D=>D.map(K=>{if(K.id!==b)return K;const ae=K.messages.filter(F=>F.id!==N);return{...K,messages:ae,messageCount:ae.length,updatedAt:new Date}}))};try{const{response:N}=await x.chat(J,_,F=>{V+=F,ee&&z(kp(V))},j);let D=je(N||V).trim();if(ye&&D&&B(D)){try{const F=await x.chatSafe(uo(S,D,Q),_,j),fe=je(F.data.response).trim();D=Cn(D,fe)}catch(F){console.warn("Streaming completion repair failed:",F)}if(ye&&D&&B(D))try{const F=await x.chatSafe(fo(S,D,Q),_,j),fe=je(F.data.response).trim();D=Cn(D,fe)}catch(F){console.warn("Streaming plain continuation repair failed:",F)}if(ye&&D&&B(D))try{const F=await x.chatSafe(ho(S,Q),_,j),fe=je(F.data.response).trim();fe&&(D=po(S,D,fe,Q,G))}catch(F){console.warn("Streaming full completion repair failed:",F)}}const K=B(D);(!D||K&&!ye)&&(D=Dn(ge,_)),W&&te();const ae={id:(Date.now()+1).toString(),sender:"ai",text:D,timestamp:U};w(b,ae)}catch(N){R&&N instanceof R?console.warn(`Streaming timed out after ${N.timeoutMs}ms, falling back to non-streaming chat.`,N):console.warn("Streaming failed, falling back to non-streaming chat:",N),W&&te();let D="";try{const F=x??(await co()).apiService,{data:fe}=await F.chatSafe(J,_,j);if(D=je(fe.response).trim(),ye&&D&&B(D))try{const ve=await F.chatSafe(uo(S,D,Q),_,j),be=je(ve.data.response).trim();D=Cn(D,be)}catch(ve){console.warn("Non-stream completion repair failed:",ve)}if(ye&&D&&B(D))try{const ve=await F.chatSafe(fo(S,D,Q),_,j),be=je(ve.data.response).trim();D=Cn(D,be)}catch(ve){console.warn("Non-stream plain continuation repair failed:",ve)}if(ye&&D&&B(D))try{const ve=await F.chatSafe(ho(S,Q),_,j),be=je(ve.data.response).trim();be&&(D=po(S,D,be,Q,G))}catch(ve){console.warn("Non-stream full completion repair failed:",ve)}}catch(F){console.warn("Chat request failed, using local fallback response:",F),D=Dn(ge,_)}const K=B(D);(!D||K&&!ye)&&(D=Dn(ge,_));const ae={id:(Date.now()+1).toString(),sender:"ai",text:je(D),timestamp:U};w(b,ae)}if(L&&L.messages.length===1){const N=n.find(D=>D.id===b);if(N&&N.messages.length>1){const D=p(N.messages),K=f.current.get(b);(K||Promise.resolve(b)).then(async F=>{await(await gt()).updateSessionTitle(F,D)}).catch(F=>console.error("Error updating title:",F))}}}finally{a(!1),u(null)}},[n,w]),v=h.useCallback((b,P)=>{s(x=>x.map(R=>R.id===b?{...R,title:P}:R));const S=f.current.get(b);(S||Promise.resolve(b)).then(async x=>{await(await gt()).updateSessionTitle(x,P)}).catch(x=>console.error("Error updating session title:",x))},[]),A=h.useCallback(b=>{s(I=>I.filter(x=>x.id!==b)),i===b&&o(null);const P=f.current.get(b);(P||Promise.resolve(b)).then(async I=>{await(await gt()).deleteSession(I)}).catch(I=>console.error("Error deleting session:",I)),f.current.delete(b)},[i]),y=h.useCallback(()=>n.find(b=>b.id===i)||null,[n,i]);return m.jsx(ml.Provider,{value:{sessions:n,activeSessionId:i,isLoading:r,loadingSessionId:c,sessionsLoaded:d,setActiveSessionId:o,createNewSession:g,addMessageToSession:w,sendMessage:T,updateSessionTitle:v,deleteSession:A,getActiveSession:y,generateTitleFromMessages:p},children:e})},yl=e=>{const t=e.data(),n=t.createdAt,s=typeof n?.toDate=="function"?n.toDate():n instanceof Date?n:new Date,i=t.actionUrl??t.link??void 0;return{...t,id:e.id,createdAt:s,actionUrl:i}},im=async(e,t,n,s,i)=>{try{const o=se(We(q,"notifications")),r={id:o.id,userId:e,type:t,title:n,message:s,read:!1,...i?{actionUrl:i}:{},createdAt:new Date},a={id:r.id,userId:r.userId,type:r.type,title:r.title,message:r.message,read:r.read,createdAt:he(),link:i||null};return await He(o,{...a}),r}catch(o){throw console.error("Error creating notification:",o),o}},wg=async(e,t=50,n=!1)=>{try{let s=rt(We(q,"notifications"),Oe("userId","==",e),tn("createdAt","desc"),nn(t));return n&&(s=rt(We(q,"notifications"),Oe("userId","==",e),Oe("read","==",!1),tn("createdAt","desc"),nn(t))),(await un(s)).docs.map(o=>yl(o))}catch(s){return console.error("Error getting notifications:",s),[]}},Sg=(e,t={},n,s)=>{if(!e)return n([]),()=>{};const{limitCount:i=50,unreadOnly:o=!1}=t,r=[Oe("userId","==",e),tn("createdAt","desc"),nn(i)],a=o?rt(We(q,"notifications"),Oe("userId","==",e),Oe("read","==",!1),tn("createdAt","desc"),nn(i)):rt(We(q,"notifications"),...r);return xo(a,c=>{n(c.docs.map(u=>yl(u)))},c=>{console.error("Error subscribing to notifications:",c),s?.(c)})},Tg=async e=>{try{const t=se(q,"notifications",e);await Bt(t,{read:!0})}catch(t){throw console.error("Error marking notification as read:",t),t}},Pg=async e=>{try{const t=rt(We(q,"notifications"),Oe("userId","==",e),Oe("read","==",!1)),n=await un(t);await Promise.all(n.docs.map(s=>Bt(s.ref,{read:!0})))}catch(t){throw console.error("Error marking all notifications as read:",t),t}},rm=async e=>{try{const t=se(q,"users",e),n=await ke(t);if(!n.exists())throw new Error("User not found");const s=n.data(),i=s.lastActivityDate?.toDate(),o=new Date;o.setHours(0,0,0,0);let r=s.streak||0;if(!i)r=1;else{const u=new Date(i);u.setHours(0,0,0,0);const d=Math.floor((o.getTime()-u.getTime())/(1e3*60*60*24));if(d===0)r=s.streak||1;else if(d===1){r=(s.streak||0)+1;const l=Math.min(r*5,50);await vl(e,l,"streak_bonus",`${r} day streak bonus!`)}else r=1}const a=new Date,c=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`;return await Bt(t,{streak:r,streakHistory:Bl(c),lastActivityDate:he(),updatedAt:he()}),r}catch(t){return console.error("Error updating streak:",t),0}},vl=async(e,t,n,s)=>{try{const i=se(q,"users",e),o=await ke(i);if(!o.exists())throw new Error("User not found");const r=o.data(),a=r.currentXP||0,c=r.totalXP||0,u=a+t,d=c+t,l=r.level||1;console.log(`🏆 XP Award - User: ${e}, Amount: ${t}, Previous currentXP: ${a}, New: ${u}, Type: ${n}`);let f=l,p=d,g=!1;for(;;){const v=Math.floor(100*Math.pow(1.5,f-1));let A=0;for(let y=1;y<=f;y++)A+=Math.floor(100*Math.pow(1.5,y-1));if(d>=A)f++,g=!0;else break}const w={currentXP:u,totalXP:d,level:f,updatedAt:he()};await Bt(i,w),console.log(`💾 Firebase Update - currentXP: ${a} -> ${u}, totalXP: ${c} -> ${d}, level: ${f}`);const T=se(We(q,"xpActivities"));return await He(T,{activityId:T.id,userId:e,type:n,xpEarned:t,description:s,timestamp:he()}),{newLevel:f,leveledUp:g,xp:u,addedXp:t}}catch(i){throw console.error("Error awarding XP:",i),i}},Ag=async(e,t=!1,n="all",s=10)=>{try{const i=rt(We(q,"users"),Oe("role","==","student"),tn("totalXP","desc"),nn(s));return(await un(i)).docs.map((r,a)=>{const c=r.data();return{userId:r.id,name:c.name||"Unknown",photo:c.photo,xp:c.totalXP||0,level:c.level||1,rank:a+1,weeklyXP:c.weeklyXP||0,monthlyXP:c.monthlyXP||0}})}catch(i){return console.error("Error getting leaderboard:",i),[]}},Eg=async e=>{try{const t=await ke(se(q,"users",e));if(!t.exists())return 0;const n=t.data().totalXP||0,s=rt(We(q,"users"),Oe("role","==","student"),Oe("totalXP",">",n));return(await un(s)).size+1}catch(t){return console.error("Error getting user rank:",t),0}},Cg=async e=>{try{const t=await ke(se(q,"achievements",e));return t.exists()?t.data().achievements||[]:[]}catch(t){return console.error("Error getting user achievements:",t),[]}},Ni=async e=>{const t={userId:e,subjects:{},lessons:{},quizAttempts:[],totalLessonsCompleted:0,totalQuizzesCompleted:0,averageScore:0,updatedAt:new Date};return await He(se(q,"progress",e),t),t},om=async e=>{try{const t=se(q,"progress",e),n=await ke(t);if(n.exists()){const s=n.data();return{...s,updatedAt:s.updatedAt?.toDate()||new Date}}return await Ni(e)}catch(t){return console.error("Error getting user progress:",t),null}},Dg=(e,t)=>{const n=se(q,"progress",e);return xo(n,s=>{if(!s.exists()){t(null);return}const i=s.data();t({...i,updatedAt:i.updatedAt?.toDate?.()||new Date})},s=>{console.error("Error subscribing to user progress:",s),t(null)})},Rg=async(e,t,n)=>{const s=Math.max(0,Math.min(100,n)),i=se(q,"progress",e);await He(i,{[`lessons.${t}.lessonId`]:t,[`lessons.${t}.progressPercent`]:s,updatedAt:he()},{merge:!0})},kg=async(e,t,n,s,i)=>{const o=se(q,"progress",e),r=await ke(o);if(!r.exists())return 0;const c=r.data().subjects?.[t]?.modulesProgress?.[n];if(!c)return 0;const u=Math.max(1,s+i),d=c.lessonsCompleted?.length||0,l=c.quizzesCompleted?.length||0,f=Math.round((d+l)/u*100);return await He(o,{[`subjects.${t}.modulesProgress.${n}.progress`]:f,[`subjects.${t}.modulesProgress.${n}.lastAccessedAt`]:he(),updatedAt:he()},{merge:!0}),f},Mg=async(e,t,n,s,i,o=50)=>{try{const r=se(q,"progress",e);let a=await ke(r);a.exists()||(await Ni(e),a=await ke(r));const c=a.data(),u={lessonId:s,completed:!0,completedAt:new Date,timeSpent:i};c.subjects||(c.subjects={}),c.subjects[t]||(c.subjects[t]={subjectId:t,progress:0,completedModules:0,totalModules:0,modulesProgress:{}});const d=c.subjects[t];d.modulesProgress[n]||(d.modulesProgress[n]={moduleId:n,subjectId:t,progress:0,lessonsCompleted:[],quizzesCompleted:[],startedAt:new Date,lastAccessedAt:new Date});const l=d.modulesProgress[n],f=!l.lessonsCompleted.includes(s);f&&(l.lessonsCompleted.push(s),l.lastAccessedAt=new Date),await He(r,{[`lessons.${s}`]:u,[`subjects.${t}.modulesProgress.${n}`]:l,...f&&{totalLessonsCompleted:Fn(1)},updatedAt:he()},{merge:!0}),await bl(e,o,"lesson_complete",`Completed lesson: ${s}`)}catch(r){throw console.error("Error completing lesson:",r),r}},Lg=async(e,t,n,s,i,o,r)=>{try{const a=se(q,"progress",e);let c=await ke(a);c.exists()||(await Ni(e),c=await ke(a));const u=c.data(),d={quizId:s,attemptNumber:(u.quizAttempts?.filter(w=>w.quizId===s).length||0)+1,score:i,completedAt:new Date,timeSpent:r,answers:o},l=Math.floor(i/100*100);u.subjects||(u.subjects={}),u.subjects[t]||(u.subjects[t]={subjectId:t,progress:0,completedModules:0,totalModules:0,modulesProgress:{}});const f=u.subjects[t];f.modulesProgress[n]||(f.modulesProgress[n]={moduleId:n,subjectId:t,progress:0,lessonsCompleted:[],quizzesCompleted:[],startedAt:new Date,lastAccessedAt:new Date});const p=f.modulesProgress[n],g=!p.quizzesCompleted.includes(s);g&&(p.quizzesCompleted.push(s),p.lastAccessedAt=new Date),await Bt(a,{quizAttempts:[...u.quizAttempts||[],d],[`subjects.${t}.modulesProgress.${n}`]:p,...g&&{totalQuizzesCompleted:Fn(1)},updatedAt:he()}),await bl(e,l,"quiz_complete",`Completed quiz: ${s} (Score: ${i}%)`)}catch(a){throw console.error("Error completing quiz:",a),a}},bl=async(e,t,n,s)=>{try{const i=se(q,"users",e);await Bt(i,{currentXP:Fn(t),totalXP:Fn(t),updatedAt:he()});const o=se(We(q,"xpActivities"));await He(o,{activityId:o.id,userId:e,type:n,xpEarned:t,description:s,timestamp:he()})}catch(i){console.error("Error awarding XP:",i)}},On={notifications:{emailNotifications:!0,pushNotifications:!0,soundEnabled:!0,notificationTypes:{quizReminders:!0,newContent:!0,achievements:!0,streakAlerts:!0,weeklySummary:!0},quietHours:{start:"22:00",end:"08:00"}},appearance:{darkMode:!1,fontSize:16,compactView:!1,reduceAnimations:!1},privacy:{profileVisibility:"everyone",showActivityStatus:!0,dataSharing:!0},learning:{dailyXpGoal:100,preferredStudyTime:"evening",autoPlayLessons:!1,showHints:!0,quizDifficultyPreference:"adaptive",studyReminderTime:"18:00"},adminPanel:{siteName:"MathPulse AI",siteDescription:"AI-Powered Mathematics Learning Platform",defaultLanguage:"English",maintenanceMode:!1,enforceStrongPasswords:!0,sessionTimeoutMinutes:60,aiTutorEnabled:!0,aiAutoRecommendations:!0,aiRiskAlertsEnabled:!0,gradingScale:"percentage",passingGrade:75,parentSummaryEmails:!0,teacherDigestEmails:!0,weeklyPlatformReport:!0,autoBackupEnabled:!1,backupFrequency:"weekly"}},am="preferences",Oi=()=>JSON.parse(JSON.stringify(On)),xl=e=>{const t=Oi();return e?{...t,...e,notifications:{...t.notifications,...e.notifications,notificationTypes:{...t.notifications.notificationTypes,...e.notifications?.notificationTypes},quietHours:{...t.notifications.quietHours,...e.notifications?.quietHours}},appearance:{...t.appearance,...e.appearance},privacy:{...t.privacy,...e.privacy},learning:{...t.learning,...e.learning},adminPanel:{...t.adminPanel,...e.adminPanel}}:t},Fi=e=>se(q,"users",e,"settings",am),wl=async e=>{const t=Fi(e),n=await ke(t);if(!n.exists()){const s=Oi();return await He(t,{...s,createdAt:he(),updatedAt:he()}),s}return xl(n.data())},lm=async(e,t)=>{const n=await wl(e),s=xl({...n,...t});return await He(Fi(e),{...s,updatedAt:he()},{merge:!0}),s},cm=e=>{const t=document.documentElement;t.style.setProperty("--font-size",`${e.appearance.fontSize}px`),t.dataset.density=e.appearance.compactView?"compact":"comfortable",e.appearance.reduceAnimations?t.classList.add("reduced-motion"):t.classList.remove("reduced-motion"),e.appearance.darkMode?t.classList.add("smart-dark"):t.classList.remove("smart-dark")},um=async()=>{try{if(localStorage.clear(),sessionStorage.clear(),"caches"in window){const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}}catch(e){throw console.error("Failed clearing client cache:",e),new Error("Unable to clear cache on this device.")}},dm=async e=>{const t=se(q,"users",e),n=await ke(t),s=await ke(Fi(e)),i=["progress","xpActivities","achievements","notifications","tasks","chatSessions","chatMessages"],o=await Promise.all(i.map(async r=>{const a=rt(We(q,r),Oe("userId","==",e)),c=await un(a);return{collectionName:r,items:c.docs.map(u=>({id:u.id,...u.data()}))}}));return{exportedAt:new Date().toISOString(),user:n.exists()?{id:n.id,...n.data()}:null,settings:s.exists()?s.data():Oi(),collections:o.reduce((r,a)=>(r[a.collectionName]=a.items,r),{})}};function fm(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}const hm=e=>{switch(e){case"success":return gm;case"info":return vm;case"warning":return ym;case"error":return bm;default:return null}},pm=Array(12).fill(0),mm=({visible:e,className:t})=>E.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},E.createElement("div",{className:"sonner-spinner"},pm.map((n,s)=>E.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${s}`})))),gm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),ym=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),vm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),bm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),xm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},E.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),E.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),wm=()=>{const[e,t]=E.useState(document.hidden);return E.useEffect(()=>{const n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e};let si=1;class Sm{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{const n=this.subscribers.indexOf(t);this.subscribers.splice(n,1)}),this.publish=t=>{this.subscribers.forEach(n=>n(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var n;const{message:s,...i}=t,o=typeof t?.id=="number"||((n=t.id)==null?void 0:n.length)>0?t.id:si++,r=this.toasts.find(c=>c.id===o),a=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),r?this.toasts=this.toasts.map(c=>c.id===o?(this.publish({...c,...t,id:o,title:s}),{...c,...t,id:o,dismissible:a,title:s}):c):this.addToast({title:s,...i,dismissible:a,id:o}),o},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(n=>n({id:t,dismiss:!0})))):this.toasts.forEach(n=>{this.subscribers.forEach(s=>s({id:n.id,dismiss:!0}))}),t),this.message=(t,n)=>this.create({...n,message:t}),this.error=(t,n)=>this.create({...n,message:t,type:"error"}),this.success=(t,n)=>this.create({...n,type:"success",message:t}),this.info=(t,n)=>this.create({...n,type:"info",message:t}),this.warning=(t,n)=>this.create({...n,type:"warning",message:t}),this.loading=(t,n)=>this.create({...n,type:"loading",message:t}),this.promise=(t,n)=>{if(!n)return;let s;n.loading!==void 0&&(s=this.create({...n,promise:t,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));const i=Promise.resolve(t instanceof Function?t():t);let o=s!==void 0,r;const a=i.then(async u=>{if(r=["resolve",u],E.isValidElement(u))o=!1,this.create({id:s,type:"default",message:u});else if(Pm(u)&&!u.ok){o=!1;const l=typeof n.error=="function"?await n.error(`HTTP error! status: ${u.status}`):n.error,f=typeof n.description=="function"?await n.description(`HTTP error! status: ${u.status}`):n.description,g=typeof l=="object"&&!E.isValidElement(l)?l:{message:l};this.create({id:s,type:"error",description:f,...g})}else if(u instanceof Error){o=!1;const l=typeof n.error=="function"?await n.error(u):n.error,f=typeof n.description=="function"?await n.description(u):n.description,g=typeof l=="object"&&!E.isValidElement(l)?l:{message:l};this.create({id:s,type:"error",description:f,...g})}else if(n.success!==void 0){o=!1;const l=typeof n.success=="function"?await n.success(u):n.success,f=typeof n.description=="function"?await n.description(u):n.description,g=typeof l=="object"&&!E.isValidElement(l)?l:{message:l};this.create({id:s,type:"success",description:f,...g})}}).catch(async u=>{if(r=["reject",u],n.error!==void 0){o=!1;const d=typeof n.error=="function"?await n.error(u):n.error,l=typeof n.description=="function"?await n.description(u):n.description,p=typeof d=="object"&&!E.isValidElement(d)?d:{message:d};this.create({id:s,type:"error",description:l,...p})}}).finally(()=>{o&&(this.dismiss(s),s=void 0),n.finally==null||n.finally.call(n)}),c=()=>new Promise((u,d)=>a.then(()=>r[0]==="reject"?d(r[1]):u(r[1])).catch(d));return typeof s!="string"&&typeof s!="number"?{unwrap:c}:Object.assign(s,{unwrap:c})},this.custom=(t,n)=>{const s=n?.id||si++;return this.create({jsx:t(s),id:s,...n}),s},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Re=new Sm,Tm=(e,t)=>{const n=t?.id||si++;return Re.addToast({title:e,...t,id:n}),n},Pm=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Am=Tm,Em=()=>Re.toasts,Cm=()=>Re.getActiveToasts(),Se=Object.assign(Am,{success:Re.success,info:Re.info,warning:Re.warning,error:Re.error,custom:Re.custom,message:Re.message,promise:Re.promise,dismiss:Re.dismiss,loading:Re.loading},{getHistory:Em,getToasts:Cm});fm("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Rn(e){return e.label!==void 0}const Dm=3,Rm="24px",km="16px",mo=4e3,Mm=356,Lm=14,Im=45,Vm=200;function Ge(...e){return e.filter(Boolean).join(" ")}function _m(e){const[t,n]=e.split("-"),s=[];return t&&s.push(t),n&&s.push(n),s}const jm=e=>{var t,n,s,i,o,r,a,c,u;const{invert:d,toast:l,unstyled:f,interacting:p,setHeights:g,visibleToasts:w,heights:T,index:v,toasts:A,expanded:y,removeToast:b,defaultRichColors:P,closeButton:S,style:I,cancelButtonStyle:x,actionButtonStyle:R,className:L="",descriptionClassName:_="",duration:oe,position:J,gap:ge,expandByDefault:Me,classNames:U,icons:V,closeButtonAriaLabel:W="Close toast"}=e,[ee,G]=E.useState(null),[Q,ye]=E.useState(null),[j,B]=E.useState(!1),[z,te]=E.useState(!1),[N,D]=E.useState(!1),[K,ae]=E.useState(!1),[F,fe]=E.useState(!1),[ve,be]=E.useState(0),[Ze,gn]=E.useState(0),Be=E.useRef(l.duration||oe||mo),et=E.useRef(null),Ve=E.useRef(null),yn=v===0,tt=v+1<=w,pe=l.type,qe=l.dismissible!==!1,Ht=l.className||"",wt=l.descriptionClassName||"",_e=E.useMemo(()=>T.findIndex(O=>O.toastId===l.id)||0,[T,l.id]),St=E.useMemo(()=>{var O;return(O=l.closeButton)!=null?O:S},[l.closeButton,S]),Tt=E.useMemo(()=>l.duration||oe||mo,[l.duration,oe]),dt=E.useRef(0),nt=E.useRef(0),qt=E.useRef(0),Ke=E.useRef(null),[Kt,ft]=J.split("-"),ht=E.useMemo(()=>T.reduce((O,le,ie)=>ie>=_e?O:O+le.height,0),[T,_e]),Pt=wm(),At=l.invert||d,Et=pe==="loading";nt.current=E.useMemo(()=>_e*ge+ht,[_e,ht]),E.useEffect(()=>{Be.current=Tt},[Tt]),E.useEffect(()=>{B(!0)},[]),E.useEffect(()=>{const O=Ve.current;if(O){const le=O.getBoundingClientRect().height;return gn(le),g(ie=>[{toastId:l.id,height:le,position:l.position},...ie]),()=>g(ie=>ie.filter(re=>re.toastId!==l.id))}},[g,l.id]),E.useLayoutEffect(()=>{if(!j)return;const O=Ve.current,le=O.style.height;O.style.height="auto";const ie=O.getBoundingClientRect().height;O.style.height=le,gn(ie),g(re=>re.find(ue=>ue.toastId===l.id)?re.map(ue=>ue.toastId===l.id?{...ue,height:ie}:ue):[{toastId:l.id,height:ie,position:l.position},...re])},[j,l.title,l.description,g,l.id,l.jsx,l.action,l.cancel]);const Ae=E.useCallback(()=>{te(!0),be(nt.current),g(O=>O.filter(le=>le.toastId!==l.id)),setTimeout(()=>{b(l)},Vm)},[l,b,g,nt]);E.useEffect(()=>{if(l.promise&&pe==="loading"||l.duration===1/0||l.type==="loading")return;let O;return y||p||Pt?(()=>{if(qt.current{Be.current!==1/0&&(dt.current=new Date().getTime(),O=setTimeout(()=>{l.onAutoClose==null||l.onAutoClose.call(l,l),Ae()},Be.current))})(),()=>clearTimeout(O)},[y,p,l,pe,Pt,Ae]),E.useEffect(()=>{l.delete&&(Ae(),l.onDismiss==null||l.onDismiss.call(l,l))},[Ae,l.delete]);function vn(){var O;if(V?.loading){var le;return E.createElement("div",{className:Ge(U?.loader,l==null||(le=l.classNames)==null?void 0:le.loader,"sonner-loader"),"data-visible":pe==="loading"},V.loading)}return E.createElement(mm,{className:Ge(U?.loader,l==null||(O=l.classNames)==null?void 0:O.loader),visible:pe==="loading"})}const bn=l.icon||V?.[pe]||hm(pe);var xn,Ct;return E.createElement("li",{tabIndex:0,ref:Ve,className:Ge(L,Ht,U?.toast,l==null||(t=l.classNames)==null?void 0:t.toast,U?.default,U?.[pe],l==null||(n=l.classNames)==null?void 0:n[pe]),"data-sonner-toast":"","data-rich-colors":(xn=l.richColors)!=null?xn:P,"data-styled":!(l.jsx||l.unstyled||f),"data-mounted":j,"data-promise":!!l.promise,"data-swiped":F,"data-removed":z,"data-visible":tt,"data-y-position":Kt,"data-x-position":ft,"data-index":v,"data-front":yn,"data-swiping":N,"data-dismissible":qe,"data-type":pe,"data-invert":At,"data-swipe-out":K,"data-swipe-direction":Q,"data-expanded":!!(y||Me&&j),"data-testid":l.testId,style:{"--index":v,"--toasts-before":v,"--z-index":A.length-v,"--offset":`${z?ve:nt.current}px`,"--initial-height":Me?"auto":`${Ze}px`,...I,...l.style},onDragEnd:()=>{D(!1),G(null),Ke.current=null},onPointerDown:O=>{O.button!==2&&(Et||!qe||(et.current=new Date,be(nt.current),O.target.setPointerCapture(O.pointerId),O.target.tagName!=="BUTTON"&&(D(!0),Ke.current={x:O.clientX,y:O.clientY})))},onPointerUp:()=>{var O,le,ie;if(K||!qe)return;Ke.current=null;const re=Number(((O=Ve.current)==null?void 0:O.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),pt=Number(((le=Ve.current)==null?void 0:le.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),ue=new Date().getTime()-((ie=et.current)==null?void 0:ie.getTime()),Ee=ee==="x"?re:pt,Dt=Math.abs(Ee)/ue;if(Math.abs(Ee)>=Im||Dt>.11){be(nt.current),l.onDismiss==null||l.onDismiss.call(l,l),ye(ee==="x"?re>0?"right":"left":pt>0?"down":"up"),Ae(),ae(!0);return}else{var Le,Ie;(Le=Ve.current)==null||Le.style.setProperty("--swipe-amount-x","0px"),(Ie=Ve.current)==null||Ie.style.setProperty("--swipe-amount-y","0px")}fe(!1),D(!1),G(null)},onPointerMove:O=>{var le,ie,re;if(!Ke.current||!qe||((le=window.getSelection())==null?void 0:le.toString().length)>0)return;const ue=O.clientY-Ke.current.y,Ee=O.clientX-Ke.current.x;var Dt;const Le=(Dt=e.swipeDirections)!=null?Dt:_m(J);!ee&&(Math.abs(Ee)>1||Math.abs(ue)>1)&&G(Math.abs(Ee)>Math.abs(ue)?"x":"y");let Ie={x:0,y:0};const Rt=Ce=>1/(1.5+Math.abs(Ce)/20);if(ee==="y"){if(Le.includes("top")||Le.includes("bottom"))if(Le.includes("top")&&ue<0||Le.includes("bottom")&&ue>0)Ie.y=ue;else{const Ce=ue*Rt(ue);Ie.y=Math.abs(Ce)0)Ie.x=Ee;else{const Ce=Ee*Rt(Ee);Ie.x=Math.abs(Ce)0||Math.abs(Ie.y)>0)&&fe(!0),(ie=Ve.current)==null||ie.style.setProperty("--swipe-amount-x",`${Ie.x}px`),(re=Ve.current)==null||re.style.setProperty("--swipe-amount-y",`${Ie.y}px`)}},St&&!l.jsx&&pe!=="loading"?E.createElement("button",{"aria-label":W,"data-disabled":Et,"data-close-button":!0,onClick:Et||!qe?()=>{}:()=>{Ae(),l.onDismiss==null||l.onDismiss.call(l,l)},className:Ge(U?.closeButton,l==null||(s=l.classNames)==null?void 0:s.closeButton)},(Ct=V?.close)!=null?Ct:xm):null,(pe||l.icon||l.promise)&&l.icon!==null&&(V?.[pe]!==null||l.icon)?E.createElement("div",{"data-icon":"",className:Ge(U?.icon,l==null||(i=l.classNames)==null?void 0:i.icon)},l.promise||l.type==="loading"&&!l.icon?l.icon||vn():null,l.type!=="loading"?bn:null):null,E.createElement("div",{"data-content":"",className:Ge(U?.content,l==null||(o=l.classNames)==null?void 0:o.content)},E.createElement("div",{"data-title":"",className:Ge(U?.title,l==null||(r=l.classNames)==null?void 0:r.title)},l.jsx?l.jsx:typeof l.title=="function"?l.title():l.title),l.description?E.createElement("div",{"data-description":"",className:Ge(_,wt,U?.description,l==null||(a=l.classNames)==null?void 0:a.description)},typeof l.description=="function"?l.description():l.description):null),E.isValidElement(l.cancel)?l.cancel:l.cancel&&Rn(l.cancel)?E.createElement("button",{"data-button":!0,"data-cancel":!0,style:l.cancelButtonStyle||x,onClick:O=>{Rn(l.cancel)&&qe&&(l.cancel.onClick==null||l.cancel.onClick.call(l.cancel,O),Ae())},className:Ge(U?.cancelButton,l==null||(c=l.classNames)==null?void 0:c.cancelButton)},l.cancel.label):null,E.isValidElement(l.action)?l.action:l.action&&Rn(l.action)?E.createElement("button",{"data-button":!0,"data-action":!0,style:l.actionButtonStyle||R,onClick:O=>{Rn(l.action)&&(l.action.onClick==null||l.action.onClick.call(l.action,O),!O.defaultPrevented&&Ae())},className:Ge(U?.actionButton,l==null||(u=l.classNames)==null?void 0:u.actionButton)},l.action.label):null)};function go(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function Nm(e,t){const n={};return[e,t].forEach((s,i)=>{const o=i===1,r=o?"--mobile-offset":"--offset",a=o?km:Rm;function c(u){["top","right","bottom","left"].forEach(d=>{n[`${r}-${d}`]=typeof u=="number"?`${u}px`:u})}typeof s=="number"||typeof s=="string"?c(s):typeof s=="object"?["top","right","bottom","left"].forEach(u=>{s[u]===void 0?n[`${r}-${u}`]=a:n[`${r}-${u}`]=typeof s[u]=="number"?`${s[u]}px`:s[u]}):c(a)}),n}const As=E.forwardRef(function(t,n){const{id:s,invert:i,position:o="bottom-right",hotkey:r=["altKey","KeyT"],expand:a,closeButton:c,className:u,offset:d,mobileOffset:l,theme:f="light",richColors:p,duration:g,style:w,visibleToasts:T=Dm,toastOptions:v,dir:A=go(),gap:y=Lm,icons:b,containerAriaLabel:P="Notifications"}=t,[S,I]=E.useState([]),x=E.useMemo(()=>s?S.filter(j=>j.toasterId===s):S.filter(j=>!j.toasterId),[S,s]),R=E.useMemo(()=>Array.from(new Set([o].concat(x.filter(j=>j.position).map(j=>j.position)))),[x,o]),[L,_]=E.useState([]),[oe,J]=E.useState(!1),[ge,Me]=E.useState(!1),[U,V]=E.useState(f!=="system"?f:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),W=E.useRef(null),ee=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),G=E.useRef(null),Q=E.useRef(!1),ye=E.useCallback(j=>{I(B=>{var z;return(z=B.find(te=>te.id===j.id))!=null&&z.delete||Re.dismiss(j.id),B.filter(({id:te})=>te!==j.id)})},[]);return E.useEffect(()=>Re.subscribe(j=>{if(j.dismiss){requestAnimationFrame(()=>{I(B=>B.map(z=>z.id===j.id?{...z,delete:!0}:z))});return}setTimeout(()=>{Tl.flushSync(()=>{I(B=>{const z=B.findIndex(te=>te.id===j.id);return z!==-1?[...B.slice(0,z),{...B[z],...j},...B.slice(z+1)]:[j,...B]})})})}),[S]),E.useEffect(()=>{if(f!=="system"){V(f);return}if(f==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?V("dark"):V("light")),typeof window>"u")return;const j=window.matchMedia("(prefers-color-scheme: dark)");try{j.addEventListener("change",({matches:B})=>{V(B?"dark":"light")})}catch{j.addListener(({matches:z})=>{try{V(z?"dark":"light")}catch(te){console.error(te)}})}},[f]),E.useEffect(()=>{S.length<=1&&J(!1)},[S]),E.useEffect(()=>{const j=B=>{var z;if(r.every(D=>B[D]||B.code===D)){var N;J(!0),(N=W.current)==null||N.focus()}B.code==="Escape"&&(document.activeElement===W.current||(z=W.current)!=null&&z.contains(document.activeElement))&&J(!1)};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[r]),E.useEffect(()=>{if(W.current)return()=>{G.current&&(G.current.focus({preventScroll:!0}),G.current=null,Q.current=!1)}},[W.current]),E.createElement("section",{ref:n,"aria-label":`${P} ${ee}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},R.map((j,B)=>{var z;const[te,N]=j.split("-");return x.length?E.createElement("ol",{key:j,dir:A==="auto"?go():A,tabIndex:-1,ref:W,className:u,"data-sonner-toaster":!0,"data-sonner-theme":U,"data-y-position":te,"data-x-position":N,style:{"--front-toast-height":`${((z=L[0])==null?void 0:z.height)||0}px`,"--width":`${Mm}px`,"--gap":`${y}px`,...w,...Nm(d,l)},onBlur:D=>{Q.current&&!D.currentTarget.contains(D.relatedTarget)&&(Q.current=!1,G.current&&(G.current.focus({preventScroll:!0}),G.current=null))},onFocus:D=>{D.target instanceof HTMLElement&&D.target.dataset.dismissible==="false"||Q.current||(Q.current=!0,G.current=D.relatedTarget)},onMouseEnter:()=>J(!0),onMouseMove:()=>J(!0),onMouseLeave:()=>{ge||J(!1)},onDragEnd:()=>J(!1),onPointerDown:D=>{D.target instanceof HTMLElement&&D.target.dataset.dismissible==="false"||Me(!0)},onPointerUp:()=>Me(!1)},x.filter(D=>!D.position&&B===0||D.position===j).map((D,K)=>{var ae,F;return E.createElement(jm,{key:D.id,icons:b,index:K,toast:D,defaultRichColors:p,duration:(ae=v?.duration)!=null?ae:g,className:v?.className,descriptionClassName:v?.descriptionClassName,invert:i,visibleToasts:T,closeButton:(F=v?.closeButton)!=null?F:c,interacting:ge,position:j,style:v?.style,unstyled:v?.unstyled,classNames:v?.classNames,cancelButtonStyle:v?.cancelButtonStyle,actionButtonStyle:v?.actionButtonStyle,closeButtonAriaLabel:v?.closeButtonAriaLabel,removeToast:ye,toasts:x.filter(fe=>fe.position==D.position),heights:L.filter(fe=>fe.position==D.position),setHeights:_,expandByDefault:a,gap:y,expanded:oe,swipeDirections:t.swipeDirections})})):null}))}),Om={Functions:"Functions and Graphs",BusinessMath:"Business and Financial Mathematics",Logic:"Logic and Reasoning"},Ig={Functions:"gm-1",BusinessMath:"gm-2",Logic:"gm-3"},Es=e=>{const t=e.trim().toLowerCase();return t==="functions"||t.includes("function")?"Functions":t==="businessmath"||t.includes("business")?"BusinessMath":t==="logic"||t.includes("reason")?"Logic":null},Fm=h.lazy(()=>H(()=>import("./LoginPage-CUimtvyL.js"),__vite__mapDeps([9,3,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,4,2,1,5,6]))),Bm=h.lazy(()=>H(()=>import("./TeacherDashboard-DfrjZbpI.js"),__vite__mapDeps([27,3,10,11,12,13,14,28,29,30,31,4,2,1,5,6,32,7,20,16,21,33,34,25,35,36,37,38,39,40,41,42,43,15,44,17,19,45,46,47,48,24,49,50,18,51,52,53,54,55,56,57,58,59,60,61,62]))),$m=h.lazy(()=>H(()=>import("./AdminDashboard-C6SAt4d-.js"),__vite__mapDeps([63,3,64,32,13,12,31,65,11,29,50,19,21,41,66,57,20,67,58,68,4,2,1,5,6,28,10,30,14,40,69,46,39,7,38,34,48,62,45,70,60,36,25,71,54,44,59,56,18,16,72,43,37,17]))),yo=h.lazy(()=>H(()=>import("./Sidebar-o2bWY_8O.js"),__vite__mapDeps([64,3,32,13,12,31,65,11,29,50,19,21,41,66,57,20,67,58,68,4,2,1,5,6]))),zm=h.lazy(()=>H(()=>import("./HeroBanner-h-p9WeQe.js"),__vite__mapDeps([73,3,16,4,2,1,5,6]))),Um=h.lazy(()=>H(()=>import("./RightSidebar-ZeBX_x2u.js"),__vite__mapDeps([74,3,48,65,11,13,12,58,50,75,4,2,1,5,6]))),Wm=h.lazy(()=>H(()=>import("./XPNotification-XhraxJ7G.js"),__vite__mapDeps([76,3,75,15,4,2,1,5,6]))),Hm=h.lazy(()=>H(()=>import("./NotificationCenter-DwfKrdw2.js"),__vite__mapDeps([77,3,54,55,29,21,57,36,58,4,2,1,5,6]))),qm=h.lazy(()=>H(()=>import("./SearchBar-CXXu3t8J.js"),__vite__mapDeps([78,3,45,29,56,21,17,19,20,4,2,1,5,6]))),Km=h.lazy(()=>H(()=>import("./SupplementalBanner-CI0k5FtZ.js"),__vite__mapDeps([79,3,29,15,50,21,17,16,4,2,1,5,6]))),Gm=h.lazy(()=>H(()=>import("./LearningPath-DlUcYiIS.js"),__vite__mapDeps([80,3,47,17,41,81,21,56,4,2,1,5,6]))),Xm=h.lazy(()=>H(()=>import("./CompetencyRadarChart-Dw0s090i.js"),__vite__mapDeps([82,3,47,17,41,16,15,61,12,4,2,1,5,6])).then(e=>({default:e.CompetencyRadarChart}))),Ym=h.lazy(()=>H(()=>import("./ModulesPage-QYg9jqb4.js"),__vite__mapDeps([83,3,81,21,56,10,11,12,13,14,58,15,59,18,75,39,29,70,47,17,41,33,1,2,48,23,84,0,4,5,6,85,7,46,86,79,50,16,62,45]))),Qm=h.lazy(()=>H(()=>import("./AIChatPage-BnPgCn4P.js"),__vite__mapDeps([87,3,10,11,12,13,14,51,52,53,4,2,1,5,6,38,45,30,35]))),Zm=h.lazy(()=>H(()=>import("./GradesPage-NucBV7D9.js"),__vite__mapDeps([88,3,10,11,12,13,47,17,41,18,59,60,43,72,50,4,2,1,5,6]))),Jm=h.lazy(()=>H(()=>import("./LeaderboardPage-CjX6Lh56.js"),__vite__mapDeps([89,3,29,21,59,18,56,58,17,34,75,49,4,2,1,5,6]))),eg=h.lazy(()=>H(()=>import("./QuizBattlePage-BL6YOo4B.js"),__vite__mapDeps([90,3,13,12,91,92,47,17,41,1,2,10,11,93,69,46,39,14,71,42,67,75,19,58,59,15,50,34,26,4,5,6]))),tg=h.lazy(()=>H(()=>import("./AvatarShop-Dj-BWVeS.js"),__vite__mapDeps([94,3,93,11,13,12,10,68,15,34,4,2,1,5,6]))),ng=h.lazy(()=>H(()=>import("./FloatingAITutor-C31CfNiH.js"),__vite__mapDeps([95,3,37,29,35,4,2,1,5,6]))),sg=h.lazy(()=>H(()=>import("./RewardsModal-DVcgjCVB.js"),__vite__mapDeps([96,3,29,75,58,59,21,18,60,19,17,4,2,1,5,6]))),Cs=h.lazy(()=>H(()=>import("./ProfileModal-CZ6-Hci5.js"),__vite__mapDeps([97,3,10,11,12,13,14,91,92,29,19,22,18,21,60,98,44,4,2,1,5,6]))),ig=h.lazy(()=>H(()=>import("./ConfirmModal--kX4RdFk.js"),__vite__mapDeps([28,3,10,11,12,13,29,30,31,4,2,1,5,6]))),Ds=h.lazy(()=>H(()=>import("./SettingsModal-BSwXYND2.js"),__vite__mapDeps([99,3,10,11,12,13,14,71,28,29,30,31,4,2,1,5,6,49,54,66,98,43,23,56]))),rg=h.lazy(()=>H(()=>import("./ScientificCalculator-1iS2ZTqh.js"),__vite__mapDeps([85,3,7,4,2,1,5,6,46,29]))),og=h.lazy(()=>H(()=>import("./DiagnosticAssessmentModal-B520o5zz.js"),__vite__mapDeps([100,3,10,11,12,13,86,85,7,4,2,1,5,6,46,29,0,16,48,50,41,17]))),ag=()=>{const{isLoggedIn:e,userProfile:t,userRole:n,loading:s,refreshProfile:i}=cl(),o=m.jsx("div",{className:"flex min-h-[320px] items-center justify-center text-sm font-semibold text-slate-500",children:"Loading content..."}),r=m.jsx("div",{className:"pb-4 text-sm font-semibold text-slate-500",children:"Loading dashboard content..."}),a=m.jsx("div",{className:"h-11 w-11 shrink-0 rounded-xl bg-[#edf1f7]","aria-hidden":"true"}),c=m.jsx("div",{className:"h-11 w-full rounded-xl bg-[#edf1f7]","aria-hidden":"true"}),u=m.jsx("div",{className:"h-screen w-72 border-r border-[#dde3eb] bg-white/70","aria-hidden":"true"}),d=m.jsx("div",{className:"min-h-[240px] rounded-3xl border border-[#dde3eb] bg-white/70","aria-hidden":"true"}),[l,f]=h.useState("Dashboard"),p=h.useRef(null),g=h.useRef(null),[w,T]=h.useState(!1),[v,A]=h.useState(!1),y=t,[b,P]=h.useState(y?.level||1),[S,I]=h.useState(y?.currentXP||0),[x,R]=h.useState(y?.totalXP||0),L=Math.floor(100*Math.pow(1.5,b-1));let _=0;for(let C=1;C{if(C==="Modules"&&bn){Se.info(`Complete your deep diagnostic (${Pt} outstanding) to unlock modules and regular practice.`),qe("followup_diagnostic"),tt(!0),f("Dashboard");return}M?ve(M):C==="Modules"&&l!=="Modules"&&ve(null),C==="Quiz Battle"&&l!=="Quiz Battle"?(U({collapsed:w}),T(!0)):l==="Quiz Battle"&&C!=="Quiz Battle"&&T(Me.collapsed),f(C),A(!1)},[W,ee]=h.useState(!1),[G,Q]=h.useState({show:!1,xp:0,message:""}),[ye,j]=h.useState(!1),[B,z]=h.useState(!1),[te,N]=h.useState(!1),[D,K]=h.useState(!1),[ae,F]=h.useState({}),[fe,ve]=h.useState(null),[be,Ze]=h.useState(On),[gn,Be]=h.useState(""),[et,Ve]=h.useState(!1),[yn,tt]=h.useState(!1),[pe,qe]=h.useState("initial_assessment"),[Ht,wt]=h.useState(y?.hasTakenDiagnostic||!1),[_e,St]=h.useState(y?.atRiskSubjects||[]),[Tt,dt]=h.useState(y?.priorityTopics||[]),[nt,qt]=h.useState(y?.gpa||"0.00"),[Ke,Kt]=h.useState(y?.learningPathState||"unlocked"),[ft,ht]=h.useState(y?.iarAssessmentState||"not_started"),[Pt,At]=h.useState(0),Et="iar_only";h.useEffect(()=>{e&&n==="student"&&t&&om(t.uid).then(C=>{if(C&&C.averageScore>0){const M=Math.min(C.averageScore/25,4).toFixed(2);qt(M)}}).catch(C=>console.error("Error loading progress for GPA:",C))},[e,n,t]);const[Ae,vn]=h.useState(!1);h.useEffect(()=>{y&&n==="student"?(P(y.level||1),I(y.currentXP||0),R(y.totalXP||0),ge(y.streak||0),St(y.atRiskSubjects||[]),dt(y.priorityTopics||[]),wt(y.hasTakenDiagnostic||!1),Kt(y.learningPathState||"unlocked"),ht(y.iarAssessmentState||"not_started"),vn(!0)):n!=="student"&&vn(!0)},[t,n]),h.useEffect(()=>{if(!e||n!=="student"){Ve(!1);return}let C=!1;const M=()=>{C||Ve(!0)},$=window.requestIdleCallback,X=window.cancelIdleCallback,we=window.setTimeout(M,800),ss=window.requestAnimationFrame(()=>{$||M()}),$i=$?.(()=>{M()},{timeout:500});return()=>{C=!0,window.clearTimeout(we),window.cancelAnimationFrame(ss),$i!==void 0&&X&&X($i)}},[e,n]),h.useEffect(()=>{let C=!1;return(async()=>{if(!e||n!=="student"){At(0);return}const $=y?.lrn||t?.uid;if(!$||Ke!=="locked_pending_deep_diagnostic"){At(0);return}try{const{getPendingDeepDiagnosticCount:X}=await H(async()=>{const{getPendingDeepDiagnosticCount:ss}=await import("./automationService-CH2Qjv3D.js");return{getPendingDeepDiagnosticCount:ss}},__vite__mapDeps([0,1,2,3,4,5,6])),we=await X($);C||At(we)}catch(X){console.error("Error loading deep diagnostic assignments:",X)}})(),()=>{C=!0}},[e,n,t?.uid,y?.lrn,Ke]);const bn=n==="student"&&(Ke==="locked_pending_deep_diagnostic"||ft==="deep_diagnostic_required"||ft==="deep_diagnostic_in_progress")&&(Pt>0||ft==="deep_diagnostic_required"||ft==="deep_diagnostic_in_progress"),xn=n==="student"&&ft==="skipped_unassessed",Ct=h.useMemo(()=>{const C=new Set;return _e.map($=>Es($)).filter($=>$!==null).filter($=>C.has($)?!1:(C.add($),!0))},[_e]),O=h.useMemo(()=>{const C=Tt.length>0?Tt:Ct,M=new Set;return C.filter($=>M.has($)?!1:(M.add($),!0))},[Tt,Ct]),le=()=>{qe("initial_assessment"),tt(!0)};h.useEffect(()=>{e&&n==="student"&&t&&rm(t.uid).then(C=>{ge(C)})},[e,n,t]),h.useEffect(()=>{F({})},[t?.uid]);const ie=[..._e].sort().join("|"),re=t?.uid?`mathpulse_supplemental_dismissed_${t.uid}`:null;h.useEffect(()=>{if(!re){Be("");return}try{const C=localStorage.getItem(re)||"";Be(C)}catch{Be("")}},[re]);const pt=()=>{if(ie&&(Be(ie),!!re))try{localStorage.setItem(re,ie)}catch{}},ue=()=>{if(Be(""),!!re)try{localStorage.removeItem(re)}catch{}},Ee=_e.length>0&&gn!==ie;h.useEffect(()=>{(async()=>{if(!t?.uid){Ze(On);return}try{const M=await wl(t.uid);Ze(M)}catch(M){console.error("Error loading user settings:",M),Ze(On)}})()},[t?.uid]),h.useEffect(()=>{cm(be)},[be]),h.useEffect(()=>{if(e&&n==="student"&&Ae&&!Ht){const C=setTimeout(()=>{qe("initial_assessment"),tt(!0)},1e3);return()=>clearTimeout(C)}},[e,n,Ae,Ht]);const Dt=async C=>{const M=y?.lrn||t?.uid;if(C.status==="skipped"){if(St([]),dt([]),wt(!0),Kt("unlocked"),ht("skipped_unassessed"),t?.uid)try{await ws(t.uid,{hasTakenDiagnostic:!0,atRiskSubjects:[],priorityTopics:[],learningPathState:"unlocked",remediationState:"not_required",iarAssessmentState:"skipped_unassessed",recommendedNextTopicGroupId:"g11-q1-functions-foundations",recommendationRationale:"Default Grade 11 Q1 path after explicit IAR skip.",recommendedPace:"normal",startingQuarterG11:"Q1",currentCurriculumVersionSetId:y?.currentCurriculumVersionSetId||"g11-core-genmath-legacy-detail-strengthened-structure"}),await im(t.uid,"reminder","IAR Skipped: You are on default path","You are currently marked as Unassessed and placed on Grade 11 Quarter 1 default flow. Take the Initial Assessment anytime for personalized placement.")}catch(we){console.error("Failed to persist skipped IAR state:",we)}Se.message("Assessment skipped. Default Grade 11 Q1 path applied.",{description:"You can take the Initial Assessment later for personalized recommendations."}),tt(!1),f("Dashboard");return}ue();const $=(C.atRiskSubjectIds||[]).map(we=>Es(we)).filter(we=>we!==null),X=(C.priorityTopics||[]).map(we=>Es(we)).filter(we=>we!==null);if(St($.length>0?$:C.atRiskSubjectIds||[]),dt(X),wt(!0),ht("in_progress"),t?.uid)try{await ws(t.uid,{hasTakenDiagnostic:!0,atRiskSubjects:$,priorityTopics:X,topicScores:C.topicScores,iarTopicClassifications:C.topicClassifications,g12ReadinessIndicators:C.g12ReadinessIndicators,iarAssessmentState:"in_progress",iarQuestionSetVersion:C.questionSetVersion})}catch(we){console.error("Failed to persist completed IAR payload:",we)}pe==="followup_diagnostic"&&Se.success("Deep diagnostic submitted. Module unlock will update after assignment-state verification."),pe==="initial_assessment"&&M&&((C.atRiskSubjectIds||[]).length>0&&Et==="iar_plus_diagnostic"||Se.success("Initial assessment completed. Personalized path is now active.")),tt(!1),f("Dashboard")},Le=()=>{f("AI Chat")},Ie=async(C,M)=>{if(t)try{const $=await vl(t.uid,C,"manual",M);I($.xp),$.leveledUp&&P($.newLevel),R(X=>X+C),await i(),Q({show:!0,xp:C,message:M})}catch($){console.error("Error awarding XP:",$)}},Rt=async()=>{try{await fp(),F({}),f("Dashboard"),j(!1)}catch(C){console.error("Error logging out:",C)}},Ce=async C=>{if(!t){N(!1),z(!1);return}const M={};["name","email","phone","photo","avatarLayers","lrn","grade","section","school","enrollmentDate","major","gpa","department","subject","yearsOfExperience","qualification","position"].forEach(X=>{C[X]!==void 0&&(M[X]=C[X])});try{await ws(t.uid,M),F(X=>({...X,...M})),N(!1),z(!1),Se.success("Profile updated successfully")}catch(X){console.error("Error saving profile:",X),Se.error("Failed to update profile")}},wn=async C=>{if(t?.uid)try{const M=await lm(t.uid,C);Ze(M),Se.success("Settings saved successfully")}catch(M){throw console.error("Error saving settings:",M),Se.error("Failed to save settings"),M}},Zn=async C=>{try{await hp(C),Se.success("Password updated successfully")}catch(M){const $=M instanceof Error?M.message:"Unable to update password";throw Se.error($),M}},Jn=async()=>{if(!t?.uid)return;const C=await dm(t.uid),M=new Blob([JSON.stringify(C,null,2)],{type:"application/json"}),$=URL.createObjectURL(M),X=document.createElement("a");X.href=$,X.download=`mathpulse-data-export-${t.uid}-${Date.now()}.json`,document.body.appendChild(X),X.click(),document.body.removeChild(X),URL.revokeObjectURL($),Se.success("Data export downloaded")},es=async()=>{await um(),Se.success("Local cache cleared")},ts=async()=>{if(!t?.uid||n!=="admin")throw new Error("Only admin accounts can delete this account from settings.");try{await pp(t.uid),Se.success("Account deleted successfully")}catch(C){const M=C instanceof Error?C.message:"Unable to delete account";throw Se.error(M),C}},ns=async()=>{if(!t)throw new Error("No active profile found.");const C=n==="student"?y?.lrn||t.uid:void 0,{resetTestingDataForRole:M}=await H(async()=>{const{resetTestingDataForRole:X}=await import("./testResetService-DvKskSa6.js");return{resetTestingDataForRole:X}},__vite__mapDeps([101,1,2,3,4,5,6])),$=await M({uid:t.uid,role:n,lrn:C});n==="student"&&(P(1),I(0),R(0),ge(0),St([]),wt(!1),Kt("unlocked"),ht("not_started"),qt("0.00"),At(0),f("Dashboard")),Se.success($.summary)},De=t?{uid:t.uid,name:t.name,email:t.email,phone:t.phone||"",photo:t.photo||"https://images.unsplash.com/photo-1633332755192-727a05c4013d?w=200&h=200&fit=crop",avatarLayers:t.avatarLayers,role:t.role,...n==="student"&&y?{lrn:y.lrn,grade:y.grade,section:y.section,school:y.school,enrollmentDate:y.enrollmentDate,major:y.major,gpa:nt}:{},...ae}:{uid:void 0,name:"User",email:"",phone:"",photo:"https://images.unsplash.com/photo-1633332755192-727a05c4013d?w=200&h=200&fit=crop",avatarLayers:void 0,role:n},Bi=De.name.trim().split(/\s+/).find(C=>/\p{L}/u.test(C))||De.name.trim()||"User";return h.useEffect(()=>{const C=M=>{if(!(M.target instanceof HTMLInputElement||M.target instanceof HTMLTextAreaElement)&&M.altKey)switch(M.key.toLowerCase()){case"d":M.preventDefault(),V("Dashboard");break;case"m":M.preventDefault(),V("Modules");break;case"c":M.preventDefault(),V("AI Chat");break;case"g":M.preventDefault(),V("Grades");break;case"b":M.preventDefault(),V("Quiz Battle");break;case"s":M.preventDefault(),z(!0);break;case"p":M.preventDefault(),N(!0);break;case"k":M.preventDefault(),K($=>!$);break}};if(e&&n==="student")return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[e,n,bn,Pt]),s?m.jsx(Xt,{}):e?n!=="student"||Ae?n==="teacher"?m.jsxs(m.Fragment,{children:[m.jsx(h.Suspense,{fallback:m.jsx(Xt,{message:"Loading teacher dashboard..."}),children:m.jsx(Bm,{onLogout:Rt,onOpenProfile:()=>N(!0),onOpenSettings:()=>z(!0)})}),te&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Cs,{isOpen:te,onClose:()=>N(!1),profileData:De,onSave:Ce})}),B&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Ds,{isOpen:B,onClose:()=>z(!1),profileData:De,onSave:Ce,settingsData:be,onSaveSettings:wn,onApplySettingsPreview:Ze,onUpdatePassword:Zn,onExportData:Jn,onClearCache:es,onDeleteAccount:ts,onResetData:ns})}),m.jsx(As,{position:"top-right",richColors:!0,closeButton:!0})]}):n==="admin"?m.jsxs(m.Fragment,{children:[m.jsx(h.Suspense,{fallback:m.jsx(Xt,{message:"Loading admin dashboard..."}),children:m.jsx($m,{onLogout:Rt,onOpenProfile:()=>N(!0)})}),te&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Cs,{isOpen:te,onClose:()=>N(!1),profileData:De,onSave:Ce})}),B&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Ds,{isOpen:B,onClose:()=>z(!1),profileData:De,onSave:Ce,settingsData:be,onSaveSettings:wn,onApplySettingsPreview:Ze,onUpdatePassword:Zn,onExportData:Jn,onClearCache:es,onDeleteAccount:ts,onResetData:ns})}),m.jsx(As,{position:"top-right",richColors:!0,closeButton:!0})]}):m.jsxs(m.Fragment,{children:[m.jsx(sm,{children:m.jsxs("div",{className:"flex h-screen w-full bg-[#f8faff] overflow-hidden",children:[m.jsx("div",{className:"hidden lg:block",children:m.jsx(h.Suspense,{fallback:u,children:m.jsx(yo,{activeTab:l,setActiveTab:V,userRole:n,onOpenSettings:()=>z(!0),onLogout:()=>j(!0),sidebarCollapsed:w,setSidebarCollapsed:T,forceCollapsed:l==="Quiz Battle"})})}),v&&m.jsxs(m.Fragment,{children:[m.jsx("button",{"aria-label":"Close navigation",className:"fixed inset-0 z-40 bg-slate-900/40 backdrop-blur-[1px] lg:hidden",onClick:()=>A(!1)}),m.jsx("div",{className:"fixed inset-y-0 left-0 z-50 p-3 lg:hidden",children:m.jsx(h.Suspense,{fallback:u,children:m.jsx(yo,{mode:"mobile",onRequestClose:()=>A(!1),activeTab:l,setActiveTab:V,userRole:n,onOpenSettings:()=>{z(!0),A(!1)},onLogout:()=>{j(!0),A(!1)},sidebarCollapsed:!1})})})]}),m.jsxs("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 bg-gradient-to-br from-indigo-200 via-fuchsia-50 to-orange-100 relative z-10 shadow-[rgba(124,58,237,0.05)_0px_0px_30px_inset]",children:[m.jsx("div",{className:"absolute inset-0 bg-math-pattern opacity-30 pointer-events-none mix-blend-multiply z-0"}),m.jsxs("header",{className:"bg-white/90 backdrop-blur-md border-b border-[#dde3eb] px-3 sm:px-6 py-3 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sticky top-0 z-30 shadow-sm",children:[m.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[m.jsx("button",{className:"lg:hidden p-2 rounded-xl bg-[#edf1f7] hover:bg-[#dde3eb] text-[#5a6578] hover:text-primary transition-colors",onClick:()=>A(!0),"aria-label":"Open navigation",children:m.jsx(tp,{size:20})}),m.jsxs("div",{className:"min-w-0",children:[m.jsx("h1",{className:"text-lg sm:text-xl font-display font-bold text-[#0a1628] leading-tight truncate",children:l}),m.jsxs("p",{className:"text-xs text-[#5a6578] font-body truncate",children:["Welcome back, ",De.name.split(" ")[0],"!"]})]}),m.jsxs("div",{className:"hidden md:flex items-center gap-2 ml-2",children:[m.jsxs("button",{onClick:()=>ee(!0),className:"flex items-center gap-1.5 px-3 py-1.5 bg-rose-50 hover:bg-rose-100 border border-rose-200/60 rounded-lg transition-colors cursor-pointer group",title:"View Rewards & Progress",children:[m.jsx(Qh,{className:"h-3.5 w-3.5 text-rose-500","aria-hidden":"true"}),m.jsxs("span",{className:"text-xs font-display font-bold text-rose-700",children:["Lv ",b]})]}),m.jsxs("button",{onClick:()=>ee(!0),className:"flex items-center gap-1.5 px-3 py-1.5 bg-violet-50 hover:bg-violet-100 border border-violet-200/60 rounded-lg transition-colors cursor-pointer",title:`${oe}/${L} XP to next level`,children:[m.jsx(rp,{className:"h-3.5 w-3.5 text-violet-500","aria-hidden":"true"}),m.jsxs("span",{className:"text-xs font-display font-bold text-violet-700",children:[S," XP"]}),m.jsx("div",{className:"w-12 h-1.5 bg-violet-100 rounded-full overflow-hidden",children:m.jsx("div",{className:"h-full bg-violet-500 rounded-full transition-all",style:{width:`${oe/L*100}%`}})})]}),m.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 bg-orange-50 border border-orange-200/60 rounded-lg",children:[m.jsx(Jh,{className:"h-3.5 w-3.5 text-orange-500","aria-hidden":"true"}),m.jsxs("span",{className:"text-xs font-display font-bold text-orange-700",children:[J," day",J!==1?"s":""]})]})]})]}),m.jsxs("div",{className:"flex flex-wrap md:flex-nowrap items-center gap-2 min-w-0",children:[m.jsx("div",{className:"hidden md:block flex-1 min-w-0 max-w-[420px]",children:m.jsx(h.Suspense,{fallback:c,children:m.jsx(qm,{onSelect:C=>{}})})}),m.jsx("button",{onClick:()=>K(C=>!C),className:"p-3 rounded-xl bg-[#edf1f7] hover:bg-[#dde3eb] text-[#5a6578] hover:text-primary transition-all group",title:"Scientific Calculator (Alt+K)",children:m.jsx(Xh,{size:20,className:"group-hover:scale-110 transition-transform"})}),m.jsx(h.Suspense,{fallback:a,children:m.jsx(Hm,{userRole:n})}),m.jsxs("button",{onClick:()=>N(!0),className:"flex items-center gap-2.5 h-11 shrink-0 bg-[#edf1f7] hover:bg-[#dde3eb] p-1.5 pr-3 rounded-lg cursor-pointer transition-all group","aria-label":`Profile: ${De.name}`,children:[m.jsx("img",{src:De.photo,alt:De.name,className:"w-8 h-8 rounded-lg object-cover"}),m.jsx("div",{className:"hidden sm:block text-left min-w-0 flex-1",children:m.jsx("p",{className:"text-sm font-semibold text-[#0a1628] leading-none group-hover:text-primary transition-colors font-body truncate",children:Bi})})]})]})]}),m.jsx("main",{ref:g,className:`flex-1 min-h-0 p-3 lg:p-4 ${l==="AI Chat"?"overflow-hidden":"overflow-y-auto pb-24 sm:pb-28"}`,children:m.jsx(Lf,{mode:"wait",children:m.jsx(Nn.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.25,ease:[.22,1,.36,1]},className:l==="AI Chat"?"h-full min-h-0":"",children:l==="Dashboard"?m.jsx("div",{className:"px-4 sm:px-6 xl:px-10 py-6 sm:py-8",children:m.jsxs("div",{className:"grid grid-cols-12 gap-6 sm:gap-8 lg:gap-10",children:[m.jsxs("div",{className:"col-span-12 xl:col-span-9 flex flex-col gap-10 lg:gap-14 pt-0",children:[m.jsx(h.Suspense,{fallback:d,children:m.jsx(zm,{userName:Bi,userLevel:b,avatarLayers:De.avatarLayers,onContinueLearning:()=>V("Modules"),showAssessmentTooltip:xn,onOpenAssessment:le})}),et&&Ht&&Ct.length>0&&m.jsxs("div",{className:"rounded-2xl border border-amber-300 bg-amber-50 px-5 py-4 shadow-sm dark:border-amber-400/40 dark:bg-amber-400/10",children:[m.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{children:[m.jsxs("p",{className:"inline-flex items-center gap-2 text-sm font-black text-amber-900 dark:text-amber-200",children:[m.jsx(sp,{className:"h-4 w-4"}),"Assessment Focus Review"]}),m.jsx("p",{className:"mt-1 text-sm text-amber-900/85 dark:text-amber-100/90",children:"Your latest diagnostic flagged these topics for review. Modules are prioritized based on this focus order."})]}),m.jsxs("button",{type:"button",onClick:()=>V("Modules"),className:"inline-flex items-center gap-1.5 rounded-xl bg-amber-600 px-3 py-2 text-xs font-bold text-white transition-colors hover:bg-amber-700",children:["Open Modules",m.jsx(Hh,{className:"h-3.5 w-3.5"})]})]}),m.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:O.map((C,M)=>m.jsxs("span",{className:"rounded-full bg-white/90 px-3 py-1 text-xs font-semibold text-amber-900 shadow-sm dark:bg-amber-100/20 dark:text-amber-100",children:[M+1,". ",Om[C]]},C))})]}),et&&Ee&&m.jsx(h.Suspense,{fallback:r,children:m.jsx(Km,{variant:"full",atRiskSubjects:_e,onDismiss:pt,onAction:()=>{pt(),V("Modules")}})}),Ae&&et&&m.jsx(h.Suspense,{fallback:r,children:m.jsx("div",{className:"pb-4",children:m.jsx(Gm,{onNavigateToModules:C=>V("Modules",C),atRiskSubjects:_e,priorityTopics:O})})}),Ae&&et&&m.jsx(h.Suspense,{fallback:r,children:m.jsx("div",{className:"pb-4",children:m.jsx(Xm,{})})})]}),m.jsx("div",{className:"col-span-12 xl:col-span-3 pt-2",children:et?m.jsx(h.Suspense,{fallback:d,children:m.jsx(Um,{onOpenRewards:()=>ee(!0),onOpenLeaderboard:()=>f("Leaderboard"),onNavigateToModules:()=>f("Modules"),userLevel:b,currentXP:oe,xpToNextLevel:L,overallXP:S,streak:J,streakHistory:y?.streakHistory||[]})}):d})]})}):l==="Modules"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Ym,{onEarnXP:Ie,atRiskSubjects:_e,priorityTopics:O,initialModuleId:fe})}):l==="Leaderboard"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Jm,{currentUserPhoto:De.photo})}):l==="Quiz Battle"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(eg,{})}):l==="AI Chat"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Qm,{})}):l==="Grades"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Zm,{})}):l==="Avatar Studio"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(tg,{})}):m.jsxs("div",{className:"flex-1 flex items-center justify-center text-[#a8a5b3] font-medium font-body",children:[l," Content Coming Soon"]})},l)})}),l!=="AI Chat"&&m.jsx(h.Suspense,{fallback:null,children:m.jsx("div",{className:"fixed bottom-4 right-4 sm:bottom-8 sm:right-8 z-50",children:m.jsx(ng,{constraintsRef:p,onFullScreen:Le})})}),m.jsx(h.Suspense,{fallback:null,children:m.jsx(Wm,{xp:G.xp,message:G.message,show:G.show,onComplete:()=>Q(C=>({...C,show:!1}))})}),W&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(sg,{isOpen:W,onClose:()=>ee(!1),userLevel:b,currentXP:S,xpToNextLevel:L,totalXP:x,streak:J})}),te&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Cs,{isOpen:te,onClose:()=>N(!1),profileData:De,onSave:Ce})}),ye&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(ig,{isOpen:ye,onClose:()=>j(!1),onConfirm:Rt,title:"Confirm Logout",message:"Are you sure you want to log out? Your progress is saved automatically.",confirmText:"Logout",cancelText:"Stay",type:"warning",icon:"logout"})}),B&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Ds,{isOpen:B,onClose:()=>z(!1),profileData:De,onSave:Ce,settingsData:be,onSaveSettings:wn,onApplySettingsPreview:Ze,onUpdatePassword:Zn,onExportData:Jn,onClearCache:es,onDeleteAccount:ts,onResetData:ns})}),D&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(rg,{isOpen:D,onClose:()=>K(!1)})}),yn&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(og,{isOpen:yn,onClose:()=>tt(!1),onComplete:Dt,lrn:y?.lrn||t?.uid,gradeLevel:y?.grade,workflowMode:Et,assessmentType:pe})})]})]})}),m.jsx(As,{position:"top-right",richColors:!0,closeButton:!0})]}):m.jsx(Xt,{message:"Preparing your dashboard..."}):m.jsx(h.Suspense,{fallback:m.jsx(Xt,{message:"Loading sign in..."}),children:m.jsx(Fm,{})})};let vo=!1;const bo=()=>{vo||(vo=!0,H(()=>Promise.resolve({}),__vite__mapDeps([102])).catch(e=>{console.error("[styles] Deferred full stylesheet failed to load:",e)}))};if(typeof window<"u"){const e=window.requestIdleCallback,t=window.cancelIdleCallback,n=e?.(()=>{bo()},{timeout:1200});window.setTimeout(()=>{n!==void 0&&t&&t(n),bo()},1200)}const Sl=document.getElementById("root");if(!Sl)throw new Error("Root element not found");Pl.createRoot(Sl).render(m.jsx(mp,{children:m.jsx(ag,{})}));export{Hh as A,Kh as B,Xh as C,On as D,Cg as E,Jh as F,Ag as G,gg as H,lt as I,ap as J,ws as K,Eg as L,tp as M,im as N,Ni as O,Lp as P,sp as T,rp as Z,H as _,vg as a,bg as b,ut as c,q as d,Lf as e,Sg as f,om as g,Pg as h,Tg as i,wl as j,lm as k,Qh as l,Nn as m,wg as n,Es as o,Ig as p,Dg as q,Mg as r,yg as s,Se as t,cl as u,kg as v,Rg as w,Lg as x,Om as y,xg as z}; +What would you like to learn about?`}const xg=()=>{const e=h.useContext(ml);if(!e)throw new Error("useChatContext must be used within ChatProvider");return e},sm=({children:e})=>{const{currentUser:t}=cl(),[n,s]=h.useState([]),[i,o]=h.useState(null),[r,a]=h.useState(!1),[c,u]=h.useState(null),[d,l]=h.useState(!1),f=h.useRef(new Map);h.useEffect(()=>{if(!t){s([]),l(!1);return}(async()=>{try{const P=await gt(),S=await P.getUserChatSessions(t.uid),I=await Promise.all(S.map(async x=>{const L=(await P.getSessionMessages(x.id)).map(_=>({id:_.id,sender:_.role==="user"?"user":"ai",text:_.role==="assistant"?je(_.content):_.content,timestamp:_.timestamp instanceof Date?_.timestamp.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):new Date(_.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}));return{id:x.id,title:x.title,date:x.updatedAt instanceof Date?x.updatedAt.toLocaleDateString():new Date(x.updatedAt).toLocaleDateString(),messageCount:L.length,preview:L.length>0&&Ss(L[L.length-1].text)||"No messages yet",topics:[],messages:L,createdAt:x.createdAt instanceof Date?x.createdAt:new Date(x.createdAt),updatedAt:x.updatedAt instanceof Date?x.updatedAt:new Date(x.updatedAt)}}));s(I)}catch(P){console.error("Error loading chat sessions:",P)}finally{l(!0)}})()},[t]);const p=b=>{if(b.length===0)return"New Chat";const P=b.find(x=>x.sender==="user")?.text||"",S=P.toLowerCase();if(S.includes("quadratic")||S.includes("ax² + bx + c"))return"Quadratic Equations Help";if(S.includes("derivative")||S.includes("calculus"))return"Derivatives & Calculus";if(S.includes("pythagor")||S.includes("right triangle"))return"Pythagorean Theorem";if(S.includes("trig")||S.includes("sin")||S.includes("cos"))return"Trigonometry Help";if(S.includes("area")||S.includes("perimeter"))return"Geometry - Area & Perimeter";if(S.includes("algebra")||S.includes("solve")&&S.includes("x"))return"Algebra Problem Solving";if(S.includes("factor"))return"Factoring Practice";if(S.includes("graph")||S.includes("plot"))return"Graphing Functions";if(S.includes("matrix")||S.includes("matrices"))return"Matrix Operations";if(S.includes("integral")||S.includes("integrate"))return"Integration Problems";if(S.includes("limit"))return"Limits in Calculus";if(S.includes("statistic")||S.includes("probability"))return"Statistics & Probability";const I=P.slice(0,40);return I.length{const P=Date.now().toString(),S=new Date,I={id:P,title:b?p([b]):"New Chat",date:"Just now",messageCount:b?1:0,preview:b&&Ss(b.text)||"Start a new conversation...",topics:[],messages:b?[b]:[],createdAt:S,updatedAt:S};if(s(x=>[I,...x]),t){const x=b?p([b]):"New Chat",R=gt().then(async L=>{const _=await L.createChatSession(t.uid,x);return b&&await L.addMessageToSession(_.id,b.sender==="user"?"user":"assistant",b.text),_.id}).catch(L=>(console.error("Error creating Firebase session:",L),P));f.current.set(P,R)}return P},[t]),w=h.useCallback((b,P)=>{const S=P.sender==="ai"?{...P,text:je(P.text)}:P;s(x=>x.map(R=>{if(R.id===b){const L=[...R.messages,S];return{...R,messages:L,messageCount:L.length,preview:Ss(S.text)||R.preview,updatedAt:new Date,title:L.length===2?p(L):R.title}}return R}));const I=async x=>{const R=f.current.get(x);return R?await R:x};I(b).then(async x=>{await(await gt()).addMessageToSession(x,S.sender==="user"?"user":"assistant",S.text)}).catch(x=>console.error("Error persisting message:",x)),s(x=>{const R=x.find(L=>L.id===b);if(R&&R.messages.length===2){const L=p(R.messages);I(b).then(async _=>{await(await gt()).updateSessionTitle(_,L)}).catch(_=>console.error("Error updating title:",_))}return x})},[]),T=h.useCallback(async(b,P)=>{const S=P.trim(),I={id:Date.now().toString(),sender:"user",text:S,timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};w(b,I),u(b),a(!0);try{let x=null,R=null;const L=n.find(N=>N.id===b),_=(L?.messages||[]).map(N=>({role:N.sender==="user"?"user":"assistant",content:N.text})),oe=gl(S)?Xp(_):null,J=oe?Yp(oe):S,ge=oe??S,Me=pl(S,{history:_});if(Me){const N={id:(Date.now()+1).toString(),sender:"ai",text:Me,timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};w(b,N);return}try{const N=await co();x=N.apiService,R=N.ApiTimeoutError}catch(N){console.error("Failed to load API service for chat:",N);const D={id:(Date.now()+1).toString(),sender:"ai",text:Dn(ge),timestamp:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})};w(b,D);return}const U=new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});let V="",W=null;const ee=tm(S),G=nm(S),Q=Qp(S),ye=G||!!Q,j=Q?{expectedEndMarker:Q,completionMode:"marker"}:void 0,B=N=>ni(S,N,Q,G),z=N=>{N.trim()&&s(D=>D.map(K=>{if(K.id!==b)return K;if(!W){W=`stream-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;const ae={id:W,sender:"ai",text:N,timestamp:U},F=[...K.messages,ae];return{...K,messages:F,messageCount:F.length,updatedAt:new Date}}return{...K,messages:K.messages.map(ae=>ae.id===W?{...ae,text:N}:ae),updatedAt:new Date}}))},te=()=>{if(!W)return;const N=W;s(D=>D.map(K=>{if(K.id!==b)return K;const ae=K.messages.filter(F=>F.id!==N);return{...K,messages:ae,messageCount:ae.length,updatedAt:new Date}}))};try{const{response:N}=await x.chat(J,_,F=>{V+=F,ee&&z(kp(V))},j);let D=je(N||V).trim();if(ye&&D&&B(D)){try{const F=await x.chatSafe(uo(S,D,Q),_,j),fe=je(F.data.response).trim();D=Cn(D,fe)}catch(F){console.warn("Streaming completion repair failed:",F)}if(ye&&D&&B(D))try{const F=await x.chatSafe(fo(S,D,Q),_,j),fe=je(F.data.response).trim();D=Cn(D,fe)}catch(F){console.warn("Streaming plain continuation repair failed:",F)}if(ye&&D&&B(D))try{const F=await x.chatSafe(ho(S,Q),_,j),fe=je(F.data.response).trim();fe&&(D=po(S,D,fe,Q,G))}catch(F){console.warn("Streaming full completion repair failed:",F)}}const K=B(D);(!D||K&&!ye)&&(D=Dn(ge,_)),W&&te();const ae={id:(Date.now()+1).toString(),sender:"ai",text:D,timestamp:U};w(b,ae)}catch(N){R&&N instanceof R?console.warn(`Streaming timed out after ${N.timeoutMs}ms, falling back to non-streaming chat.`,N):console.warn("Streaming failed, falling back to non-streaming chat:",N),W&&te();let D="";try{const F=x??(await co()).apiService,{data:fe}=await F.chatSafe(J,_,j);if(D=je(fe.response).trim(),ye&&D&&B(D))try{const ve=await F.chatSafe(uo(S,D,Q),_,j),be=je(ve.data.response).trim();D=Cn(D,be)}catch(ve){console.warn("Non-stream completion repair failed:",ve)}if(ye&&D&&B(D))try{const ve=await F.chatSafe(fo(S,D,Q),_,j),be=je(ve.data.response).trim();D=Cn(D,be)}catch(ve){console.warn("Non-stream plain continuation repair failed:",ve)}if(ye&&D&&B(D))try{const ve=await F.chatSafe(ho(S,Q),_,j),be=je(ve.data.response).trim();be&&(D=po(S,D,be,Q,G))}catch(ve){console.warn("Non-stream full completion repair failed:",ve)}}catch(F){console.warn("Chat request failed, using local fallback response:",F),D=Dn(ge,_)}const K=B(D);(!D||K&&!ye)&&(D=Dn(ge,_));const ae={id:(Date.now()+1).toString(),sender:"ai",text:je(D),timestamp:U};w(b,ae)}if(L&&L.messages.length===1){const N=n.find(D=>D.id===b);if(N&&N.messages.length>1){const D=p(N.messages),K=f.current.get(b);(K||Promise.resolve(b)).then(async F=>{await(await gt()).updateSessionTitle(F,D)}).catch(F=>console.error("Error updating title:",F))}}}finally{a(!1),u(null)}},[n,w]),v=h.useCallback((b,P)=>{s(x=>x.map(R=>R.id===b?{...R,title:P}:R));const S=f.current.get(b);(S||Promise.resolve(b)).then(async x=>{await(await gt()).updateSessionTitle(x,P)}).catch(x=>console.error("Error updating session title:",x))},[]),A=h.useCallback(b=>{s(I=>I.filter(x=>x.id!==b)),i===b&&o(null);const P=f.current.get(b);(P||Promise.resolve(b)).then(async I=>{await(await gt()).deleteSession(I)}).catch(I=>console.error("Error deleting session:",I)),f.current.delete(b)},[i]),y=h.useCallback(()=>n.find(b=>b.id===i)||null,[n,i]);return m.jsx(ml.Provider,{value:{sessions:n,activeSessionId:i,isLoading:r,loadingSessionId:c,sessionsLoaded:d,setActiveSessionId:o,createNewSession:g,addMessageToSession:w,sendMessage:T,updateSessionTitle:v,deleteSession:A,getActiveSession:y,generateTitleFromMessages:p},children:e})},yl=e=>{const t=e.data(),n=t.createdAt,s=typeof n?.toDate=="function"?n.toDate():n instanceof Date?n:new Date,i=t.actionUrl??t.link??void 0;return{...t,id:e.id,createdAt:s,actionUrl:i}},im=async(e,t,n,s,i)=>{try{const o=se(We(q,"notifications")),r={id:o.id,userId:e,type:t,title:n,message:s,read:!1,...i?{actionUrl:i}:{},createdAt:new Date},a={id:r.id,userId:r.userId,type:r.type,title:r.title,message:r.message,read:r.read,createdAt:he(),link:i||null};return await He(o,{...a}),r}catch(o){throw console.error("Error creating notification:",o),o}},wg=async(e,t=50,n=!1)=>{try{let s=rt(We(q,"notifications"),Oe("userId","==",e),tn("createdAt","desc"),nn(t));return n&&(s=rt(We(q,"notifications"),Oe("userId","==",e),Oe("read","==",!1),tn("createdAt","desc"),nn(t))),(await un(s)).docs.map(o=>yl(o))}catch(s){return console.error("Error getting notifications:",s),[]}},Sg=(e,t={},n,s)=>{if(!e)return n([]),()=>{};const{limitCount:i=50,unreadOnly:o=!1}=t,r=[Oe("userId","==",e),tn("createdAt","desc"),nn(i)],a=o?rt(We(q,"notifications"),Oe("userId","==",e),Oe("read","==",!1),tn("createdAt","desc"),nn(i)):rt(We(q,"notifications"),...r);return xo(a,c=>{n(c.docs.map(u=>yl(u)))},c=>{console.error("Error subscribing to notifications:",c),s?.(c)})},Tg=async e=>{try{const t=se(q,"notifications",e);await Bt(t,{read:!0})}catch(t){throw console.error("Error marking notification as read:",t),t}},Pg=async e=>{try{const t=rt(We(q,"notifications"),Oe("userId","==",e),Oe("read","==",!1)),n=await un(t);await Promise.all(n.docs.map(s=>Bt(s.ref,{read:!0})))}catch(t){throw console.error("Error marking all notifications as read:",t),t}},rm=async e=>{try{const t=se(q,"users",e),n=await ke(t);if(!n.exists())throw new Error("User not found");const s=n.data(),i=s.lastActivityDate?.toDate(),o=new Date;o.setHours(0,0,0,0);let r=s.streak||0;if(!i)r=1;else{const u=new Date(i);u.setHours(0,0,0,0);const d=Math.floor((o.getTime()-u.getTime())/(1e3*60*60*24));if(d===0)r=s.streak||1;else if(d===1){r=(s.streak||0)+1;const l=Math.min(r*5,50);await vl(e,l,"streak_bonus",`${r} day streak bonus!`)}else r=1}const a=new Date,c=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`;return await Bt(t,{streak:r,streakHistory:Bl(c),lastActivityDate:he(),updatedAt:he()}),r}catch(t){return console.error("Error updating streak:",t),0}},vl=async(e,t,n,s)=>{try{const i=se(q,"users",e),o=await ke(i);if(!o.exists())throw new Error("User not found");const r=o.data(),a=r.currentXP||0,c=r.totalXP||0,u=a+t,d=c+t,l=r.level||1;console.log(`🏆 XP Award - User: ${e}, Amount: ${t}, Previous currentXP: ${a}, New: ${u}, Type: ${n}`);let f=l,p=d,g=!1;for(;;){const v=Math.floor(100*Math.pow(1.5,f-1));let A=0;for(let y=1;y<=f;y++)A+=Math.floor(100*Math.pow(1.5,y-1));if(d>=A)f++,g=!0;else break}const w={currentXP:u,totalXP:d,level:f,updatedAt:he()};await Bt(i,w),console.log(`💾 Firebase Update - currentXP: ${a} -> ${u}, totalXP: ${c} -> ${d}, level: ${f}`);const T=se(We(q,"xpActivities"));return await He(T,{activityId:T.id,userId:e,type:n,xpEarned:t,description:s,timestamp:he()}),{newLevel:f,leveledUp:g,xp:u,addedXp:t}}catch(i){throw console.error("Error awarding XP:",i),i}},Ag=async(e,t=!1,n="all",s=10)=>{try{const i=rt(We(q,"users"),Oe("role","==","student"),tn("totalXP","desc"),nn(s));return(await un(i)).docs.map((r,a)=>{const c=r.data();return{userId:r.id,name:c.name||"Unknown",photo:c.photo,xp:c.totalXP||0,level:c.level||1,rank:a+1,weeklyXP:c.weeklyXP||0,monthlyXP:c.monthlyXP||0}})}catch(i){return console.error("Error getting leaderboard:",i),[]}},Eg=async e=>{try{const t=await ke(se(q,"users",e));if(!t.exists())return 0;const n=t.data().totalXP||0,s=rt(We(q,"users"),Oe("role","==","student"),Oe("totalXP",">",n));return(await un(s)).size+1}catch(t){return console.error("Error getting user rank:",t),0}},Cg=async e=>{try{const t=await ke(se(q,"achievements",e));return t.exists()?t.data().achievements||[]:[]}catch(t){return console.error("Error getting user achievements:",t),[]}},Ni=async e=>{const t={userId:e,subjects:{},lessons:{},quizAttempts:[],totalLessonsCompleted:0,totalQuizzesCompleted:0,averageScore:0,updatedAt:new Date};return await He(se(q,"progress",e),t),t},om=async e=>{try{const t=se(q,"progress",e),n=await ke(t);if(n.exists()){const s=n.data();return{...s,updatedAt:s.updatedAt?.toDate()||new Date}}return await Ni(e)}catch(t){return console.error("Error getting user progress:",t),null}},Dg=(e,t)=>{const n=se(q,"progress",e);return xo(n,s=>{if(!s.exists()){t(null);return}const i=s.data();t({...i,updatedAt:i.updatedAt?.toDate?.()||new Date})},s=>{console.error("Error subscribing to user progress:",s),t(null)})},Rg=async(e,t,n)=>{const s=Math.max(0,Math.min(100,n)),i=se(q,"progress",e);await He(i,{[`lessons.${t}.lessonId`]:t,[`lessons.${t}.progressPercent`]:s,updatedAt:he()},{merge:!0})},kg=async(e,t,n,s,i)=>{const o=se(q,"progress",e),r=await ke(o);if(!r.exists())return 0;const c=r.data().subjects?.[t]?.modulesProgress?.[n];if(!c)return 0;const u=Math.max(1,s+i),d=c.lessonsCompleted?.length||0,l=c.quizzesCompleted?.length||0,f=Math.round((d+l)/u*100);return await He(o,{[`subjects.${t}.modulesProgress.${n}.progress`]:f,[`subjects.${t}.modulesProgress.${n}.lastAccessedAt`]:he(),updatedAt:he()},{merge:!0}),f},Mg=async(e,t,n,s,i,o=50)=>{try{const r=se(q,"progress",e);let a=await ke(r);a.exists()||(await Ni(e),a=await ke(r));const c=a.data(),u={lessonId:s,completed:!0,completedAt:new Date,timeSpent:i};c.subjects||(c.subjects={}),c.subjects[t]||(c.subjects[t]={subjectId:t,progress:0,completedModules:0,totalModules:0,modulesProgress:{}});const d=c.subjects[t];d.modulesProgress[n]||(d.modulesProgress[n]={moduleId:n,subjectId:t,progress:0,lessonsCompleted:[],quizzesCompleted:[],startedAt:new Date,lastAccessedAt:new Date});const l=d.modulesProgress[n],f=!l.lessonsCompleted.includes(s);f&&(l.lessonsCompleted.push(s),l.lastAccessedAt=new Date),await He(r,{[`lessons.${s}`]:u,[`subjects.${t}.modulesProgress.${n}`]:l,...f&&{totalLessonsCompleted:Fn(1)},updatedAt:he()},{merge:!0}),await bl(e,o,"lesson_complete",`Completed lesson: ${s}`)}catch(r){throw console.error("Error completing lesson:",r),r}},Lg=async(e,t,n,s,i,o,r)=>{try{const a=se(q,"progress",e);let c=await ke(a);c.exists()||(await Ni(e),c=await ke(a));const u=c.data(),d={quizId:s,attemptNumber:(u.quizAttempts?.filter(w=>w.quizId===s).length||0)+1,score:i,completedAt:new Date,timeSpent:r,answers:o},l=Math.floor(i/100*100);u.subjects||(u.subjects={}),u.subjects[t]||(u.subjects[t]={subjectId:t,progress:0,completedModules:0,totalModules:0,modulesProgress:{}});const f=u.subjects[t];f.modulesProgress[n]||(f.modulesProgress[n]={moduleId:n,subjectId:t,progress:0,lessonsCompleted:[],quizzesCompleted:[],startedAt:new Date,lastAccessedAt:new Date});const p=f.modulesProgress[n],g=!p.quizzesCompleted.includes(s);g&&(p.quizzesCompleted.push(s),p.lastAccessedAt=new Date),await Bt(a,{quizAttempts:[...u.quizAttempts||[],d],[`subjects.${t}.modulesProgress.${n}`]:p,...g&&{totalQuizzesCompleted:Fn(1)},updatedAt:he()}),await bl(e,l,"quiz_complete",`Completed quiz: ${s} (Score: ${i}%)`)}catch(a){throw console.error("Error completing quiz:",a),a}},bl=async(e,t,n,s)=>{try{const i=se(q,"users",e);await Bt(i,{currentXP:Fn(t),totalXP:Fn(t),updatedAt:he()});const o=se(We(q,"xpActivities"));await He(o,{activityId:o.id,userId:e,type:n,xpEarned:t,description:s,timestamp:he()})}catch(i){console.error("Error awarding XP:",i)}},On={notifications:{emailNotifications:!0,pushNotifications:!0,soundEnabled:!0,notificationTypes:{quizReminders:!0,newContent:!0,achievements:!0,streakAlerts:!0,weeklySummary:!0},quietHours:{start:"22:00",end:"08:00"}},appearance:{darkMode:!1,fontSize:16,compactView:!1,reduceAnimations:!1},privacy:{profileVisibility:"everyone",showActivityStatus:!0,dataSharing:!0},learning:{dailyXpGoal:100,preferredStudyTime:"evening",autoPlayLessons:!1,showHints:!0,quizDifficultyPreference:"adaptive",studyReminderTime:"18:00"},adminPanel:{siteName:"MathPulse AI",siteDescription:"AI-Powered Mathematics Learning Platform",defaultLanguage:"English",maintenanceMode:!1,enforceStrongPasswords:!0,sessionTimeoutMinutes:60,aiTutorEnabled:!0,aiAutoRecommendations:!0,aiRiskAlertsEnabled:!0,gradingScale:"percentage",passingGrade:75,parentSummaryEmails:!0,teacherDigestEmails:!0,weeklyPlatformReport:!0,autoBackupEnabled:!1,backupFrequency:"weekly"}},am="preferences",Oi=()=>JSON.parse(JSON.stringify(On)),xl=e=>{const t=Oi();return e?{...t,...e,notifications:{...t.notifications,...e.notifications,notificationTypes:{...t.notifications.notificationTypes,...e.notifications?.notificationTypes},quietHours:{...t.notifications.quietHours,...e.notifications?.quietHours}},appearance:{...t.appearance,...e.appearance},privacy:{...t.privacy,...e.privacy},learning:{...t.learning,...e.learning},adminPanel:{...t.adminPanel,...e.adminPanel}}:t},Fi=e=>se(q,"users",e,"settings",am),wl=async e=>{const t=Fi(e),n=await ke(t);if(!n.exists()){const s=Oi();return await He(t,{...s,createdAt:he(),updatedAt:he()}),s}return xl(n.data())},lm=async(e,t)=>{const n=await wl(e),s=xl({...n,...t});return await He(Fi(e),{...s,updatedAt:he()},{merge:!0}),s},cm=e=>{const t=document.documentElement;t.style.setProperty("--font-size",`${e.appearance.fontSize}px`),t.dataset.density=e.appearance.compactView?"compact":"comfortable",e.appearance.reduceAnimations?t.classList.add("reduced-motion"):t.classList.remove("reduced-motion"),e.appearance.darkMode?t.classList.add("smart-dark"):t.classList.remove("smart-dark")},um=async()=>{try{if(localStorage.clear(),sessionStorage.clear(),"caches"in window){const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}}catch(e){throw console.error("Failed clearing client cache:",e),new Error("Unable to clear cache on this device.")}},dm=async e=>{const t=se(q,"users",e),n=await ke(t),s=await ke(Fi(e)),i=["progress","xpActivities","achievements","notifications","tasks","chatSessions","chatMessages"],o=await Promise.all(i.map(async r=>{const a=rt(We(q,r),Oe("userId","==",e)),c=await un(a);return{collectionName:r,items:c.docs.map(u=>({id:u.id,...u.data()}))}}));return{exportedAt:new Date().toISOString(),user:n.exists()?{id:n.id,...n.data()}:null,settings:s.exists()?s.data():Oi(),collections:o.reduce((r,a)=>(r[a.collectionName]=a.items,r),{})}};function fm(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}const hm=e=>{switch(e){case"success":return gm;case"info":return vm;case"warning":return ym;case"error":return bm;default:return null}},pm=Array(12).fill(0),mm=({visible:e,className:t})=>E.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},E.createElement("div",{className:"sonner-spinner"},pm.map((n,s)=>E.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${s}`})))),gm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),ym=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),vm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),bm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},E.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),xm=E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},E.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),E.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),wm=()=>{const[e,t]=E.useState(document.hidden);return E.useEffect(()=>{const n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e};let si=1;class Sm{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{const n=this.subscribers.indexOf(t);this.subscribers.splice(n,1)}),this.publish=t=>{this.subscribers.forEach(n=>n(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var n;const{message:s,...i}=t,o=typeof t?.id=="number"||((n=t.id)==null?void 0:n.length)>0?t.id:si++,r=this.toasts.find(c=>c.id===o),a=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),r?this.toasts=this.toasts.map(c=>c.id===o?(this.publish({...c,...t,id:o,title:s}),{...c,...t,id:o,dismissible:a,title:s}):c):this.addToast({title:s,...i,dismissible:a,id:o}),o},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(n=>n({id:t,dismiss:!0})))):this.toasts.forEach(n=>{this.subscribers.forEach(s=>s({id:n.id,dismiss:!0}))}),t),this.message=(t,n)=>this.create({...n,message:t}),this.error=(t,n)=>this.create({...n,message:t,type:"error"}),this.success=(t,n)=>this.create({...n,type:"success",message:t}),this.info=(t,n)=>this.create({...n,type:"info",message:t}),this.warning=(t,n)=>this.create({...n,type:"warning",message:t}),this.loading=(t,n)=>this.create({...n,type:"loading",message:t}),this.promise=(t,n)=>{if(!n)return;let s;n.loading!==void 0&&(s=this.create({...n,promise:t,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));const i=Promise.resolve(t instanceof Function?t():t);let o=s!==void 0,r;const a=i.then(async u=>{if(r=["resolve",u],E.isValidElement(u))o=!1,this.create({id:s,type:"default",message:u});else if(Pm(u)&&!u.ok){o=!1;const l=typeof n.error=="function"?await n.error(`HTTP error! status: ${u.status}`):n.error,f=typeof n.description=="function"?await n.description(`HTTP error! status: ${u.status}`):n.description,g=typeof l=="object"&&!E.isValidElement(l)?l:{message:l};this.create({id:s,type:"error",description:f,...g})}else if(u instanceof Error){o=!1;const l=typeof n.error=="function"?await n.error(u):n.error,f=typeof n.description=="function"?await n.description(u):n.description,g=typeof l=="object"&&!E.isValidElement(l)?l:{message:l};this.create({id:s,type:"error",description:f,...g})}else if(n.success!==void 0){o=!1;const l=typeof n.success=="function"?await n.success(u):n.success,f=typeof n.description=="function"?await n.description(u):n.description,g=typeof l=="object"&&!E.isValidElement(l)?l:{message:l};this.create({id:s,type:"success",description:f,...g})}}).catch(async u=>{if(r=["reject",u],n.error!==void 0){o=!1;const d=typeof n.error=="function"?await n.error(u):n.error,l=typeof n.description=="function"?await n.description(u):n.description,p=typeof d=="object"&&!E.isValidElement(d)?d:{message:d};this.create({id:s,type:"error",description:l,...p})}}).finally(()=>{o&&(this.dismiss(s),s=void 0),n.finally==null||n.finally.call(n)}),c=()=>new Promise((u,d)=>a.then(()=>r[0]==="reject"?d(r[1]):u(r[1])).catch(d));return typeof s!="string"&&typeof s!="number"?{unwrap:c}:Object.assign(s,{unwrap:c})},this.custom=(t,n)=>{const s=n?.id||si++;return this.create({jsx:t(s),id:s,...n}),s},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Re=new Sm,Tm=(e,t)=>{const n=t?.id||si++;return Re.addToast({title:e,...t,id:n}),n},Pm=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Am=Tm,Em=()=>Re.toasts,Cm=()=>Re.getActiveToasts(),Se=Object.assign(Am,{success:Re.success,info:Re.info,warning:Re.warning,error:Re.error,custom:Re.custom,message:Re.message,promise:Re.promise,dismiss:Re.dismiss,loading:Re.loading},{getHistory:Em,getToasts:Cm});fm("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function Rn(e){return e.label!==void 0}const Dm=3,Rm="24px",km="16px",mo=4e3,Mm=356,Lm=14,Im=45,Vm=200;function Ge(...e){return e.filter(Boolean).join(" ")}function _m(e){const[t,n]=e.split("-"),s=[];return t&&s.push(t),n&&s.push(n),s}const jm=e=>{var t,n,s,i,o,r,a,c,u;const{invert:d,toast:l,unstyled:f,interacting:p,setHeights:g,visibleToasts:w,heights:T,index:v,toasts:A,expanded:y,removeToast:b,defaultRichColors:P,closeButton:S,style:I,cancelButtonStyle:x,actionButtonStyle:R,className:L="",descriptionClassName:_="",duration:oe,position:J,gap:ge,expandByDefault:Me,classNames:U,icons:V,closeButtonAriaLabel:W="Close toast"}=e,[ee,G]=E.useState(null),[Q,ye]=E.useState(null),[j,B]=E.useState(!1),[z,te]=E.useState(!1),[N,D]=E.useState(!1),[K,ae]=E.useState(!1),[F,fe]=E.useState(!1),[ve,be]=E.useState(0),[Ze,gn]=E.useState(0),Be=E.useRef(l.duration||oe||mo),et=E.useRef(null),Ve=E.useRef(null),yn=v===0,tt=v+1<=w,pe=l.type,qe=l.dismissible!==!1,Ht=l.className||"",wt=l.descriptionClassName||"",_e=E.useMemo(()=>T.findIndex(O=>O.toastId===l.id)||0,[T,l.id]),St=E.useMemo(()=>{var O;return(O=l.closeButton)!=null?O:S},[l.closeButton,S]),Tt=E.useMemo(()=>l.duration||oe||mo,[l.duration,oe]),dt=E.useRef(0),nt=E.useRef(0),qt=E.useRef(0),Ke=E.useRef(null),[Kt,ft]=J.split("-"),ht=E.useMemo(()=>T.reduce((O,le,ie)=>ie>=_e?O:O+le.height,0),[T,_e]),Pt=wm(),At=l.invert||d,Et=pe==="loading";nt.current=E.useMemo(()=>_e*ge+ht,[_e,ht]),E.useEffect(()=>{Be.current=Tt},[Tt]),E.useEffect(()=>{B(!0)},[]),E.useEffect(()=>{const O=Ve.current;if(O){const le=O.getBoundingClientRect().height;return gn(le),g(ie=>[{toastId:l.id,height:le,position:l.position},...ie]),()=>g(ie=>ie.filter(re=>re.toastId!==l.id))}},[g,l.id]),E.useLayoutEffect(()=>{if(!j)return;const O=Ve.current,le=O.style.height;O.style.height="auto";const ie=O.getBoundingClientRect().height;O.style.height=le,gn(ie),g(re=>re.find(ue=>ue.toastId===l.id)?re.map(ue=>ue.toastId===l.id?{...ue,height:ie}:ue):[{toastId:l.id,height:ie,position:l.position},...re])},[j,l.title,l.description,g,l.id,l.jsx,l.action,l.cancel]);const Ae=E.useCallback(()=>{te(!0),be(nt.current),g(O=>O.filter(le=>le.toastId!==l.id)),setTimeout(()=>{b(l)},Vm)},[l,b,g,nt]);E.useEffect(()=>{if(l.promise&&pe==="loading"||l.duration===1/0||l.type==="loading")return;let O;return y||p||Pt?(()=>{if(qt.current{Be.current!==1/0&&(dt.current=new Date().getTime(),O=setTimeout(()=>{l.onAutoClose==null||l.onAutoClose.call(l,l),Ae()},Be.current))})(),()=>clearTimeout(O)},[y,p,l,pe,Pt,Ae]),E.useEffect(()=>{l.delete&&(Ae(),l.onDismiss==null||l.onDismiss.call(l,l))},[Ae,l.delete]);function vn(){var O;if(V?.loading){var le;return E.createElement("div",{className:Ge(U?.loader,l==null||(le=l.classNames)==null?void 0:le.loader,"sonner-loader"),"data-visible":pe==="loading"},V.loading)}return E.createElement(mm,{className:Ge(U?.loader,l==null||(O=l.classNames)==null?void 0:O.loader),visible:pe==="loading"})}const bn=l.icon||V?.[pe]||hm(pe);var xn,Ct;return E.createElement("li",{tabIndex:0,ref:Ve,className:Ge(L,Ht,U?.toast,l==null||(t=l.classNames)==null?void 0:t.toast,U?.default,U?.[pe],l==null||(n=l.classNames)==null?void 0:n[pe]),"data-sonner-toast":"","data-rich-colors":(xn=l.richColors)!=null?xn:P,"data-styled":!(l.jsx||l.unstyled||f),"data-mounted":j,"data-promise":!!l.promise,"data-swiped":F,"data-removed":z,"data-visible":tt,"data-y-position":Kt,"data-x-position":ft,"data-index":v,"data-front":yn,"data-swiping":N,"data-dismissible":qe,"data-type":pe,"data-invert":At,"data-swipe-out":K,"data-swipe-direction":Q,"data-expanded":!!(y||Me&&j),"data-testid":l.testId,style:{"--index":v,"--toasts-before":v,"--z-index":A.length-v,"--offset":`${z?ve:nt.current}px`,"--initial-height":Me?"auto":`${Ze}px`,...I,...l.style},onDragEnd:()=>{D(!1),G(null),Ke.current=null},onPointerDown:O=>{O.button!==2&&(Et||!qe||(et.current=new Date,be(nt.current),O.target.setPointerCapture(O.pointerId),O.target.tagName!=="BUTTON"&&(D(!0),Ke.current={x:O.clientX,y:O.clientY})))},onPointerUp:()=>{var O,le,ie;if(K||!qe)return;Ke.current=null;const re=Number(((O=Ve.current)==null?void 0:O.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),pt=Number(((le=Ve.current)==null?void 0:le.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),ue=new Date().getTime()-((ie=et.current)==null?void 0:ie.getTime()),Ee=ee==="x"?re:pt,Dt=Math.abs(Ee)/ue;if(Math.abs(Ee)>=Im||Dt>.11){be(nt.current),l.onDismiss==null||l.onDismiss.call(l,l),ye(ee==="x"?re>0?"right":"left":pt>0?"down":"up"),Ae(),ae(!0);return}else{var Le,Ie;(Le=Ve.current)==null||Le.style.setProperty("--swipe-amount-x","0px"),(Ie=Ve.current)==null||Ie.style.setProperty("--swipe-amount-y","0px")}fe(!1),D(!1),G(null)},onPointerMove:O=>{var le,ie,re;if(!Ke.current||!qe||((le=window.getSelection())==null?void 0:le.toString().length)>0)return;const ue=O.clientY-Ke.current.y,Ee=O.clientX-Ke.current.x;var Dt;const Le=(Dt=e.swipeDirections)!=null?Dt:_m(J);!ee&&(Math.abs(Ee)>1||Math.abs(ue)>1)&&G(Math.abs(Ee)>Math.abs(ue)?"x":"y");let Ie={x:0,y:0};const Rt=Ce=>1/(1.5+Math.abs(Ce)/20);if(ee==="y"){if(Le.includes("top")||Le.includes("bottom"))if(Le.includes("top")&&ue<0||Le.includes("bottom")&&ue>0)Ie.y=ue;else{const Ce=ue*Rt(ue);Ie.y=Math.abs(Ce)0)Ie.x=Ee;else{const Ce=Ee*Rt(Ee);Ie.x=Math.abs(Ce)0||Math.abs(Ie.y)>0)&&fe(!0),(ie=Ve.current)==null||ie.style.setProperty("--swipe-amount-x",`${Ie.x}px`),(re=Ve.current)==null||re.style.setProperty("--swipe-amount-y",`${Ie.y}px`)}},St&&!l.jsx&&pe!=="loading"?E.createElement("button",{"aria-label":W,"data-disabled":Et,"data-close-button":!0,onClick:Et||!qe?()=>{}:()=>{Ae(),l.onDismiss==null||l.onDismiss.call(l,l)},className:Ge(U?.closeButton,l==null||(s=l.classNames)==null?void 0:s.closeButton)},(Ct=V?.close)!=null?Ct:xm):null,(pe||l.icon||l.promise)&&l.icon!==null&&(V?.[pe]!==null||l.icon)?E.createElement("div",{"data-icon":"",className:Ge(U?.icon,l==null||(i=l.classNames)==null?void 0:i.icon)},l.promise||l.type==="loading"&&!l.icon?l.icon||vn():null,l.type!=="loading"?bn:null):null,E.createElement("div",{"data-content":"",className:Ge(U?.content,l==null||(o=l.classNames)==null?void 0:o.content)},E.createElement("div",{"data-title":"",className:Ge(U?.title,l==null||(r=l.classNames)==null?void 0:r.title)},l.jsx?l.jsx:typeof l.title=="function"?l.title():l.title),l.description?E.createElement("div",{"data-description":"",className:Ge(_,wt,U?.description,l==null||(a=l.classNames)==null?void 0:a.description)},typeof l.description=="function"?l.description():l.description):null),E.isValidElement(l.cancel)?l.cancel:l.cancel&&Rn(l.cancel)?E.createElement("button",{"data-button":!0,"data-cancel":!0,style:l.cancelButtonStyle||x,onClick:O=>{Rn(l.cancel)&&qe&&(l.cancel.onClick==null||l.cancel.onClick.call(l.cancel,O),Ae())},className:Ge(U?.cancelButton,l==null||(c=l.classNames)==null?void 0:c.cancelButton)},l.cancel.label):null,E.isValidElement(l.action)?l.action:l.action&&Rn(l.action)?E.createElement("button",{"data-button":!0,"data-action":!0,style:l.actionButtonStyle||R,onClick:O=>{Rn(l.action)&&(l.action.onClick==null||l.action.onClick.call(l.action,O),!O.defaultPrevented&&Ae())},className:Ge(U?.actionButton,l==null||(u=l.classNames)==null?void 0:u.actionButton)},l.action.label):null)};function go(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function Nm(e,t){const n={};return[e,t].forEach((s,i)=>{const o=i===1,r=o?"--mobile-offset":"--offset",a=o?km:Rm;function c(u){["top","right","bottom","left"].forEach(d=>{n[`${r}-${d}`]=typeof u=="number"?`${u}px`:u})}typeof s=="number"||typeof s=="string"?c(s):typeof s=="object"?["top","right","bottom","left"].forEach(u=>{s[u]===void 0?n[`${r}-${u}`]=a:n[`${r}-${u}`]=typeof s[u]=="number"?`${s[u]}px`:s[u]}):c(a)}),n}const As=E.forwardRef(function(t,n){const{id:s,invert:i,position:o="bottom-right",hotkey:r=["altKey","KeyT"],expand:a,closeButton:c,className:u,offset:d,mobileOffset:l,theme:f="light",richColors:p,duration:g,style:w,visibleToasts:T=Dm,toastOptions:v,dir:A=go(),gap:y=Lm,icons:b,containerAriaLabel:P="Notifications"}=t,[S,I]=E.useState([]),x=E.useMemo(()=>s?S.filter(j=>j.toasterId===s):S.filter(j=>!j.toasterId),[S,s]),R=E.useMemo(()=>Array.from(new Set([o].concat(x.filter(j=>j.position).map(j=>j.position)))),[x,o]),[L,_]=E.useState([]),[oe,J]=E.useState(!1),[ge,Me]=E.useState(!1),[U,V]=E.useState(f!=="system"?f:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),W=E.useRef(null),ee=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),G=E.useRef(null),Q=E.useRef(!1),ye=E.useCallback(j=>{I(B=>{var z;return(z=B.find(te=>te.id===j.id))!=null&&z.delete||Re.dismiss(j.id),B.filter(({id:te})=>te!==j.id)})},[]);return E.useEffect(()=>Re.subscribe(j=>{if(j.dismiss){requestAnimationFrame(()=>{I(B=>B.map(z=>z.id===j.id?{...z,delete:!0}:z))});return}setTimeout(()=>{Tl.flushSync(()=>{I(B=>{const z=B.findIndex(te=>te.id===j.id);return z!==-1?[...B.slice(0,z),{...B[z],...j},...B.slice(z+1)]:[j,...B]})})})}),[S]),E.useEffect(()=>{if(f!=="system"){V(f);return}if(f==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?V("dark"):V("light")),typeof window>"u")return;const j=window.matchMedia("(prefers-color-scheme: dark)");try{j.addEventListener("change",({matches:B})=>{V(B?"dark":"light")})}catch{j.addListener(({matches:z})=>{try{V(z?"dark":"light")}catch(te){console.error(te)}})}},[f]),E.useEffect(()=>{S.length<=1&&J(!1)},[S]),E.useEffect(()=>{const j=B=>{var z;if(r.every(D=>B[D]||B.code===D)){var N;J(!0),(N=W.current)==null||N.focus()}B.code==="Escape"&&(document.activeElement===W.current||(z=W.current)!=null&&z.contains(document.activeElement))&&J(!1)};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[r]),E.useEffect(()=>{if(W.current)return()=>{G.current&&(G.current.focus({preventScroll:!0}),G.current=null,Q.current=!1)}},[W.current]),E.createElement("section",{ref:n,"aria-label":`${P} ${ee}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},R.map((j,B)=>{var z;const[te,N]=j.split("-");return x.length?E.createElement("ol",{key:j,dir:A==="auto"?go():A,tabIndex:-1,ref:W,className:u,"data-sonner-toaster":!0,"data-sonner-theme":U,"data-y-position":te,"data-x-position":N,style:{"--front-toast-height":`${((z=L[0])==null?void 0:z.height)||0}px`,"--width":`${Mm}px`,"--gap":`${y}px`,...w,...Nm(d,l)},onBlur:D=>{Q.current&&!D.currentTarget.contains(D.relatedTarget)&&(Q.current=!1,G.current&&(G.current.focus({preventScroll:!0}),G.current=null))},onFocus:D=>{D.target instanceof HTMLElement&&D.target.dataset.dismissible==="false"||Q.current||(Q.current=!0,G.current=D.relatedTarget)},onMouseEnter:()=>J(!0),onMouseMove:()=>J(!0),onMouseLeave:()=>{ge||J(!1)},onDragEnd:()=>J(!1),onPointerDown:D=>{D.target instanceof HTMLElement&&D.target.dataset.dismissible==="false"||Me(!0)},onPointerUp:()=>Me(!1)},x.filter(D=>!D.position&&B===0||D.position===j).map((D,K)=>{var ae,F;return E.createElement(jm,{key:D.id,icons:b,index:K,toast:D,defaultRichColors:p,duration:(ae=v?.duration)!=null?ae:g,className:v?.className,descriptionClassName:v?.descriptionClassName,invert:i,visibleToasts:T,closeButton:(F=v?.closeButton)!=null?F:c,interacting:ge,position:j,style:v?.style,unstyled:v?.unstyled,classNames:v?.classNames,cancelButtonStyle:v?.cancelButtonStyle,actionButtonStyle:v?.actionButtonStyle,closeButtonAriaLabel:v?.closeButtonAriaLabel,removeToast:ye,toasts:x.filter(fe=>fe.position==D.position),heights:L.filter(fe=>fe.position==D.position),setHeights:_,expandByDefault:a,gap:y,expanded:oe,swipeDirections:t.swipeDirections})})):null}))}),Om={Functions:"Functions and Graphs",BusinessMath:"Business and Financial Mathematics",Logic:"Logic and Reasoning"},Ig={Functions:"gm-1",BusinessMath:"gm-2",Logic:"gm-3"},Es=e=>{const t=e.trim().toLowerCase();return t==="functions"||t.includes("function")?"Functions":t==="businessmath"||t.includes("business")?"BusinessMath":t==="logic"||t.includes("reason")?"Logic":null},Fm=h.lazy(()=>H(()=>import("./LoginPage-BTBes4zQ.js"),__vite__mapDeps([9,3,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,4,2,1,5,6]))),Bm=h.lazy(()=>H(()=>import("./TeacherDashboard-CtdIzfjb.js"),__vite__mapDeps([27,3,10,11,12,13,14,28,29,30,31,4,2,1,5,6,32,7,20,16,21,33,34,25,35,36,37,38,39,40,41,42,43,15,44,17,19,45,46,47,48,24,49,50,18,51,52,53,54,55,56,57,58,59,60,61,62]))),$m=h.lazy(()=>H(()=>import("./AdminDashboard-uzlVc26h.js"),__vite__mapDeps([63,3,64,32,13,12,31,65,11,29,50,19,21,41,66,57,20,67,58,68,4,2,1,5,6,28,10,30,14,40,69,46,39,7,38,34,48,62,45,70,60,36,25,71,54,44,59,56,18,16,72,43,37,17]))),yo=h.lazy(()=>H(()=>import("./Sidebar-BH3yU0R9.js"),__vite__mapDeps([64,3,32,13,12,31,65,11,29,50,19,21,41,66,57,20,67,58,68,4,2,1,5,6]))),zm=h.lazy(()=>H(()=>import("./HeroBanner-DgRlQubI.js"),__vite__mapDeps([73,3,16,4,2,1,5,6]))),Um=h.lazy(()=>H(()=>import("./RightSidebar-kfU04N_d.js"),__vite__mapDeps([74,3,48,65,11,13,12,58,50,75,4,2,1,5,6]))),Wm=h.lazy(()=>H(()=>import("./XPNotification-DOZFX3ET.js"),__vite__mapDeps([76,3,75,15,4,2,1,5,6]))),Hm=h.lazy(()=>H(()=>import("./NotificationCenter-l7IdH4wu.js"),__vite__mapDeps([77,3,54,55,29,21,57,36,58,4,2,1,5,6]))),qm=h.lazy(()=>H(()=>import("./SearchBar-DYN0WTzx.js"),__vite__mapDeps([78,3,45,29,56,21,17,19,20,4,2,1,5,6]))),Km=h.lazy(()=>H(()=>import("./SupplementalBanner-COM6ABNZ.js"),__vite__mapDeps([79,3,29,15,50,21,17,16,4,2,1,5,6]))),Gm=h.lazy(()=>H(()=>import("./LearningPath-CTKb6bQc.js"),__vite__mapDeps([80,3,47,17,41,81,21,56,4,2,1,5,6]))),Xm=h.lazy(()=>H(()=>import("./CompetencyRadarChart-Bv4P4qFs.js"),__vite__mapDeps([82,3,47,17,41,16,15,61,12,4,2,1,5,6])).then(e=>({default:e.CompetencyRadarChart}))),Ym=h.lazy(()=>H(()=>import("./ModulesPage-C8056uyx.js"),__vite__mapDeps([83,3,81,21,56,10,11,12,13,14,58,15,59,18,75,39,29,70,47,17,41,33,1,2,48,23,84,0,4,5,6,85,7,46,86,79,50,16,62,45]))),Qm=h.lazy(()=>H(()=>import("./AIChatPage-DDSYPYxd.js"),__vite__mapDeps([87,3,10,11,12,13,14,51,52,53,4,2,1,5,6,38,45,30,35]))),Zm=h.lazy(()=>H(()=>import("./GradesPage-BIf0hX4r.js"),__vite__mapDeps([88,3,10,11,12,13,47,17,41,18,59,60,43,72,50,4,2,1,5,6]))),Jm=h.lazy(()=>H(()=>import("./LeaderboardPage-C97hWKsZ.js"),__vite__mapDeps([89,3,29,21,59,18,56,58,17,34,75,49,4,2,1,5,6]))),eg=h.lazy(()=>H(()=>import("./QuizBattlePage-BhgM4TWz.js"),__vite__mapDeps([90,3,13,12,91,92,47,17,41,1,2,10,11,93,69,46,39,14,71,42,67,75,19,58,59,15,50,34,26,4,5,6]))),tg=h.lazy(()=>H(()=>import("./AvatarShop-D-gwLcZq.js"),__vite__mapDeps([94,3,93,11,13,12,10,68,15,34,4,2,1,5,6]))),ng=h.lazy(()=>H(()=>import("./FloatingAITutor-DYvlvoVe.js"),__vite__mapDeps([95,3,37,29,35,4,2,1,5,6]))),sg=h.lazy(()=>H(()=>import("./RewardsModal-CtOcWG3R.js"),__vite__mapDeps([96,3,29,75,58,59,21,18,60,19,17,4,2,1,5,6]))),Cs=h.lazy(()=>H(()=>import("./ProfileModal-CvubwvbT.js"),__vite__mapDeps([97,3,10,11,12,13,14,91,92,29,19,22,18,21,60,98,44,4,2,1,5,6]))),ig=h.lazy(()=>H(()=>import("./ConfirmModal-B9CUrvQP.js"),__vite__mapDeps([28,3,10,11,12,13,29,30,31,4,2,1,5,6]))),Ds=h.lazy(()=>H(()=>import("./SettingsModal-BFFZzSRx.js"),__vite__mapDeps([99,3,10,11,12,13,14,71,28,29,30,31,4,2,1,5,6,49,54,66,98,43,23,56]))),rg=h.lazy(()=>H(()=>import("./ScientificCalculator-BP-XvW_h.js"),__vite__mapDeps([85,3,7,4,2,1,5,6,46,29]))),og=h.lazy(()=>H(()=>import("./DiagnosticAssessmentModal-BoOvPWwv.js"),__vite__mapDeps([100,3,10,11,12,13,86,85,7,4,2,1,5,6,46,29,0,16,48,50,41,17]))),ag=()=>{const{isLoggedIn:e,userProfile:t,userRole:n,loading:s,refreshProfile:i}=cl(),o=m.jsx("div",{className:"flex min-h-[320px] items-center justify-center text-sm font-semibold text-slate-500",children:"Loading content..."}),r=m.jsx("div",{className:"pb-4 text-sm font-semibold text-slate-500",children:"Loading dashboard content..."}),a=m.jsx("div",{className:"h-11 w-11 shrink-0 rounded-xl bg-[#edf1f7]","aria-hidden":"true"}),c=m.jsx("div",{className:"h-11 w-full rounded-xl bg-[#edf1f7]","aria-hidden":"true"}),u=m.jsx("div",{className:"h-screen w-72 border-r border-[#dde3eb] bg-white/70","aria-hidden":"true"}),d=m.jsx("div",{className:"min-h-[240px] rounded-3xl border border-[#dde3eb] bg-white/70","aria-hidden":"true"}),[l,f]=h.useState("Dashboard"),p=h.useRef(null),g=h.useRef(null),[w,T]=h.useState(!1),[v,A]=h.useState(!1),y=t,[b,P]=h.useState(y?.level||1),[S,I]=h.useState(y?.currentXP||0),[x,R]=h.useState(y?.totalXP||0),L=Math.floor(100*Math.pow(1.5,b-1));let _=0;for(let C=1;C{if(C==="Modules"&&bn){Se.info(`Complete your deep diagnostic (${Pt} outstanding) to unlock modules and regular practice.`),qe("followup_diagnostic"),tt(!0),f("Dashboard");return}M?ve(M):C==="Modules"&&l!=="Modules"&&ve(null),C==="Quiz Battle"&&l!=="Quiz Battle"?(U({collapsed:w}),T(!0)):l==="Quiz Battle"&&C!=="Quiz Battle"&&T(Me.collapsed),f(C),A(!1)},[W,ee]=h.useState(!1),[G,Q]=h.useState({show:!1,xp:0,message:""}),[ye,j]=h.useState(!1),[B,z]=h.useState(!1),[te,N]=h.useState(!1),[D,K]=h.useState(!1),[ae,F]=h.useState({}),[fe,ve]=h.useState(null),[be,Ze]=h.useState(On),[gn,Be]=h.useState(""),[et,Ve]=h.useState(!1),[yn,tt]=h.useState(!1),[pe,qe]=h.useState("initial_assessment"),[Ht,wt]=h.useState(y?.hasTakenDiagnostic||!1),[_e,St]=h.useState(y?.atRiskSubjects||[]),[Tt,dt]=h.useState(y?.priorityTopics||[]),[nt,qt]=h.useState(y?.gpa||"0.00"),[Ke,Kt]=h.useState(y?.learningPathState||"unlocked"),[ft,ht]=h.useState(y?.iarAssessmentState||"not_started"),[Pt,At]=h.useState(0),Et="iar_only";h.useEffect(()=>{e&&n==="student"&&t&&om(t.uid).then(C=>{if(C&&C.averageScore>0){const M=Math.min(C.averageScore/25,4).toFixed(2);qt(M)}}).catch(C=>console.error("Error loading progress for GPA:",C))},[e,n,t]);const[Ae,vn]=h.useState(!1);h.useEffect(()=>{y&&n==="student"?(P(y.level||1),I(y.currentXP||0),R(y.totalXP||0),ge(y.streak||0),St(y.atRiskSubjects||[]),dt(y.priorityTopics||[]),wt(y.hasTakenDiagnostic||!1),Kt(y.learningPathState||"unlocked"),ht(y.iarAssessmentState||"not_started"),vn(!0)):n!=="student"&&vn(!0)},[t,n]),h.useEffect(()=>{if(!e||n!=="student"){Ve(!1);return}let C=!1;const M=()=>{C||Ve(!0)},$=window.requestIdleCallback,X=window.cancelIdleCallback,we=window.setTimeout(M,800),ss=window.requestAnimationFrame(()=>{$||M()}),$i=$?.(()=>{M()},{timeout:500});return()=>{C=!0,window.clearTimeout(we),window.cancelAnimationFrame(ss),$i!==void 0&&X&&X($i)}},[e,n]),h.useEffect(()=>{let C=!1;return(async()=>{if(!e||n!=="student"){At(0);return}const $=y?.lrn||t?.uid;if(!$||Ke!=="locked_pending_deep_diagnostic"){At(0);return}try{const{getPendingDeepDiagnosticCount:X}=await H(async()=>{const{getPendingDeepDiagnosticCount:ss}=await import("./automationService-1THdsq3v.js");return{getPendingDeepDiagnosticCount:ss}},__vite__mapDeps([0,1,2,3,4,5,6])),we=await X($);C||At(we)}catch(X){console.error("Error loading deep diagnostic assignments:",X)}})(),()=>{C=!0}},[e,n,t?.uid,y?.lrn,Ke]);const bn=n==="student"&&(Ke==="locked_pending_deep_diagnostic"||ft==="deep_diagnostic_required"||ft==="deep_diagnostic_in_progress")&&(Pt>0||ft==="deep_diagnostic_required"||ft==="deep_diagnostic_in_progress"),xn=n==="student"&&ft==="skipped_unassessed",Ct=h.useMemo(()=>{const C=new Set;return _e.map($=>Es($)).filter($=>$!==null).filter($=>C.has($)?!1:(C.add($),!0))},[_e]),O=h.useMemo(()=>{const C=Tt.length>0?Tt:Ct,M=new Set;return C.filter($=>M.has($)?!1:(M.add($),!0))},[Tt,Ct]),le=()=>{qe("initial_assessment"),tt(!0)};h.useEffect(()=>{e&&n==="student"&&t&&rm(t.uid).then(C=>{ge(C)})},[e,n,t]),h.useEffect(()=>{F({})},[t?.uid]);const ie=[..._e].sort().join("|"),re=t?.uid?`mathpulse_supplemental_dismissed_${t.uid}`:null;h.useEffect(()=>{if(!re){Be("");return}try{const C=localStorage.getItem(re)||"";Be(C)}catch{Be("")}},[re]);const pt=()=>{if(ie&&(Be(ie),!!re))try{localStorage.setItem(re,ie)}catch{}},ue=()=>{if(Be(""),!!re)try{localStorage.removeItem(re)}catch{}},Ee=_e.length>0&&gn!==ie;h.useEffect(()=>{(async()=>{if(!t?.uid){Ze(On);return}try{const M=await wl(t.uid);Ze(M)}catch(M){console.error("Error loading user settings:",M),Ze(On)}})()},[t?.uid]),h.useEffect(()=>{cm(be)},[be]),h.useEffect(()=>{if(e&&n==="student"&&Ae&&!Ht){const C=setTimeout(()=>{qe("initial_assessment"),tt(!0)},1e3);return()=>clearTimeout(C)}},[e,n,Ae,Ht]);const Dt=async C=>{const M=y?.lrn||t?.uid;if(C.status==="skipped"){if(St([]),dt([]),wt(!0),Kt("unlocked"),ht("skipped_unassessed"),t?.uid)try{await ws(t.uid,{hasTakenDiagnostic:!0,atRiskSubjects:[],priorityTopics:[],learningPathState:"unlocked",remediationState:"not_required",iarAssessmentState:"skipped_unassessed",recommendedNextTopicGroupId:"g11-q1-functions-foundations",recommendationRationale:"Default Grade 11 Q1 path after explicit IAR skip.",recommendedPace:"normal",startingQuarterG11:"Q1",currentCurriculumVersionSetId:y?.currentCurriculumVersionSetId||"g11-core-genmath-legacy-detail-strengthened-structure"}),await im(t.uid,"reminder","IAR Skipped: You are on default path","You are currently marked as Unassessed and placed on Grade 11 Quarter 1 default flow. Take the Initial Assessment anytime for personalized placement.")}catch(we){console.error("Failed to persist skipped IAR state:",we)}Se.message("Assessment skipped. Default Grade 11 Q1 path applied.",{description:"You can take the Initial Assessment later for personalized recommendations."}),tt(!1),f("Dashboard");return}ue();const $=(C.atRiskSubjectIds||[]).map(we=>Es(we)).filter(we=>we!==null),X=(C.priorityTopics||[]).map(we=>Es(we)).filter(we=>we!==null);if(St($.length>0?$:C.atRiskSubjectIds||[]),dt(X),wt(!0),ht("in_progress"),t?.uid)try{await ws(t.uid,{hasTakenDiagnostic:!0,atRiskSubjects:$,priorityTopics:X,topicScores:C.topicScores,iarTopicClassifications:C.topicClassifications,g12ReadinessIndicators:C.g12ReadinessIndicators,iarAssessmentState:"in_progress",iarQuestionSetVersion:C.questionSetVersion})}catch(we){console.error("Failed to persist completed IAR payload:",we)}pe==="followup_diagnostic"&&Se.success("Deep diagnostic submitted. Module unlock will update after assignment-state verification."),pe==="initial_assessment"&&M&&((C.atRiskSubjectIds||[]).length>0&&Et==="iar_plus_diagnostic"||Se.success("Initial assessment completed. Personalized path is now active.")),tt(!1),f("Dashboard")},Le=()=>{f("AI Chat")},Ie=async(C,M)=>{if(t)try{const $=await vl(t.uid,C,"manual",M);I($.xp),$.leveledUp&&P($.newLevel),R(X=>X+C),await i(),Q({show:!0,xp:C,message:M})}catch($){console.error("Error awarding XP:",$)}},Rt=async()=>{try{await fp(),F({}),f("Dashboard"),j(!1)}catch(C){console.error("Error logging out:",C)}},Ce=async C=>{if(!t){N(!1),z(!1);return}const M={};["name","email","phone","photo","avatarLayers","lrn","grade","section","school","enrollmentDate","major","gpa","department","subject","yearsOfExperience","qualification","position"].forEach(X=>{C[X]!==void 0&&(M[X]=C[X])});try{await ws(t.uid,M),F(X=>({...X,...M})),N(!1),z(!1),Se.success("Profile updated successfully")}catch(X){console.error("Error saving profile:",X),Se.error("Failed to update profile")}},wn=async C=>{if(t?.uid)try{const M=await lm(t.uid,C);Ze(M),Se.success("Settings saved successfully")}catch(M){throw console.error("Error saving settings:",M),Se.error("Failed to save settings"),M}},Zn=async C=>{try{await hp(C),Se.success("Password updated successfully")}catch(M){const $=M instanceof Error?M.message:"Unable to update password";throw Se.error($),M}},Jn=async()=>{if(!t?.uid)return;const C=await dm(t.uid),M=new Blob([JSON.stringify(C,null,2)],{type:"application/json"}),$=URL.createObjectURL(M),X=document.createElement("a");X.href=$,X.download=`mathpulse-data-export-${t.uid}-${Date.now()}.json`,document.body.appendChild(X),X.click(),document.body.removeChild(X),URL.revokeObjectURL($),Se.success("Data export downloaded")},es=async()=>{await um(),Se.success("Local cache cleared")},ts=async()=>{if(!t?.uid||n!=="admin")throw new Error("Only admin accounts can delete this account from settings.");try{await pp(t.uid),Se.success("Account deleted successfully")}catch(C){const M=C instanceof Error?C.message:"Unable to delete account";throw Se.error(M),C}},ns=async()=>{if(!t)throw new Error("No active profile found.");const C=n==="student"?y?.lrn||t.uid:void 0,{resetTestingDataForRole:M}=await H(async()=>{const{resetTestingDataForRole:X}=await import("./testResetService-Bzfj9Z1A.js");return{resetTestingDataForRole:X}},__vite__mapDeps([101,1,2,3,4,5,6])),$=await M({uid:t.uid,role:n,lrn:C});n==="student"&&(P(1),I(0),R(0),ge(0),St([]),wt(!1),Kt("unlocked"),ht("not_started"),qt("0.00"),At(0),f("Dashboard")),Se.success($.summary)},De=t?{uid:t.uid,name:t.name,email:t.email,phone:t.phone||"",photo:t.photo||"https://images.unsplash.com/photo-1633332755192-727a05c4013d?w=200&h=200&fit=crop",avatarLayers:t.avatarLayers,role:t.role,...n==="student"&&y?{lrn:y.lrn,grade:y.grade,section:y.section,school:y.school,enrollmentDate:y.enrollmentDate,major:y.major,gpa:nt}:{},...ae}:{uid:void 0,name:"User",email:"",phone:"",photo:"https://images.unsplash.com/photo-1633332755192-727a05c4013d?w=200&h=200&fit=crop",avatarLayers:void 0,role:n},Bi=De.name.trim().split(/\s+/).find(C=>/\p{L}/u.test(C))||De.name.trim()||"User";return h.useEffect(()=>{const C=M=>{if(!(M.target instanceof HTMLInputElement||M.target instanceof HTMLTextAreaElement)&&M.altKey)switch(M.key.toLowerCase()){case"d":M.preventDefault(),V("Dashboard");break;case"m":M.preventDefault(),V("Modules");break;case"c":M.preventDefault(),V("AI Chat");break;case"g":M.preventDefault(),V("Grades");break;case"b":M.preventDefault(),V("Quiz Battle");break;case"s":M.preventDefault(),z(!0);break;case"p":M.preventDefault(),N(!0);break;case"k":M.preventDefault(),K($=>!$);break}};if(e&&n==="student")return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[e,n,bn,Pt]),s?m.jsx(Xt,{}):e?n!=="student"||Ae?n==="teacher"?m.jsxs(m.Fragment,{children:[m.jsx(h.Suspense,{fallback:m.jsx(Xt,{message:"Loading teacher dashboard..."}),children:m.jsx(Bm,{onLogout:Rt,onOpenProfile:()=>N(!0),onOpenSettings:()=>z(!0)})}),te&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Cs,{isOpen:te,onClose:()=>N(!1),profileData:De,onSave:Ce})}),B&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Ds,{isOpen:B,onClose:()=>z(!1),profileData:De,onSave:Ce,settingsData:be,onSaveSettings:wn,onApplySettingsPreview:Ze,onUpdatePassword:Zn,onExportData:Jn,onClearCache:es,onDeleteAccount:ts,onResetData:ns})}),m.jsx(As,{position:"top-right",richColors:!0,closeButton:!0})]}):n==="admin"?m.jsxs(m.Fragment,{children:[m.jsx(h.Suspense,{fallback:m.jsx(Xt,{message:"Loading admin dashboard..."}),children:m.jsx($m,{onLogout:Rt,onOpenProfile:()=>N(!0)})}),te&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Cs,{isOpen:te,onClose:()=>N(!1),profileData:De,onSave:Ce})}),B&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Ds,{isOpen:B,onClose:()=>z(!1),profileData:De,onSave:Ce,settingsData:be,onSaveSettings:wn,onApplySettingsPreview:Ze,onUpdatePassword:Zn,onExportData:Jn,onClearCache:es,onDeleteAccount:ts,onResetData:ns})}),m.jsx(As,{position:"top-right",richColors:!0,closeButton:!0})]}):m.jsxs(m.Fragment,{children:[m.jsx(sm,{children:m.jsxs("div",{className:"flex h-screen w-full bg-[#f8faff] overflow-hidden",children:[m.jsx("div",{className:"hidden lg:block",children:m.jsx(h.Suspense,{fallback:u,children:m.jsx(yo,{activeTab:l,setActiveTab:V,userRole:n,onOpenSettings:()=>z(!0),onLogout:()=>j(!0),sidebarCollapsed:w,setSidebarCollapsed:T,forceCollapsed:l==="Quiz Battle"})})}),v&&m.jsxs(m.Fragment,{children:[m.jsx("button",{"aria-label":"Close navigation",className:"fixed inset-0 z-40 bg-slate-900/40 backdrop-blur-[1px] lg:hidden",onClick:()=>A(!1)}),m.jsx("div",{className:"fixed inset-y-0 left-0 z-50 p-3 lg:hidden",children:m.jsx(h.Suspense,{fallback:u,children:m.jsx(yo,{mode:"mobile",onRequestClose:()=>A(!1),activeTab:l,setActiveTab:V,userRole:n,onOpenSettings:()=>{z(!0),A(!1)},onLogout:()=>{j(!0),A(!1)},sidebarCollapsed:!1})})})]}),m.jsxs("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 bg-gradient-to-br from-indigo-200 via-fuchsia-50 to-orange-100 relative z-10 shadow-[rgba(124,58,237,0.05)_0px_0px_30px_inset]",children:[m.jsx("div",{className:"absolute inset-0 bg-math-pattern opacity-30 pointer-events-none mix-blend-multiply z-0"}),m.jsxs("header",{className:"bg-white/90 backdrop-blur-md border-b border-[#dde3eb] px-3 sm:px-6 py-3 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sticky top-0 z-30 shadow-sm",children:[m.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[m.jsx("button",{className:"lg:hidden p-2 rounded-xl bg-[#edf1f7] hover:bg-[#dde3eb] text-[#5a6578] hover:text-primary transition-colors",onClick:()=>A(!0),"aria-label":"Open navigation",children:m.jsx(tp,{size:20})}),m.jsxs("div",{className:"min-w-0",children:[m.jsx("h1",{className:"text-lg sm:text-xl font-display font-bold text-[#0a1628] leading-tight truncate",children:l}),m.jsxs("p",{className:"text-xs text-[#5a6578] font-body truncate",children:["Welcome back, ",De.name.split(" ")[0],"!"]})]}),m.jsxs("div",{className:"hidden md:flex items-center gap-2 ml-2",children:[m.jsxs("button",{onClick:()=>ee(!0),className:"flex items-center gap-1.5 px-3 py-1.5 bg-rose-50 hover:bg-rose-100 border border-rose-200/60 rounded-lg transition-colors cursor-pointer group",title:"View Rewards & Progress",children:[m.jsx(Qh,{className:"h-3.5 w-3.5 text-rose-500","aria-hidden":"true"}),m.jsxs("span",{className:"text-xs font-display font-bold text-rose-700",children:["Lv ",b]})]}),m.jsxs("button",{onClick:()=>ee(!0),className:"flex items-center gap-1.5 px-3 py-1.5 bg-violet-50 hover:bg-violet-100 border border-violet-200/60 rounded-lg transition-colors cursor-pointer",title:`${oe}/${L} XP to next level`,children:[m.jsx(rp,{className:"h-3.5 w-3.5 text-violet-500","aria-hidden":"true"}),m.jsxs("span",{className:"text-xs font-display font-bold text-violet-700",children:[S," XP"]}),m.jsx("div",{className:"w-12 h-1.5 bg-violet-100 rounded-full overflow-hidden",children:m.jsx("div",{className:"h-full bg-violet-500 rounded-full transition-all",style:{width:`${oe/L*100}%`}})})]}),m.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 bg-orange-50 border border-orange-200/60 rounded-lg",children:[m.jsx(Jh,{className:"h-3.5 w-3.5 text-orange-500","aria-hidden":"true"}),m.jsxs("span",{className:"text-xs font-display font-bold text-orange-700",children:[J," day",J!==1?"s":""]})]})]})]}),m.jsxs("div",{className:"flex flex-wrap md:flex-nowrap items-center gap-2 min-w-0",children:[m.jsx("div",{className:"hidden md:block flex-1 min-w-0 max-w-[420px]",children:m.jsx(h.Suspense,{fallback:c,children:m.jsx(qm,{onSelect:C=>{}})})}),m.jsx("button",{onClick:()=>K(C=>!C),className:"p-3 rounded-xl bg-[#edf1f7] hover:bg-[#dde3eb] text-[#5a6578] hover:text-primary transition-all group",title:"Scientific Calculator (Alt+K)",children:m.jsx(Xh,{size:20,className:"group-hover:scale-110 transition-transform"})}),m.jsx(h.Suspense,{fallback:a,children:m.jsx(Hm,{userRole:n})}),m.jsxs("button",{onClick:()=>N(!0),className:"flex items-center gap-2.5 h-11 shrink-0 bg-[#edf1f7] hover:bg-[#dde3eb] p-1.5 pr-3 rounded-lg cursor-pointer transition-all group","aria-label":`Profile: ${De.name}`,children:[m.jsx("img",{src:De.photo,alt:De.name,className:"w-8 h-8 rounded-lg object-cover"}),m.jsx("div",{className:"hidden sm:block text-left min-w-0 flex-1",children:m.jsx("p",{className:"text-sm font-semibold text-[#0a1628] leading-none group-hover:text-primary transition-colors font-body truncate",children:Bi})})]})]})]}),m.jsx("main",{ref:g,className:`flex-1 min-h-0 p-3 lg:p-4 ${l==="AI Chat"?"overflow-hidden":"overflow-y-auto pb-24 sm:pb-28"}`,children:m.jsx(Lf,{mode:"wait",children:m.jsx(Nn.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.25,ease:[.22,1,.36,1]},className:l==="AI Chat"?"h-full min-h-0":"",children:l==="Dashboard"?m.jsx("div",{className:"px-4 sm:px-6 xl:px-10 py-6 sm:py-8",children:m.jsxs("div",{className:"grid grid-cols-12 gap-6 sm:gap-8 lg:gap-10",children:[m.jsxs("div",{className:"col-span-12 xl:col-span-9 flex flex-col gap-10 lg:gap-14 pt-0",children:[m.jsx(h.Suspense,{fallback:d,children:m.jsx(zm,{userName:Bi,userLevel:b,avatarLayers:De.avatarLayers,onContinueLearning:()=>V("Modules"),showAssessmentTooltip:xn,onOpenAssessment:le})}),et&&Ht&&Ct.length>0&&m.jsxs("div",{className:"rounded-2xl border border-amber-300 bg-amber-50 px-5 py-4 shadow-sm dark:border-amber-400/40 dark:bg-amber-400/10",children:[m.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{children:[m.jsxs("p",{className:"inline-flex items-center gap-2 text-sm font-black text-amber-900 dark:text-amber-200",children:[m.jsx(sp,{className:"h-4 w-4"}),"Assessment Focus Review"]}),m.jsx("p",{className:"mt-1 text-sm text-amber-900/85 dark:text-amber-100/90",children:"Your latest diagnostic flagged these topics for review. Modules are prioritized based on this focus order."})]}),m.jsxs("button",{type:"button",onClick:()=>V("Modules"),className:"inline-flex items-center gap-1.5 rounded-xl bg-amber-600 px-3 py-2 text-xs font-bold text-white transition-colors hover:bg-amber-700",children:["Open Modules",m.jsx(Hh,{className:"h-3.5 w-3.5"})]})]}),m.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:O.map((C,M)=>m.jsxs("span",{className:"rounded-full bg-white/90 px-3 py-1 text-xs font-semibold text-amber-900 shadow-sm dark:bg-amber-100/20 dark:text-amber-100",children:[M+1,". ",Om[C]]},C))})]}),et&&Ee&&m.jsx(h.Suspense,{fallback:r,children:m.jsx(Km,{variant:"full",atRiskSubjects:_e,onDismiss:pt,onAction:()=>{pt(),V("Modules")}})}),Ae&&et&&m.jsx(h.Suspense,{fallback:r,children:m.jsx("div",{className:"pb-4",children:m.jsx(Gm,{onNavigateToModules:C=>V("Modules",C),atRiskSubjects:_e,priorityTopics:O})})}),Ae&&et&&m.jsx(h.Suspense,{fallback:r,children:m.jsx("div",{className:"pb-4",children:m.jsx(Xm,{})})})]}),m.jsx("div",{className:"col-span-12 xl:col-span-3 pt-2",children:et?m.jsx(h.Suspense,{fallback:d,children:m.jsx(Um,{onOpenRewards:()=>ee(!0),onOpenLeaderboard:()=>f("Leaderboard"),onNavigateToModules:()=>f("Modules"),userLevel:b,currentXP:oe,xpToNextLevel:L,overallXP:S,streak:J,streakHistory:y?.streakHistory||[]})}):d})]})}):l==="Modules"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Ym,{onEarnXP:Ie,atRiskSubjects:_e,priorityTopics:O,initialModuleId:fe})}):l==="Leaderboard"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Jm,{currentUserPhoto:De.photo})}):l==="Quiz Battle"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(eg,{})}):l==="AI Chat"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Qm,{})}):l==="Grades"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(Zm,{})}):l==="Avatar Studio"?m.jsx(h.Suspense,{fallback:o,children:m.jsx(tg,{})}):m.jsxs("div",{className:"flex-1 flex items-center justify-center text-[#a8a5b3] font-medium font-body",children:[l," Content Coming Soon"]})},l)})}),l!=="AI Chat"&&m.jsx(h.Suspense,{fallback:null,children:m.jsx("div",{className:"fixed bottom-4 right-4 sm:bottom-8 sm:right-8 z-50",children:m.jsx(ng,{constraintsRef:p,onFullScreen:Le})})}),m.jsx(h.Suspense,{fallback:null,children:m.jsx(Wm,{xp:G.xp,message:G.message,show:G.show,onComplete:()=>Q(C=>({...C,show:!1}))})}),W&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(sg,{isOpen:W,onClose:()=>ee(!1),userLevel:b,currentXP:S,xpToNextLevel:L,totalXP:x,streak:J})}),te&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Cs,{isOpen:te,onClose:()=>N(!1),profileData:De,onSave:Ce})}),ye&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(ig,{isOpen:ye,onClose:()=>j(!1),onConfirm:Rt,title:"Confirm Logout",message:"Are you sure you want to log out? Your progress is saved automatically.",confirmText:"Logout",cancelText:"Stay",type:"warning",icon:"logout"})}),B&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(Ds,{isOpen:B,onClose:()=>z(!1),profileData:De,onSave:Ce,settingsData:be,onSaveSettings:wn,onApplySettingsPreview:Ze,onUpdatePassword:Zn,onExportData:Jn,onClearCache:es,onDeleteAccount:ts,onResetData:ns})}),D&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(rg,{isOpen:D,onClose:()=>K(!1)})}),yn&&m.jsx(h.Suspense,{fallback:null,children:m.jsx(og,{isOpen:yn,onClose:()=>tt(!1),onComplete:Dt,lrn:y?.lrn||t?.uid,gradeLevel:y?.grade,workflowMode:Et,assessmentType:pe})})]})]})}),m.jsx(As,{position:"top-right",richColors:!0,closeButton:!0})]}):m.jsx(Xt,{message:"Preparing your dashboard..."}):m.jsx(h.Suspense,{fallback:m.jsx(Xt,{message:"Loading sign in..."}),children:m.jsx(Fm,{})})};let vo=!1;const bo=()=>{vo||(vo=!0,H(()=>Promise.resolve({}),__vite__mapDeps([102])).catch(e=>{console.error("[styles] Deferred full stylesheet failed to load:",e)}))};if(typeof window<"u"){const e=window.requestIdleCallback,t=window.cancelIdleCallback,n=e?.(()=>{bo()},{timeout:1200});window.setTimeout(()=>{n!==void 0&&t&&t(n),bo()},1200)}const Sl=document.getElementById("root");if(!Sl)throw new Error("Root element not found");Pl.createRoot(Sl).render(m.jsx(mp,{children:m.jsx(ag,{})}));export{Hh as A,Kh as B,Xh as C,On as D,Cg as E,Jh as F,Ag as G,gg as H,lt as I,ap as J,ws as K,Eg as L,tp as M,im as N,Ni as O,Lp as P,sp as T,rp as Z,H as _,vg as a,bg as b,ut as c,q as d,Lf as e,Sg as f,om as g,Pg as h,Tg as i,wl as j,lm as k,Qh as l,Nn as m,wg as n,Es as o,Ig as p,Dg as q,Mg as r,yg as s,Se as t,cl as u,kg as v,Rg as w,Lg as x,Om as y,xg as z}; diff --git a/assets/loader-circle-kcw3SM4v.js b/assets/loader-circle-BUf2fYcT.js similarity index 87% rename from assets/loader-circle-kcw3SM4v.js rename to assets/loader-circle-BUf2fYcT.js index 3372da9097b1a6f0a297e2aa989f5222e954dd8a..2a04dcf4fb528111ffd5382a8efb95867fcce28b 100644 --- a/assets/loader-circle-kcw3SM4v.js +++ b/assets/loader-circle-BUf2fYcT.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/lock-lKS0Wfg_.js b/assets/lock-C6XEepuP.js similarity index 89% rename from assets/lock-lKS0Wfg_.js rename to assets/lock-C6XEepuP.js index 648268f644693bb8466cf4761ac90110557fbe7e..add175286c37ad336b8cf84141bb612bed08f8d7 100644 --- a/assets/lock-lKS0Wfg_.js +++ b/assets/lock-C6XEepuP.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/log-out-DSwWLQA-.js b/assets/log-out-DYYu4gFF.js similarity index 89% rename from assets/log-out-DSwWLQA-.js rename to assets/log-out-DYYu4gFF.js index d432ce72463355850bffe23fe6d12020a4a0f7ad..7a594d1a6e7c6fc725a3b739a45506b9613ee502 100644 --- a/assets/log-out-DSwWLQA-.js +++ b/assets/log-out-DYYu4gFF.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";/** +import{c as o}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/mail-Dt-oZ527.js b/assets/mail-D-r4ZWDN.js similarity index 89% rename from assets/mail-Dt-oZ527.js rename to assets/mail-D-r4ZWDN.js index 6fd9a81e19c87be4347d3fcd3f96894ce3af491b..17a6aae75aa87cf1c829bb659b48248cdc5c3736 100644 --- a/assets/mail-Dt-oZ527.js +++ b/assets/mail-D-r4ZWDN.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/message-square-C0Ume0lR.js b/assets/message-square-DIXhbelM.js similarity index 87% rename from assets/message-square-C0Ume0lR.js rename to assets/message-square-DIXhbelM.js index 628830e413b04733fda087f278c5763bd1cae329..333e56e04f8bf37d846fd0b6f6198c59495717a4 100644 --- a/assets/message-square-C0Ume0lR.js +++ b/assets/message-square-DIXhbelM.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/minus-FdgaZoCo.js b/assets/minus-BjTBUAx2.js similarity index 84% rename from assets/minus-FdgaZoCo.js rename to assets/minus-BjTBUAx2.js index 9b0b2c1d3370b3a8f3783f888d1c2079d51f97f7..ccc76a7097d658ce4b5b7154f390124edff728a1 100644 --- a/assets/minus-FdgaZoCo.js +++ b/assets/minus-BjTBUAx2.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";/** +import{c as o}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/pen-line-BrNinh8A.js b/assets/pen-line-CX1xh2Q2.js similarity index 90% rename from assets/pen-line-BrNinh8A.js rename to assets/pen-line-CX1xh2Q2.js index a0d8dea09c403fb3863db0aaa4f57156c4638f2f..12cada8aed13d2e5db334a3328db5bdc53a7d9ab 100644 --- a/assets/pen-line-BrNinh8A.js +++ b/assets/pen-line-CX1xh2Q2.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/plus-BqPmFcy0.js b/assets/plus-DVCmopn-.js similarity index 86% rename from assets/plus-BqPmFcy0.js rename to assets/plus-DVCmopn-.js index bec926f8037e2c42f4c6d13ecd08a6a13360499d..d6f7eb0a838c4aad2e4361aa25176160776afd38 100644 --- a/assets/plus-BqPmFcy0.js +++ b/assets/plus-DVCmopn-.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/quizService-MwzPk14n.js b/assets/quizService-BkrCeM05.js similarity index 98% rename from assets/quizService-MwzPk14n.js rename to assets/quizService-BkrCeM05.js index bb6f2b1f550b47cd55dcb2be11302b9b04a9d47d..ae65f00ec437d7ca8f1d4b1f63976e350d77f634 100644 --- a/assets/quizService-MwzPk14n.js +++ b/assets/quizService-BkrCeM05.js @@ -1,4 +1,4 @@ -import{c as A,d as i}from"./index-CUP7q97n.js";import{d as o,e as r,s as f,q as z,w as m,o as L,h as b,u as g,c as M,a as d}from"./vendor-firebase-firestore-CkuVbeP5.js";/** +import{c as A,d as i}from"./index-DGWrSMOK.js";import{d as o,e as r,s as f,q as z,w as m,o as L,h as b,u as g,c as M,a as d}from"./vendor-firebase-firestore-CkuVbeP5.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/save-DTLT0-dh.js b/assets/save-B5SCmCsP.js similarity index 91% rename from assets/save-DTLT0-dh.js rename to assets/save-B5SCmCsP.js index 20691e8dcb9a77e9b9e5bcca7c0d4e1ab369e6f6..f2edbda70a4b736299f2f1b0f1aaeea2e33dff09 100644 --- a/assets/save-DTLT0-dh.js +++ b/assets/save-B5SCmCsP.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/search-C5n5sv5I.js b/assets/search-O5gEqRZi.js similarity index 88% rename from assets/search-C5n5sv5I.js rename to assets/search-O5gEqRZi.js index f20644bb6d22312398ff8bafdc079184abc69069..75ce2a8deb944cd809e28ea84278c0570bc2c1b9 100644 --- a/assets/search-C5n5sv5I.js +++ b/assets/search-O5gEqRZi.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/select-LT8ybtB9.js b/assets/select-CH9gS87N.js similarity index 96% rename from assets/select-LT8ybtB9.js rename to assets/select-CH9gS87N.js index ec44a54467b89fcf4d48d7c6c58ef33a88fa733b..06ce6f127ba24af875d770837f039fb50d6ac329 100644 --- a/assets/select-LT8ybtB9.js +++ b/assets/select-CH9gS87N.js @@ -1 +1 @@ -import{j as e}from"./vendor-react-Dexh7fmo.js";import{h as l,i,j as d,V as c,k as u,l as m,m as p,n as f,o as x,p as g,S as v,q as h}from"./vendor-radix-B-ht8aK0.js";import{c as r}from"./utils-BQQgILNW.js";import{a as n,C as b}from"./chevron-up-B9_iMYGp.js";import{C as j}from"./check-DXbjXZsm.js";function _({...t}){return e.jsx(l,{"data-slot":"select",...t})}function I({...t}){return e.jsx(c,{"data-slot":"select-value",...t})}function B({className:t,size:a="default",children:s,...o}){return e.jsxs(i,{"data-slot":"select-trigger","data-size":a,className:r("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-input-background px-3 py-2 text-sm whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[s,e.jsx(d,{asChild:!0,children:e.jsx(n,{className:"size-4 opacity-50"})})]})}function V({className:t,children:a,position:s="popper",...o}){return e.jsx(u,{children:e.jsxs(m,{"data-slot":"select-content",className:r("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",s==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,...o,children:[e.jsx(w,{}),e.jsx(p,{className:r("p-1",s==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),e.jsx(y,{})]})})}function D({className:t,children:a,...s}){return e.jsxs(f,{"data-slot":"select-item",className:r("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...s,children:[e.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:e.jsx(x,{children:e.jsx(j,{className:"size-4"})})}),e.jsx(g,{children:a})]})}function w({className:t,...a}){return e.jsx(v,{"data-slot":"select-scroll-up-button",className:r("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(b,{className:"size-4"})})}function y({className:t,...a}){return e.jsx(h,{"data-slot":"select-scroll-down-button",className:r("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(n,{className:"size-4"})})}export{_ as S,B as a,I as b,V as c,D as d}; +import{j as e}from"./vendor-react-Dexh7fmo.js";import{h as l,i,j as d,V as c,k as u,l as m,m as p,n as f,o as x,p as g,S as v,q as h}from"./vendor-radix-B-ht8aK0.js";import{c as r}from"./utils-BQQgILNW.js";import{a as n,C as b}from"./chevron-up-BJyzaJs7.js";import{C as j}from"./check-BONc3QkK.js";function _({...t}){return e.jsx(l,{"data-slot":"select",...t})}function I({...t}){return e.jsx(c,{"data-slot":"select-value",...t})}function B({className:t,size:a="default",children:s,...o}){return e.jsxs(i,{"data-slot":"select-trigger","data-size":a,className:r("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-input-background px-3 py-2 text-sm whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o,children:[s,e.jsx(d,{asChild:!0,children:e.jsx(n,{className:"size-4 opacity-50"})})]})}function V({className:t,children:a,position:s="popper",...o}){return e.jsx(u,{children:e.jsxs(m,{"data-slot":"select-content",className:r("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",s==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,...o,children:[e.jsx(w,{}),e.jsx(p,{className:r("p-1",s==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),e.jsx(y,{})]})})}function D({className:t,children:a,...s}){return e.jsxs(f,{"data-slot":"select-item",className:r("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...s,children:[e.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:e.jsx(x,{children:e.jsx(j,{className:"size-4"})})}),e.jsx(g,{children:a})]})}function w({className:t,...a}){return e.jsx(v,{"data-slot":"select-scroll-up-button",className:r("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(b,{className:"size-4"})})}function y({className:t,...a}){return e.jsx(h,{"data-slot":"select-scroll-down-button",className:r("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(n,{className:"size-4"})})}export{_ as S,B as a,I as b,V as c,D as d}; diff --git a/assets/send-D1NSm_uD.js b/assets/send-nCgvy9cZ.js similarity index 90% rename from assets/send-D1NSm_uD.js rename to assets/send-nCgvy9cZ.js index c8d87326af0f0579258508482ede6bfeb3bd2cef..6fbfbe625f21a27933ca519486756c897be52974 100644 --- a/assets/send-D1NSm_uD.js +++ b/assets/send-nCgvy9cZ.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/shield-U0fpKH0K.js b/assets/shield-Cin8984_.js similarity index 91% rename from assets/shield-U0fpKH0K.js rename to assets/shield-Cin8984_.js index f4a4093f1e92a3dadda0d2ab07b5a59c7d33aabe..364253e39fcc397074e39c740d52af637ace2b6e 100644 --- a/assets/shield-U0fpKH0K.js +++ b/assets/shield-Cin8984_.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/shield-check-g-gosqjU.js b/assets/shield-check-B-VFrdlh.js similarity index 92% rename from assets/shield-check-g-gosqjU.js rename to assets/shield-check-B-VFrdlh.js index 908c553b18876d67d30b063c1d00d70fdf120322..57619ad6f0d1df6b584fd472039d23644182f3c9 100644 --- a/assets/shield-check-g-gosqjU.js +++ b/assets/shield-check-B-VFrdlh.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/shirt-Bw3DfDxH.js b/assets/shirt-C4Gsu12G.js similarity index 90% rename from assets/shirt-Bw3DfDxH.js rename to assets/shirt-C4Gsu12G.js index aeea7895efe21e7c5975e7db80fb34a08f1d02ec..7da7cabba6d2586c9a4c0fb960423235e368fd49 100644 --- a/assets/shirt-Bw3DfDxH.js +++ b/assets/shirt-C4Gsu12G.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/skeleton-6_TnmEdc.js b/assets/skeleton-DgVR4gS7.js similarity index 89% rename from assets/skeleton-6_TnmEdc.js rename to assets/skeleton-DgVR4gS7.js index 96460242969fda131fe85544cafdece7210cd6e4..f43833250fecbeff0a5af5ed5e726cd9a028e440 100644 --- a/assets/skeleton-6_TnmEdc.js +++ b/assets/skeleton-DgVR4gS7.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";import{j as c}from"./vendor-react-Dexh7fmo.js";import{c as a}from"./utils-BQQgILNW.js";/** +import{c as o}from"./index-DGWrSMOK.js";import{j as c}from"./vendor-react-Dexh7fmo.js";import{c as a}from"./utils-BQQgILNW.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/sparkles-Cg_SVFRk.js b/assets/sparkles-DxmNHQEo.js similarity index 93% rename from assets/sparkles-Cg_SVFRk.js rename to assets/sparkles-DxmNHQEo.js index 32bccfb2503cec9b5f31f024f740b075925efebe..7765349f6510dc6da01c79f5a9db2da631a0510a 100644 --- a/assets/sparkles-Cg_SVFRk.js +++ b/assets/sparkles-DxmNHQEo.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/star-CX9mS3Me.js b/assets/star-DqP0S0c5.js similarity index 93% rename from assets/star-CX9mS3Me.js rename to assets/star-DqP0S0c5.js index 8924dcd6d64c7139aa8bfd8c947be7a3ce21aa05..89de5757325983e68dfdaede361507780d53c42a 100644 --- a/assets/star-CX9mS3Me.js +++ b/assets/star-DqP0S0c5.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/subjects-Cwbch54O.js b/assets/subjects-DDYtJwQO.js similarity index 99% rename from assets/subjects-Cwbch54O.js rename to assets/subjects-DDYtJwQO.js index dee2b255e87f5e6f2691f5ad6247e39a9eb1424e..8979e05463998c5598d0c4fcaaeae17cb1d04536 100644 --- a/assets/subjects-Cwbch54O.js +++ b/assets/subjects-DDYtJwQO.js @@ -1,4 +1,4 @@ -import{c as a,C as o}from"./index-CUP7q97n.js";import{T as l}from"./trending-up-DmBYqjZb.js";import{C as s}from"./chart-column-D_9m8xSU.js";/** +import{c as a,C as o}from"./index-DGWrSMOK.js";import{T as l}from"./trending-up-B2MPUPwk.js";import{C as s}from"./chart-column-CJzwyNMx.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/swords-DXWdiz6s.js b/assets/swords-Bn50CmyM.js similarity index 93% rename from assets/swords-DXWdiz6s.js rename to assets/swords-Bn50CmyM.js index 33caf3975a208ae5bf19a0880571967eebda3d87..07b4b7a080875d7610bd9f9113545127f2c62628 100644 --- a/assets/swords-DXWdiz6s.js +++ b/assets/swords-Bn50CmyM.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/target-DaU28Ow3.js b/assets/target-7Gevl8jn.js similarity index 90% rename from assets/target-DaU28Ow3.js rename to assets/target-7Gevl8jn.js index 4adac458ca59067f494765fa50d017187895ec84..667046e9524a24050700276e8f8d2ab69ca855e4 100644 --- a/assets/target-DaU28Ow3.js +++ b/assets/target-7Gevl8jn.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/testResetService-DvKskSa6.js b/assets/testResetService-Bzfj9Z1A.js similarity index 98% rename from assets/testResetService-DvKskSa6.js rename to assets/testResetService-Bzfj9Z1A.js index 9606d758b3fbd4706594ad9ddac0fd7d6b79623e..e9c48f7fb91e033278a589d305a0b52a7cab7130 100644 --- a/assets/testResetService-DvKskSa6.js +++ b/assets/testResetService-Bzfj9Z1A.js @@ -1 +1 @@ -import{s as l,a as d,d as i,h as f,q as p,w as g,e as I,c as m,m as w}from"./vendor-firebase-firestore-CkuVbeP5.js";import{I as S,O as v,d as n}from"./index-CUP7q97n.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const k=400,A="https://deign86-mathpulse-api-v3test.hf.space";async function T(e){const t=S.currentUser;if(!t)throw new Error("Authentication is required to reset testing data.");const s=await t.getIdToken(),o=await fetch(`${A}/api/testing/reset-data`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`},body:JSON.stringify({role:e.role,...e.lrn?{lrn:e.lrn}:{}})}),r=await o.json().catch(()=>({}));if(!o.ok){const D=typeof r?.detail=="string"?r.detail:"";throw new Error(D||`Reset request failed with status ${o.status}.`)}const c=typeof r?.role=="string"?r.role:e.role,u=Number(r?.deletedDocs??0),h=Number(r?.updatedDocs??0),y=typeof r?.summary=="string"?r.summary:`${c} reset complete: ${u} records deleted, ${h} records reset.`;return{role:c,deletedDocs:u,updatedDocs:h,summary:y}}async function R(e){const t=await f(e);if(t.empty)return 0;let s=w(n),o=0,r=0;for(const c of t.docs)s.delete(c.ref),o+=1,r+=1,o>=k&&(await s.commit(),s=w(n),o=0);return o>0&&await s.commit(),r}async function B(e,t,s){return R(p(I(n,e),g(t,"==",s)))}async function a(e,t,s){try{return await B(e,t,s)}catch{return 0}}async function b(e,t){const s=t||e;let o=0,r=0;return await v(e),r+=1,await l(i(n,"users",e),{level:1,currentXP:0,totalXP:0,streak:0,streakHistory:[],atRiskSubjects:[],hasTakenDiagnostic:!1,iarAssessmentState:"not_started",learningPathState:"unlocked",remediationState:"not_required",subjectBadges:{},riskClassifications:{},overallRisk:"Low",updatedAt:d()},{merge:!0}),r+=1,o+=await a("notifications","userId",e),o+=await a("chatSessions","userId",e),o+=await a("chatMessages","userId",e),s!==e&&(o+=await a("notifications","userId",s)),await l(i(n,"achievements",e),{userId:e,achievements:[],totalAchievements:0,updatedAt:d()},{merge:!0}).catch(()=>{}),{deletedDocs:o,updatedDocs:r}}async function $(e){let t=0,s=0;const r=(await f(p(I(n,"classrooms"),g("teacherId","==",e)))).docs.map(c=>c.id);t+=await a("notifications","userId",e),t+=await a("chatSessions","userId",e),t+=await a("chatMessages","userId",e),t+=await a("announcements","teacherId",e),t+=await a("classSectionOwnership","ownerTeacherId",e),t+=await a("managedStudents","teacherId",e),t+=await a("classrooms","teacherId",e),t+=await a("normalizedClassRecords","teacherId",e),t+=await a("classRecordImports","teacherId",e),t+=await a("courseMaterials","teacherId",e),t+=await a("riskRefreshEvents","teacherId",e),t+=await a("riskRefreshJobs","teacherId",e),t+=await a("importGroundedFeedbackEvents","teacherId",e),t+=await a("accessAuditLogs","actorUid",e),t+=await a("accessAuditLogs","teacherId",e);for(const c of r)t+=await a("managedStudents","classroomId",c),t+=await a("activities","classroomId",c),t+=await a("announcements","classroomId",c),await m(i(n,"classrooms",c)).then(()=>{t+=1}).catch(()=>{});return await m(i(n,"riskRefreshStats",e)).then(()=>{t+=1}).catch(()=>{}),await l(i(n,"users",e),{testingResetAt:d(),updatedAt:d()},{merge:!0}).catch(()=>{}),s+=1,{deletedDocs:t,updatedDocs:s}}async function C(e){let t=0,s=0;return t+=await a("notifications","userId",e),t+=await a("chatSessions","userId",e),t+=await a("chatMessages","userId",e),t+=await a("curriculumContent","updatedBy",e),t+=await a("curriculumContent","deletedBy",e),await l(i(n,"users",e),{testingResetAt:d(),updatedAt:d()},{merge:!0}).catch(()=>{}),s+=1,{deletedDocs:t,updatedDocs:s}}async function F(e){const{uid:t,role:s,lrn:o}=e;if(!t)throw new Error("Missing user id for reset.");if(s==="teacher"||s==="admin")return T(e);let r;s==="student"?r=await b(t,o):s==="teacher"?r=await $(t):r=await C(t);const c=`${s} reset complete: ${r.deletedDocs} records deleted, ${r.updatedDocs} records reset.`;return{role:s,deletedDocs:r.deletedDocs,updatedDocs:r.updatedDocs,summary:c}}export{F as resetTestingDataForRole}; +import{s as l,a as d,d as i,h as f,q as p,w as g,e as I,c as m,m as w}from"./vendor-firebase-firestore-CkuVbeP5.js";import{I as S,O as v,d as n}from"./index-DGWrSMOK.js";import"./vendor-firebase-core-DQ-pMjxd.js";import"./vendor-react-Dexh7fmo.js";import"./vendor-firebase-auth-COrkgW0P.js";import"./vendor-firebase-storage-BOeKE_0n.js";import"./vendor-firebase-analytics-CCo6E2f7.js";const k=400,A="https://deign86-mathpulse-api-v3test.hf.space";async function T(e){const t=S.currentUser;if(!t)throw new Error("Authentication is required to reset testing data.");const s=await t.getIdToken(),o=await fetch(`${A}/api/testing/reset-data`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`},body:JSON.stringify({role:e.role,...e.lrn?{lrn:e.lrn}:{}})}),r=await o.json().catch(()=>({}));if(!o.ok){const D=typeof r?.detail=="string"?r.detail:"";throw new Error(D||`Reset request failed with status ${o.status}.`)}const c=typeof r?.role=="string"?r.role:e.role,u=Number(r?.deletedDocs??0),h=Number(r?.updatedDocs??0),y=typeof r?.summary=="string"?r.summary:`${c} reset complete: ${u} records deleted, ${h} records reset.`;return{role:c,deletedDocs:u,updatedDocs:h,summary:y}}async function R(e){const t=await f(e);if(t.empty)return 0;let s=w(n),o=0,r=0;for(const c of t.docs)s.delete(c.ref),o+=1,r+=1,o>=k&&(await s.commit(),s=w(n),o=0);return o>0&&await s.commit(),r}async function B(e,t,s){return R(p(I(n,e),g(t,"==",s)))}async function a(e,t,s){try{return await B(e,t,s)}catch{return 0}}async function b(e,t){const s=t||e;let o=0,r=0;return await v(e),r+=1,await l(i(n,"users",e),{level:1,currentXP:0,totalXP:0,streak:0,streakHistory:[],atRiskSubjects:[],hasTakenDiagnostic:!1,iarAssessmentState:"not_started",learningPathState:"unlocked",remediationState:"not_required",subjectBadges:{},riskClassifications:{},overallRisk:"Low",updatedAt:d()},{merge:!0}),r+=1,o+=await a("notifications","userId",e),o+=await a("chatSessions","userId",e),o+=await a("chatMessages","userId",e),s!==e&&(o+=await a("notifications","userId",s)),await l(i(n,"achievements",e),{userId:e,achievements:[],totalAchievements:0,updatedAt:d()},{merge:!0}).catch(()=>{}),{deletedDocs:o,updatedDocs:r}}async function $(e){let t=0,s=0;const r=(await f(p(I(n,"classrooms"),g("teacherId","==",e)))).docs.map(c=>c.id);t+=await a("notifications","userId",e),t+=await a("chatSessions","userId",e),t+=await a("chatMessages","userId",e),t+=await a("announcements","teacherId",e),t+=await a("classSectionOwnership","ownerTeacherId",e),t+=await a("managedStudents","teacherId",e),t+=await a("classrooms","teacherId",e),t+=await a("normalizedClassRecords","teacherId",e),t+=await a("classRecordImports","teacherId",e),t+=await a("courseMaterials","teacherId",e),t+=await a("riskRefreshEvents","teacherId",e),t+=await a("riskRefreshJobs","teacherId",e),t+=await a("importGroundedFeedbackEvents","teacherId",e),t+=await a("accessAuditLogs","actorUid",e),t+=await a("accessAuditLogs","teacherId",e);for(const c of r)t+=await a("managedStudents","classroomId",c),t+=await a("activities","classroomId",c),t+=await a("announcements","classroomId",c),await m(i(n,"classrooms",c)).then(()=>{t+=1}).catch(()=>{});return await m(i(n,"riskRefreshStats",e)).then(()=>{t+=1}).catch(()=>{}),await l(i(n,"users",e),{testingResetAt:d(),updatedAt:d()},{merge:!0}).catch(()=>{}),s+=1,{deletedDocs:t,updatedDocs:s}}async function C(e){let t=0,s=0;return t+=await a("notifications","userId",e),t+=await a("chatSessions","userId",e),t+=await a("chatMessages","userId",e),t+=await a("curriculumContent","updatedBy",e),t+=await a("curriculumContent","deletedBy",e),await l(i(n,"users",e),{testingResetAt:d(),updatedAt:d()},{merge:!0}).catch(()=>{}),s+=1,{deletedDocs:t,updatedDocs:s}}async function F(e){const{uid:t,role:s,lrn:o}=e;if(!t)throw new Error("Missing user id for reset.");if(s==="teacher"||s==="admin")return T(e);let r;s==="student"?r=await b(t,o):s==="teacher"?r=await $(t):r=await C(t);const c=`${s} reset complete: ${r.deletedDocs} records deleted, ${r.updatedDocs} records reset.`;return{role:s,deletedDocs:r.deletedDocs,updatedDocs:r.updatedDocs,summary:c}}export{F as resetTestingDataForRole}; diff --git a/assets/trash-2-DhgLaJ_c.js b/assets/trash-2-CBQVcuBL.js similarity index 91% rename from assets/trash-2-DhgLaJ_c.js rename to assets/trash-2-CBQVcuBL.js index 0ebc6de5a903069c2e0394ae0a7081523d908352..38a461b3b6dd8afba8ff23b1fd4149d9d802ae31 100644 --- a/assets/trash-2-DhgLaJ_c.js +++ b/assets/trash-2-CBQVcuBL.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/trending-down-DhwTMb31.js b/assets/trending-down-C7JHnrbb.js similarity index 94% rename from assets/trending-down-DhwTMb31.js rename to assets/trending-down-C7JHnrbb.js index cf55ba382e0b3c4e1b389ba632da0c05762fb1ca..ccb2150b13547e85ba97402e921a3d3acb7906ff 100644 --- a/assets/trending-down-DhwTMb31.js +++ b/assets/trending-down-C7JHnrbb.js @@ -1,4 +1,4 @@ -import{c as n}from"./index-CUP7q97n.js";/** +import{c as n}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/trending-up-DmBYqjZb.js b/assets/trending-up-B2MPUPwk.js similarity index 88% rename from assets/trending-up-DmBYqjZb.js rename to assets/trending-up-B2MPUPwk.js index a89d666e5c623d601d0a32dca0073d6fb0e3dec3..66c8906d5ebfd499b357db94ba71df4fc8f66599 100644 --- a/assets/trending-up-DmBYqjZb.js +++ b/assets/trending-up-B2MPUPwk.js @@ -1,4 +1,4 @@ -import{c as n}from"./index-CUP7q97n.js";/** +import{c as n}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/trophy-di6eNjuA.js b/assets/trophy-73YPSH67.js similarity index 93% rename from assets/trophy-di6eNjuA.js rename to assets/trophy-73YPSH67.js index 4dc61d1bbdcbae3a75821a2bb5dd5124c5b5f92c..36faeb70ae94d5414390d24870f7e17bb51d40fb 100644 --- a/assets/trophy-di6eNjuA.js +++ b/assets/trophy-73YPSH67.js @@ -1,4 +1,4 @@ -import{c as a}from"./index-CUP7q97n.js";/** +import{c as a}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/user-BXAf0Aum.js b/assets/user-Br5UzORP.js similarity index 89% rename from assets/user-BXAf0Aum.js rename to assets/user-Br5UzORP.js index 8e55a8be1d0d05e5d500ead19316778c651309b0..11452dd0a496604d1848f423575a8a4d6c288dc4 100644 --- a/assets/user-BXAf0Aum.js +++ b/assets/user-Br5UzORP.js @@ -1,4 +1,4 @@ -import{c}from"./index-CUP7q97n.js";/** +import{c}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/users-BpOE7EHN.js b/assets/users-BRS21lR4.js similarity index 90% rename from assets/users-BpOE7EHN.js rename to assets/users-BRS21lR4.js index 6310c53259799e1b1bb2975839b2d4de3e850e7b..76389da6454cc693fabe2218bc38ff3ee448003d 100644 --- a/assets/users-BpOE7EHN.js +++ b/assets/users-BRS21lR4.js @@ -1,4 +1,4 @@ -import{c as e}from"./index-CUP7q97n.js";/** +import{c as e}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/assets/x-DSPvcKpY.js b/assets/x-Bj25rnWX.js similarity index 86% rename from assets/x-DSPvcKpY.js rename to assets/x-Bj25rnWX.js index 04328d22c8cdf0f188b45b292f48d3ff5ba4bf0b..4d85636bcf0f85ec47c1c759f504750d5218a2d7 100644 --- a/assets/x-DSPvcKpY.js +++ b/assets/x-Bj25rnWX.js @@ -1,4 +1,4 @@ -import{c as o}from"./index-CUP7q97n.js";/** +import{c as o}from"./index-DGWrSMOK.js";/** * @license lucide-react v0.487.0 - ISC * * This source code is licensed under the ISC license. diff --git a/index.html b/index.html index 670290a111789c395ee1aa807ef9b8178ddc10d8..c079443ceb4d7ef3fb9a9b983df0b950f503481b 100644 --- a/index.html +++ b/index.html @@ -25,7 +25,7 @@ #pp-static-loader .pp-spinner{width:1rem;height:1rem;border-radius:999px;border:2px solid #0284c7;border-top-color:transparent;animation:pp-spin 1.5s linear infinite} #pp-static-loader .pp-msg{margin:0;font-size:.875rem;font-weight:600;color:#64748b} - +