fluxy-bot 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-fluxy/assets/fluxy-Cejh7HRl.js +37 -0
- package/dist-fluxy/assets/{globals-CnbiE5KJ.js → globals-Bu5tVsgN.js} +1 -1
- package/dist-fluxy/assets/{globals-CZf7hjQW.css → globals-DYOj4b0m.css} +1 -1
- package/dist-fluxy/assets/{onboard-B_QyBFoO.js → onboard-Bzu8G4yQ.js} +1 -1
- package/dist-fluxy/fluxy.html +3 -3
- package/dist-fluxy/onboard.html +3 -3
- package/package.json +1 -1
- package/dist-fluxy/assets/fluxy-tSkoe-BG.js +0 -37
|
@@ -14,4 +14,4 @@ Error generating stack: `+a.message+`
|
|
|
14
14
|
${Q}px !important;
|
|
15
15
|
${X}px !important;
|
|
16
16
|
}
|
|
17
|
-
`),()=>{k.contains(Z)&&k.removeChild(Z)}},[l]),S.jsx(a2,{isPresent:l,childRef:p,sizeRef:g,pop:d,children:d===!1?i:U.cloneElement(i,{ref:x})})}const l2=({children:i,initial:l,isPresent:u,onExitComplete:o,custom:c,presenceAffectsLayout:d,mode:h,anchorX:p,anchorY:g,root:m})=>{const v=$c(s2),x=U.useId();let T=!0,N=U.useMemo(()=>(T=!1,{id:x,initial:l,isPresent:u,custom:c,onExitComplete:z=>{v.set(z,!0);for(const q of v.values())if(!q)return;o&&o()},register:z=>(v.set(z,!1),()=>v.delete(z))}),[u,v,o]);return d&&T&&(N={...N}),U.useMemo(()=>{v.forEach((z,q)=>v.set(q,!1))},[u]),U.useEffect(()=>{!u&&!v.size&&o&&o()},[u]),i=S.jsx(i2,{pop:h==="popLayout",isPresent:u,anchorX:p,anchorY:g,root:m,children:i}),S.jsx(Uu.Provider,{value:N,children:i})};function s2(){return new Map}function Eg(i=!0){const l=U.useContext(Uu);if(l===null)return[!0,null];const{isPresent:u,onExitComplete:o,register:c}=l,d=U.useId();U.useEffect(()=>{if(i)return c(d)},[i]);const h=U.useCallback(()=>i&&o&&o(d),[d,o,i]);return!u&&o?[!1,h]:[!0]}const xu=i=>i.key||"";function zy(i){const l=[];return U.Children.forEach(i,u=>{U.isValidElement(u)&&l.push(u)}),l}const u2=({children:i,custom:l,initial:u=!0,onExitComplete:o,presenceAffectsLayout:c=!0,mode:d="sync",propagate:h=!1,anchorX:p="left",anchorY:g="top",root:m})=>{const[v,x]=Eg(h),T=U.useMemo(()=>zy(i),[i]),N=h&&!v?[]:T.map(xu),z=U.useRef(!0),q=U.useRef(T),G=$c(()=>new Map),Y=U.useRef(new Set),[Q,X]=U.useState(T),[Z,k]=U.useState(T);$y(()=>{z.current=!1,q.current=T;for(let J=0;J<Z.length;J++){const st=xu(Z[J]);N.includes(st)?(G.delete(st),Y.current.delete(st)):G.get(st)!==!0&&G.set(st,!1)}},[Z,N.length,N.join("-")]);const it=[];if(T!==Q){let J=[...T];for(let st=0;st<Z.length;st++){const Tt=Z[st],pt=xu(Tt);N.includes(pt)||(J.splice(st,0,Tt),it.push(Tt))}return d==="wait"&&it.length&&(J=it),k(zy(J)),X(T),null}const{forceRender:$}=U.useContext(Wc);return S.jsx(S.Fragment,{children:Z.map(J=>{const st=xu(J),Tt=h&&!v?!1:T===Z||N.includes(st),pt=()=>{if(Y.current.has(st))return;if(Y.current.add(st),G.has(st))G.set(st,!0);else return;let zt=!0;G.forEach(Zt=>{Zt||(zt=!1)}),zt&&($?.(),k(q.current),h&&x?.(),o&&o())};return S.jsx(l2,{isPresent:Tt,initial:!z.current||u?void 0:!1,custom:l,presenceAffectsLayout:c,mode:d,root:m,onExitComplete:Tt?void 0:pt,anchorX:p,anchorY:g,children:J},st)})})},Cg=U.createContext({strict:!1}),Ry={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let Vy=!1;function o2(){if(Vy)return;const i={};for(const l in Ry)i[l]={isEnabled:u=>Ry[l].some(o=>!!u[o])};tg(i),Vy=!0}function Mg(){return o2(),kS()}function r2(i){const l=Mg();for(const u in i)l[u]={...l[u],...i[u]};tg(l)}const c2=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function _u(i){return i.startsWith("while")||i.startsWith("drag")&&i!=="draggable"||i.startsWith("layout")||i.startsWith("onTap")||i.startsWith("onPan")||i.startsWith("onLayout")||c2.has(i)}let Dg=i=>!_u(i);function f2(i){typeof i=="function"&&(Dg=l=>l.startsWith("on")?!_u(l):i(l))}try{f2(require("@emotion/is-prop-valid").default)}catch{}function h2(i,l,u){const o={};for(const c in i)c==="values"&&typeof i.values=="object"||(Dg(c)||u===!0&&_u(c)||!l&&!_u(c)||i.draggable&&c.startsWith("onDrag"))&&(o[c]=i[c]);return o}const Hu=U.createContext({});function d2(i,l){if(Lu(i)){const{initial:u,animate:o}=i;return{initial:u===!1||Fl(u)?u:void 0,animate:Fl(o)?o:void 0}}return i.inherit!==!1?l:{}}function m2(i){const{initial:l,animate:u}=d2(i,U.useContext(Hu));return U.useMemo(()=>({initial:l,animate:u}),[_y(l),_y(u)])}function _y(i){return Array.isArray(i)?i.join(" "):i}const Df=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function wg(i,l,u){for(const o in l)!fe(l[o])&&!ug(o,u)&&(i[o]=l[o])}function p2({transformTemplate:i},l){return U.useMemo(()=>{const u=Df();return Ef(u,l,i),Object.assign({},u.vars,u.style)},[l])}function y2(i,l){const u=i.style||{},o={};return wg(o,u,i),Object.assign(o,p2(i,l)),o}function g2(i,l){const u={},o=y2(i,l);return i.drag&&i.dragListener!==!1&&(u.draggable=!1,o.userSelect=o.WebkitUserSelect=o.WebkitTouchCallout="none",o.touchAction=i.drag===!0?"none":`pan-${i.drag==="x"?"y":"x"}`),i.tabIndex===void 0&&(i.onTap||i.onTapStart||i.whileTap)&&(u.tabIndex=0),u.style=o,u}const Og=()=>({...Df(),attrs:{}});function v2(i,l,u,o){const c=U.useMemo(()=>{const d=Og();return og(d,l,cg(o),i.transformTemplate,i.style),{...d.attrs,style:{...d.style}}},[l]);if(i.style){const d={};wg(d,i.style,i),c.style={...d,...c.style}}return c}const x2=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function wf(i){return typeof i!="string"||i.includes("-")?!1:!!(x2.indexOf(i)>-1||/[A-Z]/u.test(i))}function b2(i,l,u,{latestValues:o},c,d=!1,h){const g=(h??wf(i)?v2:g2)(l,o,c,i),m=h2(l,typeof i=="string",d),v=i!==U.Fragment?{...m,...g,ref:u}:{},{children:x}=l,T=U.useMemo(()=>fe(x)?x.get():x,[x]);return U.createElement(i,{...v,children:T})}function S2({scrapeMotionValuesFromProps:i,createRenderState:l},u,o,c){return{latestValues:T2(u,o,c,i),renderState:l()}}function T2(i,l,u,o){const c={},d=o(i,{});for(const T in d)c[T]=Mu(d[T]);let{initial:h,animate:p}=i;const g=Lu(i),m=$0(i);l&&m&&!g&&i.inherit!==!1&&(h===void 0&&(h=l.initial),p===void 0&&(p=l.animate));let v=u?u.initial===!1:!1;v=v||h===!1;const x=v?p:h;if(x&&typeof x!="boolean"&&!Bu(x)){const T=Array.isArray(x)?x:[x];for(let N=0;N<T.length;N++){const z=yf(i,T[N]);if(z){const{transitionEnd:q,transition:G,...Y}=z;for(const Q in Y){let X=Y[Q];if(Array.isArray(X)){const Z=v?X.length-1:0;X=X[Z]}X!==null&&(c[Q]=X)}for(const Q in q)c[Q]=q[Q]}}}return c}const Ng=i=>(l,u)=>{const o=U.useContext(Hu),c=U.useContext(Uu),d=()=>S2(i,l,o,c);return u?d():$c(d)},A2=Ng({scrapeMotionValuesFromProps:Cf,createRenderState:Df}),E2=Ng({scrapeMotionValuesFromProps:fg,createRenderState:Og}),C2=Symbol.for("motionComponentSymbol");function M2(i,l,u){const o=U.useRef(u);U.useInsertionEffect(()=>{o.current=u});const c=U.useRef(null);return U.useCallback(d=>{d&&i.onMount?.(d),l&&(d?l.mount(d):l.unmount());const h=o.current;if(typeof h=="function")if(d){const p=h(d);typeof p=="function"&&(c.current=p)}else c.current?(c.current(),c.current=null):h(d);else h&&(h.current=d)},[l])}const jg=U.createContext({});function ji(i){return i&&typeof i=="object"&&Object.prototype.hasOwnProperty.call(i,"current")}function D2(i,l,u,o,c,d){const{visualElement:h}=U.useContext(Hu),p=U.useContext(Cg),g=U.useContext(Uu),m=U.useContext(Mf),v=m.reducedMotion,x=m.skipAnimations,T=U.useRef(null),N=U.useRef(!1);o=o||p.renderer,!T.current&&o&&(T.current=o(i,{visualState:l,parent:h,props:u,presenceContext:g,blockInitialAnimation:g?g.initial===!1:!1,reducedMotionConfig:v,skipAnimations:x,isSVG:d}),N.current&&T.current&&(T.current.manuallyAnimateOnMount=!0));const z=T.current,q=U.useContext(jg);z&&!z.projection&&c&&(z.type==="html"||z.type==="svg")&&w2(T.current,u,c,q);const G=U.useRef(!1);U.useInsertionEffect(()=>{z&&G.current&&z.update(u,g)});const Y=u[H0],Q=U.useRef(!!Y&&!window.MotionHandoffIsComplete?.(Y)&&window.MotionHasOptimisedAnimation?.(Y));return $y(()=>{N.current=!0,z&&(G.current=!0,window.MotionIsMounted=!0,z.updateFeatures(),z.scheduleRenderMicrotask(),Q.current&&z.animationState&&z.animationState.animateChanges())}),U.useEffect(()=>{z&&(!Q.current&&z.animationState&&z.animationState.animateChanges(),Q.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(Y)}),Q.current=!1),z.enteringChildren=void 0)}),z}function w2(i,l,u,o){const{layoutId:c,layout:d,drag:h,dragConstraints:p,layoutScroll:g,layoutRoot:m,layoutCrossfade:v}=l;i.projection=new u(i.latestValues,l["data-framer-portal-id"]?void 0:zg(i.parent)),i.projection.setOptions({layoutId:c,layout:d,alwaysMeasureLayout:!!h||p&&ji(p),visualElement:i,animationType:typeof d=="string"?d:"both",initialPromotionConfig:o,crossfade:v,layoutScroll:g,layoutRoot:m})}function zg(i){if(i)return i.options.allowProjection!==!1?i.projection:zg(i.parent)}function bc(i,{forwardMotionProps:l=!1,type:u}={},o,c){o&&r2(o);const d=u?u==="svg":wf(i),h=d?E2:A2;function p(m,v){let x;const T={...U.useContext(Mf),...m,layoutId:O2(m)},{isStatic:N}=T,z=m2(m),q=h(m,N);if(!N&&Wy){N2();const G=j2(T);x=G.MeasureLayout,z.visualElement=D2(i,q,T,c,G.ProjectionNode,d)}return S.jsxs(Hu.Provider,{value:z,children:[x&&z.visualElement?S.jsx(x,{visualElement:z.visualElement,...T}):null,b2(i,m,M2(q,z.visualElement,v),q,N,l,d)]})}p.displayName=`motion.${typeof i=="string"?i:`create(${i.displayName??i.name??""})`}`;const g=U.forwardRef(p);return g[C2]=i,g}function O2({layoutId:i}){const l=U.useContext(Wc).id;return l&&i!==void 0?l+"-"+i:i}function N2(i,l){U.useContext(Cg).strict}function j2(i){const l=Mg(),{drag:u,layout:o}=l;if(!u&&!o)return{};const c={...u,...o};return{MeasureLayout:u?.isEnabled(i)||o?.isEnabled(i)?c.MeasureLayout:void 0,ProjectionNode:c.ProjectionNode}}function z2(i,l){if(typeof Proxy>"u")return bc;const u=new Map,o=(d,h)=>bc(d,h,i,l),c=(d,h)=>o(d,h);return new Proxy(c,{get:(d,h)=>h==="create"?o:(u.has(h)||u.set(h,bc(h,void 0,i,l)),u.get(h))})}const R2=(i,l)=>l.isSVG??wf(i)?new cT(l):new iT(l,{allowProjection:i!==U.Fragment});class V2 extends ca{constructor(l){super(l),l.animationState||(l.animationState=pT(l))}updateAnimationControlsSubscription(){const{animate:l}=this.node.getProps();Bu(l)&&(this.unmountControls=l.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:l}=this.node.getProps(),{animate:u}=this.node.prevProps||{};l!==u&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let _2=0;class U2 extends ca{constructor(){super(...arguments),this.id=_2++}update(){if(!this.node.presenceContext)return;const{isPresent:l,onExitComplete:u}=this.node.presenceContext,{isPresent:o}=this.node.prevPresenceContext||{};if(!this.node.animationState||l===o)return;const c=this.node.animationState.setActive("exit",!l);u&&!l&&c.then(()=>{u(this.id)})}mount(){const{register:l,onExitComplete:u}=this.node.presenceContext||{};u&&u(this.id),l&&(this.unmount=l(this.id))}unmount(){}}const B2={animation:{Feature:V2},exit:{Feature:U2}};function ts(i){return{point:{x:i.pageX,y:i.pageY}}}const L2=i=>l=>bf(l)&&i(l,ts(l));function Ql(i,l,u,o){return Pl(i,l,L2(u),o)}const Rg=({current:i})=>i?i.ownerDocument.defaultView:null,Uy=(i,l)=>Math.abs(i-l);function H2(i,l){const u=Uy(i.x,l.x),o=Uy(i.y,l.y);return Math.sqrt(u**2+o**2)}const By=new Set(["auto","scroll"]);class Vg{constructor(l,u,{transformPagePoint:o,contextWindow:c=window,dragSnapToOrigin:d=!1,distanceThreshold:h=3,element:p}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=N=>{this.handleScroll(N.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const N=Tc(this.lastMoveEventInfo,this.history),z=this.startEvent!==null,q=H2(N.offset,{x:0,y:0})>=this.distanceThreshold;if(!z&&!q)return;const{point:G}=N,{timestamp:Y}=re;this.history.push({...G,timestamp:Y});const{onStart:Q,onMove:X}=this.handlers;z||(Q&&Q(this.lastMoveEvent,N),this.startEvent=this.lastMoveEvent),X&&X(this.lastMoveEvent,N)},this.handlePointerMove=(N,z)=>{this.lastMoveEvent=N,this.lastMoveEventInfo=Sc(z,this.transformPagePoint),jt.update(this.updatePoint,!0)},this.handlePointerUp=(N,z)=>{this.end();const{onEnd:q,onSessionEnd:G,resumeAnimation:Y}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&Y&&Y(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const Q=Tc(N.type==="pointercancel"?this.lastMoveEventInfo:Sc(z,this.transformPagePoint),this.history);this.startEvent&&q&&q(N,Q),G&&G(N,Q)},!bf(l))return;this.dragSnapToOrigin=d,this.handlers=u,this.transformPagePoint=o,this.distanceThreshold=h,this.contextWindow=c||window;const g=ts(l),m=Sc(g,this.transformPagePoint),{point:v}=m,{timestamp:x}=re;this.history=[{...v,timestamp:x}];const{onSessionStart:T}=u;T&&T(l,Tc(m,this.history)),this.removeListeners=Wl(Ql(this.contextWindow,"pointermove",this.handlePointerMove),Ql(this.contextWindow,"pointerup",this.handlePointerUp),Ql(this.contextWindow,"pointercancel",this.handlePointerUp)),p&&this.startScrollTracking(p)}startScrollTracking(l){let u=l.parentElement;for(;u;){const o=getComputedStyle(u);(By.has(o.overflowX)||By.has(o.overflowY))&&this.scrollPositions.set(u,{x:u.scrollLeft,y:u.scrollTop}),u=u.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(l){const u=this.scrollPositions.get(l);if(!u)return;const o=l===window,c=o?{x:window.scrollX,y:window.scrollY}:{x:l.scrollLeft,y:l.scrollTop},d={x:c.x-u.x,y:c.y-u.y};d.x===0&&d.y===0||(o?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=d.x,this.lastMoveEventInfo.point.y+=d.y):this.history.length>0&&(this.history[0].x-=d.x,this.history[0].y-=d.y),this.scrollPositions.set(l,c),jt.update(this.updatePoint,!0))}updateHandlers(l){this.handlers=l}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),oa(this.updatePoint)}}function Sc(i,l){return l?{point:l(i.point)}:i}function Ly(i,l){return{x:i.x-l.x,y:i.y-l.y}}function Tc({point:i},l){return{point:i,delta:Ly(i,_g(l)),offset:Ly(i,Y2(l)),velocity:q2(l,.1)}}function Y2(i){return i[0]}function _g(i){return i[i.length-1]}function q2(i,l){if(i.length<2)return{x:0,y:0};let u=i.length-1,o=null;const c=_g(i);for(;u>=0&&(o=i[u],!(c.timestamp-o.timestamp>Pe(l)));)u--;if(!o)return{x:0,y:0};o===i[0]&&i.length>2&&c.timestamp-o.timestamp>Pe(l)*2&&(o=i[1]);const d=qe(c.timestamp-o.timestamp);if(d===0)return{x:0,y:0};const h={x:(c.x-o.x)/d,y:(c.y-o.y)/d};return h.x===1/0&&(h.x=0),h.y===1/0&&(h.y=0),h}function G2(i,{min:l,max:u},o){return l!==void 0&&i<l?i=o?Yt(l,i,o.min):Math.max(i,l):u!==void 0&&i>u&&(i=o?Yt(u,i,o.max):Math.min(i,u)),i}function Hy(i,l,u){return{min:l!==void 0?i.min+l:void 0,max:u!==void 0?i.max+u-(i.max-i.min):void 0}}function X2(i,{top:l,left:u,bottom:o,right:c}){return{x:Hy(i.x,u,c),y:Hy(i.y,l,o)}}function Yy(i,l){let u=l.min-i.min,o=l.max-i.max;return l.max-l.min<i.max-i.min&&([u,o]=[o,u]),{min:u,max:o}}function K2(i,l){return{x:Yy(i.x,l.x),y:Yy(i.y,l.y)}}function Q2(i,l){let u=.5;const o=me(i),c=me(l);return c>o?u=Zl(l.min,l.max-o,i.min):o>c&&(u=Zl(i.min,i.max-c,l.min)),cn(0,1,u)}function Z2(i,l){const u={};return l.min!==void 0&&(u.min=l.min-i.min),l.max!==void 0&&(u.max=l.max-i.min),u}const Jc=.35;function k2(i=Jc){return i===!1?i=0:i===!0&&(i=Jc),{x:qy(i,"left","right"),y:qy(i,"top","bottom")}}function qy(i,l,u){return{min:Gy(i,l),max:Gy(i,u)}}function Gy(i,l){return typeof i=="number"?i:i[l]||0}const J2=new WeakMap;class F2{constructor(l){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=It(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=l}start(l,{snapToCursor:u=!1,distanceThreshold:o}={}){const{presenceContext:c}=this.visualElement;if(c&&c.isPresent===!1)return;const d=x=>{u&&this.snapToCursor(ts(x).point),this.stopAnimation()},h=(x,T)=>{const{drag:N,dragPropagation:z,onDragStart:q}=this.getProps();if(N&&!z&&(this.openDragLock&&this.openDragLock(),this.openDragLock=AS(N),!this.openDragLock))return;this.latestPointerEvent=x,this.latestPanInfo=T,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),on(Y=>{let Q=this.getAxisMotionValue(Y).get()||0;if(rn.test(Q)){const{projection:X}=this.visualElement;if(X&&X.layout){const Z=X.layout.layoutBox[Y];Z&&(Q=me(Z)*(parseFloat(Q)/100))}}this.originPoint[Y]=Q}),q&&jt.update(()=>q(x,T),!1,!0),Hc(this.visualElement,"transform");const{animationState:G}=this.visualElement;G&&G.setActive("whileDrag",!0)},p=(x,T)=>{this.latestPointerEvent=x,this.latestPanInfo=T;const{dragPropagation:N,dragDirectionLock:z,onDirectionLock:q,onDrag:G}=this.getProps();if(!N&&!this.openDragLock)return;const{offset:Y}=T;if(z&&this.currentDirection===null){this.currentDirection=W2(Y),this.currentDirection!==null&&q&&q(this.currentDirection);return}this.updateAxis("x",T.point,Y),this.updateAxis("y",T.point,Y),this.visualElement.render(),G&&jt.update(()=>G(x,T),!1,!0)},g=(x,T)=>{this.latestPointerEvent=x,this.latestPanInfo=T,this.stop(x,T),this.latestPointerEvent=null,this.latestPanInfo=null},m=()=>{const{dragSnapToOrigin:x}=this.getProps();(x||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:v}=this.getProps();this.panSession=new Vg(l,{onSessionStart:d,onStart:h,onMove:p,onSessionEnd:g,resumeAnimation:m},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:v,distanceThreshold:o,contextWindow:Rg(this.visualElement),element:this.visualElement.current})}stop(l,u){const o=l||this.latestPointerEvent,c=u||this.latestPanInfo,d=this.isDragging;if(this.cancel(),!d||!c||!o)return;const{velocity:h}=c;this.startAnimation(h);const{onDragEnd:p}=this.getProps();p&&jt.postRender(()=>p(o,c))}cancel(){this.isDragging=!1;const{projection:l,animationState:u}=this.visualElement;l&&(l.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:o}=this.getProps();!o&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),u&&u.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(l,u,o){const{drag:c}=this.getProps();if(!o||!bu(l,c,this.currentDirection))return;const d=this.getAxisMotionValue(l);let h=this.originPoint[l]+o[l];this.constraints&&this.constraints[l]&&(h=G2(h,this.constraints[l],this.elastic[l])),d.set(h)}resolveConstraints(){const{dragConstraints:l,dragElastic:u}=this.getProps(),o=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,c=this.constraints;l&&ji(l)?this.constraints||(this.constraints=this.resolveRefConstraints()):l&&o?this.constraints=X2(o.layoutBox,l):this.constraints=!1,this.elastic=k2(u),c!==this.constraints&&!ji(l)&&o&&this.constraints&&!this.hasMutatedConstraints&&on(d=>{this.constraints!==!1&&this.getAxisMotionValue(d)&&(this.constraints[d]=Z2(o.layoutBox[d],this.constraints[d]))})}resolveRefConstraints(){const{dragConstraints:l,onMeasureDragConstraints:u}=this.getProps();if(!l||!ji(l))return!1;const o=l.current,{projection:c}=this.visualElement;if(!c||!c.layout)return!1;const d=$S(o,c.root,this.visualElement.getTransformPagePoint());let h=K2(c.layout.layoutBox,d);if(u){const p=u(FS(h));this.hasMutatedConstraints=!!p,p&&(h=ng(p))}return h}startAnimation(l){const{drag:u,dragMomentum:o,dragElastic:c,dragTransition:d,dragSnapToOrigin:h,onDragTransitionEnd:p}=this.getProps(),g=this.constraints||{},m=on(v=>{if(!bu(v,u,this.currentDirection))return;let x=g&&g[v]||{};h&&(x={min:0,max:0});const T=c?200:1e6,N=c?40:1e7,z={type:"inertia",velocity:o?l[v]:0,bounceStiffness:T,bounceDamping:N,timeConstant:750,restDelta:1,restSpeed:10,...d,...x};return this.startAxisValueAnimation(v,z)});return Promise.all(m).then(p)}startAxisValueAnimation(l,u){const o=this.getAxisMotionValue(l);return Hc(this.visualElement,l),o.start(pf(l,o,0,u,this.visualElement,!1))}stopAnimation(){on(l=>this.getAxisMotionValue(l).stop())}getAxisMotionValue(l){const u=`_drag${l.toUpperCase()}`,o=this.visualElement.getProps(),c=o[u];return c||this.visualElement.getValue(l,(o.initial?o.initial[l]:void 0)||0)}snapToCursor(l){on(u=>{const{drag:o}=this.getProps();if(!bu(u,o,this.currentDirection))return;const{projection:c}=this.visualElement,d=this.getAxisMotionValue(u);if(c&&c.layout){const{min:h,max:p}=c.layout.layoutBox[u],g=d.get()||0;d.set(l[u]-Yt(h,p,.5)+g)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:l,dragConstraints:u}=this.getProps(),{projection:o}=this.visualElement;if(!ji(u)||!o||!this.constraints)return;this.stopAnimation();const c={x:0,y:0};on(h=>{const p=this.getAxisMotionValue(h);if(p&&this.constraints!==!1){const g=p.get();c[h]=Q2({min:g,max:g},this.constraints[h])}});const{transformTemplate:d}=this.visualElement.getProps();this.visualElement.current.style.transform=d?d({},""):"none",o.root&&o.root.updateScroll(),o.updateLayout(),this.constraints=!1,this.resolveConstraints(),on(h=>{if(!bu(h,l,null))return;const p=this.getAxisMotionValue(h),{min:g,max:m}=this.constraints[h];p.set(Yt(g,m,c[h]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;J2.set(this.visualElement,this);const l=this.visualElement.current,u=Ql(l,"pointerdown",m=>{const{drag:v,dragListener:x=!0}=this.getProps(),T=m.target,N=T!==l&&OS(T);v&&x&&!N&&this.start(m)});let o;const c=()=>{const{dragConstraints:m}=this.getProps();ji(m)&&m.current&&(this.constraints=this.resolveRefConstraints(),o||(o=P2(l,m.current,()=>this.scalePositionWithinConstraints())))},{projection:d}=this.visualElement,h=d.addEventListener("measure",c);d&&!d.layout&&(d.root&&d.root.updateScroll(),d.updateLayout()),jt.read(c);const p=Pl(window,"resize",()=>this.scalePositionWithinConstraints()),g=d.addEventListener("didUpdate",(({delta:m,hasLayoutChanged:v})=>{this.isDragging&&v&&(on(x=>{const T=this.getAxisMotionValue(x);T&&(this.originPoint[x]+=m[x].translate,T.set(T.get()+m[x].translate))}),this.visualElement.render())}));return()=>{p(),u(),h(),g&&g(),o&&o()}}getProps(){const l=this.visualElement.getProps(),{drag:u=!1,dragDirectionLock:o=!1,dragPropagation:c=!1,dragConstraints:d=!1,dragElastic:h=Jc,dragMomentum:p=!0}=l;return{...l,drag:u,dragDirectionLock:o,dragPropagation:c,dragConstraints:d,dragElastic:h,dragMomentum:p}}}function Xy(i){let l=!0;return()=>{if(l){l=!1;return}i()}}function P2(i,l,u){const o=Pp(i,Xy(u)),c=Pp(l,Xy(u));return()=>{o(),c()}}function bu(i,l,u){return(l===!0||l===i)&&(u===null||u===i)}function W2(i,l=10){let u=null;return Math.abs(i.y)>l?u="y":Math.abs(i.x)>l&&(u="x"),u}class $2 extends ca{constructor(l){super(l),this.removeGroupControls=Ge,this.removeListeners=Ge,this.controls=new F2(l)}mount(){const{dragControls:l}=this.node.getProps();l&&(this.removeGroupControls=l.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Ge}update(){const{dragControls:l}=this.node.getProps(),{dragControls:u}=this.node.prevProps||{};l!==u&&(this.removeGroupControls(),l&&(this.removeGroupControls=l.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const Ac=i=>(l,u)=>{i&&jt.update(()=>i(l,u),!1,!0)};class I2 extends ca{constructor(){super(...arguments),this.removePointerDownListener=Ge}onPointerDown(l){this.session=new Vg(l,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Rg(this.node)})}createPanHandlers(){const{onPanSessionStart:l,onPanStart:u,onPan:o,onPanEnd:c}=this.node.getProps();return{onSessionStart:Ac(l),onStart:Ac(u),onMove:Ac(o),onEnd:(d,h)=>{delete this.session,c&&jt.postRender(()=>c(d,h))}}}mount(){this.removePointerDownListener=Ql(this.node.current,"pointerdown",l=>this.onPointerDown(l))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Ec=!1;class tA extends U.Component{componentDidMount(){const{visualElement:l,layoutGroup:u,switchLayoutGroup:o,layoutId:c}=this.props,{projection:d}=l;d&&(u.group&&u.group.add(d),o&&o.register&&c&&o.register(d),Ec&&d.root.didUpdate(),d.addEventListener("animationComplete",()=>{this.safeToRemove()}),d.setOptions({...d.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Du.hasEverUpdated=!0}getSnapshotBeforeUpdate(l){const{layoutDependency:u,visualElement:o,drag:c,isPresent:d}=this.props,{projection:h}=o;return h&&(h.isPresent=d,l.layoutDependency!==u&&h.setOptions({...h.options,layoutDependency:u}),Ec=!0,c||l.layoutDependency!==u||u===void 0||l.isPresent!==d?h.willUpdate():this.safeToRemove(),l.isPresent!==d&&(d?h.promote():h.relegate()||jt.postRender(()=>{const p=h.getStack();(!p||!p.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:l}=this.props.visualElement;l&&(l.root.didUpdate(),xf.postRender(()=>{!l.currentAnimation&&l.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:l,layoutGroup:u,switchLayoutGroup:o}=this.props,{projection:c}=l;Ec=!0,c&&(c.scheduleCheckAfterUnmount(),u&&u.group&&u.group.remove(c),o&&o.deregister&&o.deregister(c))}safeToRemove(){const{safeToRemove:l}=this.props;l&&l()}render(){return null}}function Ug(i){const[l,u]=Eg(),o=U.useContext(Wc);return S.jsx(tA,{...i,layoutGroup:o,switchLayoutGroup:U.useContext(jg),isPresent:l,safeToRemove:u})}const eA={pan:{Feature:I2},drag:{Feature:$2,ProjectionNode:Ag,MeasureLayout:Ug}};function Ky(i,l,u){const{props:o}=i;i.animationState&&o.whileHover&&i.animationState.setActive("whileHover",u==="Start");const c="onHover"+u,d=o[c];d&&jt.postRender(()=>d(l,ts(l)))}class nA extends ca{mount(){const{current:l}=this.node;l&&(this.unmount=CS(l,(u,o)=>(Ky(this.node,o,"Start"),c=>Ky(this.node,c,"End"))))}unmount(){}}class aA extends ca{constructor(){super(...arguments),this.isActive=!1}onFocus(){let l=!1;try{l=this.node.current.matches(":focus-visible")}catch{l=!0}!l||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Wl(Pl(this.node.current,"focus",()=>this.onFocus()),Pl(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Qy(i,l,u){const{props:o}=i;if(i.current instanceof HTMLButtonElement&&i.current.disabled)return;i.animationState&&o.whileTap&&i.animationState.setActive("whileTap",u==="Start");const c="onTap"+(u==="End"?"":u),d=o[c];d&&jt.postRender(()=>d(l,ts(l)))}class iA extends ca{mount(){const{current:l}=this.node;if(!l)return;const{globalTapTarget:u,propagate:o}=this.node.props;this.unmount=jS(l,(c,d)=>(Qy(this.node,d,"Start"),(h,{success:p})=>Qy(this.node,h,p?"End":"Cancel")),{useGlobalTarget:u,stopPropagation:o?.tap===!1})}unmount(){}}const Fc=new WeakMap,Cc=new WeakMap,lA=i=>{const l=Fc.get(i.target);l&&l(i)},sA=i=>{i.forEach(lA)};function uA({root:i,...l}){const u=i||document;Cc.has(u)||Cc.set(u,{});const o=Cc.get(u),c=JSON.stringify(l);return o[c]||(o[c]=new IntersectionObserver(sA,{root:i,...l})),o[c]}function oA(i,l,u){const o=uA(l);return Fc.set(i,u),o.observe(i),()=>{Fc.delete(i),o.unobserve(i)}}const rA={some:0,all:1};class cA extends ca{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:l={}}=this.node.getProps(),{root:u,margin:o,amount:c="some",once:d}=l,h={root:u?u.current:void 0,rootMargin:o,threshold:typeof c=="number"?c:rA[c]},p=g=>{const{isIntersecting:m}=g;if(this.isInView===m||(this.isInView=m,d&&!m&&this.hasEnteredView))return;m&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",m);const{onViewportEnter:v,onViewportLeave:x}=this.node.getProps(),T=m?v:x;T&&T(g)};return oA(this.node.current,h,p)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:l,prevProps:u}=this.node;["amount","margin","root"].some(fA(l,u))&&this.startObserver()}unmount(){}}function fA({viewport:i={}},{viewport:l={}}={}){return u=>i[u]!==l[u]}const hA={inView:{Feature:cA},tap:{Feature:iA},focus:{Feature:aA},hover:{Feature:nA}},dA={layout:{ProjectionNode:Ag,MeasureLayout:Ug}},mA={...B2,...hA,...eA,...dA},Zy=z2(mA,R2),pA=[{id:"anthropic",name:"Claude",subtitle:"by Anthropic",icon:"/icons/claude.png"},{id:"openai",name:"OpenAI Codex",subtitle:"ChatGPT Plus / Pro",icon:"/icons/codex.png"}],yA={anthropic:[{id:"claude-opus-4-6",label:"Opus 4.6"},{id:"claude-sonnet-4-6",label:"Sonnet 4.6"},{id:"claude-haiku-4-5-20251001",label:"Haiku 4.5"}],openai:[{id:"gpt-5.2-codex:medium",label:"GPT-5.2 Codex Medium"},{id:"gpt-5.2-codex:high",label:"GPT-5.2 Codex High"},{id:"gpt-5.2-codex:xhigh",label:"GPT-5.2 Codex Extra High"},{id:"gpt-5.3-codex:medium",label:"GPT-5.3 Codex Medium (Pro)"},{id:"gpt-5.3-codex:high",label:"GPT-5.3 Codex High (Pro)"},{id:"gpt-5.3-codex:xhigh",label:"GPT-5.3 Codex Extra High (Pro)"}]},ky=6,Jy=[{tier:"premium",label:i=>`${i}.fluxy.bot`,badge:"$5",badgeCls:"bg-[#AF27E3]/15 text-[#AF27E3] border-[#AF27E3]/20",highlight:!0},{tier:"at",label:i=>`${i}.at.fluxy.bot`,badge:"Free",badgeCls:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",highlight:!1}];function gA({models:i,value:l,onChange:u}){const[o,c]=U.useState(!1),d=U.useRef(null);U.useEffect(()=>{if(!o)return;const p=g=>{d.current&&!d.current.contains(g.target)&&c(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[o]);const h=i.find(p=>p.id===l);return S.jsxs("div",{className:"relative",ref:d,children:[S.jsxs("button",{type:"button",onClick:()=>c(p=>!p),className:"w-full flex items-center justify-between bg-white/[0.03] border border-white/[0.08] text-white rounded-xl px-4 py-2.5 text-[13px] outline-none hover:border-white/15 focus:border-[#AF27E3]/30 transition-colors",children:[S.jsx("span",{className:h?"text-white":"text-white/20",children:h?h.label:"Choose a model..."}),S.jsx(fx,{className:`h-4 w-4 text-white/30 transition-transform ${o?"rotate-180":""}`})]}),o&&S.jsx("div",{className:"absolute left-0 right-0 top-full mt-1 bg-[#222] border border-white/[0.08] rounded-xl shadow-xl py-1 z-10 max-h-48 overflow-y-auto",children:i.map(p=>S.jsx("button",{onClick:()=>{u(p.id),c(!1)},className:`w-full text-left px-4 py-2 text-[13px] transition-colors ${l===p.id?"text-[#AF27E3] bg-[#AF27E3]/10":"text-white/70 hover:bg-white/[0.04] hover:text-white"}`,children:p.label},p.id))})]})}function SA({onComplete:i}){const[l,u]=U.useState(0),[o,c]=U.useState(""),[d,h]=U.useState("anthropic"),[p,g]=U.useState(""),[m,v]=U.useState(!1),[x,T]=U.useState({anthropic:"idle",openai:"idle"}),[N,z]=U.useState(!1),[q,G]=U.useState(""),[Y,Q]=U.useState(!1),[X,Z]=U.useState(),[k,it]=U.useState(!1),[$,J]=U.useState(!1),[st,Tt]=U.useState(),[pt,zt]=U.useState(""),[Zt,Rt]=U.useState(null),[ne,j]=U.useState(""),[H,P]=U.useState({}),[ut,ht]=U.useState("at"),[E,L]=U.useState(!1),[K,F]=U.useState(!1),[lt,rt]=U.useState(""),yt=U.useRef(null),[Vt,Bt]=U.useState(null),[pe,zn]=U.useState(!1),[Ua,Gi]=U.useState(!1),[ye,Ba]=U.useState(""),[Xe,Yu]=U.useState(""),[La,Xi]=U.useState(""),[Ki,Ha]=U.useState(!1),[Rn,qu]=U.useState(!1),[ae,Gu]=U.useState(""),[Qi,fa]=U.useState(""),[fn,es]=U.useState(!1),[Zi,ns]=U.useState(!1),[$e,Vn]=U.useState(!1),[Ht,Ke]=U.useState(""),ie=U.useRef(!1),hn=x[d]==="connected";U.useEffect(()=>{fetch("/api/onboard/status").then(_=>_.json()).then(_=>{_.userName&&c(_.userName),_.handle&&(zt(_.handle.username),ht(_.handle.tier||"at"),Bt({username:_.handle.username,tier:_.handle.tier,url:_.handle.url}),F(!0),rt(_.handle.url)),_.portalUser&&Ba(_.portalUser),_.portalConfigured&&qu(!0),_.provider&&h(_.provider),_.model&&g(_.model),_.whisperEnabled&&(Vn(!0),Ke(_.whisperKey||"")),ie.current=!0}).catch(()=>{ie.current=!0})},[]),U.useEffect(()=>{d!=="anthropic"||x.anthropic==="connected"||fetch("/api/auth/claude/status").then(_=>_.json()).then(_=>{_.authenticated&&T(et=>({...et,anthropic:"connected"}))}).catch(()=>{})},[d]),U.useEffect(()=>{d!=="openai"||x.openai==="connected"||fetch("/api/auth/codex/status").then(_=>_.json()).then(_=>{_.authenticated&&T(et=>({...et,openai:"connected"}))}).catch(()=>{})},[d]),U.useEffect(()=>{if(!$)return;const _=setInterval(async()=>{try{(await(await fetch("/api/auth/codex/status")).json()).authenticated&&(J(!1),T(Ae=>({...Ae,openai:"connected"})))}catch{}},2e3);return()=>clearInterval(_)},[$]),U.useEffect(()=>{if(yt.current&&clearTimeout(yt.current),!ie.current||Vt&&K&&pt===Vt.username)return;Rt(null),j(""),P({}),F(!1),rt("");const _=pt.trim();if(_){if(_.length<3){Rt("invalid"),j("At least 3 characters");return}return Rt("checking"),yt.current=setTimeout(async()=>{try{const Mt=await(await fetch(`/api/handle/check/${encodeURIComponent(_)}`)).json();if(!Mt.valid)Rt("invalid"),j(Mt.error);else{const Ae={};for(const Za of Mt.handles)Ae[Za.tier]=Za.available;P(Ae),Rt("ready");const Qa=Jy.find(Za=>Ae[Za.tier]);Qa&&!Ae[ut]&&ht(Qa.tier)}}catch{Rt(null)}},400),()=>{yt.current&&clearTimeout(yt.current)}}},[pt]);const Xu=_=>{zt(_.toLowerCase().replace(/[^a-z0-9-]/g,""))},Ku=async()=>{if(!(!pt||Zt!=="ready"||!H[ut])){L(!0);try{const et=await(await fetch("/api/handle/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:pt,tier:ut})})).json();et.ok?(F(!0),rt(et.url)):(j(et.error||"Registration failed"),Rt("invalid"))}catch{j("Could not reach server"),Rt("invalid")}finally{L(!1)}}},Ya=async()=>{if(!(!pt||Zt!=="ready"||!H[ut])){Gi(!0);try{const et=await(await fetch("/api/handle/change",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:pt,tier:ut})})).json();et.ok?(F(!0),rt(et.url),Bt({username:pt,tier:ut,url:et.url}),zn(!1)):(j(et.error||"Handle change failed"),Rt("invalid"))}catch{j("Could not reach server"),Rt("invalid")}finally{Gi(!1)}}},qa=_=>{d==="openai"&&_!=="openai"&&$&&(fetch("/api/auth/codex/cancel",{method:"POST"}),J(!1)),h(_),g(""),z(!1),G(""),Z(void 0),J(!1),Tt(void 0)},Ga=async()=>{Z(void 0);try{const et=await(await fetch("/api/auth/claude/start",{method:"POST"})).json();et.success&&et.authUrl?(window.open(et.authUrl,"_blank"),z(!0)):Z(et.error||"Failed to start authentication")}catch(_){Z(_.message)}},Ie=async()=>{if(q.trim()){Q(!0),Z(void 0);try{const et=await(await fetch("/api/auth/claude/exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:q.trim()})})).json();et.success?T(Mt=>({...Mt,anthropic:"connected"})):Z(et.error||"Code exchange failed")}catch(_){Z(_.message)}finally{Q(!1)}}},Xa=async()=>{try{const _=await navigator.clipboard.readText();_&&G(_.trim())}catch{}},ha=async()=>{it(!0),Z(void 0);try{(await(await fetch("/api/auth/claude/status")).json()).authenticated?T(Mt=>({...Mt,anthropic:"connected"})):Z("No active session found. Please authenticate first.")}catch{}finally{it(!1)}},Qu=async()=>{J(!0),Tt(void 0);try{const et=await(await fetch("/api/auth/codex/start",{method:"POST"})).json();et.success&&et.authUrl?window.open(et.authUrl,"_blank"):(J(!1),Tt(et.error||"Failed to start authentication"))}catch(_){J(!1),Tt(_.message)}},as=()=>{J(!1),fetch("/api/auth/codex/cancel",{method:"POST"})},Ka=Xe===La,_n=ye.trim().length>=3&&Xe.length>=6&&Ka,Zu=Rn?ye.trim().length>=3&&(Xe.length===0||fn&&_n):_n,Un=(()=>{switch(l){case 0:return!0;case 1:return o.trim().length>0;case 2:return K;case 3:return Zu;case 4:return!!(d&&p&&hn);case 5:return!0;default:return!1}})(),tn=()=>{Un&&l<ky-1&&u(_=>_+1)},is=()=>{l>0&&u(_=>_-1)},da=_=>{_.key==="Enter"&&Un&&tn()},ki=async()=>{v(!0);try{await fetch("/api/onboard",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userName:o.trim(),agentName:pt.trim()||"Fluxy",provider:d,model:p,apiKey:"",whisperEnabled:$e,whisperKey:$e?Ht:"",portalUser:ye.trim(),portalPass:Xe})}),i()}catch(_){console.error("Onboard failed:",_),v(!1)}},en="w-full bg-white/[0.05] border border-white/[0.08] text-white rounded-xl px-4 py-3 text-base outline-none input-glow placeholder:text-white/20 transition-all";return S.jsxs("div",{className:"fixed inset-0 z-[200] flex items-center justify-center p-4",children:[S.jsx("div",{className:"absolute inset-0 bg-black/85 backdrop-blur-md"}),S.jsxs(Zy.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.3},className:"relative w-full max-w-[480px] bg-[#181818] border border-white/[0.06] rounded-[24px] shadow-2xl overflow-hidden",children:[S.jsx("div",{className:"flex justify-center gap-2 pt-6",children:Array.from({length:ky},(_,et)=>S.jsx("div",{className:`h-1.5 rounded-full transition-all duration-300 ${et===l?"w-7 bg-gradient-brand":et<l?"w-1.5 bg-gradient-brand opacity-60":"w-1.5 bg-white/10"}`},et))}),S.jsx(u2,{mode:"wait",children:S.jsxs(Zy.div,{initial:{opacity:0,x:30},animate:{opacity:1,x:0},exit:{opacity:0,x:-30},transition:{duration:.2,ease:"easeOut"},className:"px-8 pt-6 pb-8",children:[l===0&&S.jsxs("div",{className:"flex flex-col items-center text-center",children:[S.jsx("video",{src:"/fluxy_say_hi.webm",autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:"h-[180px] mb-4"}),S.jsx("h1",{className:"text-2xl font-bold text-white tracking-tight",children:"Welcome to Fluxy"}),S.jsx("p",{className:"text-white/40 text-[14px] mt-2 leading-relaxed max-w-[320px]",children:"Let's set up your AI assistant in just a few steps."}),S.jsxs("button",{onClick:tn,className:"mt-6 px-7 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center gap-2",children:["Get Started",S.jsx(un,{className:"h-4 w-4"})]})]}),l===1&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"What's your name?"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"This is how your agent will address you."}),S.jsxs("div",{className:"mt-5 flex items-center gap-3",children:[S.jsx("input",{type:"text",value:o,onChange:_=>c(_.target.value),onKeyDown:da,placeholder:"Enter your name",autoFocus:!0,className:en+" flex-1"}),S.jsx("button",{onClick:tn,disabled:!Un,className:"shrink-0 h-12 w-12 flex items-center justify-center rounded-full bg-gradient-brand hover:opacity-90 text-white transition-colors disabled:opacity-30",children:S.jsx(un,{className:"h-5 w-5"})})]})]}),l===2&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Name your bot"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"This is your bot's name and permanent handle — access it from anywhere."}),Vt&&K&&!pe&&S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"mt-4 bg-emerald-500/8 border border-emerald-500/15 rounded-xl px-4 py-3",children:[S.jsxs("div",{className:"flex items-center gap-2",children:[S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"}),S.jsx("p",{className:"text-emerald-400/90 text-[13px] font-medium",children:"Current handle"})]}),S.jsx("p",{className:"text-emerald-400/60 text-[12px] mt-1 font-mono",children:lt})]}),S.jsxs("div",{className:"flex gap-2 mt-4",children:[S.jsxs("button",{onClick:tn,className:"flex-1 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]}),S.jsx("button",{onClick:()=>{zn(!0),F(!1),zt(""),Rt(null),P({})},className:"px-5 py-3 bg-white/[0.04] hover:bg-white/[0.08] border border-white/[0.08] text-white/60 text-[13px] font-medium rounded-full transition-colors",children:"Change"})]})]}),pe&&!K&&S.jsxs("div",{className:"mt-4 bg-amber-500/8 border border-amber-500/20 rounded-xl px-4 py-3",children:[S.jsx("p",{className:"text-amber-400/90 text-[13px] font-medium",children:"Changing your handle"}),S.jsxs("p",{className:"text-amber-400/60 text-[12px] mt-1",children:["Your current handle ",S.jsx("span",{className:"font-mono",children:Vt?.url})," will be released and become available for others."]})]}),(!Vt||pe||!K)&&!(Vt&&K&&!pe)&&S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"relative mt-5",children:[S.jsx("input",{type:"text",value:pt,onChange:_=>Xu(_.target.value),maxLength:30,placeholder:"your-bot-name",spellCheck:!1,autoCapitalize:"none",autoCorrect:"off",autoFocus:!0,disabled:K,className:en+" pr-10 font-mono"+(K?" opacity-50":"")}),Zt&&pt.length>0&&!K&&S.jsxs("div",{className:"absolute right-4 top-1/2 -translate-y-1/2",children:[Zt==="checking"&&S.jsx("div",{className:"w-5 h-5 border-2 border-white/10 border-t-[#04D1FE] rounded-full animate-spin"}),Zt==="invalid"&&S.jsx("div",{className:"w-6 h-6 rounded-full bg-amber-500/15 flex items-center justify-center",children:S.jsx("svg",{className:"w-3.5 h-3.5 text-amber-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:S.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 4h.01"})})})]})]}),Zt==="invalid"&&ne&&S.jsx("p",{className:"text-amber-400 text-[12px] mt-2",children:ne}),Zt==="ready"&&pt.length>0&&!K&&S.jsx("div",{className:"space-y-2 mt-4",children:Jy.map(_=>{const Mt=H[_.tier]===!1;return S.jsxs("button",{onClick:()=>!Mt&&ht(_.tier),disabled:Mt,className:`w-full flex items-center justify-between px-4 py-3 rounded-xl border transition-all duration-200 text-left ${Mt?"border-white/[0.04] bg-transparent opacity-50 cursor-not-allowed":ut===_.tier?_.highlight?"border-[#AF27E3]/40 bg-[#AF27E3]/[0.06]":"border-[#AF27E3]/30 bg-white/[0.04]":"border-white/[0.06] bg-transparent hover:border-white/10 hover:bg-white/[0.02]"}`,children:[S.jsx("span",{className:"font-mono text-[13px] text-white/70",children:_.label(pt)}),Mt?S.jsx("span",{className:"text-[11px] font-medium px-2.5 py-0.5 rounded-full border bg-red-500/10 text-red-400 border-red-500/20",children:"Taken"}):S.jsx("span",{className:`text-[11px] font-medium px-2.5 py-0.5 rounded-full border ${_.badgeCls}`,children:_.badge})]},_.tier)})}),K&&S.jsxs("div",{className:"mt-4 bg-emerald-500/8 border border-emerald-500/15 rounded-xl px-4 py-3",children:[S.jsxs("div",{className:"flex items-center gap-2",children:[S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"}),S.jsx("p",{className:"text-emerald-400/90 text-[13px] font-medium",children:"Handle claimed!"})]}),S.jsx("p",{className:"text-emerald-400/60 text-[12px] mt-1 font-mono",children:lt})]}),Zt==="ready"&&H[ut]&&pt.length>0&&!K&&S.jsx("button",{onClick:pe?Ya:Ku,disabled:E||Ua,className:"w-full mt-4 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:E||Ua?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-4 w-4 animate-spin"}),pe?"Changing...":"Claiming..."]}):S.jsxs(S.Fragment,{children:[pe?"Change Handle":"Claim & Continue",S.jsx(un,{className:"h-4 w-4"})]})}),K&&S.jsxs("button",{onClick:tn,className:"w-full mt-4 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]}),pe&&!K&&S.jsx("button",{onClick:()=>{zn(!1),zt(Vt.username),F(!0),rt(Vt.url),ht(Vt.tier),Rt(null)},className:"w-full mt-2 py-2 text-white/25 hover:text-white/40 text-[12px] transition-colors",children:"Cancel — keep current handle"})]})]}),l===3&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Secure your portal"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"Create credentials to protect your dashboard. Anyone with your URL will need these to log in."}),K&<&&S.jsxs("div",{className:"mt-4 flex items-center gap-2 bg-white/[0.03] border border-white/[0.06] rounded-xl px-4 py-3",children:[S.jsx("span",{className:"font-mono text-[13px] text-white/60 truncate flex-1",children:lt}),S.jsx("button",{onClick:()=>{navigator.clipboard.writeText(lt),Ha(!0),setTimeout(()=>Ha(!1),2e3)},className:"shrink-0 text-white/30 hover:text-white/60 transition-colors",children:Ki?S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"}):S.jsxs("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:[S.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),S.jsx("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"})]})})]}),Rn&&S.jsx("div",{className:"mt-4 bg-white/[0.02] border border-white/[0.06] rounded-xl px-4 py-2.5",children:S.jsx("p",{className:"text-white/40 text-[12px]",children:"Credentials already set. Leave password fields empty to keep your current password, or enter your current password to change it."})}),S.jsxs("div",{className:"mt-5",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"Username"}),S.jsx("input",{type:"text",value:ye,onChange:_=>Ba(_.target.value.replace(/\s/g,"").toLowerCase()),placeholder:"admin",autoFocus:!0,autoComplete:"username",className:en+" font-mono"}),ye.length>0&&ye.trim().length<3&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"At least 3 characters"})]}),Rn&&S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"Current password"}),S.jsxs("div",{className:"flex items-center gap-2",children:[S.jsx("input",{type:"password",value:ae,onChange:_=>{Gu(_.target.value),fa(""),es(!1)},placeholder:"Enter current password to change it",autoComplete:"current-password",className:en+" flex-1"}),ae.length>0&&!fn&&S.jsx("button",{onClick:async()=>{ns(!0),fa("");try{(await(await fetch("/api/portal/verify-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:ae})})).json()).valid?es(!0):fa("Incorrect password")}catch{fa("Could not verify")}finally{ns(!1)}},disabled:Zi,className:"shrink-0 px-4 py-3 bg-white/[0.06] hover:bg-white/[0.1] text-white/60 text-[13px] font-medium rounded-xl transition-colors disabled:opacity-40",children:Zi?S.jsx(Ni,{className:"h-4 w-4 animate-spin"}):"Verify"}),fn&&S.jsx("div",{className:"shrink-0 w-10 h-10 flex items-center justify-center",children:S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"})})]}),Qi&&S.jsx("p",{className:"text-red-400/70 text-[11px] mt-1",children:Qi})]}),(!Rn||fn)&&S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:Rn?"New password":"Password"}),S.jsx("input",{type:"password",value:Xe,onChange:_=>Yu(_.target.value),placeholder:"••••••••",autoComplete:"new-password",onKeyDown:da,className:en}),Xe.length>0&&Xe.length<6&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"At least 6 characters"})]}),S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:Rn?"Confirm new password":"Confirm password"}),S.jsx("input",{type:"password",value:La,onChange:_=>Xi(_.target.value),placeholder:"••••••••",autoComplete:"new-password",onKeyDown:da,className:en}),La.length>0&&!Ka&&S.jsx("p",{className:"text-red-400/70 text-[11px] mt-1",children:"Passwords don't match"})]})]}),S.jsxs("button",{onClick:tn,disabled:!Un,className:"w-full mt-5 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]})]}),l===4&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Choose your AI provider"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"Pick one provider to power your bot, authenticate, and select a model."}),S.jsx("div",{className:"flex gap-2.5 mt-4",children:pA.map(_=>S.jsxs("button",{onClick:()=>qa(_.id),className:`flex-1 relative rounded-xl border transition-all duration-200 p-3 text-left ${d===_.id?"bg-white/[0.04] border-[#AF27E3]/40":"bg-transparent border-white/[0.06] hover:border-white/10 hover:bg-white/[0.02]"}`,children:[S.jsxs("div",{className:"flex flex-col items-center gap-1.5 py-0.5",children:[_.icon?S.jsx("img",{src:_.icon,alt:_.name,className:"w-8 h-8 rounded-lg"}):S.jsx("div",{className:"w-8 h-8 rounded-lg bg-white/[0.06] flex items-center justify-center text-white/50 text-sm font-bold",children:"O"}),S.jsxs("div",{className:"text-center",children:[S.jsx("div",{className:"text-[13px] font-medium text-white",children:_.name}),S.jsx("div",{className:"text-[10px] text-white/30",children:_.subtitle})]})]}),x[_.id]==="connected"?S.jsx("div",{className:"absolute top-2 right-2 w-4 h-4 rounded-full bg-emerald-500/15 flex items-center justify-center",children:S.jsx(Hl,{className:"h-2.5 w-2.5 text-emerald-400"})}):d===_.id?S.jsx("div",{className:"absolute top-2 right-2 w-2 h-2 rounded-full bg-gradient-brand"}):null]},_.id))}),S.jsx("div",{className:"border-t border-white/[0.06] mt-4 mb-3"}),d==="anthropic"&&S.jsxs("div",{className:"space-y-2.5",children:[hn&&S.jsx("div",{className:"bg-emerald-500/8 border border-emerald-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-emerald-400/90 text-[12px]",children:"Connected — Anthropic subscription is active."})}),!hn&&S.jsxs(S.Fragment,{children:[X&&S.jsx("div",{className:"bg-red-500/8 border border-red-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-red-400/90 text-[12px]",children:X})}),S.jsx("div",{className:"space-y-1.5",children:["Click the button below to open Anthropic's login page","Sign in with your Anthropic account — a code will be generated","Copy the code and paste it in the field below"].map((_,et)=>S.jsxs("div",{className:"flex items-start gap-2",children:[S.jsx("span",{className:"flex-shrink-0 w-[18px] h-[18px] rounded-full bg-white/[0.06] text-white/30 text-[10px] font-medium flex items-center justify-center mt-px",children:et+1}),S.jsx("p",{className:"text-white/40 text-[12px] leading-relaxed",children:_})]},et))}),S.jsx("button",{onClick:Ga,className:"w-full py-2.5 px-4 bg-gradient-brand hover:opacity-90 text-white text-[13px] font-medium rounded-xl transition-colors flex items-center justify-center gap-2",children:N?S.jsxs(S.Fragment,{children:[S.jsx(px,{className:"h-3.5 w-3.5 opacity-60"}),"Open authentication page again"]}):S.jsxs(S.Fragment,{children:["Authenticate with Anthropic",S.jsx(un,{className:"h-3.5 w-3.5 opacity-60"})]})}),S.jsxs("div",{className:"relative",children:[S.jsx("input",{type:"text",value:q,onChange:_=>G(_.target.value),onKeyDown:_=>_.key==="Enter"&&Ie(),placeholder:"Paste your code here...",className:"w-full bg-white/[0.03] border border-white/[0.08] text-white rounded-xl px-4 py-2.5 text-[13px] outline-none input-glow placeholder:text-white/20 transition-all"+" pr-10 font-mono"}),S.jsx("button",{onClick:Xa,className:"absolute right-3 top-1/2 -translate-y-1/2 text-white/20 hover:text-white/50 transition-colors",children:S.jsx(dx,{className:"h-3.5 w-3.5"})})]}),S.jsx("button",{onClick:Ie,disabled:!q.trim()||Y,className:"w-full py-2.5 px-4 bg-gradient-brand hover:opacity-90 text-white text-[13px] font-medium rounded-xl transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:Y?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-3.5 w-3.5 animate-spin"}),"Verifying..."]}):"Connect"}),S.jsxs("button",{onClick:ha,disabled:k,className:"w-full py-1.5 text-white/25 text-[11px] hover:text-white/40 transition-colors flex items-center justify-center gap-1.5 disabled:opacity-50",children:[k?S.jsx(Ni,{className:"h-3 w-3 animate-spin"}):S.jsx(bx,{className:"h-3 w-3"}),k?"Checking...":"I'm already authenticated"]})]})]}),d==="openai"&&S.jsxs("div",{className:"space-y-2.5",children:[hn&&S.jsx("div",{className:"bg-emerald-500/8 border border-emerald-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-emerald-400/90 text-[12px]",children:"Connected — ChatGPT subscription is active."})}),!hn&&S.jsxs(S.Fragment,{children:[st&&S.jsx("div",{className:"bg-red-500/8 border border-red-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-red-400/90 text-[12px]",children:st})}),S.jsx("div",{className:"space-y-1.5",children:["Click the button below — your browser will open for ChatGPT sign-in","Sign in with your ChatGPT Plus or Pro account","Authentication completes automatically — no code to copy"].map((_,et)=>S.jsxs("div",{className:"flex items-start gap-2",children:[S.jsx("span",{className:"flex-shrink-0 w-[18px] h-[18px] rounded-full bg-white/[0.06] text-white/30 text-[10px] font-medium flex items-center justify-center mt-px",children:et+1}),S.jsx("p",{className:"text-white/40 text-[12px] leading-relaxed",children:_})]},et))}),S.jsx("button",{onClick:Qu,disabled:$,className:"w-full py-2.5 px-4 bg-white/[0.06] hover:bg-white/[0.09] text-white text-[13px] font-medium rounded-xl transition-colors flex items-center justify-center gap-2 disabled:opacity-60",children:$?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-3.5 w-3.5 animate-spin opacity-60"}),"Waiting for sign-in..."]}):S.jsxs(S.Fragment,{children:["Authenticate with ChatGPT",S.jsx(un,{className:"h-3.5 w-3.5 opacity-60"})]})}),$&&S.jsx("button",{onClick:as,className:"w-full py-1.5 text-white/25 text-[11px] hover:text-white/40 transition-colors",children:"Cancel"})]})]}),hn&&S.jsxs(S.Fragment,{children:[S.jsx("div",{className:"border-t border-white/[0.06] mt-4 mb-3"}),S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"Select a model"}),S.jsx(gA,{models:yA[d]||[],value:p,onChange:g})]}),hn&&S.jsxs("button",{onClick:tn,disabled:!Un,className:"w-full mt-4 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]})]}),l===5&&S.jsxs("div",{children:[S.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Voice Messages"}),S.jsx("span",{className:"text-[11px] text-white/25 font-medium bg-white/[0.04] border border-white/[0.06] rounded-full px-2.5 py-0.5",children:"Optional"})]}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1 leading-relaxed",children:"Allow users to send audio messages that are automatically transcribed."}),S.jsx("button",{onClick:()=>Vn(_=>!_),className:`w-full mt-5 rounded-xl border transition-all duration-200 p-4 text-left ${$e?"bg-white/[0.04] border-[#AF27E3]/40":"bg-transparent border-white/[0.06] hover:border-white/10 hover:bg-white/[0.02]"}`,children:S.jsxs("div",{className:"flex items-center gap-3.5",children:[S.jsx("img",{src:"/icons/openai.svg",alt:"OpenAI",className:"w-10 h-10 rounded-xl bg-white/[0.04] p-1.5"}),S.jsxs("div",{className:"flex-1",children:[S.jsx("div",{className:"text-[14px] font-medium text-white",children:"OpenAI Whisper"}),S.jsx("div",{className:"text-[12px] text-white/35 mt-0.5 leading-relaxed",children:"Speech-to-text powered by OpenAI. Requires an OpenAI API key."})]}),S.jsx("div",{className:`w-10 h-[22px] rounded-full transition-colors duration-200 flex items-center px-0.5 shrink-0 ${$e?"bg-gradient-brand":"bg-white/[0.08]"}`,children:S.jsx("div",{className:`w-[18px] h-[18px] rounded-full bg-white shadow-sm transition-transform duration-200 ${$e?"translate-x-[18px]":"translate-x-0"}`})})]})}),$e&&S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"OpenAI API Key"}),S.jsx("input",{type:"password",value:Ht,onChange:_=>Ke(_.target.value.trim()),placeholder:"sk-...",autoComplete:"off",className:en+" font-mono text-[13px]"}),Ht.length>0&&!Ht.startsWith("sk-")&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"Key should start with sk-"}),Ht.length>0&&Ht.startsWith("sk-")&&Ht.length<20&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"Key looks too short"}),S.jsxs("div",{className:"flex items-start gap-2.5 mt-3 bg-white/[0.02] border border-white/[0.06] rounded-xl px-4 py-3",children:[S.jsx(vx,{className:"h-4 w-4 text-[#AF27E3]/60 mt-0.5 shrink-0"}),S.jsx("p",{className:"text-white/35 text-[12px] leading-relaxed",children:"Users will see a microphone button in the chat. Audio is sent to OpenAI's Whisper API for transcription, then processed as a regular text message."})]})]}),S.jsx("button",{onClick:ki,disabled:m||$e&&(!Ht.startsWith("sk-")||Ht.length<20),className:"w-full mt-5 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:m?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-4 w-4 animate-spin"}),"Setting up..."]}):S.jsxs(S.Fragment,{children:["Complete Setup",S.jsx(un,{className:"h-4 w-4"})]})}),!$e&&S.jsx("p",{className:"text-center text-white/20 text-[11px] mt-2.5",children:"You can enable this later in Settings."})]})]},l)}),l>0&&S.jsx("div",{className:"px-8 pb-5 -mt-3",children:S.jsx("button",{onClick:is,className:"text-white/25 hover:text-white/50 text-[12px] transition-colors",children:"← Back"})})]})]})}export{u2 as A,vx as M,SA as O,vA as R,xA as a,ra as c,Fy as g,S as j,Zy as m,U as r};
|
|
17
|
+
`),()=>{k.contains(Z)&&k.removeChild(Z)}},[l]),S.jsx(a2,{isPresent:l,childRef:p,sizeRef:g,pop:d,children:d===!1?i:U.cloneElement(i,{ref:x})})}const l2=({children:i,initial:l,isPresent:u,onExitComplete:o,custom:c,presenceAffectsLayout:d,mode:h,anchorX:p,anchorY:g,root:m})=>{const v=$c(s2),x=U.useId();let T=!0,N=U.useMemo(()=>(T=!1,{id:x,initial:l,isPresent:u,custom:c,onExitComplete:z=>{v.set(z,!0);for(const q of v.values())if(!q)return;o&&o()},register:z=>(v.set(z,!1),()=>v.delete(z))}),[u,v,o]);return d&&T&&(N={...N}),U.useMemo(()=>{v.forEach((z,q)=>v.set(q,!1))},[u]),U.useEffect(()=>{!u&&!v.size&&o&&o()},[u]),i=S.jsx(i2,{pop:h==="popLayout",isPresent:u,anchorX:p,anchorY:g,root:m,children:i}),S.jsx(Uu.Provider,{value:N,children:i})};function s2(){return new Map}function Eg(i=!0){const l=U.useContext(Uu);if(l===null)return[!0,null];const{isPresent:u,onExitComplete:o,register:c}=l,d=U.useId();U.useEffect(()=>{if(i)return c(d)},[i]);const h=U.useCallback(()=>i&&o&&o(d),[d,o,i]);return!u&&o?[!1,h]:[!0]}const xu=i=>i.key||"";function zy(i){const l=[];return U.Children.forEach(i,u=>{U.isValidElement(u)&&l.push(u)}),l}const u2=({children:i,custom:l,initial:u=!0,onExitComplete:o,presenceAffectsLayout:c=!0,mode:d="sync",propagate:h=!1,anchorX:p="left",anchorY:g="top",root:m})=>{const[v,x]=Eg(h),T=U.useMemo(()=>zy(i),[i]),N=h&&!v?[]:T.map(xu),z=U.useRef(!0),q=U.useRef(T),G=$c(()=>new Map),Y=U.useRef(new Set),[Q,X]=U.useState(T),[Z,k]=U.useState(T);$y(()=>{z.current=!1,q.current=T;for(let J=0;J<Z.length;J++){const st=xu(Z[J]);N.includes(st)?(G.delete(st),Y.current.delete(st)):G.get(st)!==!0&&G.set(st,!1)}},[Z,N.length,N.join("-")]);const it=[];if(T!==Q){let J=[...T];for(let st=0;st<Z.length;st++){const Tt=Z[st],pt=xu(Tt);N.includes(pt)||(J.splice(st,0,Tt),it.push(Tt))}return d==="wait"&&it.length&&(J=it),k(zy(J)),X(T),null}const{forceRender:$}=U.useContext(Wc);return S.jsx(S.Fragment,{children:Z.map(J=>{const st=xu(J),Tt=h&&!v?!1:T===Z||N.includes(st),pt=()=>{if(Y.current.has(st))return;if(Y.current.add(st),G.has(st))G.set(st,!0);else return;let zt=!0;G.forEach(Zt=>{Zt||(zt=!1)}),zt&&($?.(),k(q.current),h&&x?.(),o&&o())};return S.jsx(l2,{isPresent:Tt,initial:!z.current||u?void 0:!1,custom:l,presenceAffectsLayout:c,mode:d,root:m,onExitComplete:Tt?void 0:pt,anchorX:p,anchorY:g,children:J},st)})})},Cg=U.createContext({strict:!1}),Ry={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let Vy=!1;function o2(){if(Vy)return;const i={};for(const l in Ry)i[l]={isEnabled:u=>Ry[l].some(o=>!!u[o])};tg(i),Vy=!0}function Mg(){return o2(),kS()}function r2(i){const l=Mg();for(const u in i)l[u]={...l[u],...i[u]};tg(l)}const c2=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function _u(i){return i.startsWith("while")||i.startsWith("drag")&&i!=="draggable"||i.startsWith("layout")||i.startsWith("onTap")||i.startsWith("onPan")||i.startsWith("onLayout")||c2.has(i)}let Dg=i=>!_u(i);function f2(i){typeof i=="function"&&(Dg=l=>l.startsWith("on")?!_u(l):i(l))}try{f2(require("@emotion/is-prop-valid").default)}catch{}function h2(i,l,u){const o={};for(const c in i)c==="values"&&typeof i.values=="object"||(Dg(c)||u===!0&&_u(c)||!l&&!_u(c)||i.draggable&&c.startsWith("onDrag"))&&(o[c]=i[c]);return o}const Hu=U.createContext({});function d2(i,l){if(Lu(i)){const{initial:u,animate:o}=i;return{initial:u===!1||Fl(u)?u:void 0,animate:Fl(o)?o:void 0}}return i.inherit!==!1?l:{}}function m2(i){const{initial:l,animate:u}=d2(i,U.useContext(Hu));return U.useMemo(()=>({initial:l,animate:u}),[_y(l),_y(u)])}function _y(i){return Array.isArray(i)?i.join(" "):i}const Df=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function wg(i,l,u){for(const o in l)!fe(l[o])&&!ug(o,u)&&(i[o]=l[o])}function p2({transformTemplate:i},l){return U.useMemo(()=>{const u=Df();return Ef(u,l,i),Object.assign({},u.vars,u.style)},[l])}function y2(i,l){const u=i.style||{},o={};return wg(o,u,i),Object.assign(o,p2(i,l)),o}function g2(i,l){const u={},o=y2(i,l);return i.drag&&i.dragListener!==!1&&(u.draggable=!1,o.userSelect=o.WebkitUserSelect=o.WebkitTouchCallout="none",o.touchAction=i.drag===!0?"none":`pan-${i.drag==="x"?"y":"x"}`),i.tabIndex===void 0&&(i.onTap||i.onTapStart||i.whileTap)&&(u.tabIndex=0),u.style=o,u}const Og=()=>({...Df(),attrs:{}});function v2(i,l,u,o){const c=U.useMemo(()=>{const d=Og();return og(d,l,cg(o),i.transformTemplate,i.style),{...d.attrs,style:{...d.style}}},[l]);if(i.style){const d={};wg(d,i.style,i),c.style={...d,...c.style}}return c}const x2=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function wf(i){return typeof i!="string"||i.includes("-")?!1:!!(x2.indexOf(i)>-1||/[A-Z]/u.test(i))}function b2(i,l,u,{latestValues:o},c,d=!1,h){const g=(h??wf(i)?v2:g2)(l,o,c,i),m=h2(l,typeof i=="string",d),v=i!==U.Fragment?{...m,...g,ref:u}:{},{children:x}=l,T=U.useMemo(()=>fe(x)?x.get():x,[x]);return U.createElement(i,{...v,children:T})}function S2({scrapeMotionValuesFromProps:i,createRenderState:l},u,o,c){return{latestValues:T2(u,o,c,i),renderState:l()}}function T2(i,l,u,o){const c={},d=o(i,{});for(const T in d)c[T]=Mu(d[T]);let{initial:h,animate:p}=i;const g=Lu(i),m=$0(i);l&&m&&!g&&i.inherit!==!1&&(h===void 0&&(h=l.initial),p===void 0&&(p=l.animate));let v=u?u.initial===!1:!1;v=v||h===!1;const x=v?p:h;if(x&&typeof x!="boolean"&&!Bu(x)){const T=Array.isArray(x)?x:[x];for(let N=0;N<T.length;N++){const z=yf(i,T[N]);if(z){const{transitionEnd:q,transition:G,...Y}=z;for(const Q in Y){let X=Y[Q];if(Array.isArray(X)){const Z=v?X.length-1:0;X=X[Z]}X!==null&&(c[Q]=X)}for(const Q in q)c[Q]=q[Q]}}}return c}const Ng=i=>(l,u)=>{const o=U.useContext(Hu),c=U.useContext(Uu),d=()=>S2(i,l,o,c);return u?d():$c(d)},A2=Ng({scrapeMotionValuesFromProps:Cf,createRenderState:Df}),E2=Ng({scrapeMotionValuesFromProps:fg,createRenderState:Og}),C2=Symbol.for("motionComponentSymbol");function M2(i,l,u){const o=U.useRef(u);U.useInsertionEffect(()=>{o.current=u});const c=U.useRef(null);return U.useCallback(d=>{d&&i.onMount?.(d),l&&(d?l.mount(d):l.unmount());const h=o.current;if(typeof h=="function")if(d){const p=h(d);typeof p=="function"&&(c.current=p)}else c.current?(c.current(),c.current=null):h(d);else h&&(h.current=d)},[l])}const jg=U.createContext({});function ji(i){return i&&typeof i=="object"&&Object.prototype.hasOwnProperty.call(i,"current")}function D2(i,l,u,o,c,d){const{visualElement:h}=U.useContext(Hu),p=U.useContext(Cg),g=U.useContext(Uu),m=U.useContext(Mf),v=m.reducedMotion,x=m.skipAnimations,T=U.useRef(null),N=U.useRef(!1);o=o||p.renderer,!T.current&&o&&(T.current=o(i,{visualState:l,parent:h,props:u,presenceContext:g,blockInitialAnimation:g?g.initial===!1:!1,reducedMotionConfig:v,skipAnimations:x,isSVG:d}),N.current&&T.current&&(T.current.manuallyAnimateOnMount=!0));const z=T.current,q=U.useContext(jg);z&&!z.projection&&c&&(z.type==="html"||z.type==="svg")&&w2(T.current,u,c,q);const G=U.useRef(!1);U.useInsertionEffect(()=>{z&&G.current&&z.update(u,g)});const Y=u[H0],Q=U.useRef(!!Y&&!window.MotionHandoffIsComplete?.(Y)&&window.MotionHasOptimisedAnimation?.(Y));return $y(()=>{N.current=!0,z&&(G.current=!0,window.MotionIsMounted=!0,z.updateFeatures(),z.scheduleRenderMicrotask(),Q.current&&z.animationState&&z.animationState.animateChanges())}),U.useEffect(()=>{z&&(!Q.current&&z.animationState&&z.animationState.animateChanges(),Q.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(Y)}),Q.current=!1),z.enteringChildren=void 0)}),z}function w2(i,l,u,o){const{layoutId:c,layout:d,drag:h,dragConstraints:p,layoutScroll:g,layoutRoot:m,layoutCrossfade:v}=l;i.projection=new u(i.latestValues,l["data-framer-portal-id"]?void 0:zg(i.parent)),i.projection.setOptions({layoutId:c,layout:d,alwaysMeasureLayout:!!h||p&&ji(p),visualElement:i,animationType:typeof d=="string"?d:"both",initialPromotionConfig:o,crossfade:v,layoutScroll:g,layoutRoot:m})}function zg(i){if(i)return i.options.allowProjection!==!1?i.projection:zg(i.parent)}function bc(i,{forwardMotionProps:l=!1,type:u}={},o,c){o&&r2(o);const d=u?u==="svg":wf(i),h=d?E2:A2;function p(m,v){let x;const T={...U.useContext(Mf),...m,layoutId:O2(m)},{isStatic:N}=T,z=m2(m),q=h(m,N);if(!N&&Wy){N2();const G=j2(T);x=G.MeasureLayout,z.visualElement=D2(i,q,T,c,G.ProjectionNode,d)}return S.jsxs(Hu.Provider,{value:z,children:[x&&z.visualElement?S.jsx(x,{visualElement:z.visualElement,...T}):null,b2(i,m,M2(q,z.visualElement,v),q,N,l,d)]})}p.displayName=`motion.${typeof i=="string"?i:`create(${i.displayName??i.name??""})`}`;const g=U.forwardRef(p);return g[C2]=i,g}function O2({layoutId:i}){const l=U.useContext(Wc).id;return l&&i!==void 0?l+"-"+i:i}function N2(i,l){U.useContext(Cg).strict}function j2(i){const l=Mg(),{drag:u,layout:o}=l;if(!u&&!o)return{};const c={...u,...o};return{MeasureLayout:u?.isEnabled(i)||o?.isEnabled(i)?c.MeasureLayout:void 0,ProjectionNode:c.ProjectionNode}}function z2(i,l){if(typeof Proxy>"u")return bc;const u=new Map,o=(d,h)=>bc(d,h,i,l),c=(d,h)=>o(d,h);return new Proxy(c,{get:(d,h)=>h==="create"?o:(u.has(h)||u.set(h,bc(h,void 0,i,l)),u.get(h))})}const R2=(i,l)=>l.isSVG??wf(i)?new cT(l):new iT(l,{allowProjection:i!==U.Fragment});class V2 extends ca{constructor(l){super(l),l.animationState||(l.animationState=pT(l))}updateAnimationControlsSubscription(){const{animate:l}=this.node.getProps();Bu(l)&&(this.unmountControls=l.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:l}=this.node.getProps(),{animate:u}=this.node.prevProps||{};l!==u&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let _2=0;class U2 extends ca{constructor(){super(...arguments),this.id=_2++}update(){if(!this.node.presenceContext)return;const{isPresent:l,onExitComplete:u}=this.node.presenceContext,{isPresent:o}=this.node.prevPresenceContext||{};if(!this.node.animationState||l===o)return;const c=this.node.animationState.setActive("exit",!l);u&&!l&&c.then(()=>{u(this.id)})}mount(){const{register:l,onExitComplete:u}=this.node.presenceContext||{};u&&u(this.id),l&&(this.unmount=l(this.id))}unmount(){}}const B2={animation:{Feature:V2},exit:{Feature:U2}};function ts(i){return{point:{x:i.pageX,y:i.pageY}}}const L2=i=>l=>bf(l)&&i(l,ts(l));function Ql(i,l,u,o){return Pl(i,l,L2(u),o)}const Rg=({current:i})=>i?i.ownerDocument.defaultView:null,Uy=(i,l)=>Math.abs(i-l);function H2(i,l){const u=Uy(i.x,l.x),o=Uy(i.y,l.y);return Math.sqrt(u**2+o**2)}const By=new Set(["auto","scroll"]);class Vg{constructor(l,u,{transformPagePoint:o,contextWindow:c=window,dragSnapToOrigin:d=!1,distanceThreshold:h=3,element:p}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=N=>{this.handleScroll(N.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const N=Tc(this.lastMoveEventInfo,this.history),z=this.startEvent!==null,q=H2(N.offset,{x:0,y:0})>=this.distanceThreshold;if(!z&&!q)return;const{point:G}=N,{timestamp:Y}=re;this.history.push({...G,timestamp:Y});const{onStart:Q,onMove:X}=this.handlers;z||(Q&&Q(this.lastMoveEvent,N),this.startEvent=this.lastMoveEvent),X&&X(this.lastMoveEvent,N)},this.handlePointerMove=(N,z)=>{this.lastMoveEvent=N,this.lastMoveEventInfo=Sc(z,this.transformPagePoint),jt.update(this.updatePoint,!0)},this.handlePointerUp=(N,z)=>{this.end();const{onEnd:q,onSessionEnd:G,resumeAnimation:Y}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&Y&&Y(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const Q=Tc(N.type==="pointercancel"?this.lastMoveEventInfo:Sc(z,this.transformPagePoint),this.history);this.startEvent&&q&&q(N,Q),G&&G(N,Q)},!bf(l))return;this.dragSnapToOrigin=d,this.handlers=u,this.transformPagePoint=o,this.distanceThreshold=h,this.contextWindow=c||window;const g=ts(l),m=Sc(g,this.transformPagePoint),{point:v}=m,{timestamp:x}=re;this.history=[{...v,timestamp:x}];const{onSessionStart:T}=u;T&&T(l,Tc(m,this.history)),this.removeListeners=Wl(Ql(this.contextWindow,"pointermove",this.handlePointerMove),Ql(this.contextWindow,"pointerup",this.handlePointerUp),Ql(this.contextWindow,"pointercancel",this.handlePointerUp)),p&&this.startScrollTracking(p)}startScrollTracking(l){let u=l.parentElement;for(;u;){const o=getComputedStyle(u);(By.has(o.overflowX)||By.has(o.overflowY))&&this.scrollPositions.set(u,{x:u.scrollLeft,y:u.scrollTop}),u=u.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(l){const u=this.scrollPositions.get(l);if(!u)return;const o=l===window,c=o?{x:window.scrollX,y:window.scrollY}:{x:l.scrollLeft,y:l.scrollTop},d={x:c.x-u.x,y:c.y-u.y};d.x===0&&d.y===0||(o?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=d.x,this.lastMoveEventInfo.point.y+=d.y):this.history.length>0&&(this.history[0].x-=d.x,this.history[0].y-=d.y),this.scrollPositions.set(l,c),jt.update(this.updatePoint,!0))}updateHandlers(l){this.handlers=l}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),oa(this.updatePoint)}}function Sc(i,l){return l?{point:l(i.point)}:i}function Ly(i,l){return{x:i.x-l.x,y:i.y-l.y}}function Tc({point:i},l){return{point:i,delta:Ly(i,_g(l)),offset:Ly(i,Y2(l)),velocity:q2(l,.1)}}function Y2(i){return i[0]}function _g(i){return i[i.length-1]}function q2(i,l){if(i.length<2)return{x:0,y:0};let u=i.length-1,o=null;const c=_g(i);for(;u>=0&&(o=i[u],!(c.timestamp-o.timestamp>Pe(l)));)u--;if(!o)return{x:0,y:0};o===i[0]&&i.length>2&&c.timestamp-o.timestamp>Pe(l)*2&&(o=i[1]);const d=qe(c.timestamp-o.timestamp);if(d===0)return{x:0,y:0};const h={x:(c.x-o.x)/d,y:(c.y-o.y)/d};return h.x===1/0&&(h.x=0),h.y===1/0&&(h.y=0),h}function G2(i,{min:l,max:u},o){return l!==void 0&&i<l?i=o?Yt(l,i,o.min):Math.max(i,l):u!==void 0&&i>u&&(i=o?Yt(u,i,o.max):Math.min(i,u)),i}function Hy(i,l,u){return{min:l!==void 0?i.min+l:void 0,max:u!==void 0?i.max+u-(i.max-i.min):void 0}}function X2(i,{top:l,left:u,bottom:o,right:c}){return{x:Hy(i.x,u,c),y:Hy(i.y,l,o)}}function Yy(i,l){let u=l.min-i.min,o=l.max-i.max;return l.max-l.min<i.max-i.min&&([u,o]=[o,u]),{min:u,max:o}}function K2(i,l){return{x:Yy(i.x,l.x),y:Yy(i.y,l.y)}}function Q2(i,l){let u=.5;const o=me(i),c=me(l);return c>o?u=Zl(l.min,l.max-o,i.min):o>c&&(u=Zl(i.min,i.max-c,l.min)),cn(0,1,u)}function Z2(i,l){const u={};return l.min!==void 0&&(u.min=l.min-i.min),l.max!==void 0&&(u.max=l.max-i.min),u}const Jc=.35;function k2(i=Jc){return i===!1?i=0:i===!0&&(i=Jc),{x:qy(i,"left","right"),y:qy(i,"top","bottom")}}function qy(i,l,u){return{min:Gy(i,l),max:Gy(i,u)}}function Gy(i,l){return typeof i=="number"?i:i[l]||0}const J2=new WeakMap;class F2{constructor(l){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=It(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=l}start(l,{snapToCursor:u=!1,distanceThreshold:o}={}){const{presenceContext:c}=this.visualElement;if(c&&c.isPresent===!1)return;const d=x=>{u&&this.snapToCursor(ts(x).point),this.stopAnimation()},h=(x,T)=>{const{drag:N,dragPropagation:z,onDragStart:q}=this.getProps();if(N&&!z&&(this.openDragLock&&this.openDragLock(),this.openDragLock=AS(N),!this.openDragLock))return;this.latestPointerEvent=x,this.latestPanInfo=T,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),on(Y=>{let Q=this.getAxisMotionValue(Y).get()||0;if(rn.test(Q)){const{projection:X}=this.visualElement;if(X&&X.layout){const Z=X.layout.layoutBox[Y];Z&&(Q=me(Z)*(parseFloat(Q)/100))}}this.originPoint[Y]=Q}),q&&jt.update(()=>q(x,T),!1,!0),Hc(this.visualElement,"transform");const{animationState:G}=this.visualElement;G&&G.setActive("whileDrag",!0)},p=(x,T)=>{this.latestPointerEvent=x,this.latestPanInfo=T;const{dragPropagation:N,dragDirectionLock:z,onDirectionLock:q,onDrag:G}=this.getProps();if(!N&&!this.openDragLock)return;const{offset:Y}=T;if(z&&this.currentDirection===null){this.currentDirection=W2(Y),this.currentDirection!==null&&q&&q(this.currentDirection);return}this.updateAxis("x",T.point,Y),this.updateAxis("y",T.point,Y),this.visualElement.render(),G&&jt.update(()=>G(x,T),!1,!0)},g=(x,T)=>{this.latestPointerEvent=x,this.latestPanInfo=T,this.stop(x,T),this.latestPointerEvent=null,this.latestPanInfo=null},m=()=>{const{dragSnapToOrigin:x}=this.getProps();(x||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:v}=this.getProps();this.panSession=new Vg(l,{onSessionStart:d,onStart:h,onMove:p,onSessionEnd:g,resumeAnimation:m},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:v,distanceThreshold:o,contextWindow:Rg(this.visualElement),element:this.visualElement.current})}stop(l,u){const o=l||this.latestPointerEvent,c=u||this.latestPanInfo,d=this.isDragging;if(this.cancel(),!d||!c||!o)return;const{velocity:h}=c;this.startAnimation(h);const{onDragEnd:p}=this.getProps();p&&jt.postRender(()=>p(o,c))}cancel(){this.isDragging=!1;const{projection:l,animationState:u}=this.visualElement;l&&(l.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:o}=this.getProps();!o&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),u&&u.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(l,u,o){const{drag:c}=this.getProps();if(!o||!bu(l,c,this.currentDirection))return;const d=this.getAxisMotionValue(l);let h=this.originPoint[l]+o[l];this.constraints&&this.constraints[l]&&(h=G2(h,this.constraints[l],this.elastic[l])),d.set(h)}resolveConstraints(){const{dragConstraints:l,dragElastic:u}=this.getProps(),o=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,c=this.constraints;l&&ji(l)?this.constraints||(this.constraints=this.resolveRefConstraints()):l&&o?this.constraints=X2(o.layoutBox,l):this.constraints=!1,this.elastic=k2(u),c!==this.constraints&&!ji(l)&&o&&this.constraints&&!this.hasMutatedConstraints&&on(d=>{this.constraints!==!1&&this.getAxisMotionValue(d)&&(this.constraints[d]=Z2(o.layoutBox[d],this.constraints[d]))})}resolveRefConstraints(){const{dragConstraints:l,onMeasureDragConstraints:u}=this.getProps();if(!l||!ji(l))return!1;const o=l.current,{projection:c}=this.visualElement;if(!c||!c.layout)return!1;const d=$S(o,c.root,this.visualElement.getTransformPagePoint());let h=K2(c.layout.layoutBox,d);if(u){const p=u(FS(h));this.hasMutatedConstraints=!!p,p&&(h=ng(p))}return h}startAnimation(l){const{drag:u,dragMomentum:o,dragElastic:c,dragTransition:d,dragSnapToOrigin:h,onDragTransitionEnd:p}=this.getProps(),g=this.constraints||{},m=on(v=>{if(!bu(v,u,this.currentDirection))return;let x=g&&g[v]||{};h&&(x={min:0,max:0});const T=c?200:1e6,N=c?40:1e7,z={type:"inertia",velocity:o?l[v]:0,bounceStiffness:T,bounceDamping:N,timeConstant:750,restDelta:1,restSpeed:10,...d,...x};return this.startAxisValueAnimation(v,z)});return Promise.all(m).then(p)}startAxisValueAnimation(l,u){const o=this.getAxisMotionValue(l);return Hc(this.visualElement,l),o.start(pf(l,o,0,u,this.visualElement,!1))}stopAnimation(){on(l=>this.getAxisMotionValue(l).stop())}getAxisMotionValue(l){const u=`_drag${l.toUpperCase()}`,o=this.visualElement.getProps(),c=o[u];return c||this.visualElement.getValue(l,(o.initial?o.initial[l]:void 0)||0)}snapToCursor(l){on(u=>{const{drag:o}=this.getProps();if(!bu(u,o,this.currentDirection))return;const{projection:c}=this.visualElement,d=this.getAxisMotionValue(u);if(c&&c.layout){const{min:h,max:p}=c.layout.layoutBox[u],g=d.get()||0;d.set(l[u]-Yt(h,p,.5)+g)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:l,dragConstraints:u}=this.getProps(),{projection:o}=this.visualElement;if(!ji(u)||!o||!this.constraints)return;this.stopAnimation();const c={x:0,y:0};on(h=>{const p=this.getAxisMotionValue(h);if(p&&this.constraints!==!1){const g=p.get();c[h]=Q2({min:g,max:g},this.constraints[h])}});const{transformTemplate:d}=this.visualElement.getProps();this.visualElement.current.style.transform=d?d({},""):"none",o.root&&o.root.updateScroll(),o.updateLayout(),this.constraints=!1,this.resolveConstraints(),on(h=>{if(!bu(h,l,null))return;const p=this.getAxisMotionValue(h),{min:g,max:m}=this.constraints[h];p.set(Yt(g,m,c[h]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;J2.set(this.visualElement,this);const l=this.visualElement.current,u=Ql(l,"pointerdown",m=>{const{drag:v,dragListener:x=!0}=this.getProps(),T=m.target,N=T!==l&&OS(T);v&&x&&!N&&this.start(m)});let o;const c=()=>{const{dragConstraints:m}=this.getProps();ji(m)&&m.current&&(this.constraints=this.resolveRefConstraints(),o||(o=P2(l,m.current,()=>this.scalePositionWithinConstraints())))},{projection:d}=this.visualElement,h=d.addEventListener("measure",c);d&&!d.layout&&(d.root&&d.root.updateScroll(),d.updateLayout()),jt.read(c);const p=Pl(window,"resize",()=>this.scalePositionWithinConstraints()),g=d.addEventListener("didUpdate",(({delta:m,hasLayoutChanged:v})=>{this.isDragging&&v&&(on(x=>{const T=this.getAxisMotionValue(x);T&&(this.originPoint[x]+=m[x].translate,T.set(T.get()+m[x].translate))}),this.visualElement.render())}));return()=>{p(),u(),h(),g&&g(),o&&o()}}getProps(){const l=this.visualElement.getProps(),{drag:u=!1,dragDirectionLock:o=!1,dragPropagation:c=!1,dragConstraints:d=!1,dragElastic:h=Jc,dragMomentum:p=!0}=l;return{...l,drag:u,dragDirectionLock:o,dragPropagation:c,dragConstraints:d,dragElastic:h,dragMomentum:p}}}function Xy(i){let l=!0;return()=>{if(l){l=!1;return}i()}}function P2(i,l,u){const o=Pp(i,Xy(u)),c=Pp(l,Xy(u));return()=>{o(),c()}}function bu(i,l,u){return(l===!0||l===i)&&(u===null||u===i)}function W2(i,l=10){let u=null;return Math.abs(i.y)>l?u="y":Math.abs(i.x)>l&&(u="x"),u}class $2 extends ca{constructor(l){super(l),this.removeGroupControls=Ge,this.removeListeners=Ge,this.controls=new F2(l)}mount(){const{dragControls:l}=this.node.getProps();l&&(this.removeGroupControls=l.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Ge}update(){const{dragControls:l}=this.node.getProps(),{dragControls:u}=this.node.prevProps||{};l!==u&&(this.removeGroupControls(),l&&(this.removeGroupControls=l.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const Ac=i=>(l,u)=>{i&&jt.update(()=>i(l,u),!1,!0)};class I2 extends ca{constructor(){super(...arguments),this.removePointerDownListener=Ge}onPointerDown(l){this.session=new Vg(l,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Rg(this.node)})}createPanHandlers(){const{onPanSessionStart:l,onPanStart:u,onPan:o,onPanEnd:c}=this.node.getProps();return{onSessionStart:Ac(l),onStart:Ac(u),onMove:Ac(o),onEnd:(d,h)=>{delete this.session,c&&jt.postRender(()=>c(d,h))}}}mount(){this.removePointerDownListener=Ql(this.node.current,"pointerdown",l=>this.onPointerDown(l))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Ec=!1;class tA extends U.Component{componentDidMount(){const{visualElement:l,layoutGroup:u,switchLayoutGroup:o,layoutId:c}=this.props,{projection:d}=l;d&&(u.group&&u.group.add(d),o&&o.register&&c&&o.register(d),Ec&&d.root.didUpdate(),d.addEventListener("animationComplete",()=>{this.safeToRemove()}),d.setOptions({...d.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Du.hasEverUpdated=!0}getSnapshotBeforeUpdate(l){const{layoutDependency:u,visualElement:o,drag:c,isPresent:d}=this.props,{projection:h}=o;return h&&(h.isPresent=d,l.layoutDependency!==u&&h.setOptions({...h.options,layoutDependency:u}),Ec=!0,c||l.layoutDependency!==u||u===void 0||l.isPresent!==d?h.willUpdate():this.safeToRemove(),l.isPresent!==d&&(d?h.promote():h.relegate()||jt.postRender(()=>{const p=h.getStack();(!p||!p.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:l}=this.props.visualElement;l&&(l.root.didUpdate(),xf.postRender(()=>{!l.currentAnimation&&l.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:l,layoutGroup:u,switchLayoutGroup:o}=this.props,{projection:c}=l;Ec=!0,c&&(c.scheduleCheckAfterUnmount(),u&&u.group&&u.group.remove(c),o&&o.deregister&&o.deregister(c))}safeToRemove(){const{safeToRemove:l}=this.props;l&&l()}render(){return null}}function Ug(i){const[l,u]=Eg(),o=U.useContext(Wc);return S.jsx(tA,{...i,layoutGroup:o,switchLayoutGroup:U.useContext(jg),isPresent:l,safeToRemove:u})}const eA={pan:{Feature:I2},drag:{Feature:$2,ProjectionNode:Ag,MeasureLayout:Ug}};function Ky(i,l,u){const{props:o}=i;i.animationState&&o.whileHover&&i.animationState.setActive("whileHover",u==="Start");const c="onHover"+u,d=o[c];d&&jt.postRender(()=>d(l,ts(l)))}class nA extends ca{mount(){const{current:l}=this.node;l&&(this.unmount=CS(l,(u,o)=>(Ky(this.node,o,"Start"),c=>Ky(this.node,c,"End"))))}unmount(){}}class aA extends ca{constructor(){super(...arguments),this.isActive=!1}onFocus(){let l=!1;try{l=this.node.current.matches(":focus-visible")}catch{l=!0}!l||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Wl(Pl(this.node.current,"focus",()=>this.onFocus()),Pl(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Qy(i,l,u){const{props:o}=i;if(i.current instanceof HTMLButtonElement&&i.current.disabled)return;i.animationState&&o.whileTap&&i.animationState.setActive("whileTap",u==="Start");const c="onTap"+(u==="End"?"":u),d=o[c];d&&jt.postRender(()=>d(l,ts(l)))}class iA extends ca{mount(){const{current:l}=this.node;if(!l)return;const{globalTapTarget:u,propagate:o}=this.node.props;this.unmount=jS(l,(c,d)=>(Qy(this.node,d,"Start"),(h,{success:p})=>Qy(this.node,h,p?"End":"Cancel")),{useGlobalTarget:u,stopPropagation:o?.tap===!1})}unmount(){}}const Fc=new WeakMap,Cc=new WeakMap,lA=i=>{const l=Fc.get(i.target);l&&l(i)},sA=i=>{i.forEach(lA)};function uA({root:i,...l}){const u=i||document;Cc.has(u)||Cc.set(u,{});const o=Cc.get(u),c=JSON.stringify(l);return o[c]||(o[c]=new IntersectionObserver(sA,{root:i,...l})),o[c]}function oA(i,l,u){const o=uA(l);return Fc.set(i,u),o.observe(i),()=>{Fc.delete(i),o.unobserve(i)}}const rA={some:0,all:1};class cA extends ca{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:l={}}=this.node.getProps(),{root:u,margin:o,amount:c="some",once:d}=l,h={root:u?u.current:void 0,rootMargin:o,threshold:typeof c=="number"?c:rA[c]},p=g=>{const{isIntersecting:m}=g;if(this.isInView===m||(this.isInView=m,d&&!m&&this.hasEnteredView))return;m&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",m);const{onViewportEnter:v,onViewportLeave:x}=this.node.getProps(),T=m?v:x;T&&T(g)};return oA(this.node.current,h,p)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:l,prevProps:u}=this.node;["amount","margin","root"].some(fA(l,u))&&this.startObserver()}unmount(){}}function fA({viewport:i={}},{viewport:l={}}={}){return u=>i[u]!==l[u]}const hA={inView:{Feature:cA},tap:{Feature:iA},focus:{Feature:aA},hover:{Feature:nA}},dA={layout:{ProjectionNode:Ag,MeasureLayout:Ug}},mA={...B2,...hA,...eA,...dA},Zy=z2(mA,R2),pA=[{id:"anthropic",name:"Claude",subtitle:"by Anthropic",icon:"/icons/claude.png"},{id:"openai",name:"OpenAI Codex",subtitle:"ChatGPT Plus / Pro",icon:"/icons/codex.png"}],yA={anthropic:[{id:"claude-opus-4-6",label:"Opus 4.6"},{id:"claude-sonnet-4-6",label:"Sonnet 4.6"},{id:"claude-haiku-4-5-20251001",label:"Haiku 4.5"}],openai:[{id:"gpt-5.2-codex:medium",label:"GPT-5.2 Codex Medium"},{id:"gpt-5.2-codex:high",label:"GPT-5.2 Codex High"},{id:"gpt-5.2-codex:xhigh",label:"GPT-5.2 Codex Extra High"},{id:"gpt-5.3-codex:medium",label:"GPT-5.3 Codex Medium (Pro)"},{id:"gpt-5.3-codex:high",label:"GPT-5.3 Codex High (Pro)"},{id:"gpt-5.3-codex:xhigh",label:"GPT-5.3 Codex Extra High (Pro)"}]},ky=6,Jy=[{tier:"premium",label:i=>`${i}.fluxy.bot`,badge:"$5",badgeCls:"bg-[#AF27E3]/15 text-[#AF27E3] border-[#AF27E3]/20",highlight:!0},{tier:"at",label:i=>`${i}.at.fluxy.bot`,badge:"Free",badgeCls:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",highlight:!1}];function gA({models:i,value:l,onChange:u}){const[o,c]=U.useState(!1),d=U.useRef(null);U.useEffect(()=>{if(!o)return;const p=g=>{d.current&&!d.current.contains(g.target)&&c(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[o]);const h=i.find(p=>p.id===l);return S.jsxs("div",{className:"relative",ref:d,children:[S.jsxs("button",{type:"button",onClick:()=>c(p=>!p),className:"w-full flex items-center justify-between bg-white/[0.03] border border-white/[0.08] text-white rounded-xl px-4 py-2.5 text-[13px] outline-none hover:border-white/15 focus:border-[#AF27E3]/30 transition-colors",children:[S.jsx("span",{className:h?"text-white":"text-white/20",children:h?h.label:"Choose a model..."}),S.jsx(fx,{className:`h-4 w-4 text-white/30 transition-transform ${o?"rotate-180":""}`})]}),o&&S.jsx("div",{className:"absolute left-0 right-0 top-full mt-1 bg-[#222] border border-white/[0.08] rounded-xl shadow-xl py-1 z-10 max-h-48 overflow-y-auto",children:i.map(p=>S.jsx("button",{onClick:()=>{u(p.id),c(!1)},className:`w-full text-left px-4 py-2 text-[13px] transition-colors ${l===p.id?"text-[#AF27E3] bg-[#AF27E3]/10":"text-white/70 hover:bg-white/[0.04] hover:text-white"}`,children:p.label},p.id))})]})}function SA({onComplete:i}){const[l,u]=U.useState(0),[o,c]=U.useState(""),[d,h]=U.useState("anthropic"),[p,g]=U.useState(""),[m,v]=U.useState(!1),[x,T]=U.useState({anthropic:"idle",openai:"idle"}),[N,z]=U.useState(!1),[q,G]=U.useState(""),[Y,Q]=U.useState(!1),[X,Z]=U.useState(),[k,it]=U.useState(!1),[$,J]=U.useState(!1),[st,Tt]=U.useState(),[pt,zt]=U.useState(""),[Zt,Rt]=U.useState(null),[ne,j]=U.useState(""),[H,P]=U.useState({}),[ut,ht]=U.useState("at"),[E,L]=U.useState(!1),[K,F]=U.useState(!1),[lt,rt]=U.useState(""),yt=U.useRef(null),[Vt,Bt]=U.useState(null),[pe,zn]=U.useState(!1),[Ua,Gi]=U.useState(!1),[ye,Ba]=U.useState(""),[Xe,Yu]=U.useState(""),[La,Xi]=U.useState(""),[Ki,Ha]=U.useState(!1),[Rn,qu]=U.useState(!1),[ae,Gu]=U.useState(""),[Qi,fa]=U.useState(""),[fn,es]=U.useState(!1),[Zi,ns]=U.useState(!1),[$e,Vn]=U.useState(!1),[Ht,Ke]=U.useState(""),ie=U.useRef(!1),hn=x[d]==="connected";U.useEffect(()=>{fetch("/api/onboard/status").then(_=>_.json()).then(_=>{_.userName&&c(_.userName),_.handle&&(zt(_.handle.username),ht(_.handle.tier||"at"),Bt({username:_.handle.username,tier:_.handle.tier,url:_.handle.url}),F(!0),rt(_.handle.url)),_.portalUser&&Ba(_.portalUser),_.portalConfigured&&qu(!0),_.provider&&h(_.provider),_.model&&g(_.model),_.whisperEnabled&&(Vn(!0),Ke(_.whisperKey||"")),ie.current=!0}).catch(()=>{ie.current=!0})},[]),U.useEffect(()=>{d!=="anthropic"||x.anthropic==="connected"||fetch("/api/auth/claude/status").then(_=>_.json()).then(_=>{_.authenticated&&T(et=>({...et,anthropic:"connected"}))}).catch(()=>{})},[d]),U.useEffect(()=>{d!=="openai"||x.openai==="connected"||fetch("/api/auth/codex/status").then(_=>_.json()).then(_=>{_.authenticated&&T(et=>({...et,openai:"connected"}))}).catch(()=>{})},[d]),U.useEffect(()=>{if(!$)return;const _=setInterval(async()=>{try{(await(await fetch("/api/auth/codex/status")).json()).authenticated&&(J(!1),T(Ae=>({...Ae,openai:"connected"})))}catch{}},2e3);return()=>clearInterval(_)},[$]),U.useEffect(()=>{if(yt.current&&clearTimeout(yt.current),!ie.current||Vt&&K&&pt===Vt.username)return;Rt(null),j(""),P({}),F(!1),rt("");const _=pt.trim();if(_){if(_.length<3){Rt("invalid"),j("At least 3 characters");return}return Rt("checking"),yt.current=setTimeout(async()=>{try{const Mt=await(await fetch(`/api/handle/check/${encodeURIComponent(_)}`)).json();if(!Mt.valid)Rt("invalid"),j(Mt.error);else{const Ae={};for(const Za of Mt.handles)Ae[Za.tier]=Za.available;P(Ae),Rt("ready");const Qa=Jy.find(Za=>Ae[Za.tier]);Qa&&!Ae[ut]&&ht(Qa.tier)}}catch{Rt(null)}},400),()=>{yt.current&&clearTimeout(yt.current)}}},[pt]);const Xu=_=>{zt(_.toLowerCase().replace(/[^a-z0-9-]/g,""))},Ku=async()=>{if(!(!pt||Zt!=="ready"||!H[ut])){L(!0);try{const et=await(await fetch("/api/handle/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:pt,tier:ut})})).json();et.ok?(F(!0),rt(et.url)):(j(et.error||"Registration failed"),Rt("invalid"))}catch{j("Could not reach server"),Rt("invalid")}finally{L(!1)}}},Ya=async()=>{if(!(!pt||Zt!=="ready"||!H[ut])){Gi(!0);try{const et=await(await fetch("/api/handle/change",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:pt,tier:ut})})).json();et.ok?(F(!0),rt(et.url),Bt({username:pt,tier:ut,url:et.url}),zn(!1)):(j(et.error||"Handle change failed"),Rt("invalid"))}catch{j("Could not reach server"),Rt("invalid")}finally{Gi(!1)}}},qa=_=>{d==="openai"&&_!=="openai"&&$&&(fetch("/api/auth/codex/cancel",{method:"POST"}),J(!1)),h(_),g(""),z(!1),G(""),Z(void 0),J(!1),Tt(void 0)},Ga=async()=>{Z(void 0);try{const et=await(await fetch("/api/auth/claude/start",{method:"POST"})).json();et.success&&et.authUrl?(window.open(et.authUrl,"_blank"),z(!0)):Z(et.error||"Failed to start authentication")}catch(_){Z(_.message)}},Ie=async()=>{if(q.trim()){Q(!0),Z(void 0);try{const et=await(await fetch("/api/auth/claude/exchange",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:q.trim()})})).json();et.success?T(Mt=>({...Mt,anthropic:"connected"})):Z(et.error||"Code exchange failed")}catch(_){Z(_.message)}finally{Q(!1)}}},Xa=async()=>{try{const _=await navigator.clipboard.readText();_&&G(_.trim())}catch{}},ha=async()=>{it(!0),Z(void 0);try{(await(await fetch("/api/auth/claude/status")).json()).authenticated?T(Mt=>({...Mt,anthropic:"connected"})):Z("No active session found. Please authenticate first.")}catch{}finally{it(!1)}},Qu=async()=>{J(!0),Tt(void 0);try{const et=await(await fetch("/api/auth/codex/start",{method:"POST"})).json();et.success&&et.authUrl?window.open(et.authUrl,"_blank"):(J(!1),Tt(et.error||"Failed to start authentication"))}catch(_){J(!1),Tt(_.message)}},as=()=>{J(!1),fetch("/api/auth/codex/cancel",{method:"POST"})},Ka=Xe===La,_n=ye.trim().length>=3&&Xe.length>=6&&Ka,Zu=Rn?ye.trim().length>=3&&(Xe.length===0||fn&&_n):_n,Un=(()=>{switch(l){case 0:return!0;case 1:return o.trim().length>0;case 2:return K;case 3:return Zu;case 4:return!!(d&&p&&hn);case 5:return!0;default:return!1}})(),tn=()=>{Un&&l<ky-1&&u(_=>_+1)},is=()=>{l>0&&u(_=>_-1)},da=_=>{_.key==="Enter"&&Un&&tn()},ki=async()=>{v(!0);try{await fetch("/api/onboard",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userName:o.trim(),agentName:pt.trim()||"Fluxy",provider:d,model:p,apiKey:"",whisperEnabled:$e,whisperKey:$e?Ht:"",portalUser:ye.trim(),portalPass:Xe})}),i()}catch(_){console.error("Onboard failed:",_),v(!1)}},en="w-full bg-white/[0.05] border border-white/[0.08] text-white rounded-xl px-4 py-3 text-base outline-none input-glow placeholder:text-white/20 transition-all";return S.jsxs("div",{className:"fixed inset-0 z-[200] flex items-center justify-center p-4",children:[S.jsx("div",{className:"absolute inset-0 bg-black/85 backdrop-blur-md"}),S.jsxs(Zy.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.3},className:"relative w-full max-w-[480px] bg-[#181818] border border-white/[0.06] rounded-[24px] shadow-2xl overflow-hidden",children:[S.jsx("div",{className:"flex justify-center gap-2 pt-6",children:Array.from({length:ky},(_,et)=>S.jsx("div",{className:`h-1.5 rounded-full transition-all duration-300 ${et===l?"w-7 bg-gradient-brand":et<l?"w-1.5 bg-gradient-brand opacity-60":"w-1.5 bg-white/10"}`},et))}),S.jsx(u2,{mode:"wait",children:S.jsxs(Zy.div,{initial:{opacity:0,x:30},animate:{opacity:1,x:0},exit:{opacity:0,x:-30},transition:{duration:.2,ease:"easeOut"},className:"px-8 pt-6 pb-8",children:[l===0&&S.jsxs("div",{className:"flex flex-col items-center text-center",children:[S.jsx("video",{src:"/fluxy_say_hi.webm",autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:"h-[180px] mb-4"}),S.jsx("h1",{className:"text-2xl font-bold text-white tracking-tight",children:"Welcome to Fluxy"}),S.jsx("p",{className:"text-white/40 text-[14px] mt-2 leading-relaxed max-w-[320px]",children:"Let's set up your AI assistant in just a few steps."}),S.jsxs("button",{onClick:tn,className:"mt-6 px-7 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center gap-2",children:["Get Started",S.jsx(un,{className:"h-4 w-4"})]})]}),l===1&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"What's your name?"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"This is how your agent will address you."}),S.jsxs("div",{className:"mt-5 flex items-center gap-3",children:[S.jsx("input",{type:"text",value:o,onChange:_=>c(_.target.value),onKeyDown:da,placeholder:"Enter your name",autoFocus:!0,className:en+" flex-1"}),S.jsx("button",{onClick:tn,disabled:!Un,className:"shrink-0 h-12 w-12 flex items-center justify-center rounded-full bg-gradient-brand hover:opacity-90 text-white transition-colors disabled:opacity-30",children:S.jsx(un,{className:"h-5 w-5"})})]})]}),l===2&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Name your bot"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"This is your bot's name and permanent handle — access it from anywhere."}),Vt&&K&&!pe&&S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"mt-4 bg-emerald-500/8 border border-emerald-500/15 rounded-xl px-4 py-3",children:[S.jsxs("div",{className:"flex items-center gap-2",children:[S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"}),S.jsx("p",{className:"text-emerald-400/90 text-[13px] font-medium",children:"Current handle"})]}),S.jsx("p",{className:"text-emerald-400/60 text-[12px] mt-1 font-mono",children:lt})]}),S.jsxs("div",{className:"flex gap-2 mt-4",children:[S.jsxs("button",{onClick:tn,className:"flex-1 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]}),S.jsx("button",{onClick:()=>{zn(!0),F(!1),zt(""),Rt(null),P({})},className:"px-5 py-3 bg-white/[0.04] hover:bg-white/[0.08] border border-white/[0.08] text-white/60 text-[13px] font-medium rounded-full transition-colors",children:"Change"})]})]}),pe&&!K&&S.jsxs("div",{className:"mt-4 bg-amber-500/8 border border-amber-500/20 rounded-xl px-4 py-3",children:[S.jsx("p",{className:"text-amber-400/90 text-[13px] font-medium",children:"Changing your handle"}),S.jsxs("p",{className:"text-amber-400/60 text-[12px] mt-1",children:["Your current handle ",S.jsx("span",{className:"font-mono",children:Vt?.url})," will be released and become available for others."]})]}),(!Vt||pe||!K)&&!(Vt&&K&&!pe)&&S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"relative mt-5",children:[S.jsx("input",{type:"text",value:pt,onChange:_=>Xu(_.target.value),maxLength:30,placeholder:"your-bot-name",spellCheck:!1,autoCapitalize:"none",autoCorrect:"off",autoFocus:!0,disabled:K,className:en+" pr-10 font-mono"+(K?" opacity-50":"")}),Zt&&pt.length>0&&!K&&S.jsxs("div",{className:"absolute right-4 top-1/2 -translate-y-1/2",children:[Zt==="checking"&&S.jsx("div",{className:"w-5 h-5 border-2 border-white/10 border-t-[#04D1FE] rounded-full animate-spin"}),Zt==="invalid"&&S.jsx("div",{className:"w-6 h-6 rounded-full bg-amber-500/15 flex items-center justify-center",children:S.jsx("svg",{className:"w-3.5 h-3.5 text-amber-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:S.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3m0 4h.01"})})})]})]}),Zt==="invalid"&&ne&&S.jsx("p",{className:"text-amber-400 text-[12px] mt-2",children:ne}),Zt==="ready"&&pt.length>0&&!K&&S.jsx("div",{className:"space-y-2 mt-4",children:Jy.map(_=>{const Mt=H[_.tier]===!1;return S.jsxs("button",{onClick:()=>!Mt&&ht(_.tier),disabled:Mt,className:`w-full flex items-center justify-between px-4 py-3 rounded-xl border transition-all duration-200 text-left ${Mt?"border-white/[0.04] bg-transparent opacity-50 cursor-not-allowed":ut===_.tier?_.highlight?"border-[#AF27E3]/40 bg-[#AF27E3]/[0.06]":"border-[#AF27E3]/30 bg-white/[0.04]":"border-white/[0.06] bg-transparent hover:border-white/10 hover:bg-white/[0.02]"}`,children:[S.jsx("span",{className:"font-mono text-[13px] text-white/70",children:_.label(pt)}),Mt?S.jsx("span",{className:"text-[11px] font-medium px-2.5 py-0.5 rounded-full border bg-red-500/10 text-red-400 border-red-500/20",children:"Taken"}):S.jsx("span",{className:`text-[11px] font-medium px-2.5 py-0.5 rounded-full border ${_.badgeCls}`,children:_.badge})]},_.tier)})}),K&&S.jsxs("div",{className:"mt-4 bg-emerald-500/8 border border-emerald-500/15 rounded-xl px-4 py-3",children:[S.jsxs("div",{className:"flex items-center gap-2",children:[S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"}),S.jsx("p",{className:"text-emerald-400/90 text-[13px] font-medium",children:"Handle claimed!"})]}),S.jsx("p",{className:"text-emerald-400/60 text-[12px] mt-1 font-mono",children:lt})]}),Zt==="ready"&&H[ut]&&pt.length>0&&!K&&S.jsx("button",{onClick:pe?Ya:Ku,disabled:E||Ua,className:"w-full mt-4 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:E||Ua?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-4 w-4 animate-spin"}),pe?"Changing...":"Claiming..."]}):S.jsxs(S.Fragment,{children:[pe?"Change Handle":"Claim & Continue",S.jsx(un,{className:"h-4 w-4"})]})}),K&&S.jsxs("button",{onClick:tn,className:"w-full mt-4 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]}),pe&&!K&&S.jsx("button",{onClick:()=>{zn(!1),zt(Vt.username),F(!0),rt(Vt.url),ht(Vt.tier),Rt(null)},className:"w-full mt-2 py-2 text-white/25 hover:text-white/40 text-[12px] transition-colors",children:"Cancel — keep current handle"})]})]}),l===3&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Secure your portal"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"Create credentials to protect your dashboard. Anyone with your URL will need these to log in."}),K&<&&S.jsxs("div",{className:"mt-4 flex items-center gap-2 bg-white/[0.03] border border-white/[0.06] rounded-xl px-4 py-3",children:[S.jsx("span",{className:"font-mono text-[13px] text-white/60 truncate flex-1",children:lt}),S.jsx("button",{onClick:()=>{navigator.clipboard.writeText(lt),Ha(!0),setTimeout(()=>Ha(!1),2e3)},className:"shrink-0 text-white/30 hover:text-white/60 transition-colors",children:Ki?S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"}):S.jsxs("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:[S.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),S.jsx("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"})]})})]}),Rn&&S.jsx("div",{className:"mt-4 bg-white/[0.02] border border-white/[0.06] rounded-xl px-4 py-2.5",children:S.jsx("p",{className:"text-white/40 text-[12px]",children:"Credentials already set. Leave password fields empty to keep your current password, or enter your current password to change it."})}),S.jsxs("div",{className:"mt-5",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"Username"}),S.jsx("input",{type:"text",value:ye,onChange:_=>Ba(_.target.value.replace(/\s/g,"").toLowerCase()),placeholder:"admin",autoFocus:!0,autoComplete:"username",className:en+" font-mono"}),ye.length>0&&ye.trim().length<3&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"At least 3 characters"})]}),Rn&&S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"Current password"}),S.jsxs("div",{className:"flex items-center gap-2",children:[S.jsx("input",{type:"password",value:ae,onChange:_=>{Gu(_.target.value),fa(""),es(!1)},placeholder:"Enter current password to change it",autoComplete:"current-password",className:en+" flex-1"}),ae.length>0&&!fn&&S.jsx("button",{onClick:async()=>{ns(!0),fa("");try{(await(await fetch("/api/portal/verify-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:ae})})).json()).valid?es(!0):fa("Incorrect password")}catch{fa("Could not verify")}finally{ns(!1)}},disabled:Zi,className:"shrink-0 px-4 py-3 bg-white/[0.06] hover:bg-white/[0.1] text-white/60 text-[13px] font-medium rounded-xl transition-colors disabled:opacity-40",children:Zi?S.jsx(Ni,{className:"h-4 w-4 animate-spin"}):"Verify"}),fn&&S.jsx("div",{className:"shrink-0 w-10 h-10 flex items-center justify-center",children:S.jsx(Hl,{className:"h-4 w-4 text-emerald-400"})})]}),Qi&&S.jsx("p",{className:"text-red-400/70 text-[11px] mt-1",children:Qi})]}),(!Rn||fn)&&S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:Rn?"New password":"Password"}),S.jsx("input",{type:"password",value:Xe,onChange:_=>Yu(_.target.value),placeholder:"••••••••",autoComplete:"new-password",onKeyDown:da,className:en}),Xe.length>0&&Xe.length<6&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"At least 6 characters"})]}),S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:Rn?"Confirm new password":"Confirm password"}),S.jsx("input",{type:"password",value:La,onChange:_=>Xi(_.target.value),placeholder:"••••••••",autoComplete:"new-password",onKeyDown:da,className:en}),La.length>0&&!Ka&&S.jsx("p",{className:"text-red-400/70 text-[11px] mt-1",children:"Passwords don't match"})]})]}),S.jsxs("button",{onClick:tn,disabled:!Un,className:"w-full mt-5 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]})]}),l===4&&S.jsxs("div",{children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Choose your AI provider"}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1.5 leading-relaxed",children:"Pick one provider to power your bot, authenticate, and select a model."}),S.jsx("div",{className:"flex gap-2.5 mt-4",children:pA.map(_=>S.jsxs("button",{onClick:()=>qa(_.id),className:`flex-1 relative rounded-xl border transition-all duration-200 p-3 text-left ${d===_.id?"bg-white/[0.04] border-[#AF27E3]/40":"bg-transparent border-white/[0.06] hover:border-white/10 hover:bg-white/[0.02]"}`,children:[S.jsxs("div",{className:"flex flex-col items-center gap-1.5 py-0.5",children:[_.icon?S.jsx("img",{src:_.icon,alt:_.name,className:"w-8 h-8 rounded-lg"}):S.jsx("div",{className:"w-8 h-8 rounded-lg bg-white/[0.06] flex items-center justify-center text-white/50 text-sm font-bold",children:"O"}),S.jsxs("div",{className:"text-center",children:[S.jsx("div",{className:"text-[13px] font-medium text-white",children:_.name}),S.jsx("div",{className:"text-[10px] text-white/30",children:_.subtitle})]})]}),x[_.id]==="connected"?S.jsx("div",{className:"absolute top-2 right-2 w-4 h-4 rounded-full bg-emerald-500/15 flex items-center justify-center",children:S.jsx(Hl,{className:"h-2.5 w-2.5 text-emerald-400"})}):d===_.id?S.jsx("div",{className:"absolute top-2 right-2 w-2 h-2 rounded-full bg-gradient-brand"}):null]},_.id))}),S.jsx("div",{className:"border-t border-white/[0.06] mt-4 mb-3"}),d==="anthropic"&&S.jsxs("div",{className:"space-y-2.5",children:[hn&&S.jsx("div",{className:"bg-emerald-500/8 border border-emerald-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-emerald-400/90 text-[12px]",children:"Connected — Anthropic subscription is active."})}),!hn&&S.jsxs(S.Fragment,{children:[X&&S.jsx("div",{className:"bg-red-500/8 border border-red-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-red-400/90 text-[12px]",children:X})}),S.jsx("div",{className:"space-y-1.5",children:["Click the button below to open Anthropic's login page","Sign in with your Anthropic account — a code will be generated","Copy the code and paste it in the field below"].map((_,et)=>S.jsxs("div",{className:"flex items-start gap-2",children:[S.jsx("span",{className:"flex-shrink-0 w-[18px] h-[18px] rounded-full bg-white/[0.06] text-white/30 text-[10px] font-medium flex items-center justify-center mt-px",children:et+1}),S.jsx("p",{className:"text-white/40 text-[12px] leading-relaxed",children:_})]},et))}),S.jsx("button",{onClick:Ga,className:"w-full py-2.5 px-4 bg-gradient-brand hover:opacity-90 text-white text-[13px] font-medium rounded-xl transition-colors flex items-center justify-center gap-2",children:N?S.jsxs(S.Fragment,{children:[S.jsx(px,{className:"h-3.5 w-3.5 opacity-60"}),"Open authentication page again"]}):S.jsxs(S.Fragment,{children:["Authenticate with Anthropic",S.jsx(un,{className:"h-3.5 w-3.5 opacity-60"})]})}),S.jsxs("div",{className:"relative",children:[S.jsx("input",{type:"text",value:q,onChange:_=>G(_.target.value),onKeyDown:_=>_.key==="Enter"&&Ie(),placeholder:"Paste your code here...",className:"w-full bg-white/[0.03] border border-white/[0.08] text-white rounded-xl px-4 py-2.5 text-[13px] outline-none input-glow placeholder:text-white/20 transition-all"+" pr-10 font-mono"}),S.jsx("button",{onClick:Xa,className:"absolute right-3 top-1/2 -translate-y-1/2 text-white/20 hover:text-white/50 transition-colors",children:S.jsx(dx,{className:"h-3.5 w-3.5"})})]}),S.jsx("button",{onClick:Ie,disabled:!q.trim()||Y,className:"w-full py-2.5 px-4 bg-gradient-brand hover:opacity-90 text-white text-[13px] font-medium rounded-xl transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:Y?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-3.5 w-3.5 animate-spin"}),"Verifying..."]}):"Connect"}),S.jsxs("button",{onClick:ha,disabled:k,className:"w-full py-1.5 text-white/25 text-[11px] hover:text-white/40 transition-colors flex items-center justify-center gap-1.5 disabled:opacity-50",children:[k?S.jsx(Ni,{className:"h-3 w-3 animate-spin"}):S.jsx(bx,{className:"h-3 w-3"}),k?"Checking...":"I'm already authenticated"]})]})]}),d==="openai"&&S.jsxs("div",{className:"space-y-2.5",children:[hn&&S.jsx("div",{className:"bg-emerald-500/8 border border-emerald-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-emerald-400/90 text-[12px]",children:"Connected — ChatGPT subscription is active."})}),!hn&&S.jsxs(S.Fragment,{children:[st&&S.jsx("div",{className:"bg-red-500/8 border border-red-500/15 rounded-lg px-3.5 py-2.5",children:S.jsx("p",{className:"text-red-400/90 text-[12px]",children:st})}),S.jsx("div",{className:"space-y-1.5",children:["Click the button below — your browser will open for ChatGPT sign-in","Sign in with your ChatGPT Plus or Pro account","Authentication completes automatically — no code to copy"].map((_,et)=>S.jsxs("div",{className:"flex items-start gap-2",children:[S.jsx("span",{className:"flex-shrink-0 w-[18px] h-[18px] rounded-full bg-white/[0.06] text-white/30 text-[10px] font-medium flex items-center justify-center mt-px",children:et+1}),S.jsx("p",{className:"text-white/40 text-[12px] leading-relaxed",children:_})]},et))}),S.jsx("button",{onClick:Qu,disabled:$,className:"w-full py-2.5 px-4 bg-white/[0.06] hover:bg-white/[0.09] text-white text-[13px] font-medium rounded-xl transition-colors flex items-center justify-center gap-2 disabled:opacity-60",children:$?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-3.5 w-3.5 animate-spin opacity-60"}),"Waiting for sign-in..."]}):S.jsxs(S.Fragment,{children:["Authenticate with ChatGPT",S.jsx(un,{className:"h-3.5 w-3.5 opacity-60"})]})}),$&&S.jsx("button",{onClick:as,className:"w-full py-1.5 text-white/25 text-[11px] hover:text-white/40 transition-colors",children:"Cancel"})]})]}),hn&&S.jsxs(S.Fragment,{children:[S.jsx("div",{className:"border-t border-white/[0.06] mt-4 mb-3"}),S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"Select a model"}),S.jsx(gA,{models:yA[d]||[],value:p,onChange:g})]}),hn&&S.jsxs("button",{onClick:tn,disabled:!Un,className:"w-full mt-4 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:["Continue",S.jsx(un,{className:"h-4 w-4"})]})]}),l===5&&S.jsxs("div",{children:[S.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[S.jsx("h1",{className:"text-xl font-bold text-white tracking-tight",children:"Voice Messages"}),S.jsx("span",{className:"text-[11px] text-white/25 font-medium bg-white/[0.04] border border-white/[0.06] rounded-full px-2.5 py-0.5",children:"Optional"})]}),S.jsx("p",{className:"text-white/40 text-[13px] mt-1 leading-relaxed",children:"Allow users to send audio messages that are automatically transcribed."}),S.jsx("button",{onClick:()=>Vn(_=>!_),className:`w-full mt-5 rounded-xl border transition-all duration-200 p-4 text-left ${$e?"bg-white/[0.04] border-[#AF27E3]/40":"bg-transparent border-white/[0.06] hover:border-white/10 hover:bg-white/[0.02]"}`,children:S.jsxs("div",{className:"flex items-center gap-3.5",children:[S.jsx("img",{src:"/icons/openai.svg",alt:"OpenAI",className:"w-10 h-10 rounded-xl bg-white/[0.04] p-1.5"}),S.jsxs("div",{className:"flex-1",children:[S.jsx("div",{className:"text-[14px] font-medium text-white",children:"OpenAI Whisper"}),S.jsx("div",{className:"text-[12px] text-white/35 mt-0.5 leading-relaxed",children:"Speech-to-text powered by OpenAI. Requires an OpenAI API key."})]}),S.jsx("div",{className:`w-10 h-[22px] rounded-full transition-colors duration-200 flex items-center px-0.5 shrink-0 ${$e?"bg-gradient-brand":"bg-white/[0.08]"}`,children:S.jsx("div",{className:`w-[18px] h-[18px] rounded-full bg-white shadow-sm transition-transform duration-200 ${$e?"translate-x-[18px]":"translate-x-0"}`})})]})}),$e&&S.jsxs("div",{className:"mt-3",children:[S.jsx("label",{className:"text-[12px] text-white/40 font-medium mb-1.5 block",children:"OpenAI API Key"}),S.jsx("input",{type:"password",value:Ht,onChange:_=>Ke(_.target.value.trim()),placeholder:"sk-...",autoComplete:"off",className:en+" font-mono text-[13px]"}),Ht.length>0&&!Ht.startsWith("sk-")&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"Key should start with sk-"}),Ht.length>0&&Ht.startsWith("sk-")&&Ht.length<20&&S.jsx("p",{className:"text-amber-400/70 text-[11px] mt-1",children:"Key looks too short"}),S.jsxs("div",{className:"flex items-start gap-2.5 mt-3 bg-white/[0.02] border border-white/[0.06] rounded-xl px-4 py-3",children:[S.jsx(vx,{className:"h-4 w-4 text-[#AF27E3]/60 mt-0.5 shrink-0"}),S.jsx("p",{className:"text-white/35 text-[12px] leading-relaxed",children:"Users will see a microphone button in the chat. Audio is sent to OpenAI's Whisper API for transcription, then processed as a regular text message."})]})]}),S.jsx("button",{onClick:ki,disabled:m||$e&&(!Ht.startsWith("sk-")||Ht.length<20),className:"w-full mt-5 py-3 bg-gradient-brand hover:opacity-90 text-white text-[14px] font-semibold rounded-full transition-colors flex items-center justify-center gap-2 disabled:opacity-40",children:m?S.jsxs(S.Fragment,{children:[S.jsx(Ni,{className:"h-4 w-4 animate-spin"}),"Setting up..."]}):S.jsxs(S.Fragment,{children:["Complete Setup",S.jsx(un,{className:"h-4 w-4"})]})}),!$e&&S.jsx("p",{className:"text-center text-white/20 text-[11px] mt-2.5",children:"You can enable this later in Settings."})]})]},l)}),l>0&&S.jsx("div",{className:"px-8 pb-5 -mt-3",children:S.jsx("button",{onClick:is,className:"text-white/25 hover:text-white/50 text-[12px] transition-colors",children:"← Back"})})]})]})}export{un as A,Ni as L,vx as M,SA as O,vA as R,u2 as a,xA as b,ra as c,Fy as g,S as j,Zy as m,U as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--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-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}}}@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-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--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-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-md:12px;--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-background:#212121;--color-foreground:#f5f5f5}}@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}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-50{z-index:50}.z-\[200\]{z-index:200}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mt-3{margin-top:calc(var(--spacing) * -3)}.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-2\.5{margin-top:calc(var(--spacing) * 2.5)}.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-px{margin-top:1px}.mr-1\.5{margin-right:calc(var(--spacing) * 1.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)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.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-28{height:calc(var(--spacing) * 28)}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[180px\]{height:180px}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.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-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-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-28{width:calc(var(--spacing) * 28)}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[75\%\]{max-width:75%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92\%\]{max-width:92%}.max-w-\[320px\]{max-width:320px}.max-w-\[480px\]{max-width:480px}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;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)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-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-3\.5{gap:calc(var(--spacing) * 3.5)}: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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.75rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[24px\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#AF27E3\]\/20{border-color:#af27e333}.border-\[\#AF27E3\]\/30{border-color:#af27e34d}.border-\[\#AF27E3\]\/40{border-color:#af27e366}.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-border{border-color:#3a3a3a}.border-emerald-500\/15{border-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/15{border-color:color-mix(in oklab,var(--color-emerald-500) 15%,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-muted-foreground\/30{border-color:#9999994d}.border-red-500\/15{border-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.border-red-500\/15{border-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.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\/\[0\.04\]{border-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.04\]{border-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/\[0\.08\]{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.08\]{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-t-\[\#04D1FE\]{border-top-color:#04d1fe}.border-t-primary{border-top-color:#3c8fff}.bg-\[\#222\]{background-color:#222}.bg-\[\#181818\]{background-color:#181818}.bg-\[\#AF27E3\]\/10{background-color:#af27e31a}.bg-\[\#AF27E3\]\/15{background-color:#af27e326}.bg-\[\#AF27E3\]\/\[0\.06\]{background-color:#af27e30f}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/8{background-color:color-mix(in oklab,var(--color-amber-500) 8%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-background{background-color:#212121}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-black\/85{background-color:#000000d9}@supports (color:color-mix(in lab,red,red)){.bg-black\/85{background-color:color-mix(in oklab,var(--color-black) 85%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-destructive{background-color:#fd486b}.bg-destructive\/10{background-color:#fd486b1a}.bg-emerald-500\/8{background-color:#00bb7f14}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/8{background-color:color-mix(in oklab,var(--color-emerald-500) 8%,transparent)}}.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-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:#333}.bg-muted-foreground{background-color:#999}.bg-muted-foreground\/60{background-color:#9999}.bg-popover{background-color:#2a2a2a}.bg-primary{background-color:#3c8fff}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/8{background-color:#fb2c3614}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/8{background-color:color-mix(in oklab,var(--color-red-500) 8%,transparent)}}.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-transparent{background-color:#0000}.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\/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\/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\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.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-8{padding-block:calc(var(--spacing) * 8)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-\[8px\]{font-size:8px}.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}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#AF27E3\]{color:#af27e3}.text-\[\#AF27E3\]\/60{color:#af27e399}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/60{color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/60{color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-destructive{color:#fd486b}.text-destructive-foreground{color:#fff}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/60{color:#00d29499}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/60{color:color-mix(in oklab,var(--color-emerald-400) 60%,transparent)}}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-foreground{color:#f5f5f5}.text-gray-400{color:var(--color-gray-400)}.text-gray-900{color:var(--color-gray-900)}.text-muted-foreground{color:#999}.text-muted-foreground\/50{color:#99999980}.text-primary-foreground{color:#fff}.text-primary-foreground\/60{color:#fff9}.text-red-400{color:var(--color-red-400)}.text-red-400\/70{color:#ff6568b3}@supports (color:color-mix(in lab,red,red)){.text-red-400\/70{color:color-mix(in oklab,var(--color-red-400) 70%,transparent)}}.text-red-400\/90{color:#ff6568e6}@supports (color:color-mix(in lab,red,red)){.text-red-400\/90{color:color-mix(in oklab,var(--color-red-400) 90%,transparent)}}.text-white{color:var(--color-white)}.text-white\/20{color:#fff3}@supports (color:color-mix(in lab,red,red)){.text-white\/20{color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.text-white\/25{color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.text-white\/25{color:color-mix(in oklab,var(--color-white) 25%,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\/35{color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.text-white\/35{color:color-mix(in oklab,var(--color-white) 35%,transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white) 40%,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)}}.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,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-100{opacity:1}.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-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-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)}.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,)}.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-\[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-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))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\:text-white\/20::placeholder{color:#fff3}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-white\/20::placeholder{color:color-mix(in oklab,var(--color-white) 20%,transparent)}}@media(hover:hover){.hover\:border-white\/10:hover{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/10:hover{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:border-white\/15:hover{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/15:hover{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.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\/\[0\.1\]:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.1\]:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.02\]:hover{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.04\]:hover{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.08\]:hover{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.hover\:bg-white\/\[0\.09\]:hover{background-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.09\]:hover{background-color:color-mix(in oklab,var(--color-white) 9%,transparent)}}.hover\:text-foreground:hover{color:#f5f5f5}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/40:hover{color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/40:hover{color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.hover\:text-white\/50:hover{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/50:hover{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.hover\:text-white\/60:hover{color:#fff9}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/60:hover{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[\#AF27E3\]\/30:focus{border-color:#af27e34d}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:calc(var(--spacing) * 0)}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:#af27e340}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4a4a4a}.text-gradient{color:#0000;-webkit-text-fill-color:transparent;background-image:linear-gradient(135deg,#04d1fe,#af27e3,#fb4072);-webkit-background-clip:text;background-clip:text}.bg-gradient-brand{background-image:linear-gradient(135deg,#04d1fe,#af27e3,#fb4072)}.glow-border{box-shadow:0 0 0 1px #af27e31a,0 0 20px -5px #af27e326}.animated-border{position:relative;overflow:hidden}.animated-border:before{content:"";background:conic-gradient(#04d1fe,#af27e3,#fb4072,#04d1fe);animation:3s linear infinite border-spin;position:absolute;inset:-150%}.animated-border>*{z-index:1;position:relative}.animated-border-slow:before{animation-duration:5s}.input-glow:focus{border-color:#af27e366;box-shadow:0 0 0 1px #af27e326,0 0 20px -5px #af27e340,0 0 4px -1px #04d1fe1a}@keyframes border-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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-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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";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:"<percentage>";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:"<length>";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-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@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}}
|
|
1
|
+
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--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-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}}}@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-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--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-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-md:12px;--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-background:#212121;--color-foreground:#f5f5f5}}@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}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-50{z-index:50}.z-\[200\]{z-index:200}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mt-3{margin-top:calc(var(--spacing) * -3)}.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-2\.5{margin-top:calc(var(--spacing) * 2.5)}.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-px{margin-top:1px}.mr-1\.5{margin-right:calc(var(--spacing) * 1.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)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.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-28{height:calc(var(--spacing) * 28)}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[180px\]{height:180px}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.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-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-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-28{width:calc(var(--spacing) * 28)}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[75\%\]{max-width:75%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92\%\]{max-width:92%}.max-w-\[320px\]{max-width:320px}.max-w-\[480px\]{max-width:480px}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[18px\]{--tw-translate-x:18px;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)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-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-3\.5{gap:calc(var(--spacing) * 3.5)}: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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.75rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[24px\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#AF27E3\]\/20{border-color:#af27e333}.border-\[\#AF27E3\]\/30{border-color:#af27e34d}.border-\[\#AF27E3\]\/40{border-color:#af27e366}.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-border{border-color:#3a3a3a}.border-emerald-500\/15{border-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/15{border-color:color-mix(in oklab,var(--color-emerald-500) 15%,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-muted-foreground\/30{border-color:#9999994d}.border-red-500\/15{border-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.border-red-500\/15{border-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.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\/\[0\.04\]{border-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.04\]{border-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/\[0\.08\]{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.08\]{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-t-\[\#04D1FE\]{border-top-color:#04d1fe}.border-t-primary{border-top-color:#3c8fff}.border-t-white\/50{border-top-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-t-white\/50{border-top-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-\[\#222\]{background-color:#222}.bg-\[\#181818\]{background-color:#181818}.bg-\[\#AF27E3\]\/10{background-color:#af27e31a}.bg-\[\#AF27E3\]\/15{background-color:#af27e326}.bg-\[\#AF27E3\]\/\[0\.06\]{background-color:#af27e30f}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/8{background-color:color-mix(in oklab,var(--color-amber-500) 8%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-background{background-color:#212121}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-black\/85{background-color:#000000d9}@supports (color:color-mix(in lab,red,red)){.bg-black\/85{background-color:color-mix(in oklab,var(--color-black) 85%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-destructive{background-color:#fd486b}.bg-destructive\/10{background-color:#fd486b1a}.bg-emerald-500\/8{background-color:#00bb7f14}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/8{background-color:color-mix(in oklab,var(--color-emerald-500) 8%,transparent)}}.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-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:#333}.bg-muted-foreground{background-color:#999}.bg-muted-foreground\/60{background-color:#9999}.bg-popover{background-color:#2a2a2a}.bg-primary{background-color:#3c8fff}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/8{background-color:#fb2c3614}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/8{background-color:color-mix(in oklab,var(--color-red-500) 8%,transparent)}}.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-transparent{background-color:#0000}.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\/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\/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\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.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-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.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-8{padding-block:calc(var(--spacing) * 8)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-\[8px\]{font-size:8px}.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}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#AF27E3\]{color:#af27e3}.text-\[\#AF27E3\]\/60{color:#af27e399}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/60{color:#fcbb0099}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/60{color:color-mix(in oklab,var(--color-amber-400) 60%,transparent)}}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400) 90%,transparent)}}.text-destructive{color:#fd486b}.text-destructive-foreground{color:#fff}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/60{color:#00d29499}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/60{color:color-mix(in oklab,var(--color-emerald-400) 60%,transparent)}}.text-emerald-400\/90{color:#00d294e6}@supports (color:color-mix(in lab,red,red)){.text-emerald-400\/90{color:color-mix(in oklab,var(--color-emerald-400) 90%,transparent)}}.text-foreground{color:#f5f5f5}.text-gray-400{color:var(--color-gray-400)}.text-gray-900{color:var(--color-gray-900)}.text-muted-foreground{color:#999}.text-muted-foreground\/50{color:#99999980}.text-primary-foreground{color:#fff}.text-primary-foreground\/60{color:#fff9}.text-red-400{color:var(--color-red-400)}.text-red-400\/70{color:#ff6568b3}@supports (color:color-mix(in lab,red,red)){.text-red-400\/70{color:color-mix(in oklab,var(--color-red-400) 70%,transparent)}}.text-red-400\/90{color:#ff6568e6}@supports (color:color-mix(in lab,red,red)){.text-red-400\/90{color:color-mix(in oklab,var(--color-red-400) 90%,transparent)}}.text-white{color:var(--color-white)}.text-white\/20{color:#fff3}@supports (color:color-mix(in lab,red,red)){.text-white\/20{color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.text-white\/25{color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.text-white\/25{color:color-mix(in oklab,var(--color-white) 25%,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\/35{color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.text-white\/35{color:color-mix(in oklab,var(--color-white) 35%,transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white) 40%,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)}}.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,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-100{opacity:1}.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-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-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)}.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,)}.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-\[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-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))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\:text-white\/20::placeholder{color:#fff3}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-white\/20::placeholder{color:color-mix(in oklab,var(--color-white) 20%,transparent)}}@media(hover:hover){.hover\:border-white\/10:hover{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/10:hover{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:border-white\/15:hover{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/15:hover{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.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\/\[0\.1\]:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.1\]:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.02\]:hover{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.04\]:hover{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.08\]:hover{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.hover\:bg-white\/\[0\.09\]:hover{background-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.09\]:hover{background-color:color-mix(in oklab,var(--color-white) 9%,transparent)}}.hover\:text-foreground:hover{color:#f5f5f5}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/40:hover{color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/40:hover{color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.hover\:text-white\/50:hover{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/50:hover{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.hover\:text-white\/60:hover{color:#fff9}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/60:hover{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[\#AF27E3\]\/30:focus{border-color:#af27e34d}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:calc(var(--spacing) * 0)}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:#af27e340}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4a4a4a}.text-gradient{color:#0000;-webkit-text-fill-color:transparent;background-image:linear-gradient(135deg,#04d1fe,#af27e3,#fb4072);-webkit-background-clip:text;background-clip:text}.bg-gradient-brand{background-image:linear-gradient(135deg,#04d1fe,#af27e3,#fb4072)}.glow-border{box-shadow:0 0 0 1px #af27e31a,0 0 20px -5px #af27e326}.animated-border{position:relative;overflow:hidden}.animated-border:before{content:"";background:conic-gradient(#04d1fe,#af27e3,#fb4072,#04d1fe);animation:3s linear infinite border-spin;position:absolute;inset:-150%}.animated-border>*{z-index:1;position:relative}.animated-border-slow:before{animation-duration:5s}.input-glow:focus{border-color:#af27e366;box-shadow:0 0 0 1px #af27e326,0 0 20px -5px #af27e340,0 0 4px -1px #04d1fe1a}@keyframes border-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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-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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";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:"<percentage>";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:"<length>";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-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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@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}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{b as o,j as e,R as n,O as r}from"./globals-Bu5tVsgN.js";function a(){const t=()=>{window.parent?.postMessage({type:"fluxy:onboard-complete"},"*")};return e.jsx(r,{onComplete:t})}o.createRoot(document.getElementById("root")).render(e.jsx(n.StrictMode,{children:e.jsx(a,{})}));
|
package/dist-fluxy/fluxy.html
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, interactive-widget=resizes-content" />
|
|
6
6
|
<title>Fluxy Chat</title>
|
|
7
|
-
<script type="module" crossorigin src="/fluxy/assets/fluxy-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/fluxy/assets/globals-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/fluxy/assets/globals-
|
|
7
|
+
<script type="module" crossorigin src="/fluxy/assets/fluxy-Cejh7HRl.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/fluxy/assets/globals-Bu5tVsgN.js">
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/fluxy/assets/globals-DYOj4b0m.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body class="bg-background text-foreground">
|
|
12
12
|
<div id="root"></div>
|
package/dist-fluxy/onboard.html
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, interactive-widget=resizes-content" />
|
|
6
6
|
<title>Fluxy Setup</title>
|
|
7
|
-
<script type="module" crossorigin src="/fluxy/assets/onboard-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/fluxy/assets/globals-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/fluxy/assets/globals-
|
|
7
|
+
<script type="module" crossorigin src="/fluxy/assets/onboard-Bzu8G4yQ.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/fluxy/assets/globals-Bu5tVsgN.js">
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/fluxy/assets/globals-DYOj4b0m.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body class="bg-background text-foreground">
|
|
12
12
|
<div id="root"></div>
|