PageSourceSearch

https://www.ultra-normal.com/assets/index-Cf5_ulNx.js

js ultra-normal.com collected 2026-10-02 15:50:05 UTC 1,118,948 bytes, 205 lines download raw bytes

vendor: 1,154 bytes, line 1
1function aT(s,i){for(var r=0;r<i.length;r++){const l=i[r];if(typeof l!="string"&&!Array.isArray(l)){for(const c in l)if(c!=="default"&&!(c in s)){const u=Object.getOwnPropertyDescriptor(l,c);u&&Object.defineProperty(s,c,u.get?u:{enumerable:!0,get:()=>l[c]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))l(c);new MutationObserver(c=>{for(const u of c)if(u.type==="childList")for(const m of u.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&l(m)}).observe(document,{childList:!0,subtree:!0});function r(c){const u={};return c.integrity&&(u.integrity=c.integrity),c.referrerPolicy&&(u.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?u.credentials="include":c.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function l(c){if(c.ep)return;c.ep=!0;const u=r(c);fetch(c.href,u)}})();function Xb(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}
vendor: 10,153 bytes, lines 1-25
1var yh={exports:{}},hr={};/**
2 * @license React
3 * react-jsx-runtime.production.js
4 *
5 * Copyright (c) Meta Platforms, Inc. and affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var By;function iT(){if(By)return hr;By=1;var s=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function r(l,c,u){var m=null;if(u!==void 0&&(m=""+u),c.key!==void 0&&(m=""+c.key),"key"in c){u={};for(var p in c)p!=="key"&&(u[p]=c[p])}else u=c;return c=u.ref,{$$typeof:s,type:l,key:m,ref:c!==void 0?c:null,props:u}}return hr.Fragment=i,hr.jsx=r,hr.jsxs=r,hr}var zy;function nT(){return zy||(zy=1,yh.exports=iT()),yh.exports}var e=nT(),gh={exports:{}},ur={},bh={exports:{}},vh={};/**
10 * @license React
11 * scheduler.production.js
12 *
13 * Copyright (c) Meta Platforms, Inc. and affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var Vy;function rT(){return Vy||(Vy=1,(function(s){function i(P,G){var z=P.length;P.push(G);e:for(;0<z;){var le=z-1>>>1,pe=P[le];if(0<c(pe,G))P[le]=G,P[z]=pe,z=le;else break e}}function r(P){return P.length===0?null:P[0]}function l(P){if(P.length===0)return null;var G=P[0],z=P.pop();if(z!==G){P[0]=z;e:for(var le=0,pe=P.length,E=pe>>>1;le<E;){var Q=2*(le+1)-1,ee=P[Q],se=Q+1,fe=P[se];if(0>c(ee,z))se<pe&&0>c(fe,ee)?(P[le]=fe,P[se]=z,le=se):(P[le]=ee,P[Q]=z,le=Q);else if(se<pe&&0>c(fe,z))P[le]=fe,P[se]=z,le=se;else break e}}return G}function c(P,G){var z=P.sortIndex-G.sortIndex;return z!==0?z:P.id-G.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;s.unstable_now=function(){return u.now()}}else{var m=Date,p=m.now();s.unstable_now=function(){return m.now()-p}}var x=[],f=[],y=1,b=null,j=3,N=!1,S=!1,T=!1,C=!1,R=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function Y(P){for(var G=r(f);G!==null;){if(G.callback===null)l(f);else if(G.startTime<=P)l(f),G.sortIndex=G.expirationTime,i(x,G);else break;G=r(f)}}function q(P){if(T=!1,Y(P),!S)if(r(x)!==null)S=!0,Z||(Z=!0,ve());else{var G=r(f);G!==null&&ge(q,G.startTime-P)}}var Z=!1,V=-1,H=5,ie=-1;function de(){return C?!0:!(s.unstable_now()-ie<H)}function ye(){if(C=!1,Z){var P=s.unstable_now();ie=P;var G=!0;try{e:{S=!1,T&&(T=!1,M(V),V=-1),N=!0;var z=j;try{t:{for(Y(P),b=r(x);b!==null&&!(b.expirationTime>P&&de());){var le=b.callback;if(typeof le=="function"){b.callback=null,j=b.priorityLevel;var pe=le(b.expirationTime<=P);if(P=s.unstable_now(),typeof pe=="function"){b.callback=pe,Y(P),G=!0;break t}b===r(x)&&l(x),Y(P)}else l(x);b=r(x)}if(b!==null)G=!0;else{var E=r(f);E!==null&&ge(q,E.startTime-P),G=!1}}break e}finally{b=null,j=z,N=!1}G=void 0}}finally{G?ve():Z=!1}}}var ve;if(typeof O=="function")ve=function(){O(ye)};else if(typeof MessageChannel<"u"){var ke=new MessageChannel,ae=ke.port2;ke.port1.onmessage=ye,ve=function(){ae.postMessage(null)}}else ve=function(){R(ye,0)};function ge(P,G){V=R(function(){P(s.unstable_now())},G)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(P){P.callback=null},s.unstable_forceFrameRate=function(P){0>P||125<P?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):H=0<P?Math.floor(1e3/P):5},s.unstable_getCurrentPriorityLevel=function(){return j},s.unstable_next=function(P){switch(j){case 1:case 2:case 3:var G=3;break;default:G=j}var z=j;j=G;try{return P()}finally{j=z}},s.unstable_requestPaint=function(){C=!0},s.unstable_runWithPriority=function(P,G){switch(P){case 1:case 2:case 3:case 4:case 5:break;default:P=3}var z=j;j=P;try{return G()}finally{j=z}},s.unstable_scheduleCallback=function(P,G,z){var le=s.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0<z?le+z:le):z=le,P){case 1:var pe=-1;break;case 2:pe=250;break;case 5:pe=1073741823;break;case 4:pe=1e4;break;default:pe=5e3}return pe=z+pe,P={id:y++,callback:G,priorityLevel:P,startTime:z,expirationTime:pe,sortIndex:-1},z>le?(P.sortIndex=z,i(f,P),r(x)===null&&P===r(f)&&(T?(M(V),V=-1):T=!0,ge(q,z-le))):(P.sortIndex=pe,i(x,P),S||N||(S=!0,Z||(Z=!0,ve()))),P},s.unstable_shouldYield=de,s.unstable_wrapCallback=function(P){var G=j;return function(){var z=j;j=G;try{return P.apply(this,arguments)}finally{j=z}}}})(vh)),vh}var _y;function oT(){return _y||(_y=1,bh.exports=rT()),bh.exports}var jh={exports:{}},be={};/**
18 * @license React
19 * react.production.js
20 *
21 * Copyright (c) Meta Platforms, Inc. and affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */var Wy;function lT(){if(Wy)return be;Wy=1;var s=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),m=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),j=Symbol.iterator;function N(E){return E===null||typeof E!="object"?null:(E=j&&E[j]||E["@@iterator"],typeof E=="function"?E:null)}var S={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,C={};function R(E,Q,ee){this.props=E,this.context=Q,this.refs=C,this.updater=ee||S}R.prototype.isReactComponent={},R.prototype.setState=function(E,Q){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,Q,"setState")},R.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function M(){}M.prototype=R.prototype;function O(E,Q,ee){this.props=E,this.context=Q,this.refs=C,this.updater=ee||S}var Y=O.prototype=new M;Y.constructor=O,T(Y,R.prototype),Y.isPureReactComponent=!0;var q=Array.isArray;function Z(){}var V={H:null,A:null,T:null,S:null},H=Object.prototype.hasOwnProperty;function ie(E,Q,ee){var se=ee.ref;return{$$typeof:s,type:E,key:Q,ref:se!==void 0?se:null,props:ee}}function de(E,Q){return ie(E.type,Q,E.props)}function ye(E){return typeof E=="object"&&E!==null&&E.$$typeof===s}function ve(E){var Q={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(ee){return Q[ee]})}var ke=/\/+/g;function ae(E,Q){return typeof E=="object"&&E!==null&&E.key!=null?ve(""+E.key):Q.toString(36)}function ge(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(Z,Z):(E.status="pending",E.then(function(Q){E.status==="pending"&&(E.status="fulfilled",E.value=Q)},function(Q){E.status==="pending"&&(E.status="rejected",E.reason=Q)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function P(E,Q,ee,se,fe){var je=typeof E;(je==="undefined"||je==="boolean")&&(E=null);var he=!1;if(E===null)he=!0;else switch(je){case"bigint":case"string":case"number":he=!0;break;case"object":switch(E.$$typeof){case s:case i:he=!0;break;case y:return he=E._init,P(he(E._payload),Q,ee,se,fe)}}if(he)return fe=fe(E),he=se===""?"."+ae(E,0):se,q(fe)?(ee="",he!=null&&(ee=he.replace(ke,"$&/")+"/"),P(fe,Q,ee,"",function(Qt){return Qt})):fe!=null&&(ye(fe)&&(fe=de(fe,ee+(fe.key==null||E&&E.key===fe.key?"":(""+fe.key).replace(ke,"$&/")+"/")+he)),Q.push(fe)),1;he=0;var $e=se===""?".":se+":";if(q(E))for(var Ie=0;Ie<E.length;Ie++)se=E[Ie],je=$e+ae(se,Ie),he+=P(se,Q,ee,je,fe);else if(Ie=N(E),typeof Ie=="function")for(E=Ie.call(E),Ie=0;!(se=E.next()).done;)se=se.value,je=$e+ae(se,Ie++),he+=P(se,Q,ee,je,fe);else if(je==="object"){if(typeof E.then=="function")return P(ge(E),Q,ee,se,fe);throw Q=String(E),Error("Objects are not valid as a React child (found: "+(Q==="[object Object]"?"object with keys {"+Object.keys(E).join(", ")+"}":Q)+"). If you meant to render a collection of children, use an array instead.")}return he}function G(E,Q,ee){if(E==null)return E;var se=[],fe=0;return P(E,se,"","",function(je){return Q.call(ee,je,fe++)}),se}function z(E){if(E._status===-1){var Q=E._result;Q=Q(),Q.then(function(ee){(E._status===0||E._status===-1)&&(E._status=1,E._result=ee)},function(ee){(E._status===0||E._status===-1)&&(E._status=2,E._result=ee)}),E._status===-1&&(E._status=0,E._result=Q)}if(E._status===1)return E._result.default;throw E._result}var le=typeof reportError=="function"?reportError:function(E){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof E=="object"&&E!==null&&typeof E.message=="string"?String(E.message):String(E),error:E});if(!window.dispatchEvent(Q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",E);return}console.error(E)},pe={map:G,forEach:function(E,Q,ee){G(E,function(){Q.apply(this,arguments)},ee)},count:function(E){var Q=0;return G(E,function(){Q++}),Q},toArray:function(E){return G(E,function(Q){return Q})||[]},only:function(E){if(!ye(E))throw Error("React.Children.only expected to receive a single React element child.");return E}};return be.Activity=b,be.Children=pe,be.Component=R,be.Fragment=r,be.Profiler=c,be.PureComponent=O,be.StrictMode=l,be.Suspense=x,be.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=V,be.__COMPILER_RUNTIME={__proto__:null,c:function(E){return V.H.useMemoCache(E)}},be.cache=function(E){return function(){return E.apply(null,arguments)}},be.cacheSignal=function(){return null},be.cloneElement=function(E,Q,ee){if(E==null)throw Error("The argument must be a React element, but you passed "+E+".");var se=T({},E.props),fe=E.key;if(Q!=null)for(je in Q.key!==void 0&&(fe=""+Q.key),Q)!H.call(Q,je)||je==="
25key"||je==="__self"||je==="__source"||je==="ref"&&Q.ref===void 0||(se[je]=Q[je]);var je=arguments.length-2;if(je===1)se.children=ee;else if(1<je){for(var he=Array(je),$e=0;$e<je;$e++)he[$e]=arguments[$e+2];se.children=he}return ie(E.type,fe,se)},be.createContext=function(E){return E={$$typeof:m,_currentValue:E,_currentValue2:E,_threadCount:0,Provider:null,Consumer:null},E.Provider=E,E.Consumer={$$typeof:u,_context:E},E},be.createElement=function(E,Q,ee){var se,fe={},je=null;if(Q!=null)for(se in Q.key!==void 0&&(je=""+Q.key),Q)H.call(Q,se)&&se!=="key"&&se!=="__self"&&se!=="__source"&&(fe[se]=Q[se]);var he=arguments.length-2;if(he===1)fe.children=ee;else if(1<he){for(var $e=Array(he),Ie=0;Ie<he;Ie++)$e[Ie]=arguments[Ie+2];fe.children=$e}if(E&&E.defaultProps)for(se in he=E.defaultProps,he)fe[se]===void 0&&(fe[se]=he[se]);return ie(E,je,fe)},be.createRef=function(){return{current:null}},be.forwardRef=function(E){return{$$typeof:p,render:E}},be.isValidElement=ye,be.lazy=function(E){return{$$typeof:y,_payload:{_status:-1,_result:E},_init:z}},be.memo=function(E,Q){return{$$typeof:f,type:E,compare:Q===void 0?null:Q}},be.startTransition=function(E){var Q=V.T,ee={};V.T=ee;try{var se=E(),fe=V.S;fe!==null&&fe(ee,se),typeof se=="object"&&se!==null&&typeof se.then=="function"&&se.then(Z,le)}catch(je){le(je)}finally{Q!==null&&ee.types!==null&&(Q.types=ee.types),V.T=Q}},be.unstable_useCacheRefresh=function(){return V.H.useCacheRefresh()},be.use=function(E){return V.H.use(E)},be.useActionState=function(E,Q,ee){return V.H.useActionState(E,Q,ee)},be.useCallback=function(E,Q){return V.H.useCallback(E,Q)},be.useContext=function(E){return V.H.useContext(E)},be.useDebugValue=function(){},be.useDeferredValue=function(E,Q){return V.H.useDeferredValue(E,Q)},be.useEffect=function(E,Q){return V.H.useEffect(E,Q)},be.useEffectEvent=function(E){return V.H.useEffectEvent(E)},be.useId=function(){return V.H.useId()},be.useImperativeHandle=function(E,Q,ee){return V.H.useImperativeHandle(E,Q,ee)},be.useInsertionEffect=function(E,Q){return V.H.useInsertionEffect(E,Q)},be.useLayoutEffect=function(E,Q){return V.H.useLayoutEffect(E,Q)},be.useMemo=function(E,Q){return V.H.useMemo(E,Q)},be.useOptimistic=function(E,Q){return V.H.useOptimistic(E,Q)},be.useReducer=function(E,Q,ee){return V.H.useReducer(E,Q,ee)},be.useRef=function(E){return V.H.useRef(E)},be.useState=function(E){return V.H.useState(E)},be.useSyncExternalStore=function(E,Q,ee){return V.H.useSyncExternalStore(E,Q,ee)},be.useTransition=function(){return V.H.useTransition()},be.version="19.2.0",be}var Hy;function Ul(){return Hy||(Hy=1,jh.exports=lT()),jh.exports}var wh={exports:{}},bt={};/**
26 * @license React
27 * react-dom.production.js
28 *
29 * Copyright (c) Meta Platforms, Inc. and affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var Yy;function cT(){if(Yy)return bt;Yy=1;var s=Ul();function i(x){var f="https://react.dev/errors/"+x;if(1<arguments.length){f+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)f+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+x+"; visit "+f+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var l={d:{f:r,r:function(){throw Error(i(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},c=Symbol.for("react.portal");function u(x,f,y){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c,key:b==null?null:""+b,children:x,containerInfo:f,implementation:y}}var m=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function p(x,f){if(x==="font")return"";if(typeof f=="string")return f==="use-credentials"?f:""}return bt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,bt.createPortal=function(x,f){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11)throw Error(i(299));return u(x,f,null,y)},bt.flushSync=function(x){var f=m.T,y=l.p;try{if(m.T=null,l.p=2,x)return x()}finally{m.T=f,l.p=y,l.d.f()}}
vendor: 7,554 bytes, lines 33-43
33,bt.preconnect=function(x,f){typeof x=="string"&&(f?(f=f.crossOrigin,f=typeof f=="string"?f==="use-credentials"?f:"":void 0):f=null,l.d.C(x,f))},bt.prefetchDNS=function(x){typeof x=="string"&&l.d.D(x)},bt.preinit=function(x,f){if(typeof x=="string"&&f&&typeof f.as=="string"){var y=f.as,b=p(y,f.crossOrigin),j=typeof f.integrity=="string"?f.integrity:void 0,N=typeof f.fetchPriority=="string"?f.fetchPriority:void 0;y==="style"?l.d.S(x,typeof f.precedence=="string"?f.precedence:void 0,{crossOrigin:b,integrity:j,fetchPriority:N}):y==="script"&&l.d.X(x,{crossOrigin:b,integrity:j,fetchPriority:N,nonce:typeof f.nonce=="string"?f.nonce:void 0})}},bt.preinitModule=function(x,f){if(typeof x=="string")if(typeof f=="object"&&f!==null){if(f.as==null||f.as==="script"){var y=p(f.as,f.crossOrigin);l.d.M(x,{crossOrigin:y,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0})}}else f==null&&l.d.M(x)},bt.preload=function(x,f){if(typeof x=="string"&&typeof f=="object"&&f!==null&&typeof f.as=="string"){var y=f.as,b=p(y,f.crossOrigin);l.d.L(x,y,{crossOrigin:b,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,type:typeof f.type=="string"?f.type:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0,referrerPolicy:typeof f.referrerPolicy=="string"?f.referrerPolicy:void 0,imageSrcSet:typeof f.imageSrcSet=="string"?f.imageSrcSet:void 0,imageSizes:typeof f.imageSizes=="string"?f.imageSizes:void 0,media:typeof f.media=="string"?f.media:void 0})}},bt.preloadModule=function(x,f){if(typeof x=="string")if(f){var y=p(f.as,f.crossOrigin);l.d.m(x,{as:typeof f.as=="string"&&f.as!=="script"?f.as:void 0,crossOrigin:y,integrity:typeof f.integrity=="string"?f.integrity:void 0})}else l.d.m(x)},bt.requestFormReset=function(x){l.d.r(x)},bt.unstable_batchedUpdates=function(x,f){return x(f)},bt.useFormState=function(x,f,y){return m.H.useFormState(x,f,y)},bt.useFormStatus=function(){return m.H.useHostTransitionStatus()},bt.version="19.2.0",bt}var qy;function Kb(){if(qy)return wh.exports;qy=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(i){console.error(i)}}return s(),wh.exports=cT(),wh.exports}/**
34 * @license React
35 * react-dom-client.production.js
36 *
37 * Copyright (c) Meta Platforms, Inc. and affiliates.
38 *
39 * This source code is licensed under the MIT license found in the
40 * LICENSE file in the root directory of this source tree.
41 */var Gy;function dT(){if(Gy)return ur;Gy=1;var s=oT(),i=Ul(),r=Kb();function l(t){var a="https://react.dev/errors/"+t;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)a+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+t+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function u(t){var a=t,n=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do a=t,(a.flags&4098)!==0&&(n=a.return),t=a.return;while(t)}return a.tag===3?n:null}function m(t){if(t.tag===13){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function p(t){if(t.tag===31){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function x(t){if(u(t)!==t)throw Error(l(188))}function f(t){var a=t.alternate;if(!a){if(a=u(t),a===null)throw Error(l(188));return a!==t?null:t}for(var n=t,o=a;;){var d=n.return;if(d===null)break;var h=d.alternate;if(h===null){if(o=d.return,o!==null){n=o;continue}break}if(d.child===h.child){for(h=d.child;h;){if(h===n)return x(d),t;if(h===o)return x(d),a;h=h.sibling}throw Error(l(188))}if(n.return!==o.return)n=d,o=h;else{for(var g=!1,v=d.child;v;){if(v===n){g=!0,n=d,o=h;break}if(v===o){g=!0,o=d,n=h;break}v=v.sibling}if(!g){for(v=h.child;v;){if(v===n){g=!0,n=h,o=d;break}if(v===o){g=!0,o=h,n=d;break}v=v.sibling}if(!g)throw Error(l(189))}}if(n.alternate!==o)throw Error(l(190))}if(n.tag!==3)throw Error(l(188));return n.stateNode.current===n?t:a}function y(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=y(t),a!==null)return a;t=t.sibling}return null}var b=Object.assign,j=Symbol.for("react.element"),N=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),M=Symbol.for("react.consumer"),O=Symbol.for("react.context"),Y=Symbol.for("react.forward_ref"),q=Symbol.for("react.suspense"),Z=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),H=Symbol.for("react.lazy"),ie=Symbol.for("react.activity"),de=Symbol.for("react.memo_cache_sentinel"),ye=Symbol.iterator;function ve(t){return t===null||typeof t!="object"?null:(t=ye&&t[ye]||t["@@iterator"],typeof t=="function"?t:null)}var ke=Symbol.for("react.client.reference");function ae(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===ke?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case T:return"Fragment";case R:return"Profiler";case C:return"StrictMode";case q:return"Suspense";case Z:return"SuspenseList";case ie:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case S:return"Portal";case O:return t.displayName||"Context";case M:return(t._context.displayName||"Context")+".Consumer";case Y:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case V:return a=t.displayName||null,a!==null?a:ae(t.type)||"Memo";case H:a=t._payload,t=t._init;try{return ae(t(a))}catch{}}return null}var ge=Array.isArray,P=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z={pending:!1,data:null,method:null,action:null},le=[],pe=-1;function E(t){return{current:t}}function Q(t){0>pe||(t.current=le[pe],le[pe]=null,pe--)}function ee(t,a){pe++,le[pe]=t.current,t.current=a}var se=E(null),fe=E(null),je=E(null),he=E(null);function $e(t,a){switch(ee(je,a),ee(fe,t),ee(se,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?oy(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=oy(a),t=ly(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Q(se),ee(se,t)}function Ie(){Q(se),Q(fe),Q(je)}function Qt(t){t.memoizedState!==null&&ee(he,t);var a=se.current,n=ly(a,t.type);a!==n&&(ee(fe,t),ee(se,n))}function ys(t){fe.current===t&&(Q(se),Q(fe)),he.current===t&&(Q(he),or._currentValue=z)}var gs,Ba;function za(t){if(gs===void 0)try{throw Error()}catch(n){var a=n.stack.trim().match(/\n( *(at )?)/);gs=a&&a[1]||"",Ba=-1<n.stack.indexOf(`
42    at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
43`+gs+t+Ba}var ec=!1;function tc(t,a){if(!t||ec)return"";ec=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(a){var K=function(){throw Error()};if(Object.defineProperty(K.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(K,[])}catch(W){var B=W}Reflect.construct(t,[],K)}else{try{K.call()}catch(W){B=W}t.call(K.prototype)}}else{try{throw Error()}catch(W){B=W}(K=t())&&typeof K.catch=="function"&&K.catch(function(){})}}
vendor: 7,730 bytes, lines 43-48
43catch(W){if(W&&B&&typeof W.stack=="string")return[W.stack,B.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var d=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");d&&d.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var h=o.DetermineComponentFrameRoot(),g=h[0],v=h[1];if(g&&v){var A=g.split(`
44`),I=v.split(`
45`);for(d=o=0;o<A.length&&!A[o].includes("DetermineComponentFrameRoot");)o++;for(;d<I.length&&!I[d].includes("DetermineComponentFrameRoot");)d++;if(o===A.length||d===I.length)for(o=A.length-1,d=I.length-1;1<=o&&0<=d&&A[o]!==I[d];)d--;for(;1<=o&&0<=d;o--,d--)if(A[o]!==I[d]){if(o!==1||d!==1)do if(o--,d--,0>d||A[o]!==I[d]){var F=`
46`+A[o].replace(" at new "," at ");return t.displayName&&F.includes("<anonymous>")&&(F=F.replace("<anonymous>",t.displayName)),F}while(1<=o&&0<=d);break}}}finally{ec=!1,Error.prepareStackTrace=n}return(n=t?t.displayName||t.name:"")?za(n):""}function Pw(t,a){switch(t.tag){case 26:case 27:case 5:return za(t.type);case 16:return za("Lazy");case 13:return t.child!==a&&a!==null?za("Suspense Fallback"):za("Suspense");case 19:return za("SuspenseList");case 0:case 15:return tc(t.type,!1);case 11:return tc(t.type.render,!1);case 1:return tc(t.type,!0);case 31:return za("Activity");default:return""}}function Im(t){try{var a="",n=null;do a+=Pw(t,n),n=t,t=t.return;while(t);return a}catch(o){return`
47Error generating stack: `+o.message+`
48`+o.stack}}var sc=Object.prototype.hasOwnProperty,ac=s.unstable_scheduleCallback,ic=s.unstable_cancelCallback,Mw=s.unstable_shouldYield,Uw=s.unstable_requestPaint,Pt=s.unstable_now,Iw=s.unstable_getCurrentPriorityLevel,Bm=s.unstable_ImmediatePriority,zm=s.unstable_UserBlockingPriority,zr=s.unstable_NormalPriority,Bw=s.unstable_LowPriority,Vm=s.unstable_IdlePriority,zw=s.log,Vw=s.unstable_setDisableYieldValue,bn=null,Mt=null;function sa(t){if(typeof zw=="function"&&Vw(t),Mt&&typeof Mt.setStrictMode=="function")try{Mt.setStrictMode(bn,t)}catch{}}var Ut=Math.clz32?Math.clz32:Hw,_w=Math.log,Ww=Math.LN2;function Hw(t){return t>>>=0,t===0?32:31-(_w(t)/Ww|0)|0}var Vr=256,_r=262144,Wr=4194304;function Va(t){var a=t&42;if(a!==0)return a;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Hr(t,a,n){var o=t.pendingLanes;if(o===0)return 0;var d=0,h=t.suspendedLanes,g=t.pingedLanes;t=t.warmLanes;var v=o&134217727;return v!==0?(o=v&~h,o!==0?d=Va(o):(g&=v,g!==0?d=Va(g):n||(n=v&~t,n!==0&&(d=Va(n))))):(v=o&~h,v!==0?d=Va(v):g!==0?d=Va(g):n||(n=o&~t,n!==0&&(d=Va(n)))),d===0?0:a!==0&&a!==d&&(a&h)===0&&(h=d&-d,n=a&-a,h>=n||h===32&&(n&4194048)!==0)?a:d}function vn(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function Yw(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function _m(){var t=Wr;return Wr<<=1,(Wr&62914560)===0&&(Wr=4194304),t}function nc(t){for(var a=[],n=0;31>n;n++)a.push(t);return a}function jn(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function qw(t,a,n,o,d,h){var g=t.pendingLanes;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=n,t.entangledLanes&=n,t.errorRecoveryDisabledLanes&=n,t.shellSuspendCounter=0;var v=t.entanglements,A=t.expirationTimes,I=t.hiddenUpdates;for(n=g&~n;0<n;){var F=31-Ut(n),K=1<<F;v[F]=0,A[F]=-1;var B=I[F];if(B!==null)for(I[F]=null,F=0;F<B.length;F++){var W=B[F];W!==null&&(W.lane&=-536870913)}n&=~K}o!==0&&Wm(t,o,0),h!==0&&d===0&&t.tag!==0&&(t.suspendedLanes|=h&~(g&~a))}function Wm(t,a,n){t.pendingLanes|=a,t.suspendedLanes&=~a;var o=31-Ut(a);t.entangledLanes|=a,t.entanglements[o]=t.entanglements[o]|1073741824|n&261930}function Hm(t,a){var n=t.entangledLanes|=a;for(t=t.entanglements;n;){var o=31-Ut(n),d=1<<o;d&a|t[o]&a&&(t[o]|=a),n&=~d}}function Ym(t,a){var n=a&-a;return n=(n&42)!==0?1:rc(n),(n&(t.suspendedLanes|a))!==0?0:n}function rc(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function oc(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function qm(){var t=G.p;return t!==0?t:(t=window.event,t===void 0?32:Dy(t.type))}function Gm(t,a){var n=G.p;try{return G.p=t,a()}finally{G.p=n}}var aa=Math.random().toString(36).slice(2),mt="__reactFiber$"+aa,St="__reactProps$"+aa,mi="__reactContainer$"+aa,lc="__reactEvents$"+aa,Gw="__reactListeners$"+aa,Fw="__reactHandles$"+aa,Fm="__reactResources$"+aa,wn="__reactMarker$"+aa;function cc(t){delete t[mt],delete t[St],delete t[lc],delete t[Gw],delete t[Fw]}function pi(t){var a=t[mt];if(a)return a;for(var n=t.parentNode;n;){if(a=n[mi]||n[mt]){if(n=a.alternate,a.child!==null||n!==null&&n.child!==null)for(t=fy(t);t!==null;){if(n=t[mt])return n;t=fy(t)}return a}t=n,n=t.parentNode}return null}function fi(t){if(t=t[mt]||t[mi]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function Nn(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(l(33))}function xi(t){var a=t[Fm];return a||(a=t[Fm]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function dt(t){t[wn]=!0}var Qm=new Set,Xm={};function _a(t,a){yi(t,a),yi(t+"Capture",a)}function yi(t,a){for(Xm[t]=a,t=0;t<a.length;t++)Qm.add(a[t])}var Qw=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Km={},Zm={};function Xw(t){return sc.call(Zm,t)?!0:sc.call(Km,t)?!1:Qw.test(t)?Zm[t]=!0:(Km[t]=!0,!1)}function Yr(t,a,n){if(Xw(a))if(n===null)t.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":t.removeAttribute(a);return;case"boolean":var o=a.toLowerCase().slice(0,5);if(o!=="data-"&&o!=="aria-"){t.removeAttribute(a);return}}t.setAttribute(a,""+n)}}function qr(t,a,n){if(n===null)t.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(a);return}t.setAttribute(a,""+n)}}function Rs(t,a,n,o){if(o===null)t.removeAttribute(n);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttributeNS(a,n,""+o)}}function Xt(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function $m(t){var a=t.type;
vendor: 5,493 bytes, line 48
48return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function Kw(t,a,n){var o=Object.getOwnPropertyDescriptor(t.constructor.prototype,a);if(!t.hasOwnProperty(a)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,h=o.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return d.call(this)},set:function(g){n=""+g,h.call(this,g)}}),Object.defineProperty(t,a,{enumerable:o.enumerable}),{getValue:function(){return n},setValue:function(g){n=""+g},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function dc(t){if(!t._valueTracker){var a=$m(t)?"checked":"value";t._valueTracker=Kw(t,a,""+t[a])}}function Jm(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var n=a.getValue(),o="";return t&&(o=$m(t)?t.checked?"true":"false":t.value),t=o,t!==n?(a.setValue(t),!0):!1}function Gr(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Zw=/[\n"\\]/g;function Kt(t){return t.replace(Zw,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function hc(t,a,n,o,d,h,g,v){t.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?t.type=g:t.removeAttribute("type"),a!=null?g==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+Xt(a)):t.value!==""+Xt(a)&&(t.value=""+Xt(a)):g!=="submit"&&g!=="reset"||t.removeAttribute("value"),a!=null?uc(t,g,Xt(a)):n!=null?uc(t,g,Xt(n)):o!=null&&t.removeAttribute("value"),d==null&&h!=null&&(t.defaultChecked=!!h),d!=null&&(t.checked=d&&typeof d!="function"&&typeof d!="symbol"),v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?t.name=""+Xt(v):t.removeAttribute("name")}function ep(t,a,n,o,d,h,g,v){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(t.type=h),a!=null||n!=null){if(!(h!=="submit"&&h!=="reset"||a!=null)){dc(t);return}n=n!=null?""+Xt(n):"",a=a!=null?""+Xt(a):n,v||a===t.value||(t.value=a),t.defaultValue=a}o=o??d,o=typeof o!="function"&&typeof o!="symbol"&&!!o,t.checked=v?t.checked:!!o,t.defaultChecked=!!o,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.name=g),dc(t)}function uc(t,a,n){a==="number"&&Gr(t.ownerDocument)===t||t.defaultValue===""+n||(t.defaultValue=""+n)}function gi(t,a,n,o){if(t=t.options,a){a={};for(var d=0;d<n.length;d++)a["$"+n[d]]=!0;for(n=0;n<t.length;n++)d=a.hasOwnProperty("$"+t[n].value),t[n].selected!==d&&(t[n].selected=d),d&&o&&(t[n].defaultSelected=!0)}else{for(n=""+Xt(n),a=null,d=0;d<t.length;d++){if(t[d].value===n){t[d].selected=!0,o&&(t[d].defaultSelected=!0);return}a!==null||t[d].disabled||(a=t[d])}a!==null&&(a.selected=!0)}}function tp(t,a,n){if(a!=null&&(a=""+Xt(a),a!==t.value&&(t.value=a),n==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=n!=null?""+Xt(n):""}function sp(t,a,n,o){if(a==null){if(o!=null){if(n!=null)throw Error(l(92));if(ge(o)){if(1<o.length)throw Error(l(93));o=o[0]}n=o}n==null&&(n=""),a=n}n=Xt(a),t.defaultValue=n,o=t.textContent,o===n&&o!==""&&o!==null&&(t.value=o),dc(t)}function bi(t,a){if(a){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=a;return}}t.textContent=a}var $w=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function ap(t,a,n){var o=a.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?o?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="":o?t.setProperty(a,n):typeof n!="number"||n===0||$w.has(a)?a==="float"?t.cssFloat=n:t[a]=(""+n).trim():t[a]=n+"px"}function ip(t,a,n){if(a!=null&&typeof a!="object")throw Error(l(62));if(t=t.style,n!=null){for(var o in n)!n.hasOwnProperty(o)||a!=null&&a.hasOwnProperty(o)||(o.indexOf("--")===0?t.setProperty(o,""):o==="float"?t.cssFloat="":t[o]="");for(var d in a)o=a[d],a.hasOwnProperty(d)&&n[d]!==o&&ap(t,d,o)}else for(var h in a)a.hasOwnProperty(h)&&ap(t,h,a[h])}function mc(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Jw=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRen
48dering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),eN=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Fr(t){return eN.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Os(){}var pc=null;function fc(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var vi=null,ji=null;function np(t){var a=fi(t);if(a&&(t=a.stateNode)){var n=t[St]||null;e:switch(t=a.stateNode,a.type){case"input":if(hc(t,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),a=n.name,n.type==="radio"&&a!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Kt(""+a)+'"][type="radio"]'),a=0;a<n.length;a++){var o=n[a];if(o!==t&&o.form===t.form){var d=o[St]||null;if(!d)throw Error(l(90));hc(o,d.value,d.defaultValue,d.defaultValue,d.checked,d.defaultChecked,d.type,d.name)}}for(a=0;a<n.length;a++)o=n[a],o.form===t.form&&Jm(o)}break e;case"textarea":tp(t,n.value,n.defaultValue);break e;case"select":a=n.value,a!=null&&gi(t,!!n.multiple,a,!1)}}}var xc=!1;function rp(t,a,n){if(xc)return t(a,n);xc=!0;try{var o=t(a);return o}finally{if(xc=!1,(vi!==null||ji!==null)&&(Mo(),vi&&(a=vi,t=ji,ji=vi=null,np(a),t)))for(a=0;a<t.length;a++)np(t[a])}}function Tn(t,a){var n=t.stateNode;if(n===null)return null;var o=n[St]||null;if(o===null)return null;n=o[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(t=t.type,o=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!o;break e;default:t=!1}if(t)return null;if(n&&typeof n!="function")throw Error(l(231,a,typeof n));return n}var Ps=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),yc=!1;if(Ps)try{var Sn={};Object.defineProperty(Sn,"passive",{get:function(){yc=!0}}),window.addEventListener("test",Sn,Sn),window.removeEventListener("test",Sn,Sn)}catch{yc=!1}
vendor: 5,658 bytes, line 48
48var ia=null,gc=null,Qr=null;function op(){if(Qr)return Qr;var t,a=gc,n=a.length,o,d="value"in ia?ia.value:ia.textContent,h=d.length;for(t=0;t<n&&a[t]===d[t];t++);var g=n-t;for(o=1;o<=g&&a[n-o]===d[h-o];o++);return Qr=d.slice(t,1<o?1-o:void 0)}function Xr(t){var a=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&a===13&&(t=13)):t=a,t===10&&(t=13),32<=t||t===13?t:0}function Kr(){return!0}function lp(){return!1}function At(t){function a(n,o,d,h,g){this._reactName=n,this._targetInst=d,this.type=o,this.nativeEvent=h,this.target=g,this.currentTarget=null;for(var v in t)t.hasOwnProperty(v)&&(n=t[v],this[v]=n?n(h):h[v]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?Kr:lp,this.isPropagationStopped=lp,this}return b(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Kr)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Kr)},persist:function(){},isPersistent:Kr}),a}var Wa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zr=At(Wa),An=b({},Wa,{view:0,detail:0}),tN=At(An),bc,vc,Cn,$r=b({},An,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wc,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Cn&&(Cn&&t.type==="mousemove"?(bc=t.screenX-Cn.screenX,vc=t.screenY-Cn.screenY):vc=bc=0,Cn=t),bc)},movementY:function(t){return"movementY"in t?t.movementY:vc}}),cp=At($r),sN=b({},$r,{dataTransfer:0}),aN=At(sN),iN=b({},An,{relatedTarget:0}),jc=At(iN),nN=b({},Wa,{animationName:0,elapsedTime:0,pseudoElement:0}),rN=At(nN),oN=b({},Wa,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),lN=At(oN),cN=b({},Wa,{data:0}),dp=At(cN),dN={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},hN={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},uN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function mN(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=uN[t])?!!a[t]:!1}function wc(){return mN}var pN=b({},An,{key:function(t){if(t.key){var a=dN[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=Xr(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?hN[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wc,charCode:function(t){return t.type==="keypress"?Xr(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Xr(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),fN=At(pN),xN=b({},$r,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),hp=At(xN),yN=b({},An,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wc}),gN=At(yN),bN=b({},Wa,{propertyName:0,elapsedTime:0,pseudoElement:0}),vN=At(bN),jN=b({},$r,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),wN=At(jN),NN=b({},Wa,{newState:0,oldState:0}),TN=At(NN),SN=[9,13,27,32],Nc=Ps&&"CompositionEvent"in window,En=null;Ps&&"documentMode"in document&&(En=document.documentMode);var AN=Ps&&"TextEvent"in window&&!En,up=Ps&&(!Nc||En&&8<En&&11>=En),mp=" ",pp=!1;function fp(t,a){switch(t){case"keyup":return SN.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xp(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var wi=!1;function CN(t,a){switch(t){case"compositionend":return xp(a);case"keypress":return a.which!==32?null:(pp=!0,mp);case"textInput":return t=a.data,t===mp&&pp?null:t;default:return null}}function EN(t,a){if(wi)return t==="compositionend"||!Nc&&fp(t,a)?(t=op(),Qr=gc=ia=null,wi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return up&&a.locale!=="ko"?null:a.data;default:return null}}var kN={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function yp(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!kN[t.type]:a==="textarea"}function gp(t,a,n,o){vi?ji?ji.push(o):ji=[o]:vi=o,a=Wo(a,"onChange"),0<a.length&&(n=new Zr("onChange","change",null,n,o),t.push({event:n,listeners:a}))}
vendor: 6,121 bytes, line 48
48var kn=null,Ln=null;function LN(t){ty(t,0)}function Jr(t){var a=Nn(t);if(Jm(a))return t}function bp(t,a){if(t==="change")return a}var vp=!1;if(Ps){var Tc;if(Ps){var Sc="oninput"in document;if(!Sc){var jp=document.createElement("div");jp.setAttribute("oninput","return;"),Sc=typeof jp.oninput=="function"}Tc=Sc}else Tc=!1;vp=Tc&&(!document.documentMode||9<document.documentMode)}function wp(){kn&&(kn.detachEvent("onpropertychange",Np),Ln=kn=null)}function Np(t){if(t.propertyName==="value"&&Jr(Ln)){var a=[];gp(a,Ln,t,fc(t)),rp(LN,a)}}function DN(t,a,n){t==="focusin"?(wp(),kn=a,Ln=n,kn.attachEvent("onpropertychange",Np)):t==="focusout"&&wp()}function RN(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Jr(Ln)}function ON(t,a){if(t==="click")return Jr(a)}function PN(t,a){if(t==="input"||t==="change")return Jr(a)}function MN(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var It=typeof Object.is=="function"?Object.is:MN;function Dn(t,a){if(It(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;var n=Object.keys(t),o=Object.keys(a);if(n.length!==o.length)return!1;for(o=0;o<n.length;o++){var d=n[o];if(!sc.call(a,d)||!It(t[d],a[d]))return!1}return!0}function Tp(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Sp(t,a){var n=Tp(t);t=0;for(var o;n;){if(n.nodeType===3){if(o=t+n.textContent.length,t<=a&&o>=a)return{node:n,offset:a-t};t=o}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Tp(n)}}function Ap(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?Ap(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function Cp(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Gr(t.document);a instanceof t.HTMLIFrameElement;){try{var n=typeof a.contentWindow.location.href=="string"}catch{n=!1}if(n)t=a.contentWindow;else break;a=Gr(t.document)}return a}function Ac(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var UN=Ps&&"documentMode"in document&&11>=document.documentMode,Ni=null,Cc=null,Rn=null,Ec=!1;function Ep(t,a,n){var o=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ec||Ni==null||Ni!==Gr(o)||(o=Ni,"selectionStart"in o&&Ac(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Rn&&Dn(Rn,o)||(Rn=o,o=Wo(Cc,"onSelect"),0<o.length&&(a=new Zr("onSelect","select",null,a,n),t.push({event:a,listeners:o}),a.target=Ni)))}function Ha(t,a){var n={};return n[t.toLowerCase()]=a.toLowerCase(),n["Webkit"+t]="webkit"+a,n["Moz"+t]="moz"+a,n}var Ti={animationend:Ha("Animation","AnimationEnd"),animationiteration:Ha("Animation","AnimationIteration"),animationstart:Ha("Animation","AnimationStart"),transitionrun:Ha("Transition","TransitionRun"),transitionstart:Ha("Transition","TransitionStart"),transitioncancel:Ha("Transition","TransitionCancel"),transitionend:Ha("Transition","TransitionEnd")},kc={},kp={};Ps&&(kp=document.createElement("div").style,"AnimationEvent"in window||(delete Ti.animationend.animation,delete Ti.animationiteration.animation,delete Ti.animationstart.animation),"TransitionEvent"in window||delete Ti.transitionend.transition);function Ya(t){if(kc[t])return kc[t];if(!Ti[t])return t;var a=Ti[t],n;for(n in a)if(a.hasOwnProperty(n)&&n in kp)return kc[t]=a[n];return t}var Lp=Ya("animationend"),Dp=Ya("animationiteration"),Rp=Ya("animationstart"),IN=Ya("transitionrun"),BN=Ya("transitionstart"),zN=Ya("transitioncancel"),Op=Ya("transitionend"),Pp=new Map,Lc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Lc.push("scrollEnd");function ds(t,a){Pp.set(t,a),_a(a,[t])}var eo=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},Zt=[],Si=0,Dc=0;function to(){for(var t=Si,a=Dc=Si=0;a<t;){var n=Zt[a];Zt[a++]=null;var o=Zt[a];Zt[a++]=null;var d=Zt[a];Zt[a++]=null;var h=Zt[a];if(Zt[a++]=null,o!==null&&d!==null){var g=o.pending;g===null?d.next=d:(d.next=g.next,g.next=d),o.pending=d}h!==0&&Mp(n,d,h)}}function so(t,a,n,o){Zt[Si++]=t,Zt[Si++]=a,Zt[Si++]=n,Zt[Si++]=o,Dc|=o,t.lanes|=o,t=t.alternate,t!==null&&(t.lanes|=o)}function Rc(t,a,n,o){return so(t,a,n,o),ao(t)}function qa(t,a){return so(t,null,null,a),ao(t)}function Mp(t,a,n){t.lanes|=n;var o=t.alternate;o!==null&&(o.lanes|=n);for(var d=!1,h=t.return;h!==null;)h.childLanes|=n,o=h.alternate,o!==null&&(o.childLanes|=n),h.tag===22&&(t=h.stateNode,t===null||t._visibility&1||(d=!0)),t=h,h=h.return;return t.tag===3?(h=t.stateNode,d&&a!==null&&(d=31-Ut(n),t=h.hiddenUpdates,o=t[d],o===null?t[d]=[a]:o.push(a),a.lane=n|536870912),h):null}function ao(t){if(50<er)throw er=0,_d=null,Error(l(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var Ai={};function VN(t,a,n,o){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.t
vendor: 18,689 bytes, line 48
48ype=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bt(t,a,n,o){return new VN(t,a,n,o)}function Oc(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Ms(t,a){var n=t.alternate;return n===null?(n=Bt(t.tag,a,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=a,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&65011712,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,a=t.dependencies,n.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n.refCleanup=t.refCleanup,n}function Up(t,a){t.flags&=65011714;var n=t.alternate;return n===null?(t.childLanes=0,t.lanes=a,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,t.type=n.type,a=n.dependencies,t.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),t}function io(t,a,n,o,d,h){var g=0;if(o=t,typeof t=="function")Oc(t)&&(g=1);else if(typeof t=="string")g=q1(t,n,se.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case ie:return t=Bt(31,n,a,d),t.elementType=ie,t.lanes=h,t;case T:return Ga(n.children,d,h,a);case C:g=8,d|=24;break;case R:return t=Bt(12,n,a,d|2),t.elementType=R,t.lanes=h,t;case q:return t=Bt(13,n,a,d),t.elementType=q,t.lanes=h,t;case Z:return t=Bt(19,n,a,d),t.elementType=Z,t.lanes=h,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case O:g=10;break e;case M:g=9;break e;case Y:g=11;break e;case V:g=14;break e;case H:g=16,o=null;break e}g=29,n=Error(l(130,t===null?"null":typeof t,"")),o=null}return a=Bt(g,n,a,d),a.elementType=t,a.type=o,a.lanes=h,a}function Ga(t,a,n,o){return t=Bt(7,t,o,a),t.lanes=n,t}function Pc(t,a,n){return t=Bt(6,t,null,a),t.lanes=n,t}function Ip(t){var a=Bt(18,null,null,0);return a.stateNode=t,a}function Mc(t,a,n){return a=Bt(4,t.children!==null?t.children:[],t.key,a),a.lanes=n,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var Bp=new WeakMap;function $t(t,a){if(typeof t=="object"&&t!==null){var n=Bp.get(t);return n!==void 0?n:(a={value:t,source:a,stack:Im(a)},Bp.set(t,a),a)}return{value:t,source:a,stack:Im(a)}}var Ci=[],Ei=0,no=null,On=0,Jt=[],es=0,na=null,bs=1,vs="";function Us(t,a){Ci[Ei++]=On,Ci[Ei++]=no,no=t,On=a}function zp(t,a,n){Jt[es++]=bs,Jt[es++]=vs,Jt[es++]=na,na=t;var o=bs;t=vs;var d=32-Ut(o)-1;o&=~(1<<d),n+=1;var h=32-Ut(a)+d;if(30<h){var g=d-d%5;h=(o&(1<<g)-1).toString(32),o>>=g,d-=g,bs=1<<32-Ut(a)+d|n<<d|o,vs=h+t}else bs=1<<h|n<<d|o,vs=t}function Uc(t){t.return!==null&&(Us(t,1),zp(t,1,0))}function Ic(t){for(;t===no;)no=Ci[--Ei],Ci[Ei]=null,On=Ci[--Ei],Ci[Ei]=null;for(;t===na;)na=Jt[--es],Jt[es]=null,vs=Jt[--es],Jt[es]=null,bs=Jt[--es],Jt[es]=null}function Vp(t,a){Jt[es++]=bs,Jt[es++]=vs,Jt[es++]=na,bs=a.id,vs=a.overflow,na=t}var pt=null,We=null,Le=!1,ra=null,ts=!1,Bc=Error(l(519));function oa(t){var a=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Pn($t(a,t)),Bc}function _p(t){var a=t.stateNode,n=t.type,o=t.memoizedProps;switch(a[mt]=t,a[St]=o,n){case"dialog":Ae("cancel",a),Ae("close",a);break;case"iframe":case"object":case"embed":Ae("load",a);break;case"video":case"audio":for(n=0;n<sr.length;n++)Ae(sr[n],a);break;case"source":Ae("error",a);break;case"img":case"image":case"link":Ae("error",a),Ae("load",a);break;case"details":Ae("toggle",a);break;case"input":Ae("invalid",a),ep(a,o.value,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name,!0);break;case"select":Ae("invalid",a);break;case"textarea":Ae("invalid",a),sp(a,o.value,o.defaultValue,o.children)}n=o.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||a.textContent===""+n||o.suppressHydrationWarning===!0||ny(a.textContent,n)?(o.popover!=null&&(Ae("beforetoggle",a),Ae("toggle",a)),o.onScroll!=null&&Ae("scroll",a),o.onScrollEnd!=null&&Ae("scrollend",a),o.onClick!=null&&(a.onclick=Os),a=!0):a=!1,a||oa(t,!0)}function Wp(t){for(pt=t.return;pt;)switch(pt.tag){case 5:case 31:case 13:ts=!1;return;case 27:case 3:ts=!0;return;default:pt=pt.return}}function ki(t){if(t!==pt)return!1;if(!Le)return Wp(t),Le=!0,!1;var a=t.tag,n;if((n=a!==3&&a!==27)&&((n=a===5)&&(n=t.type,n=!(n!=="form"&&n!=="button")||sh(t.type,t.memoizedProps)),n=!n),n&&We&&oa(t),Wp(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(317));We=py(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(317));We=py(t)}else a===27?(a=We,ja(t.type)?(t=oh,oh=null,We=t):We=a):We=pt?as(t.stateNode.nextSibling):null;return!0}function Fa(){We=pt=null,Le=!1}function zc(){var t=ra;return t!==null&&(Lt===null?Lt=t:Lt.push.apply(Lt,t),ra=null),t}function Pn(t){ra===null?ra=[t]:ra.push(t)}var Vc=E(null),Qa=null,Is=null;function la(t,a,n){ee(Vc,a._currentValue),a._currentValue=n}function Bs(t){t._currentValue=Vc.current,Q(Vc)}function _c(t,a,n){for(;t!==null;){var o=t.alternate;if((t.childLanes&a)!==a?(t.childLanes|=a,o!==null&&(o.childLanes|=a)):o!==null&&(o.childLanes&a)!==a&&(o.childLanes|=a),t===n)break;t=t.return}}function Wc(t,a,n,o){var d=t.child;for(d!==null&&(d.return=t);d!==null;){var h=d.dependencies;if(h!==null){var g=d.child;h=h.firstContext;e:for(;h!==null;){var v=h;h=d;for(var A=0;A<a.length;A++)if(v.context===a[A]){h.lanes|=n,v=h.alternate,v!==null&&(v.lanes|=n),_c(h.return,n,t),o||(g=null);break e}h=v.next}}else if(d.tag===18){if(g=d.return,g===null)throw Error(l(341));g.lanes|=n,h=g.alternate,h!==null&&(h.lanes|=n),_c(g,n,t),g=null}else g=d.child;if(g!==null)g.return=d;else for(g=d;g!==null;){if(g===t){g=null;break}if(d=g.sibling,d!==null){d.return=g.return,g=d;break}g=g.return}d=g}}function Li(t,a,n,o){t=null;for(var d=a,h=!1;d!==null;){if(!h){if((d.flags&524288)!==0)h=!0;else if((d.flags&262144)!==0)break}if(d.tag===10){var g=d.alternate;if(g===null)throw Error(l(387));if(g=g.memoizedProps,g!==null){var v=d.type;It(d.pendingProps.value,g.value)||(t!==null?t.push(v):t=[v])}}else if(d===he.current){if(g=d.alternate,g===null)throw Error(l(387));g.memoizedState.memoizedState!==d.memoizedState.memoizedState&&(t!==null?t.push(or):t=[or])}d=d.return}t!==null&&Wc(a,t,n,o),a.flags|=262144}function ro(t){for(t=t.firstContext;t!==null;){if(!It(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Xa(t){Qa=t,Is=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function ft(t){return Hp(Qa,t)}function oo(t,a){return Qa===null&&Xa(t),Hp(t,a)}function Hp(t,a){var n=a._currentValue;if(a={context:a,memoizedValue:n,next:null},Is===null){if(t===null)throw Error(l(308));Is=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else Is=Is.next=a;return n}var _N=typeof AbortController<"u"?AbortController:function(){var t=[],a=this.signal={aborted:!1,addEventListener:function(n,o){t.push(o)}};this.abort=function(){a.aborted=!0,t.forEach(function(n){return n()})}},WN=s.unstable_scheduleCallback,HN=s.unstable_NormalPriority,at={$$typeof:O,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Hc(){return{controller:new _N,data:new Map,refCount:0}}function Mn(t){t.refCount--,t.refCount===0&&WN(HN,function(){t.controller.abort()})}var Un=null,Yc=0,Di=0,Ri=null;function YN(t,a){if(Un===null){var n=Un=[];Yc=0,Di=Fd(),Ri={status:"pending",value:void 0,then:function(o){n.push(o)}}}return Yc++,a.then(Yp,Yp),a}function Yp(){if(--Yc===0&&Un!==null){Ri!==null&&(Ri.status="fulfilled");var t=Un;Un=null,Di=0,Ri=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function qN(t,a){var n=[],o={status:"pending",value:null,reason:null,then:function(d){n.push(d)}};return t.then(function(){o.status="fulfilled",o.value=a;for(var d=0;d<n.length;d++)(0,n[d])(a)},function(d){for(o.status="rejected",o.reason=d,d=0;d<n.length;d++)(0,n[d])(void 0)}),o}var qp=P.S;P.S=function(t,a){kx=Pt(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&YN(t,a),qp!==null&&qp(t,a)};var Ka=E(null);function qc(){var t=Ka.current;return t!==null?t:_e.pooledCache}function lo(t,a){a===null?ee(Ka,Ka.current):ee(Ka,a.pool)}function Gp(){var t=qc();return t===null?null:{parent:at._currentValue,pool:t}}var Oi=Error(l(460)),Gc=Error(l(474)),co=Error(l(542)),ho={then:function(){}};function Fp(t){return t=t.status,t==="fulfilled"||t==="rejected"}function Qp(t,a,n){switch(n=t[n],n===void 0?t.push(a):n!==a&&(a.then(Os,Os),a=n),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,Kp(t),t;default:if(typeof a.status=="string")a.then(Os,Os);else{if(t=_e,t!==null&&100<t.shellSuspendCounter)throw Error(l(482));t=a,t.status="pending",t.then(function(o){if(a.status==="pending"){var d=a;d.status="fulfilled",d.value=o}},function(o){if(a.status==="pending"){var d=a;d.status="rejected",d.reason=o}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,Kp(t),t}throw $a=a,Oi}}function Za(t){try{var a=t._init;return a(t._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?($a=n,Oi):n}}var $a=null;function Xp(){if($a===null)throw Error(l(459));var t=$a;return $a=null,t}function Kp(t){if(t===Oi||t===co)throw Error(l(483))}var Pi=null,In=0;function uo(t){var a=In;return In+=1,Pi===null&&(Pi=[]),Qp(Pi,t,a)}function Bn(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function mo(t,a){throw a.$$typeof===j?Error(l(525)):(t=Object.prototype.toString.call(a),Error(l(31,t==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":t)))}function Zp(t){function a(D,k){if(t){var U=D.deletions;U===null?(D.deletions=[k],D.flags|=16):U.push(k)}}function n(D,k){if(!t)return null;for(;k!==null;)a(D,k),k=k.sibling;return null}function o(D){for(var k=new Map;D!==null;)D.key!==null?k.set(D.key,D):k.set(D.index,D),D=D.sibling;return k}function d(D,k){return D=Ms(D,k),D.index=0,D.sibling=null,D}function h(D,k,U){return D.index=U,t?(U=D.alternate,U!==null?(U=U.index,U<k?(D.flags|=67108866,k):U):(D.flags|=67108866,k)):(D.flags|=1048576,k)}function g(D){return t&&D.alternate===null&&(D.flags|=67108866),D}function v(D,k,U,X){return k===null||k.tag!==6?(k=Pc(U,D.mode,X),k.return=D,k):(k=d(k,U),k.return=D,k)}function A(D,k,U,X){var ue=U.type;return ue===T?F(D,k,U.props.children,X,U.key):k!==null&&(k.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===H&&Za(ue)===k.type)?(k=d(k,U.props),Bn(k,U),k.return=D,k):(k=io(U.type,U.key,U.props,null,D.mode,X),Bn(k,U),k.return=D,k)}function I(D,k,U,X){return k===null||k.tag!==4||k.stateNode.containerInfo!==U.containerInfo||k.stateNode.implementation!==U.implementation?(k=Mc(U,D.mode,X),k.return=D,k):(k=d(k,U.children||[]),k.return=D,k)}function F(D,k,U,X,ue){return k===null||k.tag!==7?(k=Ga(U,D.mode,X,ue),k.return=D,k):(k=d(k,U),k.return=D,k)}function K(D,k,U){if(typeof k=="string"&&k!==""||typeof k=="number"||typeof k=="bigint")return k=Pc(""+k,D.mode,U),k.return=D,k;if(typeof k=="object"&&k!==null){switch(k.$$typeof){case N:return U=io(k.type,k.key,k.props,null,D.mode,U),Bn(U,k),U.return=D,U;case S:return k=Mc(k,D.mode,U),k.return=D,k;case H:return k=Za(k),K(D,k,U)}if(ge(k)||ve(k))return k=Ga(k,D.mode,U,null),k.return=D,k;if(typeof k.then=="function")return K(D,uo(k),U);if(k.$$typeof===O)return K(D,oo(D,k),U);mo(D,k)}return null}function B(D,k,U,X){var ue=k!==null?k.key:null;if(typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint")return ue!==null?null:v(D,k,""+U,X);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case N:return U.key===ue?A(D,k,U,X):null;case S:return U.key===ue?I(D,k,U,X):null;case H:return U=Za(U),B(D,k,U,X)}if(ge(U)||ve(U))return ue!==null?null:F(D,k,U,X,null);if(typeof U.then=="function")return B(D,k,uo(U),X);if(U.$$typeof===O)return B(D,k,oo(D,U),X);mo(D,U)}return null}function W(D,k,U,X,ue){if(typeof X=="string"&&X!==""||typeof X=="number"||typeof X=="bigint")return D=D.get(U)||null,v(k,D,""+X,ue);if(typeof X=="object"&&X!==null){switch(X.$$typeof){case N:return D=D.get(X.key===null?U:X.key)||null,A(k,D,X,ue);case S:return D=D.get(X.key===null?U:X.key)||null,I(k,D,X,ue);case H:return X=Za(X),W(D,k,U,X,ue)}if(ge(X)||ve(X))return D=D.get(U)||null,F(k,D,X,ue,null);if(typeof X.then=="function")return W(D,k,U,uo(X),ue);if(X.$$typeof===O)return W(D,k,U,oo(k,X),ue);mo(k,X)}return null}function ne(D,k,U,X){for(var ue=null,De=null,ce=k,Ne=k=0,Ee=null;ce!==null&&Ne<U.length;Ne++){ce.index>Ne?(Ee=ce,ce=null):Ee=ce.sibling;var Re=B(D,ce,U[Ne],X);if(Re===null){ce===null&&(ce=Ee);break}t&&ce&&Re.alternate===null&&a(D,ce),k=h(Re,k,Ne),De===null?ue=Re:De.sibling=Re,De=Re,ce=Ee}if(Ne===U.length)return n(D,ce),Le&&Us(D,Ne),ue;if(ce===null){for(;Ne<U.length;Ne++)ce=K(D,U[Ne],X),ce!==null&&(k=h(ce,k,Ne),De===null?ue=ce:De.sibling=ce,De=ce);return Le&&Us(D,Ne),ue}for(ce=o(ce);Ne<U.length;Ne++)Ee=W(ce,D,Ne,U[Ne],X),Ee!==null&&(t&&Ee.alternate!==null&&ce.delete(Ee.key===null?Ne:Ee.key),k=h(Ee,k,Ne),De===null?ue=Ee:De.sibling=Ee,De=Ee);return t&&ce.forEach(function(Aa){return a(D,Aa)}),Le&&Us(D,Ne),ue}function me(D,k,U,X){if(U==null)throw Error(l(151));for(var ue=null,De=null,ce=k,Ne=k=0,Ee=null,Re=U.next();ce!==null&&!Re.done;Ne++,Re=U.next()){ce.index>Ne?(Ee=ce,ce=null):Ee=ce.sibling;var Aa=B(D,ce,Re.value,X);if(Aa===null){ce===null&&(ce=Ee);break}t&&ce&&Aa.alternate===null&&a(D,ce),k=h(Aa,k,Ne),De===null?ue=Aa:De.sibling=Aa,De=Aa,ce=Ee}if(Re.done)return n(D,ce),Le&&Us(D,Ne),ue;if(ce===null){for(;!Re.done;Ne++,Re=U.next())Re=K(D,Re.value,X),Re!==null&&(k=h(Re,k,Ne),De===null?ue=Re:De.sibling=Re,De=Re);return Le&&Us(D,Ne),ue}for(ce=o(ce);!Re.done;Ne++,Re=U.next())Re=W(ce,D,Ne,Re.value,X),Re!==null&&(t&&Re.alternate!==null&&ce.delete(Re.key===null?Ne:Re.key),k=h(Re,k,Ne),De===null?ue=Re:De.sibling=Re,De=Re);return t&&ce.forEach(function(sT){return a(D,sT)}),Le&&Us(D,Ne),ue}function Ve(D,k,U,X){if(typeof U=="object"&&U!==null&&U.type===T&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case N:e:{for(var ue=U.key;k!==null;){if(k.key===ue){if(ue=U.type,ue===T){if(k.tag===7){n(D,k.sibling),X=d(k,U.props.children),X.return=D,D=X;break e}}else if(k.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===H&&Za(ue)===k.type){n(D,k.sibling),X=d(k,U.props),Bn(X,U),X.return=D,D=X;break e}n(D,k);break}else a(D,k);k=k.sibling}U.type===T?(X=Ga(U.props.children,D.mode,X,U.key),X.return=D,D=X):(X=io(U.type,U.key,U.props,null,D.mode,X),Bn(X,U),X.return=D,D=X)}return g(D);case S:e:{for(ue=U.key;k!==null;){if(k.key===ue)if(k.tag===4&&k.stateNode.containerInfo===U.containerInfo&&k.stateNode.implementation===U.implementation){n(D,k.sibling),X=d(k,U.children||[]),X.return=D,D=X;break e}else{n(D,k);break}else a(D,k);k=k.sibling}X=Mc(U,D.mode,X),X.return=D,D=X}return g(D);case H:return U=Za(U),Ve(D,k,U,X)}if(ge(U))return ne(D,k,U,X);if(ve(U)){if(ue=ve(U),typeof ue!="function")throw Error(l(150));return U=ue.call(U),me(D,k,U,X)}if(typeof U.then=="function")return Ve(D,k,uo(U),X);if(U.$$typeof===O)return Ve(D,k,oo(D,U),X);mo(D,U)}return typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint"?(U=""+U,k!==null&&k.tag===6?(n(D,k.sibling),X=d(k,U),X.return=D,D=X):(n(D,k),X=Pc(U,D.mode,X),X.return=D,D=X),g(D)):n(D,k)}return function(D,k,U,X){try{In=0;var ue=Ve(D,k,U,X);return Pi=null,ue}catch(ce){if(ce===Oi||ce===co)throw ce;var De=Bt(29,ce,null,D.mode);return De.lanes=X,De.return=D,De}finally{}}}var Ja=Zp(!0),$p=Zp(!1),ca=!1;function Fc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Qc(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function da(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function ha(t,a,n){var o=t.updateQueue;if(o===null)return null;if(o=o.shared,(Oe&2)!==0){var d=o.pending;return d===null?a.next=a:(a.next=d.next,d.next=a),o.pending=a,a=ao(t),Mp(t,null,n),a}return so(t,o,a,n),ao(t)}function zn(t,a,n){if(a=a.updateQueue,a!==null&&(a=a.shared,(n&4194048)!==0)){var o=a.lanes;o&=t.pendingLanes,n|=o,a.lanes=n,Hm(t,n)}}function Xc(t,a){var n=t.updateQueue,o=t.alternate;if(o!==null&&(o=o.updateQueue,n===o)){var d=null,h=null;if(n=n.firstBaseUpdate,n!==null){do{var g={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};h===null?d=h=g:h=h.next=g,n=n.next}while(n!==null);h===null?d=h=a:h=h.next=a}else d=h=a;n={baseState:o.baseState,firstBaseUpdate:d,lastBaseUpdate:h,shared:o.shared,callbacks:o.callbacks},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=a:t.next=a,n.lastBaseUpdate=a}var Kc=!1;function Vn(){if(Kc){var t=Ri;if(t!==null)throw t}}function _n(t,a,n,o){Kc=!1;var d=t.updateQueue;ca=!1;var h=d.firstBaseUpdate,g=d.lastBaseUpdate,v=d.shared.pending;if(v!==null){d.shared.pending=null;var A=v,I=A.next;A.next=null,g===null?h=I:g.next=I,g=A;var F=t.alternate;F!==null&&(F=F.updateQueue,v=F.lastBaseUpdate,v!==g&&(v===null?F.firstBaseUpdate=I:v.next=I,F.lastBaseUpdate=A))}if(h!==null){var K=d.baseState;g=0,F=I=A=null,v=h;do{var B=v.lane&-536870913,W=B!==v.lane;if(W?(Ce&B)===B:(o&B)===B){B!==0&&B===Di&&(Kc=!0),F!==null&&(F=F.next={lane:0,tag:v.tag,payload:v.payload,callback:null,next:null});e:{var ne=t,me=v;B=a;var Ve=n;switch(me.tag){case 1:if(ne=me.payload,typeof ne=="function"){K=ne.call(Ve,K,B);break e}K=ne;break e;case 3:ne.flags=ne.flags&-65537|128;case 0:if(ne=me.payload,B=typeof ne=="function"?ne.call(Ve,K,B):ne,B==null)break e;K=b({},K,B);break e;case 2:ca=!0}}B=v.callback,B!==null&&(t.flags|=64,W&&(t.flags|=8192),W=d.callbacks,W===null?d.callbacks=[B]:W.push(B))}else W={lane:B,tag:v.tag,payload:v.payload,callback:v.callback,next:null},F===null?(I=F=W,A=K):F=F.next=W,g|=B;if(v=v.next,v===null){if(v=d.shared.pending,v===null)break;W=v,v=W.next,W.next=null,d.lastBaseUpdate=W,d.shared.pending=null}}while(!0);F===null&&(A=K),d.baseState=A,d.firstBaseUpdate=I,d.lastBaseUpdate=F,h===null&&(d.shared.lanes=0),xa|=g,t.lanes=g,t.memoizedState=K}}function Jp(t,a){if(typeof t!="function")throw Error(l(191,t));t.call(a)}function ef(t,a){var n=t.callbacks;
vendor: 9,315 bytes, line 48
48if(n!==null)for(t.callbacks=null,t=0;t<n.length;t++)Jp(n[t],a)}var Mi=E(null),po=E(0);function tf(t,a){t=Fs,ee(po,t),ee(Mi,a),Fs=t|a.baseLanes}function Zc(){ee(po,Fs),ee(Mi,Mi.current)}function $c(){Fs=po.current,Q(Mi),Q(po)}var zt=E(null),ss=null;function ua(t){var a=t.alternate;ee(Je,Je.current&1),ee(zt,t),ss===null&&(a===null||Mi.current!==null||a.memoizedState!==null)&&(ss=t)}function Jc(t){ee(Je,Je.current),ee(zt,t),ss===null&&(ss=t)}function sf(t){t.tag===22?(ee(Je,Je.current),ee(zt,t),ss===null&&(ss=t)):ma()}function ma(){ee(Je,Je.current),ee(zt,zt.current)}function Vt(t){Q(zt),ss===t&&(ss=null),Q(Je)}var Je=E(0);function fo(t){for(var a=t;a!==null;){if(a.tag===13){var n=a.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||nh(n)||rh(n)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var zs=0,we=null,Be=null,it=null,xo=!1,Ui=!1,ei=!1,yo=0,Wn=0,Ii=null,GN=0;function Xe(){throw Error(l(321))}function ed(t,a){if(a===null)return!1;for(var n=0;n<a.length&&n<t.length;n++)if(!It(t[n],a[n]))return!1;return!0}function td(t,a,n,o,d,h){return zs=h,we=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,P.H=t===null||t.memoizedState===null?Vf:xd,ei=!1,h=n(o,d),ei=!1,Ui&&(h=nf(a,n,o,d)),af(t),h}function af(t){P.H=qn;var a=Be!==null&&Be.next!==null;if(zs=0,it=Be=we=null,xo=!1,Wn=0,Ii=null,a)throw Error(l(300));t===null||nt||(t=t.dependencies,t!==null&&ro(t)&&(nt=!0))}function nf(t,a,n,o){we=t;var d=0;do{if(Ui&&(Ii=null),Wn=0,Ui=!1,25<=d)throw Error(l(301));if(d+=1,it=Be=null,t.updateQueue!=null){var h=t.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}P.H=_f,h=a(n,o)}while(Ui);return h}function FN(){var t=P.H,a=t.useState()[0];return a=typeof a.then=="function"?Hn(a):a,t=t.useState()[0],(Be!==null?Be.memoizedState:null)!==t&&(we.flags|=1024),a}function sd(){var t=yo!==0;return yo=0,t}function ad(t,a,n){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~n}function id(t){if(xo){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}xo=!1}zs=0,it=Be=we=null,Ui=!1,Wn=yo=0,Ii=null}function wt(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return it===null?we.memoizedState=it=t:it=it.next=t,it}function et(){if(Be===null){var t=we.alternate;t=t!==null?t.memoizedState:null}else t=Be.next;var a=it===null?we.memoizedState:it.next;if(a!==null)it=a,Be=t;else{if(t===null)throw we.alternate===null?Error(l(467)):Error(l(310));Be=t,t={memoizedState:Be.memoizedState,baseState:Be.baseState,baseQueue:Be.baseQueue,queue:Be.queue,next:null},it===null?we.memoizedState=it=t:it=it.next=t}return it}function go(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Hn(t){var a=Wn;return Wn+=1,Ii===null&&(Ii=[]),t=Qp(Ii,t,a),a=we,(it===null?a.memoizedState:it.next)===null&&(a=a.alternate,P.H=a===null||a.memoizedState===null?Vf:xd),t}function bo(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Hn(t);if(t.$$typeof===O)return ft(t)}throw Error(l(438,String(t)))}function nd(t){var a=null,n=we.updateQueue;if(n!==null&&(a=n.memoCache),a==null){var o=we.alternate;o!==null&&(o=o.updateQueue,o!==null&&(o=o.memoCache,o!=null&&(a={data:o.data.map(function(d){return d.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),n===null&&(n=go(),we.updateQueue=n),n.memoCache=a,n=a.data[a.index],n===void 0)for(n=a.data[a.index]=Array(t),o=0;o<t;o++)n[o]=de;return a.index++,n}function Vs(t,a){return typeof a=="function"?a(t):a}function vo(t){var a=et();return rd(a,Be,t)}function rd(t,a,n){var o=t.queue;if(o===null)throw Error(l(311));o.lastRenderedReducer=n;var d=t.baseQueue,h=o.pending;if(h!==null){if(d!==null){var g=d.next;d.next=h.next,h.next=g}a.baseQueue=d=h,o.pending=null}if(h=t.baseState,d===null)t.memoizedState=h;else{a=d.next;var v=g=null,A=null,I=a,F=!1;do{var K=I.lane&-536870913;if(K!==I.lane?(Ce&K)===K:(zs&K)===K){var B=I.revertLane;if(B===0)A!==null&&(A=A.next={lane:0,revertLane:0,gesture:null,action:I.action,hasEagerState:I.hasEagerState,eagerState:I.eagerState,next:null}),K===Di&&(F=!0);else if((zs&B)===B){I=I.next,B===Di&&(F=!0);continue}else K={lane:0,revertLane:I.revertLane,gesture:null,action:I.action,hasEagerState:I.hasEagerState,eagerState:I.eagerState,next:null},A===null?(v=A=K,g=h):A=A.next=K,we.lanes|=B,xa|=B;K=I.action,ei&&n(h,K),h=I.hasEagerState?I.eagerState:n(h,K)}else B={lane:K,revertLane:I.revertLane,gesture:I.gesture,action:I.action,hasEagerState:I.hasEagerState,eagerState:I.eagerState,next:null},A===null?(v=A=B,g=h):A=A.next=B,we.lanes|=K,xa|=K;I=I.next}while(I!==null&&I!==a);if(A===null?g=h:A.next=v,!It(h,t.memoizedState)&&(nt=!0,F&&(n=Ri,n!==null)))throw n;t.memoizedState=h,t.baseState=g,t.baseQueue=A,o.lastRenderedState=h}return d===null&&(o.lanes=0),[t.memoizedState,o.dispatch]}function od(t){var a=et(),n=a.queue;if(n===null)throw Error(l(311));n.lastRenderedReducer=t;var o=n.dispatch,d=n.pending,h=a.memoizedState;if(d!==null){n.pending=null;var g=d=d.next;do h=t(h,g.action),g=g.next;while(g!==d);It(h,a.memoizedState)||(nt=!0),a.memoizedState=h,a.baseQueue===null&&(a.baseState=h),n.lastRenderedState=h}return[h,o]}function rf(t,a,n){var o=we,d=et(),h=Le;if(h){if(n===void 0)throw Error(l(407));n=n()}else n=a();var g=!It((Be||d).memoizedState,n);if(g&&(d.memoizedState=n,nt=!0),d=d.queue,dd(cf.bind(null,o,d,t),[t]),d.getSnapshot!==a||g||it!==null&&it.memoizedState.tag&1){if(o.flags|=2048,Bi(9,{destroy:void 0},lf.bind(null,o,d,n,a),null),_e===null)throw Error(l(349));h||(zs&127)!==0||of(o,a,n)}return n}function of(t,a,n){t.flags|=16384,t={getSnapshot:a,value:n},a=we.updateQueue,a===null?(a=go(),we.updateQueue=a,a.stores=[t]):(n=a.stores,n===null?a.stores=[t]:n.push(t))}function lf(t,a,n,o){a.value=n,a.getSnapshot=o,df(a)&&hf(t)}function cf(t,a,n){return n(function(){df(a)&&hf(t)})}function df(t){var a=t.getSnapshot;t=t.value;try{var n=a();return!It(t,n)}catch{return!0}}function hf(t){var a=qa(t,2);a!==null&&Dt(a,t,2)}function ld(t){var a=wt();if(typeof t=="function"){var n=t;if(t=n(),ei){sa(!0);try{n()}finally{sa(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vs,lastRenderedState:t},a}function uf(t,a,n,o){return t.baseState=n,rd(t,Be,typeof o=="function"?o:Vs)}function QN(t,a,n,o,d){if(No(t))throw Error(l(485));if(t=a.action,t!==null){var h={payload:d,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(g){h.listeners.push(g)}};P.T!==null?n(!0):h.isTransition=!1,o(h),n=a.pending,n===null?(h.next=a.pending=h,mf(a,h)):(h.next=n.next,a.pending=n.next=h)}}function mf(t,a){var n=a.action,o=a.payload,d=t.state;if(a.isTransition){var h=P.T,g={};P.T=g;try{var v=n(d,o),A=P.S;A!==null&&A(g,v),pf(t,a,v)}catch(I){cd(t,a,I)}finally{h!==null&&g.types!==null&&(h.types=g.types),P.T=h}}else try{h=n(d,o),pf(t,a,h)}catch(I){cd(t,a,I)}}function pf(t,a,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(o){ff(t,a,o)},function(o){return cd(t,a,o)}):ff(t,a,n)}function ff(t,a,n){a.status="fulfilled",a.value=n,xf(a),t.state=n,a=t.pending,a!==null&&(n=a.next,n===a?t.pending=null:(n=n.next,a.next=n,mf(t,n)))}function cd(t,a,n){var o=t.pending;if(t.pending=null,o!==null){o=o.next;do a.status="rejected",a.reason=n,xf(a),a=a.next;while(a!==o)}t.action=null}function xf(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function yf(t,a){return a}function gf(t,a){if(Le){var n=_e.formState;if(n!==null){e:{var o=we;if(Le){if(We){t:{for(var d=We,h=ts;d.nodeType!==8;){if(!h){d=null;break t}if(d=as(d.nextSibling),d===null){d=null;break t}}h=d.data,d=h==="F!"||h==="F"?d:null}if(d){We=as(d.nextSibling),o=d.data==="F!";break e}}oa(o)}o=!1}o&&(a=n[0])}}return n=wt(),n.memoizedState=n.baseState=a,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:yf,lastRenderedState:a},n.queue=o,n=If.bind(null,we,o),o.dispatch=n,o=ld(!1),h=fd.bind(null,we,!1,o.queue),o=wt(),d={state:a,dispatch:null,action:t,pending:null},o.queue=d,n=QN.bind(null,we,d,h,n),d.dispatch=n,o.memoizedState=t,[a,n,!1]}function bf(t){var a=et();return vf(a,Be,t)}function vf(t,a,n){if(a=rd(t,a,yf)[0],t=vo(Vs)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var o=Hn(a)}catch(g){throw g===Oi?co:g}else o=a;a=et();var d=a.queue,h=d.dispatch;return n!==a.memoizedState&&(we.flags|=2048,Bi(9,{destroy:void 0},XN.bind(null,d,n),null)),[o,h,t]}function XN(t,a){t.action=a}function jf(t){var a=et(),n=Be;if(n!==null)return vf(a,n,t);et(),a=a.memoizedState,n=et();var o=n.queue.dispatch;return n.memoizedState=t,[a,o,!1]}function Bi(t,a,n,o){return t={tag:t,create:n,deps:o,inst:a,next:null},a=we.updateQueue,a===null&&(a=go(),we.updateQueue=a),n=a.lastEffect,n===null?a.lastEffect=t.next=t:(o=n.next,n.next=t,t.next=o,a.lastEffect=t),t}function wf(){return et().memoizedState}function jo(t,a,n,o){var d=wt();we.flags|=t,d.memoizedState=Bi(1|a,{destroy:void 0}
vendor: 11,860 bytes, line 48
48,n,o===void 0?null:o)}function wo(t,a,n,o){var d=et();o=o===void 0?null:o;var h=d.memoizedState.inst;Be!==null&&o!==null&&ed(o,Be.memoizedState.deps)?d.memoizedState=Bi(a,h,n,o):(we.flags|=t,d.memoizedState=Bi(1|a,h,n,o))}function Nf(t,a){jo(8390656,8,t,a)}function dd(t,a){wo(2048,8,t,a)}function KN(t){we.flags|=4;var a=we.updateQueue;if(a===null)a=go(),we.updateQueue=a,a.events=[t];else{var n=a.events;n===null?a.events=[t]:n.push(t)}}function Tf(t){var a=et().memoizedState;return KN({ref:a,nextImpl:t}),function(){if((Oe&2)!==0)throw Error(l(440));return a.impl.apply(void 0,arguments)}}function Sf(t,a){return wo(4,2,t,a)}function Af(t,a){return wo(4,4,t,a)}function Cf(t,a){if(typeof a=="function"){t=t();var n=a(t);return function(){typeof n=="function"?n():a(null)}}if(a!=null)return t=t(),a.current=t,function(){a.current=null}}function Ef(t,a,n){n=n!=null?n.concat([t]):null,wo(4,4,Cf.bind(null,a,t),n)}function hd(){}function kf(t,a){var n=et();a=a===void 0?null:a;var o=n.memoizedState;return a!==null&&ed(a,o[1])?o[0]:(n.memoizedState=[t,a],t)}function Lf(t,a){var n=et();a=a===void 0?null:a;var o=n.memoizedState;if(a!==null&&ed(a,o[1]))return o[0];if(o=t(),ei){sa(!0);try{t()}finally{sa(!1)}}return n.memoizedState=[o,a],o}function ud(t,a,n){return n===void 0||(zs&1073741824)!==0&&(Ce&261930)===0?t.memoizedState=a:(t.memoizedState=n,t=Dx(),we.lanes|=t,xa|=t,n)}function Df(t,a,n,o){return It(n,a)?n:Mi.current!==null?(t=ud(t,n,o),It(t,a)||(nt=!0),t):(zs&42)===0||(zs&1073741824)!==0&&(Ce&261930)===0?(nt=!0,t.memoizedState=n):(t=Dx(),we.lanes|=t,xa|=t,a)}function Rf(t,a,n,o,d){var h=G.p;G.p=h!==0&&8>h?h:8;var g=P.T,v={};P.T=v,fd(t,!1,a,n);try{var A=d(),I=P.S;if(I!==null&&I(v,A),A!==null&&typeof A=="object"&&typeof A.then=="function"){var F=qN(A,o);Yn(t,a,F,Ht(t))}else Yn(t,a,o,Ht(t))}catch(K){Yn(t,a,{then:function(){},status:"rejected",reason:K},Ht())}finally{G.p=h,g!==null&&v.types!==null&&(g.types=v.types),P.T=g}}function ZN(){}function md(t,a,n,o){if(t.tag!==5)throw Error(l(476));var d=Of(t).queue;Rf(t,d,a,z,n===null?ZN:function(){return Pf(t),n(o)})}function Of(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:z,baseState:z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vs,lastRenderedState:z},next:null};var n={};return a.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vs,lastRenderedState:n},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function Pf(t){var a=Of(t);a.next===null&&(a=t.alternate.memoizedState),Yn(t,a.next.queue,{},Ht())}function pd(){return ft(or)}function Mf(){return et().memoizedState}function Uf(){return et().memoizedState}function $N(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var n=Ht();t=da(n);var o=ha(a,t,n);o!==null&&(Dt(o,a,n),zn(o,a,n)),a={cache:Hc()},t.payload=a;return}a=a.return}}function JN(t,a,n){var o=Ht();n={lane:o,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},No(t)?Bf(a,n):(n=Rc(t,a,n,o),n!==null&&(Dt(n,t,o),zf(n,a,o)))}function If(t,a,n){var o=Ht();Yn(t,a,n,o)}function Yn(t,a,n,o){var d={lane:o,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(No(t))Bf(a,d);else{var h=t.alternate;if(t.lanes===0&&(h===null||h.lanes===0)&&(h=a.lastRenderedReducer,h!==null))try{var g=a.lastRenderedState,v=h(g,n);if(d.hasEagerState=!0,d.eagerState=v,It(v,g))return so(t,a,d,0),_e===null&&to(),!1}catch{}finally{}if(n=Rc(t,a,d,o),n!==null)return Dt(n,t,o),zf(n,a,o),!0}return!1}function fd(t,a,n,o){if(o={lane:2,revertLane:Fd(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},No(t)){if(a)throw Error(l(479))}else a=Rc(t,n,o,2),a!==null&&Dt(a,t,2)}function No(t){var a=t.alternate;return t===we||a!==null&&a===we}function Bf(t,a){Ui=xo=!0;var n=t.pending;n===null?a.next=a:(a.next=n.next,n.next=a),t.pending=a}function zf(t,a,n){if((n&4194048)!==0){var o=a.lanes;o&=t.pendingLanes,n|=o,a.lanes=n,Hm(t,n)}}var qn={readContext:ft,use:bo,useCallback:Xe,useContext:Xe,useEffect:Xe,useImperativeHandle:Xe,useLayoutEffect:Xe,useInsertionEffect:Xe,useMemo:Xe,useReducer:Xe,useRef:Xe,useState:Xe,useDebugValue:Xe,useDeferredValue:Xe,useTransition:Xe,useSyncExternalStore:Xe,useId:Xe,useHostTransitionStatus:Xe,useFormState:Xe,useActionState:Xe,useOptimistic:Xe,useMemoCache:Xe,useCacheRefresh:Xe};qn.useEffectEvent=Xe;var Vf={readContext:ft,use:bo,useCallback:function(t,a){return wt().memoizedState=[t,a===void 0?null:a],t},useContext:ft,useEffect:Nf,useImperativeHandle:function(t,a,n){n=n!=null?n.concat([t]):null,jo(4194308,4,Cf.bind(null,a,t),n)},useLayoutEffect:function(t,a){return jo(4194308,4,t,a)},useInsertionEffect:function(t,a){jo(4,2,t,a)},useMemo:function(t,a){var n=wt();a=a===void 0?null:a;var o=t();if(ei){sa(!0);try{t()}finally{sa(!1)}}return n.memoizedState=[o,a],o},useReducer:function(t,a,n){var o=wt();if(n!==void 0){var d=n(a);if(ei){sa(!0);try{n(a)}finally{sa(!1)}}}else d=a;return o.memoizedState=o.baseState=d,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:d},o.queue=t,t=t.dispatch=JN.bind(null,we,t),[o.memoizedState,t]},useRef:function(t){var a=wt();return t={current:t},a.memoizedState=t},useState:function(t){t=ld(t);var a=t.queue,n=If.bind(null,we,a);return a.dispatch=n,[t.memoizedState,n]},useDebugValue:hd,useDeferredValue:function(t,a){var n=wt();return ud(n,t,a)},useTransition:function(){var t=ld(!1);return t=Rf.bind(null,we,t.queue,!0,!1),wt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,n){var o=we,d=wt();if(Le){if(n===void 0)throw Error(l(407));n=n()}else{if(n=a(),_e===null)throw Error(l(349));(Ce&127)!==0||of(o,a,n)}d.memoizedState=n;var h={value:n,getSnapshot:a};return d.queue=h,Nf(cf.bind(null,o,h,t),[t]),o.flags|=2048,Bi(9,{destroy:void 0},lf.bind(null,o,h,n,a),null),n},useId:function(){var t=wt(),a=_e.identifierPrefix;if(Le){var n=vs,o=bs;n=(o&~(1<<32-Ut(o)-1)).toString(32)+n,a="_"+a+"R_"+n,n=yo++,0<n&&(a+="H"+n.toString(32)),a+="_"}else n=GN++,a="_"+a+"r_"+n.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:pd,useFormState:gf,useActionState:gf,useOptimistic:function(t){var a=wt();a.memoizedState=a.baseState=t;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=n,a=fd.bind(null,we,!0,n),n.dispatch=a,[t,a]},useMemoCache:nd,useCacheRefresh:function(){return wt().memoizedState=$N.bind(null,we)},useEffectEvent:function(t){var a=wt(),n={impl:t};return a.memoizedState=n,function(){if((Oe&2)!==0)throw Error(l(440));return n.impl.apply(void 0,arguments)}}},xd={readContext:ft,use:bo,useCallback:kf,useContext:ft,useEffect:dd,useImperativeHandle:Ef,useInsertionEffect:Sf,useLayoutEffect:Af,useMemo:Lf,useReducer:vo,useRef:wf,useState:function(){return vo(Vs)},useDebugValue:hd,useDeferredValue:function(t,a){var n=et();return Df(n,Be.memoizedState,t,a)},useTransition:function(){var t=vo(Vs)[0],a=et().memoizedState;return[typeof t=="boolean"?t:Hn(t),a]},useSyncExternalStore:rf,useId:Mf,useHostTransitionStatus:pd,useFormState:bf,useActionState:bf,useOptimistic:function(t,a){var n=et();return uf(n,Be,t,a)},useMemoCache:nd,useCacheRefresh:Uf};xd.useEffectEvent=Tf;var _f={readContext:ft,use:bo,useCallback:kf,useContext:ft,useEffect:dd,useImperativeHandle:Ef,useInsertionEffect:Sf,useLayoutEffect:Af,useMemo:Lf,useReducer:od,useRef:wf,useState:function(){return od(Vs)},useDebugValue:hd,useDeferredValue:function(t,a){var n=et();return Be===null?ud(n,t,a):Df(n,Be.memoizedState,t,a)},useTransition:function(){var t=od(Vs)[0],a=et().memoizedState;return[typeof t=="boolean"?t:Hn(t),a]},useSyncExternalStore:rf,useId:Mf,useHostTransitionStatus:pd,useFormState:jf,useActionState:jf,useOptimistic:function(t,a){var n=et();return Be!==null?uf(n,Be,t,a):(n.baseState=t,[t,n.queue.dispatch])},useMemoCache:nd,useCacheRefresh:Uf};_f.useEffectEvent=Tf;function yd(t,a,n,o){a=t.memoizedState,n=n(o,a),n=n==null?a:b({},a,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var gd={enqueueSetState:function(t,a,n){t=t._reactInternals;var o=Ht(),d=da(o);d.payload=a,n!=null&&(d.callback=n),a=ha(t,d,o),a!==null&&(Dt(a,t,o),zn(a,t,o))},enqueueReplaceState:function(t,a,n){t=t._reactInternals;var o=Ht(),d=da(o);d.tag=1,d.payload=a,n!=null&&(d.callback=n),a=ha(t,d,o),a!==null&&(Dt(a,t,o),zn(a,t,o))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var n=Ht(),o=da(n);o.tag=2,a!=null&&(o.callback=a),a=ha(t,o,n),a!==null&&(Dt(a,t,n),zn(a,t,n))}};function Wf(t,a,n,o,d,h,g){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(o,h,g):a.prototype&&a.prototype.isPureReactComponent?!Dn(n,o)||!Dn(d,h):!0}function Hf(t,a,n,o){t=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(n,o),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(n,o),a.state!==t&&gd.enqueueReplaceState(a,a.state,null)}function ti(t,a){var n=a;if("ref"in a){n={};for(var o in a)o!=="ref"&&(n[o]=a[o])}if(t=t.defaultProps){n===a&&(n=b({},n));for(var d in t)n[d]===void 0&&(n[d]=t[d])}return n}function Yf(t){eo(t)}function qf(t){console.error(t)}function Gf(t){eo(t)}function To(t,a){try{var n=t.onUncaughtError;n(a.value,{componentStack:a.stack})}catch(o){setTimeout(function(){throw o})}}function Ff(t,a,n){try{var o=t.onCaughtError;o(n.value,{componentStack:n.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(d){setTimeout(function(){throw d})}}function bd(t,a,n){return n=da(n),n.tag=3,n.payload={element:null},n.callback=function(){To(t,a)},n}function Qf(t){return t=da(t),t.tag=3,t}function Xf(t,a,n,o){var d=n.type.getDerivedStateFromError;if(typeof d=="function"){var h=o.value;t.payload=function(){return d(h)},t.callback=function(){Ff(a,n,o)}}var g=n.stateNode;g!==null&&typeof g.componentDidCatch=="function"&&(t.callback=function(){Ff(a,n,o),typeof d!="function"&&(ya===null?ya=new Set([this]):ya.add(this));var v=o.stack;this.componentDidCatch(o.value,{componentStack:v!==null?v:""})})}function e1(t,a,n,o,d){if(n.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){if(a=n.alternate,a!==null&&Li(a,n,d,!0),n=zt.current,n!==null){switch(n.tag){case 31:case 13:return ss===null?Uo():n.alternate===null&&Ke===0&&(Ke=3),n.flags&=-257,n.flags|=65536,n.lanes=d,o===ho?n.flags|=16384:(a=n.updateQueue,a===null?n.updateQueue=new Set([o]):a.add(o),Yd(t,o,d)),!1;case 22:return n.flags|=65536,o===ho?n.flags|=16384:(a=n.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([o])},n.updateQueue=a):(n=a.retryQueue,n===null?a.retryQueue=new Set([o]):n.add(o)),Yd(t,o,d)),!1}throw Error(l(435,n.tag))}return Yd(t,o,d),Uo(),!1}if(Le)return a=zt.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=d,o!==Bc&&(t=Error(l(422),{cause:o}),Pn($t(t,n)))):(o!==Bc&&(a=Error(l(423),{cause:o}),Pn($t(a,n))),t=t.current.alternate,t.flags|=65536,d&=-d,t.lanes|=d,o=$t(o,n),d=bd(t.stateNode,o,d),Xc(t,d),Ke!==4&&(Ke=2)),!1;var h=Error(l(520),{cause:o});if(h=$t(h,n),Jn===null?Jn=[h]:Jn.push(h),Ke!==4&&(Ke=2),a===null)return!0;o=$t(o,n),n=a;do{switch(n.tag){case 3:return n.flags|=65536,t=d&-d,n.lanes|=t,t=bd(n.stateNode,o,t),Xc(n,t),!1;case 1:if(a=n.type,h=n.stateNode,(n.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(ya===null||!ya.has(h))))return n.flags|=65536,d&=-d,n.lanes|=d,d=Qf(d),Xf(d,t,n,o),Xc(n,d),!1}n=n.return}while(n!==null);return!1}var vd=Error(l(461)),nt=!1;function xt(t,a,n,o){a.child=t===null?$p(a,null,n,o):Ja(a,t.child,n,o)}function Kf(t,a,n,o,d){n=n.render;var h=a.ref;if("ref"in o){var g={};for(var v in o)v!=="ref"&&(g[v]=o[v])}else g=o;return Xa(a),o=td(t,a,n,g,h,d),v=sd(),t!==null&&!nt?(ad(t,a,d),_s(t,a,d)):(Le&&v&&Uc(a),a.flags|=1,xt(t,a,o,d),a.child)}
vendor: 9,922 bytes, line 48
48function Zf(t,a,n,o,d){if(t===null){var h=n.type;return typeof h=="function"&&!Oc(h)&&h.defaultProps===void 0&&n.compare===null?(a.tag=15,a.type=h,$f(t,a,h,o,d)):(t=io(n.type,null,o,a,a.mode,d),t.ref=a.ref,t.return=a,a.child=t)}if(h=t.child,!Ed(t,d)){var g=h.memoizedProps;if(n=n.compare,n=n!==null?n:Dn,n(g,o)&&t.ref===a.ref)return _s(t,a,d)}return a.flags|=1,t=Ms(h,o),t.ref=a.ref,t.return=a,a.child=t}function $f(t,a,n,o,d){if(t!==null){var h=t.memoizedProps;if(Dn(h,o)&&t.ref===a.ref)if(nt=!1,a.pendingProps=o=h,Ed(t,d))(t.flags&131072)!==0&&(nt=!0);else return a.lanes=t.lanes,_s(t,a,d)}return jd(t,a,n,o,d)}function Jf(t,a,n,o){var d=o.children,h=t!==null?t.memoizedState:null;if(t===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),o.mode==="hidden"){if((a.flags&128)!==0){if(h=h!==null?h.baseLanes|n:n,t!==null){for(o=a.child=t.child,d=0;o!==null;)d=d|o.lanes|o.childLanes,o=o.sibling;o=d&~h}else o=0,a.child=null;return ex(t,a,h,n,o)}if((n&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&lo(a,h!==null?h.cachePool:null),h!==null?tf(a,h):Zc(),sf(a);else return o=a.lanes=536870912,ex(t,a,h!==null?h.baseLanes|n:n,n,o)}else h!==null?(lo(a,h.cachePool),tf(a,h),ma(),a.memoizedState=null):(t!==null&&lo(a,null),Zc(),ma());return xt(t,a,d,n),a.child}function Gn(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function ex(t,a,n,o,d){var h=qc();return h=h===null?null:{parent:at._currentValue,pool:h},a.memoizedState={baseLanes:n,cachePool:h},t!==null&&lo(a,null),Zc(),sf(a),t!==null&&Li(t,a,o,!0),a.childLanes=d,null}function So(t,a){return a=Co({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function tx(t,a,n){return Ja(a,t.child,null,n),t=So(a,a.pendingProps),t.flags|=2,Vt(a),a.memoizedState=null,t}function t1(t,a,n){var o=a.pendingProps,d=(a.flags&128)!==0;if(a.flags&=-129,t===null){if(Le){if(o.mode==="hidden")return t=So(a,o),a.lanes=536870912,Gn(null,t);if(Jc(a),(t=We)?(t=my(t,ts),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:na!==null?{id:bs,overflow:vs}:null,retryLane:536870912,hydrationErrors:null},n=Ip(t),n.return=a,a.child=n,pt=a,We=null)):t=null,t===null)throw oa(a);return a.lanes=536870912,null}return So(a,o)}var h=t.memoizedState;if(h!==null){var g=h.dehydrated;if(Jc(a),d)if(a.flags&256)a.flags&=-257,a=tx(t,a,n);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(l(558));else if(nt||Li(t,a,n,!1),d=(n&t.childLanes)!==0,nt||d){if(o=_e,o!==null&&(g=Ym(o,n),g!==0&&g!==h.retryLane))throw h.retryLane=g,qa(t,g),Dt(o,t,g),vd;Uo(),a=tx(t,a,n)}else t=h.treeContext,We=as(g.nextSibling),pt=a,Le=!0,ra=null,ts=!1,t!==null&&Vp(a,t),a=So(a,o),a.flags|=4096;return a}return t=Ms(t.child,{mode:o.mode,children:o.children}),t.ref=a.ref,a.child=t,t.return=a,t}function Ao(t,a){var n=a.ref;if(n===null)t!==null&&t.ref!==null&&(a.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(l(284));(t===null||t.ref!==n)&&(a.flags|=4194816)}}function jd(t,a,n,o,d){return Xa(a),n=td(t,a,n,o,void 0,d),o=sd(),t!==null&&!nt?(ad(t,a,d),_s(t,a,d)):(Le&&o&&Uc(a),a.flags|=1,xt(t,a,n,d),a.child)}function sx(t,a,n,o,d,h){return Xa(a),a.updateQueue=null,n=nf(a,o,n,d),af(t),o=sd(),t!==null&&!nt?(ad(t,a,h),_s(t,a,h)):(Le&&o&&Uc(a),a.flags|=1,xt(t,a,n,h),a.child)}function ax(t,a,n,o,d){if(Xa(a),a.stateNode===null){var h=Ai,g=n.contextType;typeof g=="object"&&g!==null&&(h=ft(g)),h=new n(o,h),a.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=gd,a.stateNode=h,h._reactInternals=a,h=a.stateNode,h.props=o,h.state=a.memoizedState,h.refs={},Fc(a),g=n.contextType,h.context=typeof g=="object"&&g!==null?ft(g):Ai,h.state=a.memoizedState,g=n.getDerivedStateFromProps,typeof g=="function"&&(yd(a,n,g,o),h.state=a.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(g=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),g!==h.state&&gd.enqueueReplaceState(h,h.state,null),_n(a,o,h,d),Vn(),h.state=a.memoizedState),typeof h.componentDidMount=="function"&&(a.flags|=4194308),o=!0}else if(t===null){h=a.stateNode;var v=a.memoizedProps,A=ti(n,v);h.props=A;var I=h.context,F=n.contextType;g=Ai,typeof F=="object"&&F!==null&&(g=ft(F));var K=n.getDerivedStateFromProps;F=typeof K=="function"||typeof h.getSnapshotBeforeUpdate=="function",v=a.pendingProps!==v,F||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(v||I!==g)&&Hf(a,h,o,g),ca=!1;var B=a.memoizedState;h.state=B,_n(a,o,h,d),Vn(),I=a.memoizedState,v||B!==I||ca?(typeof K=="function"&&(yd(a,n,K,o),I=a.memoizedState),(A=ca||Wf(a,n,A,o,B,I,g))?(F||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(a.flags|=4194308)):(typeof h.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=o,a.memoizedState=I),h.props=o,h.state=I,h.context=g,o=A):(typeof h.componentDidMount=="function"&&(a.flags|=4194308),o=!1)}else{h=a.stateNode,Qc(t,a),g=a.memoizedProps,F=ti(n,g),h.props=F,K=a.pendingProps,B=h.context,I=n.contextType,A=Ai,typeof I=="object"&&I!==null&&(A=ft(I)),v=n.getDerivedStateFromProps,(I=typeof v=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(g!==K||B!==A)&&Hf(a,h,o,A),ca=!1,B=a.memoizedState,h.state=B,_n(a,o,h,d),Vn();var W=a.memoizedState;g!==K||B!==W||ca||t!==null&&t.dependencies!==null&&ro(t.dependencies)?(typeof v=="function"&&(yd(a,n,v,o),W=a.memoizedState),(F=ca||Wf(a,n,F,o,B,W,A)||t!==null&&t.dependencies!==null&&ro(t.dependencies))?(I||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(o,W,A),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(o,W,A)),typeof h.componentDidUpdate=="function"&&(a.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof h.componentDidUpdate!="function"||g===t.memoizedProps&&B===t.memoizedState||(a.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||g===t.memoizedProps&&B===t.memoizedState||(a.flags|=1024),a.memoizedProps=o,a.memoizedState=W),h.props=o,h.state=W,h.context=A,o=F):(typeof h.componentDidUpdate!="function"||g===t.memoizedProps&&B===t.memoizedState||(a.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||g===t.memoizedProps&&B===t.memoizedState||(a.flags|=1024),o=!1)}return h=o,Ao(t,a),o=(a.flags&128)!==0,h||o?(h=a.stateNode,n=o&&typeof n.getDerivedStateFromError!="function"?null:h.render(),a.flags|=1,t!==null&&o?(a.child=Ja(a,t.child,null,d),a.child=Ja(a,null,n,d)):xt(t,a,n,d),a.memoizedState=h.state,t=a.child):t=_s(t,a,d),t}function ix(t,a,n,o){return Fa(),a.flags|=256,xt(t,a,n,o),a.child}var wd={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Nd(t){return{baseLanes:t,cachePool:Gp()}}function Td(t,a,n){return t=t!==null?t.childLanes&~n:0,a&&(t|=Wt),t}function nx(t,a,n){var o=a.pendingProps,d=!1,h=(a.flags&128)!==0,g;if((g=h)||(g=t!==null&&t.memoizedState===null?!1:(Je.current&2)!==0),g&&(d=!0,a.flags&=-129),g=(a.flags&32)!==0,a.flags&=-33,t===null){if(Le){if(d?ua(a):ma(),(t=We)?(t=my(t,ts),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:na!==null?{id:bs,overflow:vs}:null,retryLane:536870912,hydrationErrors:null},n=Ip(t),n.return=a,a.child=n,pt=a,We=null)):t=null,t===null)throw oa(a);return rh(t)?a.lanes=32:a.lanes=536870912,null}var v=o.children;return o=o.fallback,d?(ma(),d=a.mode,v=Co({mode:"hidden",children:v},d),o=Ga(o,d,n,null),v.return=a,o.return=a,v.sibling=o,a.child=v,o=a.child,o.memoizedState=Nd(n),o.childLanes=Td(t,g,n),a.memoizedState=wd,Gn(null,o)):(ua(a),Sd(a,v))}var A=t.memoizedState;if(A!==null&&(v=A.dehydrated,v!==null)){if(h)a.flags&256?(ua(a),a.flags&=-257,a=Ad(t,a,n)):a.memoizedState!==null?(ma(),a.child=t.child,a.flags|=128,a=null):(ma(),v=o.fallback,d=a.mode,o=Co({mode:"visible",children:o.children},d),v=Ga(v,d,n,null),v.flags|=2,o.return=a,v.return=a,o.sibling=v,a.child=o,Ja(a,t.child,null,n),o=a.child,o.memoizedState=Nd(n),o.childLanes=Td(t,g,n),a.memoizedState=wd,a=Gn(null,o));else if(ua(a),rh(v)){if(g=v.nextSibling&&v.nextSibling.dataset,g)var I=g.dgst;g=I,o=Error(l(419)),o.stack="",o.digest=g,Pn({value:o,source:null,stack:null}),a=Ad(t,a,n)}else if(nt||Li(t,a,n,!1),g=(n&t.childLanes)!==0,nt||g){if(g=_e,g!==null&&(o=Ym(g,n),o!==0&&o!==A.retryLane))throw A.retryLane=o,qa(t,o),Dt(g,t,o),vd;nh(v)||Uo(),a=Ad(t,a,n)}else nh(v)?(a.flags|=192,a.child=t.child,a=null):(t=A.treeContext,We=as(v.nextSibling),pt=a,Le=!0,ra=null,ts=!1,t!==null&&Vp(a,t),a=Sd(a,o.children),a.flags|=4096);return a}return d?(ma(),v=o.fallback,d=a.mode,A=t.child,I=A.sibling,o=Ms(A,{mode:"hidden",children:o.children}),o.subtreeFlags=A.subtreeFlags&65011712,I!==null?v=Ms(I,v):(v=Ga(v,d,n,null),v.flags|=2),v.return=a,o.return=a,o.sibling=v,a.child=o,Gn(null,o),o=a.child,v=t.child.memoizedState,v===null?v=Nd(n):(d=v.cachePool,d!==null?(A=at._currentValue,d=d.parent!==A?{parent:A,pool:A}:d):d=Gp(),v={baseLanes:v.baseLanes|n,cachePool:d}),o.memoizedState=v,o.childLanes=Td(t,g,n),a.memoizedState=wd,Gn(t.child,o)):(ua(a),n=t.child,t=n.sibling,n=Ms(n,{mode:"visible",children:o.children}),n.return=a,n.sibling=null,t!==null&&(g=a.deletions,g===null?(a.deleti
vendor: 5,900 bytes, line 48
48ons=[t],a.flags|=16):g.push(t)),a.child=n,a.memoizedState=null,n)}function Sd(t,a){return a=Co({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function Co(t,a){return t=Bt(22,t,null,a),t.lanes=0,t}function Ad(t,a,n){return Ja(a,t.child,null,n),t=Sd(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function rx(t,a,n){t.lanes|=a;var o=t.alternate;o!==null&&(o.lanes|=a),_c(t.return,a,n)}function Cd(t,a,n,o,d,h){var g=t.memoizedState;g===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:o,tail:n,tailMode:d,treeForkCount:h}:(g.isBackwards=a,g.rendering=null,g.renderingStartTime=0,g.last=o,g.tail=n,g.tailMode=d,g.treeForkCount=h)}function ox(t,a,n){var o=a.pendingProps,d=o.revealOrder,h=o.tail;o=o.children;var g=Je.current,v=(g&2)!==0;if(v?(g=g&1|2,a.flags|=128):g&=1,ee(Je,g),xt(t,a,o,n),o=Le?On:0,!v&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&rx(t,n,a);else if(t.tag===19)rx(t,n,a);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break e;for(;t.sibling===null;){if(t.return===null||t.return===a)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(d){case"forwards":for(n=a.child,d=null;n!==null;)t=n.alternate,t!==null&&fo(t)===null&&(d=n),n=n.sibling;n=d,n===null?(d=a.child,a.child=null):(d=n.sibling,n.sibling=null),Cd(a,!1,d,n,h,o);break;case"backwards":case"unstable_legacy-backwards":for(n=null,d=a.child,a.child=null;d!==null;){if(t=d.alternate,t!==null&&fo(t)===null){a.child=d;break}t=d.sibling,d.sibling=n,n=d,d=t}Cd(a,!0,n,null,h,o);break;case"together":Cd(a,!1,null,null,void 0,o);break;default:a.memoizedState=null}return a.child}function _s(t,a,n){if(t!==null&&(a.dependencies=t.dependencies),xa|=a.lanes,(n&a.childLanes)===0)if(t!==null){if(Li(t,a,n,!1),(n&a.childLanes)===0)return null}else return null;if(t!==null&&a.child!==t.child)throw Error(l(153));if(a.child!==null){for(t=a.child,n=Ms(t,t.pendingProps),a.child=n,n.return=a;t.sibling!==null;)t=t.sibling,n=n.sibling=Ms(t,t.pendingProps),n.return=a;n.sibling=null}return a.child}function Ed(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&ro(t)))}function s1(t,a,n){switch(a.tag){case 3:$e(a,a.stateNode.containerInfo),la(a,at,t.memoizedState.cache),Fa();break;case 27:case 5:Qt(a);break;case 4:$e(a,a.stateNode.containerInfo);break;case 10:la(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,Jc(a),null;break;case 13:var o=a.memoizedState;if(o!==null)return o.dehydrated!==null?(ua(a),a.flags|=128,null):(n&a.child.childLanes)!==0?nx(t,a,n):(ua(a),t=_s(t,a,n),t!==null?t.sibling:null);ua(a);break;case 19:var d=(t.flags&128)!==0;if(o=(n&a.childLanes)!==0,o||(Li(t,a,n,!1),o=(n&a.childLanes)!==0),d){if(o)return ox(t,a,n);a.flags|=128}if(d=a.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),ee(Je,Je.current),o)break;return null;case 22:return a.lanes=0,Jf(t,a,n,a.pendingProps);case 24:la(a,at,t.memoizedState.cache)}return _s(t,a,n)}function lx(t,a,n){if(t!==null)if(t.memoizedProps!==a.pendingProps)nt=!0;else{if(!Ed(t,n)&&(a.flags&128)===0)return nt=!1,s1(t,a,n);nt=(t.flags&131072)!==0}else nt=!1,Le&&(a.flags&1048576)!==0&&zp(a,On,a.index);switch(a.lanes=0,a.tag){case 16:e:{var o=a.pendingProps;if(t=Za(a.elementType),a.type=t,typeof t=="function")Oc(t)?(o=ti(t,o),a.tag=1,a=ax(null,a,t,o,n)):(a.tag=0,a=jd(null,a,t,o,n));else{if(t!=null){var d=t.$$typeof;if(d===Y){a.tag=11,a=Kf(null,a,t,o,n);break e}else if(d===V){a.tag=14,a=Zf(null,a,t,o,n);break e}}throw a=ae(t)||t,Error(l(306,a,""))}}return a;case 0:return jd(t,a,a.type,a.pendingProps,n);case 1:return o=a.type,d=ti(o,a.pendingProps),ax(t,a,o,d,n);case 3:e:{if($e(a,a.stateNode.containerInfo),t===null)throw Error(l(387));o=a.pendingProps;var h=a.memoizedState;d=h.element,Qc(t,a),_n(a,o,null,n);var g=a.memoizedState;if(o=g.cache,la(a,at,o),o!==h.cache&&Wc(a,[at],n,!0),Vn(),o=g.element,h.isDehydrated)if(h={element:o,isDehydrated:!1,cache:g.cache},a.updateQueue.baseState=h,a.memoizedState=h,a.flags&256){a=ix(t,a,o,n);break e}else if(o!==d){d=$t(Error(l(424)),a),Pn(d),a=ix(t,a,o,n);break e}else{switch(t=a.stateNode.containerInfo,t.nodeType){case 9:t=t.body;break;default:t=t.nodeName==="HTML"?t.ownerDocument.body:t}for(We=as(t.firstChild),pt=a,Le=!0,ra=null,ts=!0,n=$p(a,null,o,n),a.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fa(),o===d){a=_s(t,a,n);break e}xt(t,a,o,n)}a=a.child}return a;case 26:return Ao(t,a),t===null?(n=by(a.type,null,a.pendingProps,null))?a.memoizedState=n:Le||(n=a.type,t=a.pendingProps,o=Ho(je.current).createElement(n),o[mt]=a,o[St]=t,yt(o,n,t),dt(o),a.stateNode=o):a.memoizedState=by(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return Qt(a),t===null&&Le&&(o=a.stateNode=xy(a.type,a.pendingProps,je.current),pt=a,ts=!0,d=We,ja(a.type)?(oh=d,We=as(o.firstChild)):We=d),xt(t,a,a.pendingProps.children,n),Ao(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&Le&&((d=o=We)&&(o=R1(o,a.type,a.pendingProps,ts),o!==null?(a.stateNode=o,pt=a,We=as(o.firstChild),ts=!1,d=!0):d=!1),d||oa(a)),Qt(a),d=a.type,h=a.pendingProps,g=t!==null?t.memoizedProps:null,o=h.children,sh(d,h)?o=null:g!==null&&sh(d,g)&&(a.flags|=32),a.memoizedState!==null&&(d=td(t,a,FN,null,null,n),or._currentValue=d),Ao(t,a),xt(t,a,o,n),a.child;case 6:return t===null&&Le&&((t=n=We)&&(n=O1(n,a.pendingProps,ts),n!==null?(a.stateNode=n,pt=a,We=null,t=!0):t=!1),t||oa(a)),null;case 13:return nx(t,a,n);case 4:return $e(a,a.stateNode.containerInfo),o=a.pendingProps,t===null?a.child=Ja(a,null,o,n):xt(t,a,o,n),a.child;case 11:return Kf(t,a,a.type,a.pendingProps,n);case 7:return xt(t,a,a.pendingProps,n),a.child;case 8:return xt(t,a,a.pendingProps.children,n),a.child;case 12:return xt(t,a,a.pendingProps.children,n),a.child;case 10:return o=a.pendingProps,la(a,a.type,o.value),xt(t,a,o.children,n),a.child;
vendor: 4,601 bytes, line 48
48case 9:return d=a.type._context,o=a.pendingProps.children,Xa(a),d=ft(d),o=o(d),a.flags|=1,xt(t,a,o,n),a.child;case 14:return Zf(t,a,a.type,a.pendingProps,n);case 15:return $f(t,a,a.type,a.pendingProps,n);case 19:return ox(t,a,n);case 31:return t1(t,a,n);case 22:return Jf(t,a,n,a.pendingProps);case 24:return Xa(a),o=ft(at),t===null?(d=qc(),d===null&&(d=_e,h=Hc(),d.pooledCache=h,h.refCount++,h!==null&&(d.pooledCacheLanes|=n),d=h),a.memoizedState={parent:o,cache:d},Fc(a),la(a,at,d)):((t.lanes&n)!==0&&(Qc(t,a),_n(a,null,null,n),Vn()),d=t.memoizedState,h=a.memoizedState,d.parent!==o?(d={parent:o,cache:o},a.memoizedState=d,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=d),la(a,at,o)):(o=h.cache,la(a,at,o),o!==d.cache&&Wc(a,[at],n,!0))),xt(t,a,a.pendingProps.children,n),a.child;case 29:throw a.pendingProps}throw Error(l(156,a.tag))}function Ws(t){t.flags|=4}function kd(t,a,n,o,d){if((a=(t.mode&32)!==0)&&(a=!1),a){if(t.flags|=16777216,(d&335544128)===d)if(t.stateNode.complete)t.flags|=8192;else if(Mx())t.flags|=8192;else throw $a=ho,Gc}else t.flags&=-16777217}function cx(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!Ty(a))if(Mx())t.flags|=8192;else throw $a=ho,Gc}function Eo(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?_m():536870912,t.lanes|=a,Wi|=a)}function Fn(t,a){if(!Le)switch(t.tailMode){case"hidden":a=t.tail;for(var n=null;a!==null;)a.alternate!==null&&(n=a),a=a.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var o=null;n!==null;)n.alternate!==null&&(o=n),n=n.sibling;o===null?a||t.tail===null?t.tail=null:t.tail.sibling=null:o.sibling=null}}function He(t){var a=t.alternate!==null&&t.alternate.child===t.child,n=0,o=0;if(a)for(var d=t.child;d!==null;)n|=d.lanes|d.childLanes,o|=d.subtreeFlags&65011712,o|=d.flags&65011712,d.return=t,d=d.sibling;else for(d=t.child;d!==null;)n|=d.lanes|d.childLanes,o|=d.subtreeFlags,o|=d.flags,d.return=t,d=d.sibling;return t.subtreeFlags|=o,t.childLanes=n,a}function a1(t,a,n){var o=a.pendingProps;switch(Ic(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return He(a),null;case 1:return He(a),null;case 3:return n=a.stateNode,o=null,t!==null&&(o=t.memoizedState.cache),a.memoizedState.cache!==o&&(a.flags|=2048),Bs(at),Ie(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(t===null||t.child===null)&&(ki(a)?Ws(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,zc())),He(a),null;case 26:var d=a.type,h=a.memoizedState;return t===null?(Ws(a),h!==null?(He(a),cx(a,h)):(He(a),kd(a,d,null,o,n))):h?h!==t.memoizedState?(Ws(a),He(a),cx(a,h)):(He(a),a.flags&=-16777217):(t=t.memoizedProps,t!==o&&Ws(a),He(a),kd(a,d,t,o,n)),null;case 27:if(ys(a),n=je.current,d=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==o&&Ws(a);else{if(!o){if(a.stateNode===null)throw Error(l(166));return He(a),null}t=se.current,ki(a)?_p(a):(t=xy(d,o,n),a.stateNode=t,Ws(a))}return He(a),null;case 5:if(ys(a),d=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==o&&Ws(a);else{if(!o){if(a.stateNode===null)throw Error(l(166));return He(a),null}if(h=se.current,ki(a))_p(a);else{var g=Ho(je.current);switch(h){case 1:h=g.createElementNS("http://www.w3.org/2000/svg",d);break;case 2:h=g.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;default:switch(d){case"svg":h=g.createElementNS("http://www.w3.org/2000/svg",d);break;case"math":h=g.createElementNS("http://www.w3.org/1998/Math/MathML",d);break;case"script":h=g.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof o.is=="string"?g.createElement("select",{is:o.is}):g.createElement("select"),o.multiple?h.multiple=!0:o.size&&(h.size=o.size);break;default:h=typeof o.is=="string"?g.createElement(d,{is:o.is}):g.createElement(d)}}h[mt]=a,h[St]=o;e:for(g=a.child;g!==null;){if(g.tag===5||g.tag===6)h.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===a)break e;for(;g.sibling===null;){if(g.return===null||g.return===a)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}a.stateNode=h;e:switch(yt(h,d,o),d){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&Ws(a)}}return He(a),kd(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,n),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==o&&Ws(a);else{if(typeof o!="string"&&a.stateNode===null)throw Error(l(166));if(t=je.current,ki(a)){if(t=a.stateNode,n=a.memoizedProps,o=null,d=
vendor: 22,699 bytes, line 48
48pt,d!==null)switch(d.tag){case 27:case 5:o=d.memoizedProps}t[mt]=a,t=!!(t.nodeValue===n||o!==null&&o.suppressHydrationWarning===!0||ny(t.nodeValue,n)),t||oa(a,!0)}else t=Ho(t).createTextNode(o),t[mt]=a,a.stateNode=t}return He(a),null;case 31:if(n=a.memoizedState,t===null||t.memoizedState!==null){if(o=ki(a),n!==null){if(t===null){if(!o)throw Error(l(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(l(557));t[mt]=a}else Fa(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;He(a),t=!1}else n=zc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=n),t=!0;if(!t)return a.flags&256?(Vt(a),a):(Vt(a),null);if((a.flags&128)!==0)throw Error(l(558))}return He(a),null;case 13:if(o=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(d=ki(a),o!==null&&o.dehydrated!==null){if(t===null){if(!d)throw Error(l(318));if(d=a.memoizedState,d=d!==null?d.dehydrated:null,!d)throw Error(l(317));d[mt]=a}else Fa(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;He(a),d=!1}else d=zc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=d),d=!0;if(!d)return a.flags&256?(Vt(a),a):(Vt(a),null)}return Vt(a),(a.flags&128)!==0?(a.lanes=n,a):(n=o!==null,t=t!==null&&t.memoizedState!==null,n&&(o=a.child,d=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(d=o.alternate.memoizedState.cachePool.pool),h=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(h=o.memoizedState.cachePool.pool),h!==d&&(o.flags|=2048)),n!==t&&n&&(a.child.flags|=8192),Eo(a,a.updateQueue),He(a),null);case 4:return Ie(),t===null&&Zd(a.stateNode.containerInfo),He(a),null;case 10:return Bs(a.type),He(a),null;case 19:if(Q(Je),o=a.memoizedState,o===null)return He(a),null;if(d=(a.flags&128)!==0,h=o.rendering,h===null)if(d)Fn(o,!1);else{if(Ke!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(h=fo(t),h!==null){for(a.flags|=128,Fn(o,!1),t=h.updateQueue,a.updateQueue=t,Eo(a,t),a.subtreeFlags=0,t=n,n=a.child;n!==null;)Up(n,t),n=n.sibling;return ee(Je,Je.current&1|2),Le&&Us(a,o.treeForkCount),a.child}t=t.sibling}o.tail!==null&&Pt()>Oo&&(a.flags|=128,d=!0,Fn(o,!1),a.lanes=4194304)}else{if(!d)if(t=fo(h),t!==null){if(a.flags|=128,d=!0,t=t.updateQueue,a.updateQueue=t,Eo(a,t),Fn(o,!0),o.tail===null&&o.tailMode==="hidden"&&!h.alternate&&!Le)return He(a),null}else 2*Pt()-o.renderingStartTime>Oo&&n!==536870912&&(a.flags|=128,d=!0,Fn(o,!1),a.lanes=4194304);o.isBackwards?(h.sibling=a.child,a.child=h):(t=o.last,t!==null?t.sibling=h:a.child=h,o.last=h)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Pt(),t.sibling=null,n=Je.current,ee(Je,d?n&1|2:n&1),Le&&Us(a,o.treeForkCount),t):(He(a),null);case 22:case 23:return Vt(a),$c(),o=a.memoizedState!==null,t!==null?t.memoizedState!==null!==o&&(a.flags|=8192):o&&(a.flags|=8192),o?(n&536870912)!==0&&(a.flags&128)===0&&(He(a),a.subtreeFlags&6&&(a.flags|=8192)):He(a),n=a.updateQueue,n!==null&&Eo(a,n.retryQueue),n=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),o=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(o=a.memoizedState.cachePool.pool),o!==n&&(a.flags|=2048),t!==null&&Q(Ka),null;case 24:return n=null,t!==null&&(n=t.memoizedState.cache),a.memoizedState.cache!==n&&(a.flags|=2048),Bs(at),He(a),null;case 25:return null;case 30:return null}throw Error(l(156,a.tag))}function i1(t,a){switch(Ic(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return Bs(at),Ie(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return ys(a),null;case 31:if(a.memoizedState!==null){if(Vt(a),a.alternate===null)throw Error(l(340));Fa()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(Vt(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(l(340));Fa()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return Q(Je),null;case 4:return Ie(),null;case 10:return Bs(a.type),null;case 22:case 23:return Vt(a),$c(),t!==null&&Q(Ka),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return Bs(at),null;case 25:return null;default:return null}}function dx(t,a){switch(Ic(a),a.tag){case 3:Bs(at),Ie();break;case 26:case 27:case 5:ys(a);break;case 4:Ie();break;case 31:a.memoizedState!==null&&Vt(a);break;case 13:Vt(a);break;case 19:Q(Je);break;case 10:Bs(a.type);break;case 22:case 23:Vt(a),$c(),t!==null&&Q(Ka);break;case 24:Bs(at)}}function Qn(t,a){try{var n=a.updateQueue,o=n!==null?n.lastEffect:null;if(o!==null){var d=o.next;n=d;do{if((n.tag&t)===t){o=void 0;var h=n.create,g=n.inst;o=h(),g.destroy=o}n=n.next}while(n!==d)}}catch(v){Me(a,a.return,v)}}function pa(t,a,n){try{var o=a.updateQueue,d=o!==null?o.lastEffect:null;if(d!==null){var h=d.next;o=h;do{if((o.tag&t)===t){var g=o.inst,v=g.destroy;if(v!==void 0){g.destroy=void 0,d=a;var A=n,I=v;try{I()}catch(F){Me(d,A,F)}}}o=o.next}while(o!==h)}}catch(F){Me(a,a.return,F)}}function hx(t){var a=t.updateQueue;if(a!==null){var n=t.stateNode;try{ef(a,n)}catch(o){Me(t,t.return,o)}}}function ux(t,a,n){n.props=ti(t.type,t.memoizedProps),n.state=t.memoizedState;try{n.componentWillUnmount()}catch(o){Me(t,a,o)}}function Xn(t,a){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case 27:case 5:var o=t.stateNode;break;case 30:o=t.stateNode;break;default:o=t.stateNode}typeof n=="function"?t.refCleanup=n(o):n.current=o}}catch(d){Me(t,a,d)}}function js(t,a){var n=t.ref,o=t.refCleanup;if(n!==null)if(typeof o=="function")try{o()}catch(d){Me(t,a,d)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(d){Me(t,a,d)}else n.current=null}function mx(t){var a=t.type,n=t.memoizedProps,o=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":n.autoFocus&&o.focus();break e;case"img":n.src?o.src=n.src:n.srcSet&&(o.srcset=n.srcSet)}}catch(d){Me(t,t.return,d)}}function Ld(t,a,n){try{var o=t.stateNode;A1(o,t.type,n,a),o[St]=a}catch(d){Me(t,t.return,d)}}function px(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ja(t.type)||t.tag===4}function Dd(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||px(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ja(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Rd(t,a,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,a?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(t,a):(a=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,a.appendChild(t),n=n._reactRootContainer,n!=null||a.onclick!==null||(a.onclick=Os));else if(o!==4&&(o===27&&ja(t.type)&&(n=t.stateNode,a=null),t=t.child,t!==null))for(Rd(t,a,n),t=t.sibling;t!==null;)Rd(t,a,n),t=t.sibling}function ko(t,a,n){var o=t.tag;if(o===5||o===6)t=t.stateNode,a?n.insertBefore(t,a):n.appendChild(t);else if(o!==4&&(o===27&&ja(t.type)&&(n=t.stateNode),t=t.child,t!==null))for(ko(t,a,n),t=t.sibling;t!==null;)ko(t,a,n),t=t.sibling}function fx(t){var a=t.stateNode,n=t.memoizedProps;try{for(var o=t.type,d=a.attributes;d.length;)a.removeAttributeNode(d[0]);yt(a,o,n),a[mt]=t,a[St]=n}catch(h){Me(t,t.return,h)}}var Hs=!1,rt=!1,Od=!1,xx=typeof WeakSet=="function"?WeakSet:Set,ht=null;function n1(t,a){if(t=t.containerInfo,eh=Ko,t=Cp(t),Ac(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var o=n.getSelection&&n.getSelection();if(o&&o.rangeCount!==0){n=o.anchorNode;var d=o.anchorOffset,h=o.focusNode;o=o.focusOffset;try{n.nodeType,h.nodeType}catch{n=null;break e}var g=0,v=-1,A=-1,I=0,F=0,K=t,B=null;t:for(;;){for(var W;K!==n||d!==0&&K.nodeType!==3||(v=g+d),K!==h||o!==0&&K.nodeType!==3||(A=g+o),K.nodeType===3&&(g+=K.nodeValue.length),(W=K.firstChild)!==null;)B=K,K=W;for(;;){if(K===t)break t;if(B===n&&++I===d&&(v=g),B===h&&++F===o&&(A=g),(W=K.nextSibling)!==null)break;K=B,B=K.parentNode}K=W}n=v===-1||A===-1?null:{start:v,end:A}}else n=null}n=n||{start:0,end:0}}else n=null;for(th={focusedElem:t,selectionRange:n},Ko=!1,ht=a;ht!==null;)if(a=ht,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,ht=t;else for(;ht!==null;){switch(a=ht,h=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(n=0;n<t.length;n++)d=t[n],d.ref.impl=d.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&h!==null){t=void 0,n=a,d=h.memoizedProps,h=h.memoizedState,o=n.stateNode;try{var ne=ti(n.type,d);t=o.getSnapshotBeforeUpdate(ne,h),o.__reactInternalSnapshotBeforeUpdate=t}catch(me){Me(n,n.return,me)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,n=t.nodeType,n===9)ih(t);else if(n===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":ih(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(l(163))}if(t=a.sibling,t!==null){t.return=a.return,ht=t;break}ht=a.return}}function yx(t,a,n){var o=n.flags;switch(n.tag){case 0:case 11:case 15:qs(t,n),o&4&&Qn(5,n);break;case 1:if(qs(t,n),o&4)if(t=n.stateNode,a===null)try{t.componentDidMount()}catch(g){Me(n,n.return,g)}else{var d=ti(n.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(d,a,t.__reactInternalSnapshotBeforeUpdate)}catch(g){Me(n,n.return,g)}}o&64&&hx(n),o&512&&Xn(n,n.return);break;case 3:if(qs(t,n),o&64&&(t=n.updateQueue,t!==null)){if(a=null,n.child!==null)switch(n.child.tag){case 27:case 5:a=n.child.stateNode;break;case 1:a=n.child.stateNode}try{ef(t,a)}catch(g){Me(n,n.return,g)}}break;case 27:a===null&&o&4&&fx(n);case 26:case 5:qs(t,n),a===null&&o&4&&mx(n),o&512&&Xn(n,n.return);break;case 12:qs(t,n);break;case 31:qs(t,n),o&4&&vx(t,n);break;case 13:qs(t,n),o&4&&jx(t,n),o&64&&(t=n.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(n=p1.bind(null,n),P1(t,n))));break;case 22:if(o=n.memoizedState!==null||Hs,!o){a=a!==null&&a.memoizedState!==null||rt,d=Hs;var h=rt;Hs=o,(rt=a)&&!h?Gs(t,n,(n.subtreeFlags&8772)!==0):qs(t,n),Hs=d,rt=h}break;case 30:break;default:qs(t,n)}}function gx(t){var a=t.alternate;a!==null&&(t.alternate=null,gx(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&cc(a)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var Ye=null,Ct=!1;function Ys(t,a,n){for(n=n.child;n!==null;)bx(t,a,n),n=n.sibling}function bx(t,a,n){if(Mt&&typeof Mt.onCommitFiberUnmount=="function")try{Mt.onCommitFiberUnmount(bn,n)}catch{}switch(n.tag){case 26:rt||js(n,a),Ys(t,a,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:rt||js(n,a);var o=Ye,d=Ct;ja(n.type)&&(Ye=n.stateNode,Ct=!1),Ys(t,a,n),ir(n.stateNode),Ye=o,Ct=d;break;case 5:rt||js(n,a);case 6:if(o=Ye,d=Ct,Ye=null,Ys(t,a,n),Ye=o,Ct=d,Ye!==null)if(Ct)try{(Ye.nodeType===9?Ye.body:Ye.nodeName==="HTML"?Ye.ownerDocument.body:Ye).removeChild(n.stateNode)}catch(h){Me(n,a,h)}else try{Ye.removeChild(n.stateNode)}catch(h){Me(n,a,h)}break;case 18:Ye!==null&&(Ct?(t=Ye,hy(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,n.stateNode),Ki(t)):hy(Ye,n.stateNode));break;case 4:o=Ye,d=Ct,Ye=n.stateNode.containerInfo,Ct=!0,Ys(t,a,n),Ye=o,Ct=d;break;case 0:case 11:case 14:case 15:pa(2,n,a),rt||pa(4,n,a),Ys(t,a,n);break;case 1:rt||(js(n,a),o=n.stateNode,typeof o.componentWillUnmount=="function"&&ux(n,a,o)),Ys(t,a,n);break;case 21:Ys(t,a,n);break;case 22:rt=(o=rt)||n.memoizedState!==null,Ys(t,a,n),rt=o;break;default:Ys(t,a,n)}}function vx(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Ki(t)}catch(n){Me(a,a.return,n)}}}function jx(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Ki(t)}catch(n){Me(a,a.return,n)}}function r1(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new xx),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new xx),a;default:throw Error(l(435,t.tag))}}function Lo(t,a){var n=r1(t);a.forEach(function(o){if(!n.has(o)){n.add(o);var d=f1.bind(null,t,o);o.then(d,d)}})}function Et(t,a){var n=a.deletions;if(n!==null)for(var o=0;o<n.length;o++){var d=n[o],h=t,g=a,v=g;e:for(;v!==null;){switch(v.tag){case 27:if(ja(v.type)){Ye=v.stateNode,Ct=!1;break e}break;case 5:Ye=v.stateNode,Ct=!1;break e;case 3:case 4:Ye=v.stateNode.containerInfo,Ct=!0;break e}v=v.return}if(Ye===null)throw Error(l(160));bx(h,g,d),Ye=null,Ct=!1,h=d.alternate,h!==null&&(h.return=null),d.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)wx(a,t),a=a.sibling}var hs=null;function wx(t,a){var n=t.alternate,o=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Et(a,t),kt(t),o&4&&(pa(3,t,t.return),Qn(3,t),pa(5,t,t.return));break;case 1:Et(a,t),kt(t),o&512&&(rt||n===null||js(n,n.return)),o&64&&Hs&&(t=t.updateQueue,t!==null&&(o=t.callbacks,o!==null&&(n=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=n===null?o:n.concat(o))));break;case 26:var d=hs;if(Et(a,t),kt(t),o&512&&(rt||n===null||js(n,n.return)),o&4){var h=n!==null?n.memoizedState:null;if(o=t.memoizedState,n===null)if(o===null)if(t.stateNode===null){e:{o=t.type,n=t.memoizedProps,d=d.ownerDocument||d;t:switch(o){case"title":h=d.getElementsByTagName("title")[0],(!h||h[wn]||h[mt]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=d.createElement(o),d.head.insertBefore(h,d.querySelector("head > title"))),yt(h,o,n),h[mt]=t,dt(h),o=h;break e;case"link":var g=wy("link","href",d).get(o+(n.href||""));if(g){for(var v=0;v<g.length;v++)if(h=g[v],h.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&h.getAttribute("rel")===(n.rel==null?null:n.rel)&&h.getAttribute("title")===(n.title==null?null:n.title)&&h.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){g.splice(v,1);break t}}h=d.createElement(o),yt(h,o,n),d.head.appendChild(h);break;case"meta":if(g=wy("meta","content",d).get(o+(n.content||""))){for(v=0;v<g.length;v++)if(h=g[v],h.getAttribute("content")===(n.content==null?null:""+n.content)&&h.getAttribute("name")===(n.name==null?null:n.name)&&h.getAttribute("property")===(n.property==null?null:n.property)&&h.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&h.getAttribute("charset")===(n.charSet==null?null:n.charSet)){g.splice(v,1);break t}}h=d.createElement(o),yt(h,o,n),d.head.appendChild(h);break;default:throw Error(l(468,o))}h[mt]=t,dt(h),o=h}t.stateNode=o}else Ny(d,t.type,t.stateNode);else t.stateNode=jy(d,o,t.memoizedProps);else h!==o?(h===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):h.count--,o===null?Ny(d,t.type,t.stateNode):jy(d,o,t.memoizedProps)):o===null&&t.stateNode!==null&&Ld(t,t.memoizedProps,n.memoizedProps)}break;case 27:Et(a,t),kt(t),o&512&&(rt||n===null||js(n,n.return)),n!==null&&o&4&&Ld(t,t.memoizedProps,n.memoizedProps);break;case 5:if(Et(a,t),kt(t),o&512&&(rt||n===null||js(n,n.return)),t.flags&32){d=t.stateNode;try{bi(d,"")}catch(ne){Me(t,t.return,ne)}}o&4&&t.stateNode!=null&&(d=t.memoizedProps,Ld(t,d,n!==null?n.memoizedProps:d)),o&1024&&(Od=!0);break;case 6:if(Et(a,t),kt(t),o&4){if(t.stateNode===null)throw Error(l(162));o=t.memoizedProps,n=t.stateNode;try{n.nodeValue=o}catch(ne){Me(t,t.return,ne)}}break;case 3:if(Go=null,d=hs,hs=Yo(a.containerInfo),Et(a,t),hs=d,kt(t),o&4&&n!==null&&n.memoizedState.isDehydrated)try{Ki(a.containerInfo)}catch(ne){Me(t,t.return,ne)}Od&&(Od=!1,Nx(t));break;case 4:o=hs,hs=Yo(t.stateNode.containerInfo),Et(a,t),kt(t),hs=o;break;case 12:Et(a,t),kt(t);break;case 31:Et(a,t),kt(t),o&4&&(o=t.updateQueue,o!==null&&(t.updateQueue=null,Lo(t,o)));break;case 13:Et(a,t),kt(t),t.child.flags&8192&&t.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Ro=Pt()),o&4&&(o=t.updateQueue,o!==null&&(t.updateQueue=null,Lo(t,o)));break;case 22:d=t.memoizedState!==null;var A=n!==null&&n.memoizedState!==null,I=Hs,F=rt;if(Hs=I||d,rt=F||A,Et(a,t),rt=F,Hs=I,kt(t),o&8192)e:for(a=t.stateNode,a._visibility=d?a._visibility&-2:a._visibility|1,d&&(n===null||A||Hs||rt||si(t)),n=null,a=t;;){if(a.tag===5||a.tag===26){if(n===null){A=n=a;try{if(h=A.stateNode,d)g=h.style,typeof g.setProperty=="function"?g.setProperty("display","none","important"):g.display="none";else{v=A.stateNode;var K=A.memoizedProps.style,B=K!=null&&K.hasOwnProperty("display")?K.display:null;v.style.display=B==null||typeof B=="boolean"?"":(""+B).trim()}}catch(ne){Me(A,A.return,ne)}}}else if(a.tag===6){if(n===null){A=a;try{A.stateNode.nodeValue=d?"":A.memoizedProps}catch(ne){Me(A,A.return,ne)}}}else if(a.tag===18){if(n===null){A=a;try{var W=A.stateNode;d?uy(W,!0):uy(A.stateNode,!1)}catch(ne){Me(A,A.return,ne)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===t)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;n===a&&(n=null),a=a.return}n===a&&(n=null),a.sibling.return=a.return,a=a.sibling}o&4&&(o=t.updateQueue,o!==null&&(n=o.retryQueue,n!==null&&(o.retryQueue=null,Lo(t,n))));break;case 19:Et(a,t),kt(t),o&4&&(o=t.updateQueue,o!==null&&(t.updateQueue=null,Lo(t,o)));break;case 30:break;case 21:break;default:Et(a,t),kt(t)}}function kt(t){var a=t.flags;if(a&2){try{for(var n,o=t.return;o!==null;){if(px(o)){n=o;break}o=o.return}if(n==null)throw Error(l(160));switch(n.tag){case 27:var d=n.stateNode,h=Dd(t);ko(t,h,d);break;case 5:var g=n.stateNode;n.flags&32&&(bi(g,""),n.flags&=-33);var v=Dd(t);ko(t,v,g);break;case 3:case 4:var A=n.stateNode.containerInfo,I=Dd(t);Rd(t,I,A);break;default:throw Error(l(161))}}catch(F){Me(t,t.return,F)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function Nx(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;Nx(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function qs(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)yx(t,a.alternate,a),a=a.sibling}function si(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:pa(4,a,a.return),si(a);break;case 1:js(a,a.return);var n=a.stateNode;typeof n.componentWillUnmount=="function"&&ux(a,a.return,n),si(a);break;case 27:ir(a.stateNode);case 26:case 5:js(a,a.return),si(a);break;case 22:a.memoizedState===null&&si(a);break;case 30:si(a);break;default:si(a)}t=t.sibling}}function Gs(t,a,n){for(n=n&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var o=a.alternate,d=t,h=a,g=h.flags;switch(h.tag){case 0:case 11:case 15:Gs(d,h,n),Qn(4,h);break;case 1:if(Gs(d,h,n),o=h,d=o.stateNode,typeof d.componentDidMount=="function")try{d.componentDidMount()}catch(I){Me(o,o.return,I)}if(o=h,d=o.updateQueue,d!==null){var v=o.stateNode;try{var A=d.shared.hiddenCallbacks;if(A!==null)for(d.shared.hiddenCallbacks=null,d=0;d<A.length;d++)Jp(A[d],v)}catch(I){Me(o,o.return,I)}}n&&g&64&&hx(h),Xn(h,h.return);break;case 27:fx(h);case 26:case 5:Gs(d,h,n),n&&o===null&&g&4&&mx(h),Xn(h,h.return);break;case 12:Gs(d,h,n);break;case 31:Gs(d,h,n),n&&g&4&&vx(d,h);break;case 13:Gs(d,h,n),n&&g&4&&jx(d,h);break;case 22:h.memoizedState===null&&Gs(d,h,n),Xn(h,h.return);break;case 30:break;default:Gs(d,h,n)}a=a.sibling}}function Pd(t,a){var n=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),t=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(t=a.memoizedState.cachePool.pool),t!==n&&(t!=null&&t.refCount++,n!=null&&Mn(n))}function Md(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Mn(t))}function us(t,a,n,o){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)Tx(t,a,n,o),a=a.sibling}function Tx(t,a,n,o){var d=a.flags;switch(a.tag){case 0:case 11:case 15:us(t,a,n,o),d&2048&&Qn(9,a);break;case 1:us(t,a,n,o);break;case 3:us(t,a,n,o),d&2048&&(t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Mn(t)));break;case 12:if(d&2048){us(t,a,n,o),t=a.stateNode;try{var h=a.memoizedProps,g=h.id,v=h.onPostCommit;typeof v=="function"&&v(g,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(A){Me(a,a.return,A)}}else us(t,a,n,o);break;case 31:us(t,a,n,o);break;case 13:us(t,a,n,o);break;case 23:break;case 22:h=a.stateNode,g=a.alternate,a.memoizedState!==null?h._visibility&2?us(t,a,n,o):Kn(t,a):h._visibility&2?us(t,a,n,o):(h._visibility|=2,zi(t,a,n,o,(a.subtreeFlags&10256)!==0||!1)),d&2048&&Pd(g,a);break;case 24:us(t,a,n,o),d&2048&&Md(a.alternate,a);break;default:us(t,a,n,o)}}function zi(t,a,n,o,d){for(d=d&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var h=t,g=a,v=n,A=o,I=g.flags;switch(g.tag){case 0:case 11:case 15:zi(h,g,v,A,d),Qn(8,g);break;case 23:break;case 22:var F=g.stateNode;g.memoizedState!==null?F._visibility&2?zi(h,g,v,A,d):Kn(h,g):(F._visibility|=2,zi(h,g,v,A,d)),d&&I&2048&&Pd(g.alternate,g);break;case 24:zi(h,g,v,A,d),d&&I&2048&&Md(g.alternate,g);break;default:zi(h,g,v,A,d)}a=a.sibling}}function Kn(t,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var n=t,o=a,d=o.flags;switch(o.tag){case 22:Kn(n,o),d&2048&&Pd(o.alternate,o);break;case 24:Kn(n,o),d&2048&&Md(o.alternate,o);break;default:Kn(n,o)}a=a.sibling}}var Zn=8192;function Vi(t,a,n){if(t.subtreeFlags&Zn)for(t=t.child;t!==null;)Sx(t,a,n),t=t.sibling}function Sx(t,a,n){switch(t.tag){case 26:Vi(t,a,n),t.flags&Zn&&t.memoizedState!==null&&G1(n,hs,t.memoizedState,t.memoizedProps);break;case 5:Vi(t,a,n);break;case 3:case 4:var o=hs;hs=Yo(t.stateNode.containerInfo),Vi(t,a,n),hs=o;break;case 22:t.memoizedState===null&&(o=t.alternate,o!==null&&o.memoizedState!==null?(o=Zn,Zn=16777216,Vi(t,a,n),Zn=o):Vi(t,a,n));break;default:Vi(t,a,n)}}function Ax(t){var a=t.alternate;if(a!==null&&(t=a.child,t!==null)){a.child=null;do a=t.sibling,t.sibling=null,t=a;while(t!==null)}}function $n(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var n=0;n<a.length;n++){var o=a[n];ht=o,Ex(o,t)}Ax(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Cx(t),t=t.sibling}function Cx(t){switch(t.tag){case 0:case 11:case 15:$n(t),t.flags&2048&&pa(9,t,t.return);break;case 3:$n(t);break;case 12:$n(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,Do(t)):$n(t);break;default:$n(t)}}function Do(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var n=0;n<a.length;n++){var o=a[n];ht=o,Ex(o,t)}Ax(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:pa(8,a,a.return),Do(a);break;
vendor: 4,497 bytes, line 48
48case 22:n=a.stateNode,n._visibility&2&&(n._visibility&=-3,Do(a));break;default:Do(a)}t=t.sibling}}function Ex(t,a){for(;ht!==null;){var n=ht;switch(n.tag){case 0:case 11:case 15:pa(8,n,a);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var o=n.memoizedState.cachePool.pool;o!=null&&o.refCount++}break;case 24:Mn(n.memoizedState.cache)}if(o=n.child,o!==null)o.return=n,ht=o;else e:for(n=t;ht!==null;){o=ht;var d=o.sibling,h=o.return;if(gx(o),o===n){ht=null;break e}if(d!==null){d.return=h,ht=d;break e}ht=h}}}var o1={getCacheForType:function(t){var a=ft(at),n=a.data.get(t);return n===void 0&&(n=t(),a.data.set(t,n)),n},cacheSignal:function(){return ft(at).controller.signal}},l1=typeof WeakMap=="function"?WeakMap:Map,Oe=0,_e=null,Se=null,Ce=0,Pe=0,_t=null,fa=!1,_i=!1,Ud=!1,Fs=0,Ke=0,xa=0,ai=0,Id=0,Wt=0,Wi=0,Jn=null,Lt=null,Bd=!1,Ro=0,kx=0,Oo=1/0,Po=null,ya=null,lt=0,ga=null,Hi=null,Qs=0,zd=0,Vd=null,Lx=null,er=0,_d=null;function Ht(){return(Oe&2)!==0&&Ce!==0?Ce&-Ce:P.T!==null?Fd():qm()}function Dx(){if(Wt===0)if((Ce&536870912)===0||Le){var t=_r;_r<<=1,(_r&3932160)===0&&(_r=262144),Wt=t}else Wt=536870912;return t=zt.current,t!==null&&(t.flags|=32),Wt}function Dt(t,a,n){(t===_e&&(Pe===2||Pe===9)||t.cancelPendingCommit!==null)&&(Yi(t,0),ba(t,Ce,Wt,!1)),jn(t,n),((Oe&2)===0||t!==_e)&&(t===_e&&((Oe&2)===0&&(ai|=n),Ke===4&&ba(t,Ce,Wt,!1)),ws(t))}function Rx(t,a,n){if((Oe&6)!==0)throw Error(l(327));var o=!n&&(a&127)===0&&(a&t.expiredLanes)===0||vn(t,a),d=o?h1(t,a):Hd(t,a,!0),h=o;do{if(d===0){_i&&!o&&ba(t,a,0,!1);break}else{if(n=t.current.alternate,h&&!c1(n)){d=Hd(t,a,!1),h=!1;continue}if(d===2){if(h=a,t.errorRecoveryDisabledLanes&h)var g=0;else g=t.pendingLanes&-536870913,g=g!==0?g:g&536870912?536870912:0;if(g!==0){a=g;e:{var v=t;d=Jn;var A=v.current.memoizedState.isDehydrated;if(A&&(Yi(v,g).flags|=256),g=Hd(v,g,!1),g!==2){if(Ud&&!A){v.errorRecoveryDisabledLanes|=h,ai|=h,d=4;break e}h=Lt,Lt=d,h!==null&&(Lt===null?Lt=h:Lt.push.apply(Lt,h))}d=g}if(h=!1,d!==2)continue}}if(d===1){Yi(t,0),ba(t,a,0,!0);break}e:{switch(o=t,h=d,h){case 0:case 1:throw Error(l(345));case 4:if((a&4194048)!==a)break;case 6:ba(o,a,Wt,!fa);break e;case 2:Lt=null;break;case 3:case 5:break;default:throw Error(l(329))}if((a&62914560)===a&&(d=Ro+300-Pt(),10<d)){if(ba(o,a,Wt,!fa),Hr(o,0,!0)!==0)break e;Qs=a,o.timeoutHandle=cy(Ox.bind(null,o,n,Lt,Po,Bd,a,Wt,ai,Wi,fa,h,"Throttled",-0,0),d);break e}Ox(o,n,Lt,Po,Bd,a,Wt,ai,Wi,fa,h,null,-0,0)}}break}while(!0);ws(t)}function Ox(t,a,n,o,d,h,g,v,A,I,F,K,B,W){if(t.timeoutHandle=-1,K=a.subtreeFlags,K&8192||(K&16785408)===16785408){K={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Os},Sx(a,h,K);var ne=(h&62914560)===h?Ro-Pt():(h&4194048)===h?kx-Pt():0;if(ne=F1(K,ne),ne!==null){Qs=h,t.cancelPendingCommit=ne(_x.bind(null,t,a,h,n,o,d,g,v,A,F,K,null,B,W)),ba(t,h,g,!I);return}}_x(t,a,h,n,o,d,g,v,A)}function c1(t){for(var a=t;;){var n=a.tag;if((n===0||n===11||n===15)&&a.flags&16384&&(n=a.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var o=0;o<n.length;o++){var d=n[o],h=d.getSnapshot;d=d.value;try{if(!It(h(),d))return!1}catch{return!1}}if(n=a.child,a.subtreeFlags&16384&&n!==null)n.return=a,a=n;else{if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function ba(t,a,n,o){a&=~Id,a&=~ai,t.suspendedLanes|=a,t.pingedLanes&=~a,o&&(t.warmLanes|=a),o=t.expirationTimes;for(var d=a;0<d;){var h=31-Ut(d),g=1<<h;o[h]=-1,d&=~g}n!==0&&Wm(t,n,a)}function Mo(){return(Oe&6)===0?(tr(0),!1):!0}function Wd(){if(Se!==null){if(Pe===0)var t=Se.return;else t=Se,Is=Qa=null,id(t),Pi=null,In=0,t=Se;for(;t!==null;)dx(t.alternate,t),t=t.return;Se=null}}function Yi(t,a){var n=t.timeoutHandle;n!==-1&&(t.timeoutHandle=-1,k1(n)),n=t.cancelPendingCommit,n!==null&&(t.cancelPendingCommit=null,n()),Qs=0,Wd(),_e=t,Se=n=Ms(t.current,null),Ce=a,Pe=0,_t=null,fa=!1,_i=vn(t,a),Ud=!1,Wi=Wt=Id=ai=xa=Ke=0,Lt=Jn=null,Bd=!1,(a&8)!==0&&(a|=a&32);var o=t.entangledLanes;if(o!==0)for(t=t.entanglements,o&=a;0<o;){var d=31-Ut(o),h=1<<d;a|=t[d],o&=~h}return Fs=a,to(),n}function Px(t,a){we=null,P.H=qn,a===Oi||a===co?(a=Xp(),Pe=3):a===Gc?(a=Xp(),Pe=4):Pe=a===vd?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,_t=a,Se===null&&(Ke=1,To(t,$t(a,t.current)))}function Mx(){var t=zt.current;return t===null?!0:(Ce&4194048)===Ce?ss===null:(Ce&62914560)===Ce||(Ce&536870912)!==0?t===ss:!1}
vendor: 4,224 bytes, line 48
48function Ux(){var t=P.H;return P.H=qn,t===null?qn:t}function Ix(){var t=P.A;return P.A=o1,t}function Uo(){Ke=4,fa||(Ce&4194048)!==Ce&&zt.current!==null||(_i=!0),(xa&134217727)===0&&(ai&134217727)===0||_e===null||ba(_e,Ce,Wt,!1)}function Hd(t,a,n){var o=Oe;Oe|=2;var d=Ux(),h=Ix();(_e!==t||Ce!==a)&&(Po=null,Yi(t,a)),a=!1;var g=Ke;e:do try{if(Pe!==0&&Se!==null){var v=Se,A=_t;switch(Pe){case 8:Wd(),g=6;break e;case 3:case 2:case 9:case 6:zt.current===null&&(a=!0);var I=Pe;if(Pe=0,_t=null,qi(t,v,A,I),n&&_i){g=0;break e}break;default:I=Pe,Pe=0,_t=null,qi(t,v,A,I)}}d1(),g=Ke;break}catch(F){Px(t,F)}while(!0);return a&&t.shellSuspendCounter++,Is=Qa=null,Oe=o,P.H=d,P.A=h,Se===null&&(_e=null,Ce=0,to()),g}function d1(){for(;Se!==null;)Bx(Se)}function h1(t,a){var n=Oe;Oe|=2;var o=Ux(),d=Ix();_e!==t||Ce!==a?(Po=null,Oo=Pt()+500,Yi(t,a)):_i=vn(t,a);e:do try{if(Pe!==0&&Se!==null){a=Se;var h=_t;t:switch(Pe){case 1:Pe=0,_t=null,qi(t,a,h,1);break;case 2:case 9:if(Fp(h)){Pe=0,_t=null,zx(a);break}a=function(){Pe!==2&&Pe!==9||_e!==t||(Pe=7),ws(t)},h.then(a,a);break e;case 3:Pe=7;break e;case 4:Pe=5;break e;case 7:Fp(h)?(Pe=0,_t=null,zx(a)):(Pe=0,_t=null,qi(t,a,h,7));break;case 5:var g=null;switch(Se.tag){case 26:g=Se.memoizedState;case 5:case 27:var v=Se;if(g?Ty(g):v.stateNode.complete){Pe=0,_t=null;var A=v.sibling;if(A!==null)Se=A;else{var I=v.return;I!==null?(Se=I,Io(I)):Se=null}break t}}Pe=0,_t=null,qi(t,a,h,5);break;case 6:Pe=0,_t=null,qi(t,a,h,6);break;case 8:Wd(),Ke=6;break e;default:throw Error(l(462))}}u1();break}catch(F){Px(t,F)}while(!0);return Is=Qa=null,P.H=o,P.A=d,Oe=n,Se!==null?0:(_e=null,Ce=0,to(),Ke)}function u1(){for(;Se!==null&&!Mw();)Bx(Se)}function Bx(t){var a=lx(t.alternate,t,Fs);t.memoizedProps=t.pendingProps,a===null?Io(t):Se=a}function zx(t){var a=t,n=a.alternate;switch(a.tag){case 15:case 0:a=sx(n,a,a.pendingProps,a.type,void 0,Ce);break;case 11:a=sx(n,a,a.pendingProps,a.type.render,a.ref,Ce);break;case 5:id(a);default:dx(n,a),a=Se=Up(a,Fs),a=lx(n,a,Fs)}t.memoizedProps=t.pendingProps,a===null?Io(t):Se=a}function qi(t,a,n,o){Is=Qa=null,id(a),Pi=null,In=0;var d=a.return;try{if(e1(t,d,a,n,Ce)){Ke=1,To(t,$t(n,t.current)),Se=null;return}}catch(h){if(d!==null)throw Se=d,h;Ke=1,To(t,$t(n,t.current)),Se=null;return}a.flags&32768?(Le||o===1?t=!0:_i||(Ce&536870912)!==0?t=!1:(fa=t=!0,(o===2||o===9||o===3||o===6)&&(o=zt.current,o!==null&&o.tag===13&&(o.flags|=16384))),Vx(a,t)):Io(a)}function Io(t){var a=t;do{if((a.flags&32768)!==0){Vx(a,fa);return}t=a.return;var n=a1(a.alternate,a,Fs);if(n!==null){Se=n;return}if(a=a.sibling,a!==null){Se=a;return}Se=a=t}while(a!==null);Ke===0&&(Ke=5)}function Vx(t,a){do{var n=i1(t.alternate,t);if(n!==null){n.flags&=32767,Se=n;return}if(n=t.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!a&&(t=t.sibling,t!==null)){Se=t;return}Se=t=n}while(t!==null);Ke=6,Se=null}function _x(t,a,n,o,d,h,g,v,A){t.cancelPendingCommit=null;do Bo();while(lt!==0);if((Oe&6)!==0)throw Error(l(327));if(a!==null){if(a===t.current)throw Error(l(177));if(h=a.lanes|a.childLanes,h|=Dc,qw(t,n,h,g,v,A),t===_e&&(Se=_e=null,Ce=0),Hi=a,ga=t,Qs=n,zd=h,Vd=d,Lx=o,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,x1(zr,function(){return Gx(),null})):(t.callbackNode=null,t.callbackPriority=0),o=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||o){o=P.T,P.T=null,d=G.p,G.p=2,g=Oe,Oe|=4;try{n1(t,a,n)}finally{Oe=g,G.p=d,P.T=o}}lt=1,Wx(),Hx(),Yx()}}function Wx(){if(lt===1){lt=0;var t=ga,a=Hi,n=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||n){n=P.T,P.T=null;var o=G.p;G.p=2;var d=Oe;Oe|=4;try{wx(a,t);var h=th,g=Cp(t.containerInfo),v=h.focusedElem,A=h.selectionRange;if(g!==v&&v&&v.ownerDocument&&Ap(v.ownerDocument.documentElement,v)){if(A!==null&&Ac(v)){var I=A.start,F=A.end;if(F===void 0&&(F=I),"selectionStart"in v)v.selectionStart=I,v.selectionEnd=Math.min(F,v.value.length);else{var K=v.ownerDocument||document,B=K&&K.defaultView||window;if(B.getSelection){var W=B.getSelection(),ne=v.textContent.length,me=Math.min(A.start,ne),Ve=A.end===void 0?me:Math.min(A.end,ne);!W.extend&&me>Ve&&(g=Ve,Ve=me,me=g);var D=Sp(v,me),k=Sp(v,Ve);if(D&&k&&(W.rangeCount!==1||W.anchorNode!==D.node||W.anchorOffset!==D.offset||W.focu
vendor: 13,328 bytes, line 48
48sNode!==k.node||W.focusOffset!==k.offset)){var U=K.createRange();U.setStart(D.node,D.offset),W.removeAllRanges(),me>Ve?(W.addRange(U),W.extend(k.node,k.offset)):(U.setEnd(k.node,k.offset),W.addRange(U))}}}}for(K=[],W=v;W=W.parentNode;)W.nodeType===1&&K.push({element:W,left:W.scrollLeft,top:W.scrollTop});for(typeof v.focus=="function"&&v.focus(),v=0;v<K.length;v++){var X=K[v];X.element.scrollLeft=X.left,X.element.scrollTop=X.top}}Ko=!!eh,th=eh=null}finally{Oe=d,G.p=o,P.T=n}}t.current=a,lt=2}}function Hx(){if(lt===2){lt=0;var t=ga,a=Hi,n=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||n){n=P.T,P.T=null;var o=G.p;G.p=2;var d=Oe;Oe|=4;try{yx(t,a.alternate,a)}finally{Oe=d,G.p=o,P.T=n}}lt=3}}function Yx(){if(lt===4||lt===3){lt=0,Uw();var t=ga,a=Hi,n=Qs,o=Lx;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?lt=5:(lt=0,Hi=ga=null,qx(t,t.pendingLanes));var d=t.pendingLanes;if(d===0&&(ya=null),oc(n),a=a.stateNode,Mt&&typeof Mt.onCommitFiberRoot=="function")try{Mt.onCommitFiberRoot(bn,a,void 0,(a.current.flags&128)===128)}catch{}if(o!==null){a=P.T,d=G.p,G.p=2,P.T=null;try{for(var h=t.onRecoverableError,g=0;g<o.length;g++){var v=o[g];h(v.value,{componentStack:v.stack})}}finally{P.T=a,G.p=d}}(Qs&3)!==0&&Bo(),ws(t),d=t.pendingLanes,(n&261930)!==0&&(d&42)!==0?t===_d?er++:(er=0,_d=t):er=0,tr(0)}}function qx(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,Mn(a)))}function Bo(){return Wx(),Hx(),Yx(),Gx()}function Gx(){if(lt!==5)return!1;var t=ga,a=zd;zd=0;var n=oc(Qs),o=P.T,d=G.p;try{G.p=32>n?32:n,P.T=null,n=Vd,Vd=null;var h=ga,g=Qs;if(lt=0,Hi=ga=null,Qs=0,(Oe&6)!==0)throw Error(l(331));var v=Oe;if(Oe|=4,Cx(h.current),Tx(h,h.current,g,n),Oe=v,tr(0,!1),Mt&&typeof Mt.onPostCommitFiberRoot=="function")try{Mt.onPostCommitFiberRoot(bn,h)}catch{}return!0}finally{G.p=d,P.T=o,qx(t,a)}}function Fx(t,a,n){a=$t(n,a),a=bd(t.stateNode,a,2),t=ha(t,a,2),t!==null&&(jn(t,2),ws(t))}function Me(t,a,n){if(t.tag===3)Fx(t,t,n);else for(;a!==null;){if(a.tag===3){Fx(a,t,n);break}else if(a.tag===1){var o=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(ya===null||!ya.has(o))){t=$t(n,t),n=Qf(2),o=ha(a,n,2),o!==null&&(Xf(n,o,a,t),jn(o,2),ws(o));break}}a=a.return}}function Yd(t,a,n){var o=t.pingCache;if(o===null){o=t.pingCache=new l1;var d=new Set;o.set(a,d)}else d=o.get(a),d===void 0&&(d=new Set,o.set(a,d));d.has(n)||(Ud=!0,d.add(n),t=m1.bind(null,t,a,n),a.then(t,t))}function m1(t,a,n){var o=t.pingCache;o!==null&&o.delete(a),t.pingedLanes|=t.suspendedLanes&n,t.warmLanes&=~n,_e===t&&(Ce&n)===n&&(Ke===4||Ke===3&&(Ce&62914560)===Ce&&300>Pt()-Ro?(Oe&2)===0&&Yi(t,0):Id|=n,Wi===Ce&&(Wi=0)),ws(t)}function Qx(t,a){a===0&&(a=_m()),t=qa(t,a),t!==null&&(jn(t,a),ws(t))}function p1(t){var a=t.memoizedState,n=0;a!==null&&(n=a.retryLane),Qx(t,n)}function f1(t,a){var n=0;switch(t.tag){case 31:case 13:var o=t.stateNode,d=t.memoizedState;d!==null&&(n=d.retryLane);break;case 19:o=t.stateNode;break;case 22:o=t.stateNode._retryCache;break;default:throw Error(l(314))}o!==null&&o.delete(a),Qx(t,n)}function x1(t,a){return ac(t,a)}var zo=null,Gi=null,qd=!1,Vo=!1,Gd=!1,va=0;function ws(t){t!==Gi&&t.next===null&&(Gi===null?zo=Gi=t:Gi=Gi.next=t),Vo=!0,qd||(qd=!0,g1())}function tr(t,a){if(!Gd&&Vo){Gd=!0;do for(var n=!1,o=zo;o!==null;){if(t!==0){var d=o.pendingLanes;if(d===0)var h=0;else{var g=o.suspendedLanes,v=o.pingedLanes;h=(1<<31-Ut(42|t)+1)-1,h&=d&~(g&~v),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(n=!0,$x(o,h))}else h=Ce,h=Hr(o,o===_e?h:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(h&3)===0||vn(o,h)||(n=!0,$x(o,h));o=o.next}while(n);Gd=!1}}function y1(){Xx()}function Xx(){Vo=qd=!1;var t=0;va!==0&&E1()&&(t=va);for(var a=Pt(),n=null,o=zo;o!==null;){var d=o.next,h=Kx(o,a);h===0?(o.next=null,n===null?zo=d:n.next=d,d===null&&(Gi=n)):(n=o,(t!==0||(h&3)!==0)&&(Vo=!0)),o=d}lt!==0&&lt!==5||tr(t),va!==0&&(va=0)}function Kx(t,a){for(var n=t.suspendedLanes,o=t.pingedLanes,d=t.expirationTimes,h=t.pendingLanes&-62914561;0<h;){var g=31-Ut(h),v=1<<g,A=d[g];A===-1?((v&n)===0||(v&o)!==0)&&(d[g]=Yw(v,a)):A<=a&&(t.expiredLanes|=v),h&=~v}if(a=_e,n=Ce,n=Hr(t,t===a?n:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),o=t.callbackNode,n===0||t===a&&(Pe===2||Pe===9)||t.cancelPendingCommit!==null)return o!==null&&o!==null&&ic(o),t.callbackNode=null,t.callbackPriority=0;if((n&3)===0||vn(t,n)){if(a=n&-n,a===t.callbackPriority)return a;switch(o!==null&&ic(o),oc(n)){case 2:case 8:n=zm;break;case 32:n=zr;break;case 268435456:n=Vm;break;default:n=zr}return o=Zx.bind(null,t),n=ac(n,o),t.callbackPriority=a,t.callbackNode=n,a}return o!==null&&o!==null&&ic(o),t.callbackPriority=2,t.callbackNode=null,2}function Zx(t,a){if(lt!==0&&lt!==5)return t.callbackNode=null,t.callbackPriority=0,null;var n=t.callbackNode;if(Bo()&&t.callbackNode!==n)return null;var o=Ce;return o=Hr(t,t===_e?o:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),o===0?null:(Rx(t,o,a),Kx(t,Pt()),t.callbackNode!=null&&t.callbackNode===n?Zx.bind(null,t):null)}function $x(t,a){if(Bo())return null;Rx(t,a,!0)}function g1(){L1(function(){(Oe&6)!==0?ac(Bm,y1):Xx()})}function Fd(){if(va===0){var t=Di;t===0&&(t=Vr,Vr<<=1,(Vr&261888)===0&&(Vr=256)),va=t}return va}function Jx(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Fr(""+t)}function ey(t,a){var n=a.ownerDocument.createElement("input");return n.name=a.name,n.value=a.value,t.id&&n.setAttribute("form",t.id),a.parentNode.insertBefore(n,a),t=new FormData(t),n.parentNode.removeChild(n),t}function b1(t,a,n,o,d){if(a==="submit"&&n&&n.stateNode===d){var h=Jx((d[St]||null).action),g=o.submitter;g&&(a=(a=g[St]||null)?Jx(a.formAction):g.getAttribute("formAction"),a!==null&&(h=a,g=null));var v=new Zr("action","action",null,o,d);t.push({event:v,listeners:[{instance:null,listener:function(){if(o.defaultPrevented){if(va!==0){var A=g?ey(d,g):new FormData(d);md(n,{pending:!0,data:A,method:d.method,action:h},null,A)}}else typeof h=="function"&&(v.preventDefault(),A=g?ey(d,g):new FormData(d),md(n,{pending:!0,data:A,method:d.method,action:h},h,A))},currentTarget:d}]})}}for(var Qd=0;Qd<Lc.length;Qd++){var Xd=Lc[Qd],v1=Xd.toLowerCase(),j1=Xd[0].toUpperCase()+Xd.slice(1);ds(v1,"on"+j1)}ds(Lp,"onAnimationEnd"),ds(Dp,"onAnimationIteration"),ds(Rp,"onAnimationStart"),ds("dblclick","onDoubleClick"),ds("focusin","onFocus"),ds("focusout","onBlur"),ds(IN,"onTransitionRun"),ds(BN,"onTransitionStart"),ds(zN,"onTransitionCancel"),ds(Op,"onTransitionEnd"),yi("onMouseEnter",["mouseout","mouseover"]),yi("onMouseLeave",["mouseout","mouseover"]),yi("onPointerEnter",["pointerout","pointerover"]),yi("onPointerLeave",["pointerout","pointerover"]),_a("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_a("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_a("onBeforeInput",["compositionend","keypress","textInput","paste"]),_a("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_a("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_a("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var sr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),w1=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(sr));function ty(t,a){a=(a&4)!==0;for(var n=0;n<t.length;n++){var o=t[n],d=o.event;o=o.listeners;e:{var h=void 0;if(a)for(var g=o.length-1;0<=g;g--){var v=o[g],A=v.instance,I=v.currentTarget;if(v=v.listener,A!==h&&d.isPropagationStopped())break e;h=v,d.currentTarget=I;try{h(d)}catch(F){eo(F)}d.currentTarget=null,h=A}else for(g=0;g<o.length;g++){if(v=o[g],A=v.instance,I=v.currentTarget,v=v.listener,A!==h&&d.isPropagationStopped())break e;h=v,d.currentTarget=I;try{h(d)}catch(F){eo(F)}d.currentTarget=null,h=A}}}}function Ae(t,a){var n=a[lc];n===void 0&&(n=a[lc]=new Set);var o=t+"__bubble";n.has(o)||(sy(a,t,2,!1),n.add(o))}function Kd(t,a,n){var o=0;a&&(o|=4),sy(n,t,o,a)}var _o="_reactListening"+Math.random().toString(36).slice(2);function Zd(t){if(!t[_o]){t[_o]=!0,Qm.forEach(function(n){n!=="selectionchange"&&(w1.has(n)||Kd(n,!1,t),Kd(n,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[_o]||(a[_o]=!0,Kd("selectionchange",!1,a))}}function sy(t,a,n,o){switch(Dy(a)){case 2:var d=K1;break;case 8:d=Z1;break;default:d=uh}n=d.bind(null,a,n,t),d=void 0,!yc||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(d=!0),o?d!==void 0?t.addEventListener(a,n,{capture:!0,passive:d}):t.addEventListener(a,n,!0):d!==void 0?t.addEventListener(a,n,{passive:d}):t.addEventListener(a,n,!1)}function $d(t,a,n,o,d){var h=o;if((a&1)===0&&(a&2)===0&&o!==null)e:for(;;){if(o===null)return;var g=o.tag;if(g===3||g===4){var v=o.stateNode.containerInfo;if(v===d)break;if(g===4)for(g=o.return;g!==null;){var A=g.tag;if((A===3||A===4)&&g.stateNode.containerInfo===d)return;g=g.return}for(;v!==null;){if(g=pi(v),g===null)return;if(A=g.tag,A===5||A===6||A===26||A===27){o=h=g;continue e}v=v.parentNode}}o=o.return}rp(function(){var I=h,F=fc(n),K=[];e:{var B=Pp.get(t);if(B!==void 0){var W=Zr,ne=t;switch(t){case"keypress":if(Xr(n)===0)break e;case"keydown":case"keyup":W=fN;break;case"focusin":ne="focus",W=jc;break;case"focusout":ne="blur",W=jc;break;case"beforeblur":case"afterblur":W=jc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":W=cp;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":W=aN;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":W=gN;break;case Lp:case Dp:case Rp:W=rN;break;case Op:W=vN;break;case"scroll":case"scrollend":W=tN;break;case"wheel":W=wN;break;case"copy":case"cut":case"paste":W=lN;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":W=hp;break;case"toggle":case"beforetoggle":W=TN}var me=(a&4)!==0,Ve=!me&&(t==="scroll"||t==="scrollend"),D=me?B!==null?B+"Capture":null:B;me=[];for(var k=I,U;k!==null;){var X=k;if(U=X.stateNode,X=X.tag,X!==5&&X!==26&&X!==27||U===null||D===null||(X=Tn(k,D),X!=null&&me.push(ar(k,X,U))),Ve)break;k=k.return}0<me.length&&(B=new W(B,ne,null,n,F),K.push({event:B,listeners:me}))}}if((a&7)===0){e:{if(B=t==="mouseover"||t==="pointerover",W=t==="mouseout"||t==="pointerout",B&&n!==pc&&(ne=n.relatedTarget||n.fromElement)&&(pi(ne)||ne[mi]))break e;if((W||B)&&(B=F.window===F?F:(B=F.ownerDocument)?B.defaultView||B.parentWindow:window,W?(ne=n.relatedTarget||n.toElement,W=I,ne=ne?pi(ne):null,ne!==null&&(Ve=u(ne),me=ne.tag,ne!==Ve||me!==5&&me!==27&&me!==6)&&(ne=null)):(W=null,ne=I),W!==ne)){if(me=cp,X="onMouseLeave",D="onMouseEnter",k="mouse",(t==="pointerout"||t==="pointerover")&&(me=hp,X="onPointerLeave",D="onPointerEnter",k="pointer"),Ve=W==null?B:Nn(W),U=ne==null?B:Nn(ne),B=new me(X,k+"leave",W,n,F),B.target=Ve,B.relatedTarget=U,X=null,pi(F)===I&&(me=new me(D,k+"enter",ne,n,F),me.target=U,me.relatedTarget=Ve,X=me),Ve=X,W&&ne)t:{for(me=N1,D=W,k=ne,U=0,X=D;X;X=me(X))U++;X=0;for(var ue=k;ue;ue=me(ue))X++;for(;0<U-X;)D=me(D),U--;for(;0<X-U;)k=me(k),X--;for(;U--;){if(D===k||k!==null&&D===k.alternate){me=D;break t}D=me(D),k=me(k)}me=null}else me=null;W!==null&&ay(K,B,W,me,!1),ne!==null&&Ve!==null&&ay(K,Ve,ne,me,!0)}}e:{if(B=I?Nn(I):window,W=B.nodeName&&B.nodeName.toLowerCase(),W==="select"||W==="input"&&B.type==="file")var De=bp;else if(yp(B))if(vp)De=PN;else{De=RN;var ce=DN}else W=B.nodeName,!W||W.toLowerCase()!=="input"||B.type!=="checkbox"&&B.type!=="radio"?I&&mc(I.elementType)&&(De=bp):De=ON;if(De&&(De=De(t,I))){gp(K,De,n,F);break e}ce&&ce(t,B,I),t==="focusout"&&I&&B.type==="number"&&I.memoizedProps.value!=null&&uc(B,"number",B.value)}switch(ce=I?Nn(I):window,t){case"focusin":(yp(ce)||ce.contentEditable==="true")&&(Ni=ce,Cc=I,Rn=null);break;case"focusout":Rn=Cc=Ni=null;break;case"mousedown":Ec=!0;break;case"contextmenu":case"mouseup":case"dragend":Ec=!1,Ep(K,n,F);break;case"selectionchange":if(UN)break;case"keydown":case"keyup":Ep(K,n,F)}var Ne;if(Nc)e:{switch(t){case"compositionstart":var Ee="onCompositionStart";break e;case"compositionend":Ee="onCompositionEnd";break e;case"compositionupdate":Ee="onCompositionUpdate";break e}Ee=void 0}else wi?fp(t,n)&&(Ee="onCompositionEnd"):t==="keydown"&&n.keyCode===229&&(Ee="onCompositionStart");Ee&&(up&&n.locale!=="ko"&&(wi||Ee!=="onCompositionStart"?Ee==="onCompositionEnd"&&wi&&(Ne=op()):(ia=F,gc="value"in ia?ia.value:ia.textContent,wi=!0)),ce=Wo(I,Ee),0<ce.length&&(Ee=new dp(Ee,t,null,n,F),K.push({event:Ee,listeners:ce}),Ne?Ee.data=Ne:(Ne=xp(n),Ne!==null&&(Ee.data=Ne)))),(Ne=AN?CN(t,n):EN(t,n))&&(Ee=Wo(I,"onBeforeInput"),0<Ee.length&&(ce=new dp("onBeforeInput","beforeinput",null,n,F),K.push({event:ce,listeners:Ee}),ce.data=Ne)),b1(K,t,I,n,F)}ty(K,a)})}function ar(t,a,n){return{instance:t,listener:a,currentTarget:n}}function Wo(t,a){for(var n=a+"Capture",o=[];t!==null;){var d=t,h=d.stateNode;
vendor: 5,359 bytes, lines 48-49
48if(d=d.tag,d!==5&&d!==26&&d!==27||h===null||(d=Tn(t,n),d!=null&&o.unshift(ar(t,d,h)),d=Tn(t,a),d!=null&&o.push(ar(t,d,h))),t.tag===3)return o;t=t.return}return[]}function N1(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function ay(t,a,n,o,d){for(var h=a._reactName,g=[];n!==null&&n!==o;){var v=n,A=v.alternate,I=v.stateNode;if(v=v.tag,A!==null&&A===o)break;v!==5&&v!==26&&v!==27||I===null||(A=I,d?(I=Tn(n,h),I!=null&&g.unshift(ar(n,I,A))):d||(I=Tn(n,h),I!=null&&g.push(ar(n,I,A)))),n=n.return}g.length!==0&&t.push({event:a,listeners:g})}var T1=/\r\n?/g,S1=/\u0000|\uFFFD/g;function iy(t){return(typeof t=="string"?t:""+t).replace(T1,`
49`).replace(S1,"")}function ny(t,a){return a=iy(a),iy(t)===a}function ze(t,a,n,o,d,h){switch(n){case"children":typeof o=="string"?a==="body"||a==="textarea"&&o===""||bi(t,o):(typeof o=="number"||typeof o=="bigint")&&a!=="body"&&bi(t,""+o);break;case"className":qr(t,"class",o);break;case"tabIndex":qr(t,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":qr(t,n,o);break;case"style":ip(t,o,h);break;case"data":if(a!=="object"){qr(t,"data",o);break}case"src":case"href":if(o===""&&(a!=="a"||n!=="href")){t.removeAttribute(n);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){t.removeAttribute(n);break}o=Fr(""+o),t.setAttribute(n,o);break;case"action":case"formAction":if(typeof o=="function"){t.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof h=="function"&&(n==="formAction"?(a!=="input"&&ze(t,a,"name",d.name,d,null),ze(t,a,"formEncType",d.formEncType,d,null),ze(t,a,"formMethod",d.formMethod,d,null),ze(t,a,"formTarget",d.formTarget,d,null)):(ze(t,a,"encType",d.encType,d,null),ze(t,a,"method",d.method,d,null),ze(t,a,"target",d.target,d,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){t.removeAttribute(n);break}o=Fr(""+o),t.setAttribute(n,o);break;case"onClick":o!=null&&(t.onclick=Os);break;case"onScroll":o!=null&&Ae("scroll",t);break;case"onScrollEnd":o!=null&&Ae("scrollend",t);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(l(61));if(n=o.__html,n!=null){if(d.children!=null)throw Error(l(60));t.innerHTML=n}}break;case"multiple":t.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":t.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){t.removeAttribute("xlink:href");break}n=Fr(""+o),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?t.setAttribute(n,""+o):t.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":o&&typeof o!="function"&&typeof o!="symbol"?t.setAttribute(n,""):t.removeAttribute(n);break;case"capture":case"download":o===!0?t.setAttribute(n,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?t.setAttribute(n,o):t.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?t.setAttribute(n,o):t.removeAttribute(n);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?t.removeAttribute(n):t.setAttribute(n,o);break;case"popover":Ae("beforetoggle",t),Ae("toggle",t),Yr(t,"popover",o);break;case"xlinkActuate":Rs(t,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":Rs(t,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":Rs(t,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":Rs(t,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":Rs(t,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":Rs(t,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":Rs(t,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":Rs(t,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":Rs(t,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":Yr(t,"is",o);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Jw.get(n)||n,Yr(t,n,o))}}function Jd(t,a,n,o,d,h){switch(n){case"style":ip(t,o,h);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(l(61));if(n=o.__html,n!=null){if(d.children!=null)throw Error(l(60));t.innerHTML=n}}break;
vendor: 5,753 bytes, line 49
49case"children":typeof o=="string"?bi(t,o):(typeof o=="number"||typeof o=="bigint")&&bi(t,""+o);break;case"onScroll":o!=null&&Ae("scroll",t);break;case"onScrollEnd":o!=null&&Ae("scrollend",t);break;case"onClick":o!=null&&(t.onclick=Os);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Xm.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(d=n.endsWith("Capture"),a=n.slice(2,d?n.length-7:void 0),h=t[St]||null,h=h!=null?h[n]:null,typeof h=="function"&&t.removeEventListener(a,h,d),typeof o=="function")){typeof h!="function"&&h!==null&&(n in t?t[n]=null:t.hasAttribute(n)&&t.removeAttribute(n)),t.addEventListener(a,o,d);break e}n in t?t[n]=o:o===!0?t.setAttribute(n,""):Yr(t,n,o)}}}function yt(t,a,n){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ae("error",t),Ae("load",t);var o=!1,d=!1,h;for(h in n)if(n.hasOwnProperty(h)){var g=n[h];if(g!=null)switch(h){case"src":o=!0;break;case"srcSet":d=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,a));default:ze(t,a,h,g,n,null)}}d&&ze(t,a,"srcSet",n.srcSet,n,null),o&&ze(t,a,"src",n.src,n,null);return;case"input":Ae("invalid",t);var v=h=g=d=null,A=null,I=null;for(o in n)if(n.hasOwnProperty(o)){var F=n[o];if(F!=null)switch(o){case"name":d=F;break;case"type":g=F;break;case"checked":A=F;break;case"defaultChecked":I=F;break;case"value":h=F;break;case"defaultValue":v=F;break;case"children":case"dangerouslySetInnerHTML":if(F!=null)throw Error(l(137,a));break;default:ze(t,a,o,F,n,null)}}ep(t,h,v,A,I,g,d,!1);return;case"select":Ae("invalid",t),o=g=h=null;for(d in n)if(n.hasOwnProperty(d)&&(v=n[d],v!=null))switch(d){case"value":h=v;break;case"defaultValue":g=v;break;case"multiple":o=v;default:ze(t,a,d,v,n,null)}a=h,n=g,t.multiple=!!o,a!=null?gi(t,!!o,a,!1):n!=null&&gi(t,!!o,n,!0);return;case"textarea":Ae("invalid",t),h=d=o=null;for(g in n)if(n.hasOwnProperty(g)&&(v=n[g],v!=null))switch(g){case"value":o=v;break;case"defaultValue":d=v;break;case"children":h=v;break;case"dangerouslySetInnerHTML":if(v!=null)throw Error(l(91));break;default:ze(t,a,g,v,n,null)}sp(t,o,d,h);return;case"option":for(A in n)if(n.hasOwnProperty(A)&&(o=n[A],o!=null))switch(A){case"selected":t.selected=o&&typeof o!="function"&&typeof o!="symbol";break;default:ze(t,a,A,o,n,null)}return;case"dialog":Ae("beforetoggle",t),Ae("toggle",t),Ae("cancel",t),Ae("close",t);break;case"iframe":case"object":Ae("load",t);break;case"video":case"audio":for(o=0;o<sr.length;o++)Ae(sr[o],t);break;case"image":Ae("error",t),Ae("load",t);break;case"details":Ae("toggle",t);break;case"embed":case"source":case"link":Ae("error",t),Ae("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(I in n)if(n.hasOwnProperty(I)&&(o=n[I],o!=null))switch(I){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,a));default:ze(t,a,I,o,n,null)}return;default:if(mc(a)){for(F in n)n.hasOwnProperty(F)&&(o=n[F],o!==void 0&&Jd(t,a,F,o,n,void 0));return}}for(v in n)n.hasOwnProperty(v)&&(o=n[v],o!=null&&ze(t,a,v,o,n,null))}function A1(t,a,n,o){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var d=null,h=null,g=null,v=null,A=null,I=null,F=null;for(W in n){var K=n[W];if(n.hasOwnProperty(W)&&K!=null)switch(W){case"checked":break;case"value":break;case"defaultValue":A=K;default:o.hasOwnProperty(W)||ze(t,a,W,null,o,K)}}for(var B in o){var W=o[B];if(K=n[B],o.hasOwnProperty(B)&&(W!=null||K!=null))switch(B){case"type":h=W;break;case"name":d=W;break;case"checked":I=W;break;case"defaultChecked":F=W;break;case"value":g=W;break;case"defaultValue":v=W;break;case"children":case"dangerouslySetInnerHTML":if(W!=null)throw Error(l(137,a));break;default:W!==K&&ze(t,a,B,W,o,K)}}hc(t,g,v,A,I,F,h,d);return;case"select":W=g=v=B=null;for(h in n)if(A=n[h],n.hasOwnProperty(h)&&A!=null)switch(h){case"value":break;case"multiple":W=A;default:o.hasOwnProperty(h)||ze(t,a,h,null,o,A)}for(d in o)if(h=o[d],A=n[d],o.hasOwnProperty(d)&&(h!=null||A!=null))switch(d){case"value":B=h;break;case"defaultValue":v=h;break;case"multiple":g=h;default:h!==A&&ze(t,a,d,h,o,A)}a=v,n=g,o=W,B!=null?gi(t,!!n,B,!1):!!o!=!!n&&(a!=null?gi(t,!!n,a,!0):gi(t,!!n,n?[]:"",!1));return;case"textarea":W=B=null;for(v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!o.hasOwnProperty(v))switch(v){case"value":break;case"children":break;default:ze(t,a,v,null,o,d)}for(g in o)if(d=o[g],h=n[g],o.hasOwnProperty(g)&&(d!=null||h!=null))switch(g){case"value":B=d;break;case"defaultValue":W=d;break;case"children":break;case"dangerouslySetInnerHTML":if(d!=null)throw Error(l(91));break;default:d!==h&&ze(t,a,g,d,o,h)}tp(t,B,W);return;case"option":for(var ne in n)if(B=n[ne],n.hasOwnProperty(ne)&&B!=null&&!o.hasOwnProperty(ne))switch(ne){case"selected":t.selected=!1;break;default:ze(t,a,ne,null,o,B)}for(A in o)if(B=o[A],W=n[A],o.hasOwnProperty(A)&&B!==W&&(B!=null||W!=null))switch(A){case"selected":t.selected=B&&typeof B!="function"&&typeof B!="symbol";break;default:ze(t,a,A,B,o,W)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var me in n)B=n[me],n.hasOwnProperty(me)&&B!=null&&!o.hasOwnProperty(me)&&ze(t,a,me,null,o,B);for(I in o)if(B=o[I],W=n[I],o.hasOwnProperty(I)&&B!==W&&(B!=null||W!=null))switch(I){case"children":case"dangerouslySetInnerHTML":if(B!=null)throw Error(l(137,a));break;default:ze(t,a,I,B,o,W)}return;default:if(mc(a)){for(var Ve in n)B=n[Ve],n.hasOwnProperty(Ve)&&B!==void 0&&!o.hasOwnProperty(Ve)&&Jd(t,a,Ve,void 0,o,B);
vendor: 15,916 bytes, line 49
49for(F in o)B=o[F],W=n[F],!o.hasOwnProperty(F)||B===W||B===void 0&&W===void 0||Jd(t,a,F,B,o,W);return}}for(var D in n)B=n[D],n.hasOwnProperty(D)&&B!=null&&!o.hasOwnProperty(D)&&ze(t,a,D,null,o,B);for(K in o)B=o[K],W=n[K],!o.hasOwnProperty(K)||B===W||B==null&&W==null||ze(t,a,K,B,o,W)}function ry(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function C1(){if(typeof performance.getEntriesByType=="function"){for(var t=0,a=0,n=performance.getEntriesByType("resource"),o=0;o<n.length;o++){var d=n[o],h=d.transferSize,g=d.initiatorType,v=d.duration;if(h&&v&&ry(g)){for(g=0,v=d.responseEnd,o+=1;o<n.length;o++){var A=n[o],I=A.startTime;if(I>v)break;var F=A.transferSize,K=A.initiatorType;F&&ry(K)&&(A=A.responseEnd,g+=F*(A<v?1:(v-I)/(A-I)))}if(--o,a+=8*(h+g)/(d.duration/1e3),t++,10<t)break}}if(0<t)return a/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var eh=null,th=null;function Ho(t){return t.nodeType===9?t:t.ownerDocument}function oy(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function ly(t,a){if(t===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&a==="foreignObject"?0:t}function sh(t,a){return t==="textarea"||t==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var ah=null;function E1(){var t=window.event;return t&&t.type==="popstate"?t===ah?!1:(ah=t,!0):(ah=null,!1)}var cy=typeof setTimeout=="function"?setTimeout:void 0,k1=typeof clearTimeout=="function"?clearTimeout:void 0,dy=typeof Promise=="function"?Promise:void 0,L1=typeof queueMicrotask=="function"?queueMicrotask:typeof dy<"u"?function(t){return dy.resolve(null).then(t).catch(D1)}:cy;function D1(t){setTimeout(function(){throw t})}function ja(t){return t==="head"}function hy(t,a){var n=a,o=0;do{var d=n.nextSibling;if(t.removeChild(n),d&&d.nodeType===8)if(n=d.data,n==="/$"||n==="/&"){if(o===0){t.removeChild(d),Ki(a);return}o--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")o++;else if(n==="html")ir(t.ownerDocument.documentElement);else if(n==="head"){n=t.ownerDocument.head,ir(n);for(var h=n.firstChild;h;){var g=h.nextSibling,v=h.nodeName;h[wn]||v==="SCRIPT"||v==="STYLE"||v==="LINK"&&h.rel.toLowerCase()==="stylesheet"||n.removeChild(h),h=g}}else n==="body"&&ir(t.ownerDocument.body);n=d}while(n);Ki(a)}function uy(t,a){var n=t;t=0;do{var o=n.nextSibling;if(n.nodeType===1?a?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(a?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),o&&o.nodeType===8)if(n=o.data,n==="/$"){if(t===0)break;t--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||t++;n=o}while(n)}function ih(t){var a=t.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var n=a;switch(a=a.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":ih(n),cc(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}t.removeChild(n)}}function R1(t,a,n,o){for(;t.nodeType===1;){var d=n;if(t.nodeName.toLowerCase()!==a.toLowerCase()){if(!o&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(o){if(!t[wn])switch(a){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(h=t.getAttribute("rel"),h==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(h!==d.rel||t.getAttribute("href")!==(d.href==null||d.href===""?null:d.href)||t.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin)||t.getAttribute("title")!==(d.title==null?null:d.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(h=t.getAttribute("src"),(h!==(d.src==null?null:d.src)||t.getAttribute("type")!==(d.type==null?null:d.type)||t.getAttribute("crossorigin")!==(d.crossOrigin==null?null:d.crossOrigin))&&h&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(a==="input"&&t.type==="hidden"){var h=d.name==null?null:""+d.name;if(d.type==="hidden"&&t.getAttribute("name")===h)return t}else return t;if(t=as(t.nextSibling),t===null)break}return null}function O1(t,a,n){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=as(t.nextSibling),t===null))return null;return t}function my(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=as(t.nextSibling),t===null))return null;return t}function nh(t){return t.data==="$?"||t.data==="$~"}function rh(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function P1(t,a){var n=t.ownerDocument;if(t.data==="$~")t._reactRetry=a;else if(t.data!=="$?"||n.readyState!=="loading")a();else{var o=function(){a(),n.removeEventListener("DOMContentLoaded",o)};n.addEventListener("DOMContentLoaded",o),t._reactRetry=o}}function as(t){for(;t!=null;t=t.nextSibling){var a=t.nodeType;if(a===1||a===3)break;if(a===8){if(a=t.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return t}var oh=null;function py(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"||n==="/&"){if(a===0)return as(t.nextSibling);a--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||a++}t=t.nextSibling}return null}function fy(t){t=t.previousSibling;for(var a=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(a===0)return t;a--}else n!=="/$"&&n!=="/&"||a++}t=t.previousSibling}return null}function xy(t,a,n){switch(a=Ho(n),t){case"html":if(t=a.documentElement,!t)throw Error(l(452));return t;case"head":if(t=a.head,!t)throw Error(l(453));return t;case"body":if(t=a.body,!t)throw Error(l(454));return t;default:throw Error(l(451))}}function ir(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);cc(t)}var is=new Map,yy=new Set;function Yo(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Xs=G.d;G.d={f:M1,r:U1,D:I1,C:B1,L:z1,m:V1,X:W1,S:_1,M:H1};function M1(){var t=Xs.f(),a=Mo();return t||a}function U1(t){var a=fi(t);a!==null&&a.tag===5&&a.type==="form"?Pf(a):Xs.r(t)}var Fi=typeof document>"u"?null:document;function gy(t,a,n){var o=Fi;if(o&&typeof a=="string"&&a){var d=Kt(a);d='link[rel="'+t+'"][href="'+d+'"]',typeof n=="string"&&(d+='[crossorigin="'+n+'"]'),yy.has(d)||(yy.add(d),t={rel:t,crossOrigin:n,href:a},o.querySelector(d)===null&&(a=o.createElement("link"),yt(a,"link",t),dt(a),o.head.appendChild(a)))}}function I1(t){Xs.D(t),gy("dns-prefetch",t,null)}function B1(t,a){Xs.C(t,a),gy("preconnect",t,a)}function z1(t,a,n){Xs.L(t,a,n);var o=Fi;if(o&&t&&a){var d='link[rel="preload"][as="'+Kt(a)+'"]';a==="image"&&n&&n.imageSrcSet?(d+='[imagesrcset="'+Kt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(d+='[imagesizes="'+Kt(n.imageSizes)+'"]')):d+='[href="'+Kt(t)+'"]';var h=d;switch(a){case"style":h=Qi(t);break;case"script":h=Xi(t)}is.has(h)||(t=b({rel:"preload",href:a==="image"&&n&&n.imageSrcSet?void 0:t,as:a},n),is.set(h,t),o.querySelector(d)!==null||a==="style"&&o.querySelector(nr(h))||a==="script"&&o.querySelector(rr(h))||(a=o.createElement("link"),yt(a,"link",t),dt(a),o.head.appendChild(a)))}}function V1(t,a){Xs.m(t,a);var n=Fi;if(n&&t){var o=a&&typeof a.as=="string"?a.as:"script",d='link[rel="modulepreload"][as="'+Kt(o)+'"][href="'+Kt(t)+'"]',h=d;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=Xi(t)}if(!is.has(h)&&(t=b({rel:"modulepreload",href:t},a),is.set(h,t),n.querySelector(d)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(rr(h)))return}o=n.createElement("link"),yt(o,"link",t),dt(o),n.head.appendChild(o)}}}function _1(t,a,n){Xs.S(t,a,n);var o=Fi;if(o&&t){var d=xi(o).hoistableStyles,h=Qi(t);a=a||"default";var g=d.get(h);if(!g){var v={loading:0,preload:null};if(g=o.querySelector(nr(h)))v.loading=5;else{t=b({rel:"stylesheet",href:t,"data-precedence":a},n),(n=is.get(h))&&lh(t,n);var A=g=o.createElement("link");dt(A),yt(A,"link",t),A._p=new Promise(function(I,F){A.onload=I,A.onerror=F}),A.addEventListener("load",function(){v.loading|=1}),A.addEventListener("error",function(){v.loading|=2}),v.loading|=4,qo(g,a,o)}g={type:"stylesheet",instance:g,count:1,state:v},d.set(h,g)}}}function W1(t,a){Xs.X(t,a);var n=Fi;if(n&&t){var o=xi(n).hoistableScripts,d=Xi(t),h=o.get(d);h||(h=n.querySelector(rr(d)),h||(t=b({src:t,async:!0},a),(a=is.get(d))&&ch(t,a),h=n.createElement("script"),dt(h),yt(h,"link",t),n.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},o.set(d,h))}}function H1(t,a){Xs.M(t,a);var n=Fi;if(n&&t){var o=xi(n).hoistableScripts,d=Xi(t),h=o.get(d);h||(h=n.querySelector(rr(d)),h||(t=b({src:t,async:!0,type:"module"},a),(a=is.get(d))&&ch(t,a),h=n.createElement("script"),dt(h),yt(h,"link",t),n.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},o.set(d,h))}}function by(t,a,n,o){var d=(d=je.current)?Yo(d):null;if(!d)throw Error(l(446));switch(t){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(a=Qi(n.href),n=xi(d).hoistableStyles,o=n.get(a),o||(o={type:"style",instance:null,count:0,state:null},n.set(a,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){t=Qi(n.href);var h=xi(d).hoistableStyles,g=h.get(t);if(g||(d=d.ownerDocument||d,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(t,g),(h=d.querySelector(nr(t)))&&!h._p&&(g.instance=h,g.state.loading=5),is.has(t)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},is.set(t,n),h||Y1(d,t,n,g.state))),a&&o===null)throw Error(l(528,""));return g}if(a&&o!==null)throw Error(l(529,""));return null;case"script":return a=n.async,n=n.src,typeof n=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=Xi(n),n=xi(d).hoistableScripts,o=n.get(a),o||(o={type:"script",instance:null,count:0,state:null},n.set(a,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,t))}}function Qi(t){return'href="'+Kt(t)+'"'}function nr(t){return'link[rel="stylesheet"]['+t+"]"}function vy(t){return b({},t,{"data-precedence":t.precedence,precedence:null})}function Y1(t,a,n,o){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?o.loading=1:(a=t.createElement("link"),o.preload=a,a.addEventListener("load",function(){return o.loading|=1}),a.addEventListener("error",function(){return o.loading|=2}),yt(a,"link",n),dt(a),t.head.appendChild(a))}function Xi(t){return'[src="'+Kt(t)+'"]'}function rr(t){return"script[async]"+t}function jy(t,a,n){if(a.count++,a.instance===null)switch(a.type){case"style":var o=t.querySelector('style[data-href~="'+Kt(n.href)+'"]');if(o)return a.instance=o,dt(o),o;var d=b({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return o=(t.ownerDocument||t).createElement("style"),dt(o),yt(o,"style",d),qo(o,n.precedence,t),a.instance=o;case"stylesheet":d=Qi(n.href);var h=t.querySelector(nr(d));if(h)return a.state.loading|=4,a.instance=h,dt(h),h;o=vy(n),(d=is.get(d))&&lh(o,d),h=(t.ownerDocument||t).createElement("link"),dt(h);var g=h;return g._p=new Promise(function(v,A){g.onload=v,g.onerror=A}),yt(h,"link",o),a.state.loading|=4,qo(h,n.precedence,t),a.instance=h;case"script":return h=Xi(n.src),(d=t.querySelector(rr(h)))?(a.instance=d,dt(d),d):(o=n,(d=is.get(h))&&(o=b({},n),ch(o,d)),t=t.ownerDocument||t,d=t.createElement("script"),dt(d),yt(d,"link",o),t.head.appendChild(d),a.instance=d);case"void":return null;default:throw Error(l(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(o=a.instance,a.state.loading|=4,qo(o,n.precedence,t));return a.instance}function qo(t,a,n){for(var o=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),d=o.length?o[o.length-1]:null,h=d,g=0;g<o.length;g++){var v=o[g];if(v.dataset.precedence===a)h=v;else if(h!==d)break}h?h.parentNode.insertBefore(t,h.nextSibling):(a=n.nodeType===9?n.head:n,a.insertBefore(t,a.firstChild))}function lh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function ch(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var Go=null;function wy(t,a,n){if(Go===null){var o=new Map,d=Go=new Map;d.set(n,o)}else d=Go,o=d.get(n),o||(o=new Map,d.set(n,o));if(o.has(t))return o;for(o.set(t,null),n=n.getElementsByTagName(t),d=0;d<n.length;d++){var h=n[d];if(!(h[wn]||h[mt]||t==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var g=h.getAttribute(a)||"";g=t+g;var v=o.get(g);v?v.push(h):o.set(g,[h])}}return o}function Ny(t,a,n){t=t.ownerDocument||t,t.head.insertBefore(n,a==="title"?t.querySelector("head > title"):null)}function q1(t,a,n){if(n===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return t=a.disabled,typeof a.precedence=="string"&&t==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function Ty(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function G1(t,a,n,o){if(n.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var d=Qi(o.href),h=a.querySelector(nr(d));if(h){a=h._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=Fo.bind(t),a.then(t,t)),n.state.loading|=4,n.instance=h,dt(h);return}h=a.ownerDocument||a,o=vy(o),(d=is.get(d))&&lh(o,d),h=h.createElement("link"),dt(h);var g=h;g._p=new Promise(function(v,A){g.onload=v,g.onerror=A}),yt(h,"link",o),n.instance=h}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(n,a),(a=n.state.preload)&&(n.state.loading&3)===0&&(t.count++,n=Fo.bind(t),a.addEventListener("load",n),a.addEventListener("error",n))}}var dh=0;function F1(t,a){return t.stylesheets&&t.count===0&&Xo(t,t.stylesheets),0<t.count||0<t.imgCount?function(n){var o=setTimeout(function(){if(t.stylesheets&&Xo(t,t.stylesheets),t.unsuspend){var h=t.unsuspend;t.unsuspend=null,h()}},6e4+a);0<t.imgBytes&&dh===0&&(dh=62500*C1());var d=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Xo(t,t.stylesheets),t.unsuspend)){var h=t.unsuspend;t.unsuspend=null,h()}},(t.imgBytes>dh?50:800)+a);return t.unsuspend=n,function(){t.unsuspend=null,clearTimeout(o),clearTimeout(d)}}:null}function Fo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xo(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Qo=null;function Xo(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Qo=new Map,a.forEach(Q1,t),Qo=null,Fo.call(t))}function Q1(t,a){if(!(a.state.loading&4)){var n=Qo.get(t);if(n)var o=n.get(null);else{n=new Map,Qo.set(t,n);for(var d=t.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<d.length;h++){var g=d[h];
vendor: 9,610 bytes, line 49
49(g.nodeName==="LINK"||g.getAttribute("media")!=="not all")&&(n.set(g.dataset.precedence,g),o=g)}o&&n.set(null,o)}d=a.instance,g=d.getAttribute("data-precedence"),h=n.get(g)||o,h===o&&n.set(null,d),n.set(g,d),this.count++,o=Fo.bind(this),d.addEventListener("load",o),d.addEventListener("error",o),h?h.parentNode.insertBefore(d,h.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(d,t.firstChild)),a.state.loading|=4}}var or={$$typeof:O,Provider:null,Consumer:null,_currentValue:z,_currentValue2:z,_threadCount:0};function X1(t,a,n,o,d,h,g,v,A){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=nc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nc(0),this.hiddenUpdates=nc(null),this.identifierPrefix=o,this.onUncaughtError=d,this.onCaughtError=h,this.onRecoverableError=g,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=A,this.incompleteTransitions=new Map}function Sy(t,a,n,o,d,h,g,v,A,I,F,K){return t=new X1(t,a,n,g,A,I,F,K,v),a=1,h===!0&&(a|=24),h=Bt(3,null,null,a),t.current=h,h.stateNode=t,a=Hc(),a.refCount++,t.pooledCache=a,a.refCount++,h.memoizedState={element:o,isDehydrated:n,cache:a},Fc(h),t}function Ay(t){return t?(t=Ai,t):Ai}function Cy(t,a,n,o,d,h){d=Ay(d),o.context===null?o.context=d:o.pendingContext=d,o=da(a),o.payload={element:n},h=h===void 0?null:h,h!==null&&(o.callback=h),n=ha(t,o,a),n!==null&&(Dt(n,t,a),zn(n,t,a))}function Ey(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<a?n:a}}function hh(t,a){Ey(t,a),(t=t.alternate)&&Ey(t,a)}function ky(t){if(t.tag===13||t.tag===31){var a=qa(t,67108864);a!==null&&Dt(a,t,67108864),hh(t,67108864)}}function Ly(t){if(t.tag===13||t.tag===31){var a=Ht();a=rc(a);var n=qa(t,a);n!==null&&Dt(n,t,a),hh(t,a)}}var Ko=!0;function K1(t,a,n,o){var d=P.T;P.T=null;var h=G.p;try{G.p=2,uh(t,a,n,o)}finally{G.p=h,P.T=d}}function Z1(t,a,n,o){var d=P.T;P.T=null;var h=G.p;try{G.p=8,uh(t,a,n,o)}finally{G.p=h,P.T=d}}function uh(t,a,n,o){if(Ko){var d=mh(o);if(d===null)$d(t,a,o,Zo,n),Ry(t,o);else if(J1(d,t,a,n,o))o.stopPropagation();else if(Ry(t,o),a&4&&-1<$1.indexOf(t)){for(;d!==null;){var h=fi(d);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var g=Va(h.pendingLanes);if(g!==0){var v=h;for(v.pendingLanes|=2,v.entangledLanes|=2;g;){var A=1<<31-Ut(g);v.entanglements[1]|=A,g&=~A}ws(h),(Oe&6)===0&&(Oo=Pt()+500,tr(0))}}break;case 31:case 13:v=qa(h,2),v!==null&&Dt(v,h,2),Mo(),hh(h,2)}if(h=mh(o),h===null&&$d(t,a,o,Zo,n),h===d)break;d=h}d!==null&&o.stopPropagation()}else $d(t,a,o,null,n)}}function mh(t){return t=fc(t),ph(t)}var Zo=null;function ph(t){if(Zo=null,t=pi(t),t!==null){var a=u(t);if(a===null)t=null;else{var n=a.tag;if(n===13){if(t=m(a),t!==null)return t;t=null}else if(n===31){if(t=p(a),t!==null)return t;t=null}else if(n===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;t=null}else a!==t&&(t=null)}}return Zo=t,null}function Dy(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Iw()){case Bm:return 2;case zm:return 8;case zr:case Bw:return 32;case Vm:return 268435456;default:return 32}default:return 32}}var fh=!1,wa=null,Na=null,Ta=null,lr=new Map,cr=new Map,Sa=[],$1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Ry(t,a){switch(t){case"focusin":case"focusout":wa=null;break;case"dragenter":case"dragleave":Na=null;break;case"mouseover":case"mouseout":Ta=null;break;case"pointerover":case"pointerout":lr.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":cr.delete(a.pointerId)}}function dr(t,a,n,o,d,h){return t===null||t.nativeEvent!==h?(t={blockedOn:a,domEventName:n,eventSystemFlags:o,nativeEvent:h,targetContainers:[d]},a!==null&&(a=fi(a),a!==null&&ky(a)),t):(t.eventSystemFlags|=o,a=t.targetContainers,d!==null&&a.indexOf(d)===-1&&a.push(d),t)}function J1(t,a,n,o,d){switch(a){case"focusin":return wa=dr(wa,t,a,n,o,d),!0;case"dragenter":return Na=dr(Na,t,a,n,o,d),!0;case"mouseover":return Ta=dr(Ta,t,a,n,o,d),!0;case"pointerover":var h=d.pointerId;return lr.set(h,dr(lr.get(h)||null,t,a,n,o,d)),!0;case"gotpointercapture":return h=d.pointerId,cr.set(h,dr(cr.get(h)||null,t,a,n,o,d)),!0}return!1}function Oy(t){var a=pi(t.target);if(a!==null){var n=u(a);if(n!==null){if(a=n.tag,a===13){if(a=m(n),a!==null){t.blockedOn=a,Gm(t.priority,function(){Ly(n)});return}}else if(a===31){if(a=p(n),a!==null){t.blockedOn=a,Gm(t.priority,function(){Ly(n)});return}}else if(a===3&&n.stateNode.current.memoizedState.isDehydrated){t.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}t.blockedOn=null}function $o(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var n=mh(t.nativeEvent);if(n===null){n=t.nativeEvent;var o=new n.constructor(n.type,n);pc=o,n.target.dispatchEvent(o),pc=null}else return a=fi(n),a!==null&&ky(a),t.blockedOn=n,!1;a.shift()}return!0}function Py(t,a,n){$o(t)&&n.delete(a)}function eT(){fh=!1,wa!==null&&$o(wa)&&(wa=null),Na!==null&&$o(Na)&&(Na=null),Ta!==null&&$o(Ta)&&(Ta=null),lr.forEach(Py),cr.forEach(Py)}function Jo(t,a){t.blockedOn===a&&(t.blockedOn=null,fh||(fh=!0,s.unstable_scheduleCallback(s.unstable_NormalPriority,eT)))}var el=null;function My(t){el!==t&&(el=t,s.unstable_scheduleCallback(s.unstable_NormalPriority,function(){el===t&&(el=null);for(var a=0;a<t.length;a+=3){var n=t[a],o=t[a+1],d=t[a+2];if(typeof o!="function"){if(ph(o||n)===null)continue;break}var h=fi(n);h!==null&&(t.splice(a,3),a-=3,md(h,{pending:!0,data:d,method:n.method,action:o},o,d))}}))}function Ki(t){function a(A){return Jo(A,t)}wa!==null&&Jo(wa,t),Na!==null&&Jo(Na,t),Ta!==null&&Jo(Ta,t),lr.forEach(a),cr.forEach(a);for(var n=0;n<Sa.length;n++){var o=Sa[n];o.blockedOn===t&&(o.blockedOn=null)}for(;0<Sa.length&&(n=Sa[0],n.blockedOn===null);)Oy(n),n.blockedOn===null&&Sa.shift();if(n=(t.ownerDocument||t).$$reactFormReplay,n!=null)for(o=0;o<n.length;o+=3){var d=n[o],h=n[o+1],g=d[St]||null;if(typeof h=="function")g||My(n);else if(g){var v=null;if(h&&h.hasAttribute("formAction")){if(d=h,g=h[St]||null)v=g.formAction;else if(ph(d)!==null)continue}else v=g.action;typeof v=="function"?n[o+1]=v:(n.splice(o,3),o-=3),My(n)}}}function Uy(){function t(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(g){return d=g})},focusReset:"manual",scroll:"manual"})}function a(){d!==null&&(d(),d=null),o||setTimeout(n,20)}function n(){if(!o&&!navigation.transition){var h=navigation.currentEntry;h&&h.url!=null&&navigation.navigate(h.url,{state:h.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var o=!1,d=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(n,100),function(){o=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),d!==null&&(d(),d=null)}}}function xh(t){this._internalRoot=t}tl.prototype.render=xh.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(l(409));var n=a.current,o=Ht();Cy(n,o,t,a,null,null)},tl.prototype.unmount=xh.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;Cy(t.current,2,null,t,null,null),Mo(),a[mi]=null}};function tl(t){this._internalRoot=t}tl.prototype.unstable_scheduleHydration=function(t){if(t){var a=qm();t={blockedOn:null,target:t,priority:a};for(var n=0;n<Sa.length&&a!==0&&a<Sa[n].priority;n++);Sa.splice(n,0,t),n===0&&Oy(t)}};var Iy=i.version;if(Iy!=="19.2.0")throw Error(l(527,Iy,"19.2.0"));G.findDOMNode=function(t){var a=t._reactInternals;if(a===void 0)throw typeof t.render=="function"?Error(l(188)):(t=Object.keys(t).join(","),Error(l(268,t)));return t=f(a),t=t!==null?y(t):null,t=t===null?null:t.stateNode,t};var tT={bundleType:0,version:"19.2.0",rendererPackageName:"react-dom",currentDispatcherRef:P,reconcilerVersion:"19.2.0"};
49if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var sl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sl.isDisabled&&sl.supportsFiber)try{bn=sl.inject(tT),Mt=sl}catch{}}return ur.createRoot=function(t,a){if(!c(t))throw Error(l(299));var n=!1,o="",d=Yf,h=qf,g=Gf;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(o=a.identifierPrefix),a.onUncaughtError!==void 0&&(d=a.onUncaughtError),a.onCaughtError!==void 0&&(h=a.onCaughtError),a.onRecoverableError!==void 0&&(g=a.onRecoverableError)),a=Sy(t,1,!1,null,null,n,o,null,d,h,g,Uy),t[mi]=a.current,Zd(t),new xh(a)},ur.hydrateRoot=function(t,a,n){if(!c(t))throw Error(l(299));var o=!1,d="",h=Yf,g=qf,v=Gf,A=null;return n!=null&&(n.unstable_strictMode===!0&&(o=!0),n.identifierPrefix!==void 0&&(d=n.identifierPrefix),n.onUncaughtError!==void 0&&(h=n.onUncaughtError),n.onCaughtError!==void 0&&(g=n.onCaughtError),n.onRecoverableError!==void 0&&(v=n.onRecoverableError),n.formState!==void 0&&(A=n.formState)),a=Sy(t,1,!0,a,n??null,o,d,A,h,g,v,Uy),a.context=Ay(null),n=a.current,o=Ht(),o=rc(o),d=da(o),d.callback=null,ha(n,d,o),n=o,a.current.lanes=n,jn(a,n),ws(a),t[mi]=a.current,Zd(t),new tl(a)},ur.version="19.2.0",ur}var Fy;function hT(){if(Fy)return gh.exports;Fy=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(i){console.error(i)}}return s(),gh.exports=dT(),gh.exports}var uT=hT();function mT(s,i){if(s instanceof RegExp)return{keys:!1,pattern:s};var r,l,c,u,m=[],p="",x=s.split("/");for(x[0]||x.shift();c=x.shift();)r=c[0],r==="*"?(m.push(r),p+=c[1]==="?"?"(?:/(.*))?":"/(.*)"):r===":"?(l=c.indexOf("?",1),u=c.indexOf(".",1),m.push(c.substring(1,~l?l:~u?u:c.length)),p+=~l&&!~u?"(?:/([^/]+?))?":"/([^/]+?)",~u&&(p+=(~l?"?":"")+"\\"+c.substring(u))):p+="/"+c;return{keys:m,pattern:new RegExp("^"+p+(i?"(?=$|/)":"/?$"),"i")}}var w=Ul();const Ea=Xb(w),Zb=aT({__proto__:null,default:Ea},[w]);var Nh={exports:{}},Th={};/**
50 * @license React
51 * use-sync-external-store-shim.production.js
52 *
53 * Copyright (c) Meta Platforms, Inc. and affiliates.
54 *
55 * This source code is licensed under the MIT license found in the
56 * LICENSE file in the root directory of this source tree.
57 */var Qy;function pT(){if(Qy)return Th;Qy=1;var s=Ul();function i(b,j){return b===j&&(b!==0||1/b===1/j)||b!==b&&j!==j}var r=typeof Object.is=="function"?Object.is:i,l=s.useState,c=s.useEffect,u=s.useLayoutEffect,m=s.useDebugValue;function p(b,j){var N=j(),S=l({inst:{value:N,getSnapshot:j}}),T=S[0].inst,C=S[1];return u(function(){T.value=N,T.getSnapshot=j,x(T)&&C({inst:T})},[b,N,j]),c(function(){return x(T)&&C({inst:T}),b(function(){x(T)&&C({inst:T})})},[b]),m(N),N}function x(b){var j=b.getSnapshot;b=b.value;try{var N=j();return!r(b,N)}catch{return!0}}function f(b,j){return j()}var y=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:p;return Th.useSyncExternalStore=s.useSyncExternalStore!==void 0?s.useSyncExternalStore:y,Th}var Xy;function fT(){return Xy||(Xy=1,Nh.exports=pT()),Nh.exports}var xT=fT();const yT=Zb.useInsertionEffect,gT=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",bT=gT?w.useLayoutEffect:w.useEffect,vT=yT||bT,$b=s=>{const i=w.useRef([s,(...r)=>i[0](...r)]).current;return vT(()=>{i[0]=s}),i[1]},jT="popstate",Du="pushState",Ru="replaceState",wT="hashchange",Ky=[jT,Du,Ru,wT],NT=s=>{for(const i of Ky)addEventListener(i,s);return()=>{for(const i of Ky)removeEventListener(i,s)}},Jb=(s,i)=>xT.useSyncExternalStore(NT,s,i),TT=()=>location.search,ST=({ssrSearch:s=""}={})=>Jb(TT,()=>s),Zy=()=>location.pathname,AT=({ssrPath:s}={})=>Jb(Zy,s?()=>s:Zy),CT=(s,{replace:i=!1,state:r=null}={})=>history[i?Ru:Du](r,"",s),ET=(s={})=>[AT(s),CT],$y=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[$y]>"u"){for(const s of[Du,Ru]){const i=history[s];history[s]=function(){const r=i.apply(this,arguments),l=new Event(s);return l.arguments=arguments,dispatchEvent(l),r}}Object.defineProperty(window,$y,{value:!0})}const kT=(s,i)=>i.toLowerCase().indexOf(s.toLowerCase())?"~"+i:i.slice(s.length)||"/",e0=(s="")=>s==="/"?"":s,LT=(s,i)=>s[0]==="~"?s.slice(1):e0(i)+s,DT=(s="",i)=>kT(Jy(e0(s)),Jy(i)),Jy=s=>{try{return decodeURI(s)}catch{return s}},t0={hook:ET,searchHook:ST,parser:mT,base:"",ssrPath:void 0,ssrSearch:void 0,hrefs:s=>s},s0=w.createContext(t0),Il=()=>w.useContext(s0),a0={},i0=w.createContext(a0),RT=()=>w.useContext(i0),Ou=s=>{const[i,r]=s.hook(s);return[DT(s.base,i),$b((l,c)=>r(LT(l,s.base),c))]},n0=(s,i,r,l)=>{const{pattern:c,keys:u}=i instanceof RegExp?{keys:!1,pattern:i}:s(i||"*",l),m=c.exec(r)||[],[p,...x]=m;return p!==void 0?[!0,(()=>{const f=u!==!1?Object.fromEntries(u.map((b,j)=>[b,x[j]])):m.groups;let y={...x};return f&&Object.assign(y,f),y})(),...l?[p]:[]]:[!1,null]},OT=({children:s,...i})=>{const r=Il(),l=i.hook?t0:r;let c=l;const[u,m]=i.ssrPath?.split("?")??[];m&&(i.ssrSearch=m,i.ssrPath=u),i.hrefs=i.hrefs??i.hook?.hrefs;let p=w.useRef({}),x=p.current,f=x;for(let y in l){const b=y==="base"?l[y]+(i[y]||""):i[y]||l[y];x===f&&b!==f[y]&&(p.current=f={...f}),f[y]=b,b!==l[y]&&(c=f)}return w.createElement(s0.Provider,{value:c,children:s})},eg=({children:s,component:i},r)=>i?w.createElement(i,{params:r}):typeof s=="function"?s(r):s,PT=s=>{let i=w.useRef(a0),r=i.current;for(const l in s)s[l]!==r[l]&&(r=s);return Object.keys(s).length===0&&(r=s),i.current=r},$=({path:s,nest:i,match:r,...l})=>{const c=Il(),[u]=Ou(c),[m,p,x]=r??n0(c.parser,s,u,i),f=PT({...RT(),...p});if(!m)return null;const y=x?w.createElement(OT,{base:x},eg(l,f)):eg(l,f);return w.createElement(i0.Provider,{value:f,children:y})},L=w.forwardRef((s,i)=>{const r=Il(),[l,c]=Ou(r),{to:u="",href:m=u,onClick:p,asChild:x,children:f,className:y,replace:b,state:j,...N}=s,S=$b(C=>
vendor: 22,123 bytes, line 57
57{C.ctrlKey||C.metaKey||C.altKey||C.shiftKey||C.button!==0||(p?.(C),C.defaultPrevented||(C.preventDefault(),c(m,s)))}),T=r.hrefs(m[0]==="~"?m.slice(1):r.base+m,r);return x&&w.isValidElement(f)?w.cloneElement(f,{onClick:S,href:T}):w.createElement("a",{...N,onClick:S,href:T,className:y?.call?y(l===m):y,children:f,ref:i})}),r0=s=>Array.isArray(s)?s.flatMap(i=>r0(i&&i.type===w.Fragment?i.props.children:i)):[s],MT=({children:s,location:i})=>{const r=Il(),[l]=Ou(r);for(const c of r0(s)){let u=0;if(w.isValidElement(c)&&(u=n0(r.parser,c.props.path,i||l,c.props.nest))[0])return w.cloneElement(c,{match:u})}return null};var Bl=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(s){return this.listeners.add(s),this.onSubscribe(),()=>{this.listeners.delete(s),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},zl=typeof window>"u"||"Deno"in globalThis;function ps(){}function UT(s,i){return typeof s=="function"?s(i):s}function IT(s){return typeof s=="number"&&s>=0&&s!==1/0}function BT(s,i){return Math.max(s+(i||0)-Date.now(),0)}function tg(s,i){return typeof s=="function"?s(i):s}function zT(s,i){return typeof s=="function"?s(i):s}function sg(s,i){const{type:r="all",exact:l,fetchStatus:c,predicate:u,queryKey:m,stale:p}=s;if(m){if(l){if(i.queryHash!==Pu(m,i.options))return!1}else if(!Nr(i.queryKey,m))return!1}if(r!=="all"){const x=i.isActive();if(r==="active"&&!x||r==="inactive"&&x)return!1}return!(typeof p=="boolean"&&i.isStale()!==p||c&&c!==i.state.fetchStatus||u&&!u(i))}function ag(s,i){const{exact:r,status:l,predicate:c,mutationKey:u}=s;if(u){if(!i.options.mutationKey)return!1;if(r){if(wr(i.options.mutationKey)!==wr(u))return!1}else if(!Nr(i.options.mutationKey,u))return!1}return!(l&&i.state.status!==l||c&&!c(i))}function Pu(s,i){return(i?.queryKeyHashFn||wr)(s)}function wr(s){return JSON.stringify(s,(i,r)=>Kh(r)?Object.keys(r).sort().reduce((l,c)=>(l[c]=r[c],l),{}):r)}function Nr(s,i){return s===i?!0:typeof s!=typeof i?!1:s&&i&&typeof s=="object"&&typeof i=="object"?!Object.keys(i).some(r=>!Nr(s[r],i[r])):!1}function o0(s,i){if(s===i)return s;const r=ig(s)&&ig(i);if(r||Kh(s)&&Kh(i)){const l=r?s:Object.keys(s),c=l.length,u=r?i:Object.keys(i),m=u.length,p=r?[]:{};let x=0;for(let f=0;f<m;f++){const y=r?f:u[f];(!r&&l.includes(y)||r)&&s[y]===void 0&&i[y]===void 0?(p[y]=void 0,x++):(p[y]=o0(s[y],i[y]),p[y]===s[y]&&s[y]!==void 0&&x++)}return c===m&&x===c?s:p}return i}function ig(s){return Array.isArray(s)&&s.length===Object.keys(s).length}function Kh(s){if(!ng(s))return!1;const i=s.constructor;if(i===void 0)return!0;const r=i.prototype;return!(!ng(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(s)!==Object.prototype)}function ng(s){return Object.prototype.toString.call(s)==="[object Object]"}function VT(s){return new Promise(i=>{setTimeout(i,s)})}function _T(s,i,r){return typeof r.structuralSharing=="function"?r.structuralSharing(s,i):r.structuralSharing!==!1?o0(s,i):i}function WT(s,i,r=0){const l=[...s,i];return r&&l.length>r?l.slice(1):l}function HT(s,i,r=0){const l=[i,...s];return r&&l.length>r?l.slice(0,-1):l}var Mu=Symbol();function l0(s,i){return!s.queryFn&&i?.initialPromise?()=>i.initialPromise:!s.queryFn||s.queryFn===Mu?()=>Promise.reject(new Error(`Missing queryFn: '${s.queryHash}'`)):s.queryFn}var YT=class extends Bl{#e;#t;#s;constructor(){super(),this.#s=s=>{if(!zl&&window.addEventListener){const i=()=>s();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(s){this.#s=s,this.#t?.(),this.#t=s(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()})}setFocused(s){this.#e!==s&&(this.#e=s,this.onFocus())}onFocus(){const s=this.isFocused();this.listeners.forEach(i=>{i(s)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},c0=new YT,qT=class extends Bl{#e=!0;#t;#s;constructor(){super(),this.#s=s=>{if(!zl&&window.addEventListener){const i=()=>s(!0),r=()=>s(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(s){this.#s=s,this.#t?.(),this.#t=s(this.setOnline.bind(this))}setOnline(s){this.#e!==s&&(this.#e=s,this.listeners.forEach(r=>{r(s)}))}isOnline(){return this.#e}},Nl=new qT;function GT(){let s,i;const r=new Promise((c,u)=>{s=c,i=u});r.status="pending",r.catch(()=>{});function l(c){Object.assign(r,c),delete r.resolve,delete r.reject}return r.resolve=c=>{l({status:"fulfilled",value:c}),s(c)},r.reject=c=>{l({status:"rejected",reason:c}),i(c)},r}function FT(s){return Math.min(1e3*2**s,3e4)}function d0(s){return(s??"online")==="online"?Nl.isOnline():!0}var h0=class extends Error{constructor(s){super("CancelledError"),this.revert=s?.revert,this.silent=s?.silent}};function Sh(s){return s instanceof h0}function u0(s){let i=!1,r=0,l=!1,c;const u=GT(),m=T=>{l||(j(new h0(T)),s.abort?.())},p=()=>{i=!0},x=()=>{i=!1},f=()=>c0.isFocused()&&(s.networkMode==="always"||Nl.isOnline())&&s.canRun(),y=()=>d0(s.networkMode)&&s.canRun(),b=T=>{l||(l=!0,s.onSuccess?.(T),c?.(),u.resolve(T))},j=T=>{l||(l=!0,s.onError?.(T),c?.(),u.reject(T))},N=()=>new Promise(T=>{c=C=>{(l||f())&&T(C)},s.onPause?.()}).then(()=>{c=void 0,l||s.onContinue?.()}),S=()=>{if(l)return;let T;const C=r===0?s.initialPromise:void 0;try{T=C??s.fn()}catch(R){T=Promise.reject(R)}Promise.resolve(T).then(b).catch(R=>{if(l)return;const M=s.retry??(zl?0:3),O=s.retryDelay??FT,Y=typeof O=="function"?O(r,R):O,q=M===!0||typeof M=="number"&&r<M||typeof M=="function"&&M(r,R);if(i||!q){j(R);return}r++,s.onFail?.(r,R),VT(Y).then(()=>f()?void 0:N()).then(()=>{i?j(R):S()})})};return{promise:u,cancel:m,continue:()=>(c?.(),u),cancelRetry:p,continueRetry:x,canStart:y,start:()=>(y()?S():N().then(S),u)}}function QT(){let s=[],i=0,r=p=>{p()},l=p=>{p()},c=p=>setTimeout(p,0);const u=p=>{i?s.push(p):c(()=>{r(p)})},m=()=>{const p=s;s=[],p.length&&c(()=>{l(()=>{p.forEach(x=>{r(x)})})})};return{batch:p=>{let x;i++;try{x=p()}finally{i--,i||m()}return x},batchCalls:p=>(...x)=>{u(()=>{p(...x)})},schedule:u,setNotifyFunction:p=>{r=p},setBatchNotifyFunction:p=>{l=p},setScheduler:p=>{c=p}}}var Nt=QT(),m0=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),IT(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(s){this.gcTime=Math.max(this.gcTime||0,s??(zl?1/0:300*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}},XT=class extends m0{#e;#t;#s;#a;#r;#n;constructor(s){super(),this.#n=!1,this.#r=s.defaultOptions,this.setOptions(s.options),this.observers=[],this.#s=s.cache,this.queryKey=s.queryKey,this.queryHash=s.queryHash,this.#e=ZT(this.options),this.state=s.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#a?.promise}setOptions(s){this.options={...this.#r,...s},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#s.remove(this)}setData(s,i){const r=_T(this.state.data,s,this.options);return this.#i({data:r,type:"success",dataUpdatedAt:i?.updatedAt,manual:i?.manual}),r}setState(s,i){this.#i({type:"setState",state:s,setStateOptions:i})}cancel(s){const i=this.#a?.promise;return this.#a?.cancel(s),i?i.then(ps).catch(ps):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(s=>zT(s.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Mu||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(s=>s.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(s=0){return this.state.isInvalidated||this.state.data===void 0||!BT(this.state.dataUpdatedAt,s)}onFocus(){this.observers.find(i=>i.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(i=>i.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(s){this.observers.includes(s)||(this.observers.push(s),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",query:this,observer:s}))}removeObserver(s){this.observers.includes(s)&&(this.observers=this.observers.filter(i=>i!==s),this.observers.length||(this.#a&&(this.#n?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#s.notify({type:"observerRemoved",query:this,observer:s}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(s,i){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&i?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(s&&this.setOptions(s),!this.options.queryFn){const p=this.observers.find(x=>x.options.queryFn);p&&this.setOptions(p.options)}const r=new AbortController,l=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>(this.#n=!0,r.signal)})},c=()=>{const p=l0(this.options,i),x={queryKey:this.queryKey,meta:this.meta};return l(x),this.#n=!1,this.options.persister?this.options.persister(p,x,this):p(x)},u={fetchOptions:i,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:c};l(u),this.options.behavior?.onFetch(u,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==u.fetchOptions?.meta)&&this.#i({type:"fetch",meta:u.fetchOptions?.meta});const m=p=>{Sh(p)&&p.silent||this.#i({type:"error",error:p}),Sh(p)||(this.#s.config.onError?.(p,this),this.#s.config.onSettled?.(this.state.data,p,this)),this.scheduleGc()};return this.#a=u0({initialPromise:i?.initialPromise,fn:u.fetchFn,abort:r.abort.bind(r),onSuccess:p=>{if(p===void 0){m(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(p)}catch(x){m(x);return}this.#s.config.onSuccess?.(p,this),this.#s.config.onSettled?.(p,this.state.error,this),this.scheduleGc()},onError:m,onFail:(p,x)=>{this.#i({type:"failed",failureCount:p,error:x})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0}),this.#a.start()}#i(s){const i=r=>{switch(s.type){case"failed":return{...r,fetchFailureCount:s.failureCount,fetchFailureReason:s.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...KT(r.data,this.options),fetchMeta:s.meta??null};case"success":return{...r,data:s.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:s.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!s.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const l=s.error;return Sh(l)&&l.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...r,error:l,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:l,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...s.state}}};this.state=i(this.state),Nt.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),this.#s.notify({query:this,type:"updated",action:s})})}};function KT(s,i){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:d0(i.networkMode)?"fetching":"paused",...s===void 0&&{error:null,status:"pending"}}}function ZT(s){const i=typeof s.initialData=="function"?s.initialData():s.initialData,r=i!==void 0,l=r?typeof s.initialDataUpdatedAt=="function"?s.initialDataUpdatedAt():s.initialDataUpdatedAt:0;return{data:i,dataUpdateCount:0,dataUpdatedAt:r?l??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var $T=class extends Bl{constructor(s={}){super(),this.config=s,this.#e=new Map}#e;build(s,i,r){const l=i.queryKey,c=i.queryHash??Pu(l,i);let u=this.get(c);return u||(u=new XT({cache:this,queryKey:l,queryHash:c,options:s.defaultQueryOptions(i),state:r,defaultOptions:s.getQueryDefaults(l)}),this.add(u)),u}add(s){this.#e.has(s.queryHash)||(this.#e.set(s.queryHash,s),this.notify({type:"added",query:s}))}remove(s){const i=this.#e.get(s.queryHash);i&&(s.destroy(),i===s&&this.#e.delete(s.queryHash),this.notify({type:"removed",query:s}))}clear(){Nt.batch(()=>{this.getAll().forEach(s=>{this.remove(s)})})}get(s){return this.#e.get(s)}getAll(){return[...this.#e.values()]}find(s){const i={exact:!0,...s};return this.getAll().find(r=>sg(i,r))}findAll(s={}){const i=this.getAll();return Object.keys(s).length>0?i.filter(r=>sg(s,r)):i}notify(s){Nt.batch(()=>{this.listeners.forEach(i=>{i(s)})})}onFocus(){Nt.batch(()=>{this.getAll().forEach(s=>{s.onFocus()})})}onOnline(){Nt.batch(()=>{this.getAll().forEach(s=>{s.onOnline()})})}},JT=class extends m0{#e;#t;#s;constructor(s){super(),this.mutationId=s.mutationId,this.#t=s.mutationCache,this.#e=[],this.state=s.state||eS(),this.setOptions(s.options),this.scheduleGc()}setOptions(s){this.options=s,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(s){this.#e.includes(s)||(this.#e.push(s),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:s}))}removeObserver(s){this.#e=this.#e.filter(i=>i!==s),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:s})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(s){this.#s=u0({fn:()=>this.options.mutationFn?this.options.mutationFn(s):Promise.reject(new Error("No mutationFn found")),onFail:(l,c)=>{this.#a({type:"failed",failureCount:l,error:c})},onPause:()=>{this.#a({type:"pause"})},onContinue:()=>{this.#a({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});const i=this.state.status==="pending",r=!this.#s.canStart();try{if(!i){this.#a({type:"pending",variables:s,isPaused:r}),await this.#t.config.onMutate?.(s,this);const c=await this.options.onMutate?.(s);c!==this.state.context&&this.#a({type:"pending",context:c,variables:s,isPaused:r})}const l=await this.#s.start();return await this.#t.config.onSuccess?.(l,s,this.state.context,this),await this.options.onSuccess?.(l,s,this.state.context),await this.#t.config.onSettled?.(l,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(l,null,s,this.state.context),this.#a({type:"success",data:l}),l}catch(l){try{throw await this.#t.config.onError?.(l,s,this.state.context,this),await this.options.onError?.(l,s,this.state.context),await this.#t.config.onSettled?.(void 0,l,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,l,s,this.state.context),l}finally{this.#a({type:"error",error:l})}}finally{this.#t.runNext(this)}}#a(s){const i=r=>{switch(s.type){case"failed":return{...r,failureCount:s.failureCount,failureReason:s.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:s.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:s.isPaused,status:"pending",variables:s.variables,submittedAt:Date.now()};case"success":return{...r,data:s.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:s.error,failureCount:r.failureCount+1,failureReason:s.error,isPaused:!1,status:"error"}}};this.state=i(this.state),Nt.batch(()=>{this.#e.forEach(r=>{r.onMutationUpdate(s)}),this.#t.notify({mutation:this,type:"updated",action:s})})}};function eS(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var tS=class extends Bl{constructor(s={}){super(),this.config=s,this.#e=new Map,this.#t=Date.now()}#e;#t;build(s,i,r){const l=new JT({mutationCache:this,mutationId:++this.#t,options:s.defaultMutationOptions(i),state:r});return this.add(l),l}add(s){const i=al(s),r=this.#e.get(i)??[];r.push(s),this.#e.set(i,r),this.notify({type:"added",mutation:s})}remove(s){const i=al(s);if(this.#e.has(i)){const r=this.#e.get(i)?.filter(l=>l!==s);r&&(r.length===0?this.#e.delete(i):this.#e.set(i,r))}this.notify({type:"removed",mutation:s})}canRun(s){const i=this.#e.get(al(s))?.find(r=>r.state.status==="pending");return!i||i===s}runNext(s){return this.#e.get(al(s))?.find(r=>r!==s&&r.state.isPaused)?.continue()??Promise.resolve()}clear(){Nt.batch(()=>{this.getAll().forEach(s=>{this.remove(s)})})}getAll(){return[...this.#e.values()].flat()}find(s){const i={exact:!0,...s};return this.getAll().find(r=>ag(i,r))}findAll(s={}){return this.getAll().filter(i=>ag(s,i))}notify(s){Nt.batch(()=>{this.listeners.forEach(i=>{i(s)})})}resumePausedMutations(){const s=this.getAll().filter(i=>i.state.isPaused);return Nt.batch(()=>Promise.all(s.map(i=>i.continue().catch(ps))))}};function al(s){return s.options.scope?.id??String(s.mutationId)}function rg(s){return{onFetch:(i,r)=>{const l=i.options,c=i.fetchOptions?.meta?.fetchMore?.direction,u=i.state.data?.pages||[],m=i.state.data?.pageParams||[];let p={pages:[],pageParams:[]},x=0;const f=async()=>{let y=!1;const b=S=>{Object.defineProperty(S,"signal",{enumerable:!0,get:()=>(i.signal.aborted?y=!0:i.signal.addEventListener("abort",()=>{y=!0}),i.signal)})},j=l0(i.options,i.fetchOptions),N=async(S,T,C)=>{if(y)return Promise.reject();if(T==null&&S.pages.length)return Promise.resolve(S);const R={queryKey:i.queryKey,pageParam:T,direction:C?"backward":"forward",meta:i.options.meta};b(R);const M=await j(R),{maxPages:O}=i.options,Y=C?HT:WT;return{pages:Y(S.pages,M,O),pageParams:Y(S.pageParams,T,O)}};if(c&&u.length){const S=c==="backward",T=S?sS:og,C={pages:u,pageParams:m},R=T(l,C);p=await N(C,R,S)}else{const S=s??u.length;do{const T=x===0?m[0]??l.initialPageParam:og(l,p);if(x>0&&T==null)break;p=await N(p,T),x++}while(x<S)}return p};i.options.persister?i.fetchFn=()=>i.options.persister?.(f,{queryKey:i.queryKey,meta:i.options.meta,signal:i.signal},r):i.fetchFn=f}}}function og(s,{pages:i,pageParams:r}){const l=i.length-1;return i.length>0?s.getNextPageParam(i[l],i,r[l],r):void 0}function sS(s,{pages:i,pageParams:r}){return i.length>0?s.getPreviousPageParam?.(i[0],i,r[0],r):void 0}var aS=class{#e;#t;#s;#a;#r;#n;#i;#o;constructor(s={}){this.#e=s.queryCache||new $T,this.#t=s.mutationCache||new tS,this.#s=s.defaultOptions||{},this.#a=new Map,this.#r=new Map,this.#n=0}mount(){this.#n++,this.#n===1&&(this.#i=c0.subscribe(async s=>{s&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#o=Nl.subscribe(async s=>{s&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#n--,this.#n===0&&(this.#i?.(),this.#i=void 0,this.#o?.(),this.#o=void 0)}isFetching(s){return this.#e.findAll({...s,fetchStatus:"fetching"}).length}isMutating(s){return this.#t.findAll({...s,status:"pending"}).length}getQueryData(s){const i=this.defaultQueryOptions({queryKey:s});return this.#e.get(i.queryHash)?.state.data}ensureQueryData(s){const i=this.getQueryData(s.queryKey);if(i===void 0)return this.fetchQuery(s);{const r=this.defaultQueryOptions(s),l=this.#e.build(this,r);return s.revalidateIfStale&&l.isStaleByTime(tg(r.staleTime,l))&&this.prefetchQuery(r),Promise.resolve(i)}}getQueriesData(s){return this.#e.findAll(s).map(({queryKey:i,state:r})=>{const l=r.data;return[i,l]})}setQueryData(s,i,r){const l=this.defaultQueryOptions({queryKey:s}),u=this.#e.get(l.queryHash)?.state.data,m=UT(i,u);if(m!==void 0)return this.#e.build(this,l).setData(m,{...r,manual:!0})}setQueriesData(s,i,r){return Nt.batch(()=>this.#e.findAll(s).map(({queryKey:l})=>[l,this.setQueryData(l,i,r)]))}getQueryState(s){const i=this.defaultQueryOptions({queryKey:s});return this.#e.get(i.queryHash)?.state}removeQueries(s){const i=this.#e;Nt.batch(()=>{i.findAll(s).forEach(r=>{i.remove(r)})})}resetQueries(s,i){const r=this.#e,l={type:"active",...s};return Nt.batch(()=>(r.findAll(s).forEach(c=>{c.reset()}),this.refetchQueries(l,i)))}cancelQueries(s={},i={}){const r={revert:!0,...i},l=Nt.batch(()=>this.#e.findAll(s).map(c=>c.cancel(r)));return Promise.all(l).then(ps).catch(ps)}invalidateQueries(s={},i={}){return Nt.batch(()=>{if(this.#e.findAll(s).forEach(l=>{l.invalidate()}),s.refetchType==="none")return Promise.resolve();const r={...s,type:s.refetchType??s.type??"active"};return this.refetchQueries(r,i)})}refetchQueries(s={},i){const r={...i,cancelRefetch:i?.cancelRefetch??!0},l=Nt.batch(()=>this.#e.findAll(s).filter(c=>!c.isDisabled()).map(c=>{let u=c.fetch(void 0,r);return r.throwOnError||(u=u.catch(ps)),c.state.fetchStatus==="paused"?Promise.resolve():u}));return Promise.all(l).then(ps)}fetchQuery(s){const i=this.defaultQueryOptions(s);i.retry===void 0&&(i.retry=!1);const r=this.#e.build(this,i);return r.isStaleByTime(tg(i.staleTime,r))?r.fetch(i):Promise.resolve(r.state.data)}prefetchQuery(s){return this.fetchQuery(s).then(ps).catch(ps)}fetchInfiniteQuery(s){return s.behavior=rg(s.pages),this.fetchQuery(s)}prefetchInfiniteQuery(s){return this.fetchInfiniteQuery(s).then(ps).catch(ps)}ensureInfiniteQueryData(s){return s.behavior=rg(s.pages),this.ensureQueryData(s)}resumePausedMutations(){return Nl.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#s}setDefaultOptions(s){this.#s=s}setQueryDefaults(s,i){this.#a.set(wr(s),{queryKey:s,defaultOptions:i})}getQueryDefaults(s){const i=[...this.#a.values()];let r={};
57return i.forEach(l=>{Nr(s,l.queryKey)&&(r={...r,...l.defaultOptions})}),r}setMutationDefaults(s,i){this.#r.set(wr(s),{mutationKey:s,defaultOptions:i})}getMutationDefaults(s){const i=[...this.#r.values()];let r={};return i.forEach(l=>{Nr(s,l.mutationKey)&&(r={...r,...l.defaultOptions})}),r}defaultQueryOptions(s){if(s._defaulted)return s;const i={...this.#s.queries,...this.getQueryDefaults(s.queryKey),...s,_defaulted:!0};return i.queryHash||(i.queryHash=Pu(i.queryKey,i)),i.refetchOnReconnect===void 0&&(i.refetchOnReconnect=i.networkMode!=="always"),i.throwOnError===void 0&&(i.throwOnError=!!i.suspense),!i.networkMode&&i.persister&&(i.networkMode="offlineFirst"),i.enabled!==!0&&i.queryFn===Mu&&(i.enabled=!1),i}defaultMutationOptions(s){return s?._defaulted?s:{...this.#s.mutations,...s?.mutationKey&&this.getMutationDefaults(s.mutationKey),...s,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},iS=w.createContext(void 0),nS=({client:s,children:i})=>(w.useEffect(()=>(s.mount(),()=>{s.unmount()}),[s]),e.jsx(iS.Provider,{value:s,children:i}));async function rS(s){if(!s.ok){const i=await s.text()||s.statusText;throw new Error(`${s.status}: ${i}`)}}const oS=({on401:s})=>async({queryKey:i})=>{const r=await fetch(i.join("/"),{credentials:"include"});return await rS(r),await r.json()},lS=new aS({defaultOptions:{queries:{queryFn:oS({on401:"throw"}),refetchInterval:!1,refetchOnWindowFocus:!1,staleTime:1/0,retry:!1},mutations:{retry:!1}}}),cS=1,dS=1e6;let Ah=0;function hS(){return Ah=(Ah+1)%Number.MAX_SAFE_INTEGER,Ah.toString()}const Ch=new Map,lg=s=>{if(Ch.has(s))return;const i=setTimeout(()=>{Ch.delete(s),xr({type:"REMOVE_TOAST",toastId:s})},dS);Ch.set(s,i)},uS=(s,i)=>{switch(i.type){case"ADD_TOAST":return{...s,toasts:[i.toast,...s.toasts].slice(0,cS)};case"UPDATE_TOAST":return{...s,toasts:s.toasts.map(r=>r.id===i.toast.id?{...r,...i.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=i;return r?lg(r):s.toasts.forEach(l=>{lg(l.id)}),{...s,toasts:s.toasts.map(l=>l.id===r||r===void 0?{...l,open:!1}:l)}}case"REMOVE_TOAST":return i.toastId===void 0?{...s,toasts:[]}:{...s,toasts:s.toasts.filter(r=>r.id!==i.toastId)}}},fl=[];let xl={toasts:[]};function xr(s){xl=uS(xl,s),fl.forEach(i=>{i(xl)})}function mS({...s}){const i=hS(),r=c=>xr({type:"UPDATE_TOAST",toast:{...c,id:i}}),l=()=>xr({type:"DISMISS_TOAST",toastId:i});return xr({type:"ADD_TOAST",toast:{...s,id:i,open:!0,onOpenChange:c=>{c||l()}}}),{id:i,dismiss:l,update:r}}function pS(){const[s,i]=w.useState(xl);return w.useEffect(()=>(fl.push(i),()=>{const r=fl.indexOf(i);r>-1&&fl.splice(r,1)}),[s]),{...s,toast:mS,dismiss:r=>xr({type:"DISMISS_TOAST",toastId:r})}}var Rr=Kb();const p0=Xb(Rr);function qt(s,i,{checkForDefaultPrevented:r=!0}={}){return function(c){if(s?.(c),r===!1||!c.defaultPrevented)return i?.(c)}}function cg(s,i){if(typeof s=="function")return s(i);s!=null&&(s.current=i)}function Vl(...s){return i=>{let r=!1;const l=s.map(c=>{const u=cg(c,i);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let c=0;c<l.length;c++){const u=l[c];typeof u=="function"?u():cg(s[c],null)}}}}function Ot(...s){return w.useCallback(Vl(...s),s)}function _l(s,i=[]){let r=[];function l(u,m){const p=w.createContext(m),x=r.length;r=[...r,m];const f=b=>{const{scope:j,children:N,...S}=b,T=j?.[s]?.[x]||p,C=w.useMemo(()=>S,Object.values(S));return e.jsx(T.Provider,{value:C,children:N})};f.displayName=u+"Provider";function y(b,j){const N=j?.[s]?.[x]||p,S=w.useContext(N);if(S)return S;if(m!==void 0)return m;throw new Error(`\`${b}\` must be used within \`${u}\``)}return[f,y]}const c=()=>{const u=r.map(m=>w.createContext(m));return function(p){const x=p?.[s]||u;return w.useMemo(()=>({[`__scope${s}`]:{...p,[s]:x}}),[p,x])}};return c.scopeName=s,[l,fS(c,...i)]}function fS(...s){const i=s[0];if(s.length===1)return i;const r=()=>{const l=s.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(u){const m=l.reduce((p,{useScope:x,scopeName:f})=>{const b=x(u)[`__scope${f}`];return{...p,...b}},{});return w.useMemo(()=>({[`__scope${i.scopeName}`]:m}),[m])}};return r.scopeName=i.scopeName,r}function Zh(s){const i=xS(s),r=w.forwardRef((l,c)=>{const{children:u,...m}=l,p=w.Children.toArray(u),x=p.find(gS);if(x){const f=x.props.children,y=p.map(b=>b===x?w.Children.count(f)>1?w.Children.only(null):w.isValidElement(f)?f.props.children:null:b);return e.jsx(i,{...m,ref:c,children:w.isValidElement(f)?w.cloneElement(f,void 0,y):null})}return e.jsx(i,{...m,ref:c,children:u})});return r.displayName=`${s}.Slot`,r}function xS(s){const i=w.forwardRef((r,l)=>{const{children:c,...u}=r;if(w.isValidElement(c)){const m=vS(c),p=bS(u,c.props);return c.type!==w.Fragment&&(p.ref=l?Vl(l,m):m),w.cloneElement(c,p)}return w.Children.count(c)>1?w.Children.only(null):null});return i.displayName=`${s}.SlotClone`,i}var yS=Symbol("radix.slottable");function gS(s){return w.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===yS}function bS(s,i){const r={...i};for(const l in i){const c=s[l],u=i[l];/^on[A-Z]/.test(l)?c&&u?r[l]=(...p)=>{u(...p),c(...p)}:c&&(r[l]=c):l==="style"?r[l]={...c,...u}
vendor: 6,647 bytes, line 57
57:l==="className"&&(r[l]=[c,u].filter(Boolean).join(" "))}return{...s,...r}}function vS(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning;return r?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning,r?s.props.ref:s.props.ref||s.ref)}function jS(s){const i=s+"CollectionProvider",[r,l]=_l(i),[c,u]=r(i,{collectionRef:{current:null},itemMap:new Map}),m=T=>{const{scope:C,children:R}=T,M=Ea.useRef(null),O=Ea.useRef(new Map).current;return e.jsx(c,{scope:C,itemMap:O,collectionRef:M,children:R})};m.displayName=i;const p=s+"CollectionSlot",x=Zh(p),f=Ea.forwardRef((T,C)=>{const{scope:R,children:M}=T,O=u(p,R),Y=Ot(C,O.collectionRef);return e.jsx(x,{ref:Y,children:M})});f.displayName=p;const y=s+"CollectionItemSlot",b="data-radix-collection-item",j=Zh(y),N=Ea.forwardRef((T,C)=>{const{scope:R,children:M,...O}=T,Y=Ea.useRef(null),q=Ot(C,Y),Z=u(y,R);return Ea.useEffect(()=>(Z.itemMap.set(Y,{ref:Y,...O}),()=>void Z.itemMap.delete(Y))),e.jsx(j,{[b]:"",ref:q,children:M})});N.displayName=y;function S(T){const C=u(s+"CollectionConsumer",T);return Ea.useCallback(()=>{const M=C.collectionRef.current;if(!M)return[];const O=Array.from(M.querySelectorAll(`[${b}]`));return Array.from(C.itemMap.values()).sort((Z,V)=>O.indexOf(Z.ref.current)-O.indexOf(V.ref.current))},[C.collectionRef,C.itemMap])}return[{Provider:m,Slot:f,ItemSlot:N},S,l]}var wS=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Ls=wS.reduce((s,i)=>{const r=Zh(`Primitive.${i}`),l=w.forwardRef((c,u)=>{const{asChild:m,...p}=c,x=m?r:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(x,{...p,ref:u})});return l.displayName=`Primitive.${i}`,{...s,[i]:l}},{});function f0(s,i){s&&Rr.flushSync(()=>s.dispatchEvent(i))}function cs(s){const i=w.useRef(s);return w.useEffect(()=>{i.current=s}),w.useMemo(()=>(...r)=>i.current?.(...r),[])}function x0(s,i=globalThis?.document){const r=cs(s);w.useEffect(()=>{const l=c=>{c.key==="Escape"&&r(c)};return i.addEventListener("keydown",l,{capture:!0}),()=>i.removeEventListener("keydown",l,{capture:!0})},[r,i])}var NS="DismissableLayer",$h="dismissableLayer.update",TS="dismissableLayer.pointerDownOutside",SS="dismissableLayer.focusOutside",dg,y0=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),g0=w.forwardRef((s,i)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:m,onDismiss:p,...x}=s,f=w.useContext(y0),[y,b]=w.useState(null),j=y?.ownerDocument??globalThis?.document,[,N]=w.useState({}),S=Ot(i,V=>b(V)),T=Array.from(f.layers),[C]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),R=T.indexOf(C),M=y?T.indexOf(y):-1,O=f.layersWithOutsidePointerEventsDisabled.size>0,Y=M>=R,q=CS(V=>{const H=V.target,ie=[...f.branches].some(de=>de.contains(H));!Y||ie||(c?.(V),m?.(V),V.defaultPrevented||p?.())},j),Z=ES(V=>{const H=V.target;[...f.branches].some(de=>de.contains(H))||(u?.(V),m?.(V),V.defaultPrevented||p?.())},j);return x0(V=>{M===f.layers.size-1&&(l?.(V),!V.defaultPrevented&&p&&(V.preventDefault(),p()))},j),w.useEffect(()=>{if(y)return r&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(dg=j.body.style.pointerEvents,j.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(y)),f.layers.add(y),hg(),()=>{r&&f.layersWithOutsidePointerEventsDisabled.size===1&&(j.body.style.pointerEvents=dg)}},[y,j,r,f]),w.useEffect(()=>()=>{y&&(f.layers.delete(y),f.layersWithOutsidePointerEventsDisabled.delete(y),hg())},[y,f]),w.useEffect(()=>{const V=()=>N({});return document.addEventListener($h,V),()=>document.removeEventListener($h,V)},[]),e.jsx(Ls.div,{...x,ref:S,style:{pointerEvents:O?Y?"auto":"none":void 0,...s.style},onFocusCapture:qt(s.onFocusCapture,Z.onFocusCapture),onBlurCapture:qt(s.onBlurCapture,Z.onBlurCapture),onPointerDownCapture:qt(s.onPointerDownCapture,q.onPointerDownCapture)})});g0.displayName=NS;var AS="DismissableLayerBranch",b0=w.forwardRef((s,i)=>{const r=w.useContext(y0),l=w.useRef(null),c=Ot(i,l);return w.useEffect(()=>{const u=l.current;if(u)return r.branches.add(u),()=>{r.branches.delete(u)}},[r.branches]),e.jsx(Ls.div,{...s,ref:c})});b0.displayName=AS;function CS(s,i=globalThis?.document){const r=cs(s),l=w.useRef(!1),c=w.useRef(()=>{});return w.useEffect(()=>{const u=p=>{if(p.target&&!l.current){let x=function(){v0(TS,r,f,{discrete:!0})};const f={originalEvent:p};p.pointerType==="touch"?(i.removeEventListener("click",c.current),c.current=x,i.addEventListener("click",c.current,{once:!0})):x()}else i.removeEventListener("click",c.current);l.current=!1},m=window.setTimeout(()=>{i.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(m),i.removeEventListener("pointerdown",u),i.removeEventListener("click",c.current)}},[i,r]),{onPointerDownCapture:()=>l.current=!0}}function ES(s,i=globalThis?.document){const r=cs(s),l=w.useRef(!1);return w.useEffect(()=>{const c=u=>{u.target&&!l.current&&v0(SS,r,{originalEvent:u},{discrete:!1})};return i.addEventListener("focusin",c),()=>i.removeEventListener("focusin",c)},[i,r]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function hg(){const s=new CustomEvent($h);document.dispatchEvent(s)}function v0(s,i,r,{discrete:l}){const c=r.originalEvent.target,u=new CustomEvent(s,{bubbles:!1,cancelable:!0,detail:r});i&&c.addEventListener(s,i,{once:!0}),l?f0(c,u):c.dispatchEvent(u)}var kS=g0,LS=b0,Es=globalThis?.document?w.useLayoutEffect:()=>{},DS="Portal",j0=w.forwardRef((s,i)=>{const{container:r,...l}=s,[c,u]=w.useState(!1);Es(()=>u(!0),[]);const m=r||c&&globalThis?.document?.body;return m?p0.createPortal(e.jsx(Ls.div,{...l,ref:i}),m):null});j0.displayName=DS;function RS(s,i){return w.useReducer((r,l)=>i[r][l]??r,s)}var w0=s=>{const{present:i,children:r}=s,l=OS(i),c=typeof r=="function"?r({present:l.isPresent}):w.Children.only(r),u=Ot(l.ref,PS(c));return typeof r=="function"||l.isPresent?w.cloneElement(c,{ref:u}):null};w0.displayName="Presence";function OS(s){const[i,r]=w.useState(),l=w.useRef({}),c=w.useRef(s),u=w.useRef("none"),m=s?"mounted":"unmounted",[p,x]=RS(m,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const f=il(l.current);u.current=p==="mounted"?f:"none"},[p]),Es(()=>{const f=l.current,y=c.current;if(y!==s){const j=u.current,N=il(f);s?x("MOUNT"):N==="none"||f?.display==="none"?x("UNMOUNT"):x(y&&j!==N?"ANIMATION_OUT":"UNMOUNT"),c.current=s}},[s,x]),Es(()=>
57{if(i){let f;const y=i.ownerDocument.defaultView??window,b=N=>{const T=il(l.current).includes(N.animationName);if(N.target===i&&T&&(x("ANIMATION_END"),!c.current)){const C=i.style.animationFillMode;i.style.animationFillMode="forwards",f=y.setTimeout(()=>{i.style.animationFillMode==="forwards"&&(i.style.animationFillMode=C)})}},j=N=>{N.target===i&&(u.current=il(l.current))};return i.addEventListener("animationstart",j),i.addEventListener("animationcancel",b),i.addEventListener("animationend",b),()=>{y.clearTimeout(f),i.removeEventListener("animationstart",j),i.removeEventListener("animationcancel",b),i.removeEventListener("animationend",b)}}else x("ANIMATION_END")},[i,x]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:w.useCallback(f=>{f&&(l.current=getComputedStyle(f)),r(f)},[])}}function il(s){return s?.animationName||"none"}function PS(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning;return r?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning,r?s.props.ref:s.props.ref||s.ref)}function MS({prop:s,defaultProp:i,onChange:r=()=>{}}){const[l,c]=US({defaultProp:i,onChange:r}),u=s!==void 0,m=u?s:l,p=cs(r),x=w.useCallback(f=>{if(u){const b=typeof f=="function"?f(s):f;b!==s&&p(b)}else c(f)},[u,s,c,p]);return[m,x]}function US({defaultProp:s,onChange:i}){const r=w.useState(s),[l]=r,c=w.useRef(l),u=cs(i);return w.useEffect(()=>{c.current!==l&&(u(l),c.current=l)},[l,c,u]),r}var IS="VisuallyHidden",Uu=w.forwardRef((s,i)=>e.jsx(Ls.span,{...s,ref:i,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...s.style}}));Uu.displayName=IS;var Iu="ToastProvider",[Bu,BS,zS]=jS("Toast"),[N0]=_l("Toast",[zS]),[VS,Wl]=N0(Iu),T0=s=>{const{__scopeToast:i,label:r="Notification",duration:l=5e3,swipeDirection:c="right",swipeThreshold:u=50,children:m}=s,[p,x]=w.useState(null),[f,y]=w.useState(0),b=w.useRef(!1),j=w.useRef(!1);return r.trim()||console.error(`Invalid prop \`label\` supplied to \`${Iu}\`. Expected non-empty \`string\`.`),e.jsx(Bu.Provider,{scope:i,children:e.jsx(VS,{scope:i,label:r,duration:l,swipeDirection:c,swipeThreshold:u,toastCount:f,viewport:p,onViewportChange:x,onToastAdd:w.useCallback(()=>y(N=>N+1),[]),onToastRemove:w.useCallback(()=>y(N=>N-1),[]),isFocusedToastEscapeKeyDownRef:b,isClosePausedRef:j,children:m})})};T0.displayName=Iu;var S0="ToastViewport",_S=["F8"],Jh="toast.viewportPause",eu="toast.viewportResume",A0=w.forwardRef((s,i)=>{const{__scopeToast:r,hotkey:l=_S,label:c="Notifications ({hotkey})",...u}=s,m=Wl(S0,r),p=BS(r),x=w.useRef(null),f=w.useRef(null),y=w.useRef(null),b=w.useRef(null),j=Ot(i,b,m.onViewportChange),N=l.join("+").replace(/Key/g,"").replace(/Digit/g,""),S=m.toastCount>0;w.useEffect(()=>{const C=R=>{l.length!==0&&l.every(O=>R[O]||R.code===O)&&b.current?.focus()};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[l]),w.useEffect(()=>{const C=x.current,R=b.current;if(S&&C&&R){const M=()=>{if(!m.isClosePausedRef.current){const Z=new CustomEvent(Jh);R.dispatchEvent(Z),m.isClosePausedRef.current=!0}},O=()=>{if(m.isClosePausedRef.current){const Z=new CustomEvent(eu);R.dispatchEvent(Z),m.isClosePausedRef.current=!1}},Y=Z=>{!C.contains(Z.relatedTarget)&&O()},q=()=>{C.contains(document.activeElement)||O()};return C.addEventListener("focusin",M),C.addEventListener("focusout",Y),C.addEventListener("pointermove",M),C.addEventListener("pointerleave",q),window.addEventListener("blur",M),window.addEventListener("focus",O),()=>{C.removeEventListener("focusin",M),C.removeEventListener("focusout",Y),C.removeEventListener("pointermove",M),C.removeEventListener("pointerleave",q),window.removeEventListener("blur",M),window.removeEventListener("focus",O)}}},[S,m.isClosePausedRef]);const T=w.useCallback(({tabbingDirection:C})=>{const M=p().map(O=>{const Y=O.ref.current,q=[Y,...eA(Y)];return C==="forwards"?q:q.reverse()});return(C==="forwards"?M.reverse():M).flat()},[p]);return w.useEffect(()=>{const C=b.current;if(C){const R=M=>{const O=M.altKey||M.ctrlKey||M.metaKey;if(M.key==="Tab"&&!O){const q=document.activeElement,Z=M.shiftKey;if(M.target===C&&Z){f.current?.focus();return}const ie=T({tabbingDirection:Z?"backwards":"forwards"}),de=ie.findIndex(ye=>ye===q);Eh(ie.slice(de+1))?M.preventDefault():Z?f.current?.focus():y.current?.focus()}};return C.addEventListener("keydown",R),()=>C.removeEventListener("keydown",R)}},[p,T]),e.jsxs(LS,{ref:x,role:"region","aria-label":c.replace("{hotkey}",N),tabIndex:-1,style:{pointerEvents:S?void 0:"none"},children:[S&&e.jsx(tu,{ref:f,onFocusFromOutsideViewport:()=>{const C=T({tabbingDirection:"forwards"});Eh(C)}}),e.jsx(Bu.Slot,{scope:r,children:e.jsx(Ls.ol,{tabIndex:-1,...u,ref:j})}),S&&e.jsx(tu,{ref:y,onFocusFromOutsideViewport:()=>{const C=T({tabbingDirection:"backwards"});Eh(C)}})]})});A0.displayName=S0;var C0="ToastFocusProxy",tu=w.forwardRef((s,i)=>{const{__scopeToast:r,onFocusFromOutsideViewport:l,...c}=s,u=Wl(C0,r);return e.jsx(Uu,{"aria-hidden":!0,tabIndex:0,...c,ref:i,style:{position:"fixed"},onFocus:m=>{const p=m.relatedTarget;!u.viewport?.contains(p)&&l()}})});tu.displayName=C0;var Hl="Toast",WS="toast.swipeStart",HS="toast.swipeMove",YS="toast.swipeCancel",qS="toast.swipeEnd",E0=w.forwardRef((s,i)=>{const{forceMount:r,open:l,defaultOpen:c,onOpenChange:u,...m}=s,[p=!0,x]=MS({prop:l,defaultProp:c,onChange:u});return e.jsx(w0,{present:r||p,children:e.jsx(QS,{open:p,...m,ref:i,onClose:()=>x(!1),onPause:cs(s.onPause),onResume:cs(s.onResume),onSwipeStart:qt(s.onSwipeStart,f=>{f.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:qt(s.onSwipeMove,f=>{const{x:y,y:b}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","move"),f.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${y}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${b}px`)}),onSwipeCancel:qt(s.onSwipeCancel,f=>{f.currentTarget.setAttribute("data-swipe","cancel"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:qt(s.onSwipeEnd,f=>{const{x:y,y:b}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","end"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${y}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${b}px`),x(!1)})})})});E0.displayName=Hl;var[GS,FS]=N0(Hl,{onClose(){}}),QS=w.forwardRef((s,i)=>{const{__scopeToast:r,type:l="foreground",duration:c,open:u,onClose:m,onEscapeKeyDown:p,onPause:x,onResume:f,onSwipeStart:y,onSwipeMove:b,onSwipeCancel:j,onSwipeEnd:N,...S}=s,T=Wl(Hl,r),[C,R]=w.useState(null),M=Ot(i,ae=>R(ae)),O=w.useRef(null),Y=w.useRef(null),q=c||T.duration,Z=w.useRef(0),V=w.useRef(q),H=w.useRef(0),{onToastAdd:ie,onToastRemove:de}=T,ye=cs(()=>
57{C?.contains(document.activeElement)&&T.viewport?.focus(),m()}),ve=w.useCallback(ae=>{!ae||ae===1/0||(window.clearTimeout(H.current),Z.current=new Date().getTime(),H.current=window.setTimeout(ye,ae))},[ye]);w.useEffect(()=>{const ae=T.viewport;if(ae){const ge=()=>{ve(V.current),f?.()},P=()=>{const G=new Date().getTime()-Z.current;V.current=V.current-G,window.clearTimeout(H.current),x?.()};return ae.addEventListener(Jh,P),ae.addEventListener(eu,ge),()=>{ae.removeEventListener(Jh,P),ae.removeEventListener(eu,ge)}}},[T.viewport,q,x,f,ve]),w.useEffect(()=>{u&&!T.isClosePausedRef.current&&ve(q)},[u,q,T.isClosePausedRef,ve]),w.useEffect(()=>(ie(),()=>de()),[ie,de]);const ke=w.useMemo(()=>C?M0(C):null,[C]);return T.viewport?e.jsxs(e.Fragment,{children:[ke&&e.jsx(XS,{__scopeToast:r,role:"status","aria-live":l==="foreground"?"assertive":"polite","aria-atomic":!0,children:ke}),e.jsx(GS,{scope:r,onClose:ye,children:Rr.createPortal(e.jsx(Bu.ItemSlot,{scope:r,children:e.jsx(kS,{asChild:!0,onEscapeKeyDown:qt(p,()=>{T.isFocusedToastEscapeKeyDownRef.current||ye(),T.isFocusedToastEscapeKeyDownRef.current=!1}),children:e.jsx(Ls.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":u?"open":"closed","data-swipe-direction":T.swipeDirection,...S,ref:M,style:{userSelect:"none",touchAction:"none",...s.style},onKeyDown:qt(s.onKeyDown,ae=>{ae.key==="Escape"&&(p?.(ae.nativeEvent),ae.nativeEvent.defaultPrevented||(T.isFocusedToastEscapeKeyDownRef.current=!0,ye()))}),onPointerDown:qt(s.onPointerDown,ae=>{ae.button===0&&(O.current={x:ae.clientX,y:ae.clientY})}),onPointerMove:qt(s.onPointerMove,ae=>{if(!O.current)return;const ge=ae.clientX-O.current.x,P=ae.clientY-O.current.y,G=!!Y.current,z=["left","right"].includes(T.swipeDirection),le=["left","up"].includes(T.swipeDirection)?Math.min:Math.max,pe=z?le(0,ge):0,E=z?0:le(0,P),Q=ae.pointerType==="touch"?10:2,ee={x:pe,y:E},se={originalEvent:ae,delta:ee};G?(Y.current=ee,nl(HS,b,se,{discrete:!1})):ug(ee,T.swipeDirection,Q)?(Y.current=ee,nl(WS,y,se,{discrete:!1}),ae.target.setPointerCapture(ae.pointerId)):(Math.abs(ge)>Q||Math.abs(P)>Q)&&(O.current=null)}),onPointerUp:qt(s.onPointerUp,ae=>{const ge=Y.current,P=ae.target;if(P.hasPointerCapture(ae.pointerId)&&P.releasePointerCapture(ae.pointerId),Y.current=null,O.current=null,ge){const G=ae.currentTarget,z={originalEvent:ae,delta:ge};ug(ge,T.swipeDirection,T.swipeThreshold)?nl(qS,N,z,{discrete:!0}):nl(YS,j,z,{discrete:!0}),G.addEventListener("click",le=>le.preventDefault(),{once:!0})}})})})}),T.viewport)})]}):null}),XS=s=>{const{__scopeToast:i,children:r,...l}=s,c=Wl(Hl,i),[u,m]=w.useState(!1),[p,x]=w.useState(!1);return $S(()=>m(!0)),w.useEffect(()=>{const f=window.setTimeout(()=>x(!0),1e3);return()=>window.clearTimeout(f)},[]),p?null:e.jsx(j0,{asChild:!0,children:e.jsx(Uu,{...l,children:u&&e.jsxs(e.Fragment,{children:[c.label," ",r]})})})},KS="ToastTitle",k0=w.forwardRef((s,i)=>{const{__scopeToast:r,...l}=s;return e.jsx(Ls.div,{...l,ref:i})});k0.displayName=KS;var ZS="ToastDescription",L0=w.forwardRef((s,i)=>{const{__scopeToast:r,...l}=s;return e.jsx(Ls.div,{...l,ref:i})});L0.displayName=ZS;var D0="ToastAction",R0=w.forwardRef((s,i)=>{const{altText:r,...l}=s;return r.trim()?e.jsx(P0,{altText:r,asChild:!0,children:e.jsx(zu,{...l,ref:i})}):(console.error(`Invalid prop \`altText\` supplied to \`${D0}\`. Expected non-empty \`string\`.`),null)});R0.displayName=D0;var O0="ToastClose",zu=w.forwardRef((s,i)=>{const{__scopeToast:r,...l}=s,c=FS(O0,r);return e.jsx(P0,{asChild:!0,children:e.jsx(Ls.button,{type:"button",...l,ref:i,onClick:qt(s.onClick,c.onClose)})})});zu.displayName=O0;var P0=w.forwardRef((s,i)=>{const{__scopeToast:r,altText:l,...c}=s;return e.jsx(Ls.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":l||void 0,...c,ref:i})});function M0(s){const i=[];return Array.from(s.childNodes).forEach(l=>{if(l.nodeType===l.TEXT_NODE&&l.textContent&&i.push(l.textContent),JS(l)){const c=l.ariaHidden||l.hidden||l.style.display==="none",u=l.dataset.radixToastAnnounceExclude==="";if(!c)if(u){const m=l.dataset.radixToastAnnounceAlt;m&&i.push(m)}else i.push(...M0(l))}}),i}function nl(s,i,r,{discrete:l}){const c=r.originalEvent.currentTarget,u=new CustomEvent(s,{bubbles:!0,cancelable:!0,detail:r});i&&c.addEventListener(s,i,{once:!0}),l?f0(c,u):c.dispatchEvent(u)}var ug=(s,i,r=0)=>{const l=Math.abs(s.x),c=Math.abs(s.y),u=l>c;return i==="left"||i==="right"?u&&l>r:!u&&c>r};function $S(s=()=>{}){const i=cs(s);Es(()=>{let r=0,l=0;return r=window.requestAnimationFrame(()=>l=window.requestAnimationFrame(i)),()=>{window.cancelAnimationFrame(r),window.cancelAnimationFrame(l)}},[i])}function JS(s){return s.nodeType===s.ELEMENT_NODE}function eA(s){const i=[],r=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT,{acceptNode:l=>{const c=l.tagName==="INPUT"&&l.type==="hidden";return l.disabled||l.hidden||c?NodeFilter.FILTER_SKIP:l.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)i.push(r.currentNode);return i}function Eh(s){const i=document.activeElement;return s.some(r=>r===i?!0:(r.focus(),document.activeElement!==i))}var tA=T0,U0=A0,I0=E0,B0=k0,z0=L0,V0=R0,_0=zu;function W0(s){var i,r,l="";if(typeof s=="string"||typeof s=="number")l+=s;else if(typeof s=="object")if(Array.isArray(s)){var c=s.length;for(i=0;i<c;i++)s[i]&&(r=W0(s[i]))&&(l&&(l+=" "),l+=r)}else for(r in s)s[r]&&(l&&(l+=" "),l+=r);return l}function H0(){for(var s,i,r=0,l="",c=arguments.length;r<c;r++)(s=arguments[r])&&(i=W0(s))&&(l&&(l+=" "),l+=i);return l}const mg=s=>typeof s=="boolean"?`${s}`:s===0?"0":s,pg=H0,Vu=(s,i)=>r=>{var l;if(i?.variants==null)return pg(s,r?.class,r?.className);const{variants:c,defaultVariants:u}=i,m=Object.keys(c).map(f=>{const y=r?.[f],b=u?.[f];if(y===null)return null;const j=mg(y)||mg(b);return c[f][j]}),p=r&&Object.entries(r).reduce((f,y)=>{let[b,j]=y;return j===void 0||(f[b]=j),f},{}),x=i==null||(l=i.compoundVariants)===null||l===void 0?void 0:l.reduce((f,y)=>{let{class:b,className:j,...N}=y;return Object.entries(N).every(S=>{let[T,C]=S;return Array.isArray(C)?C.includes({...u,...p}[T]):{...u,...p}[T]===C})?[...f,b,j]:f},[]);return pg(s,m,x,r?.class,r?.className)};/**
58 * @license lucide-react v0.545.0 - ISC
59 *
60 * This source code is licensed under the ISC license.
61 * See the LICENSE file in the root directory of this source tree.
62 */const sA=s=>s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),aA=s=>s.replace(/^([A-Z])|[\s-_]+(\w)/g,(i,r,l)=>l?l.toUpperCase():r.toLowerCase()),fg=s=>{const i=aA(s);return i.charAt(0).toUpperCase()+i.slice(1)},Y0=(...s)=>s.filter((i,r,l)=>!!i&&i.trim()!==""&&l.indexOf(i)===r).join(" ").trim(),iA=s=>{for(const i in s)if(i.startsWith("aria-")||i==="role"||i==="title")return!0};/**
63 * @license lucide-react v0.545.0 - ISC
64 *
65 * This source code is licensed under the ISC license.
66 * See the LICENSE file in the root directory of this source tree.
67 */var nA={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
68 * @license lucide-react v0.545.0 - ISC
69 *
70 * This source code is licensed under the ISC license.
71 * See the LICENSE file in the root directory of this source tree.
72 */const rA=w.forwardRef(({color:s="currentColor",size:i=24,strokeWidth:r=2,absoluteStrokeWidth:l,className:c="",children:u,iconNode:m,...p},x)=>w.createElement("svg",{ref:x,...nA,width:i,height:i,stroke:s,strokeWidth:l?Number(r)*24/Number(i):r,className:Y0("lucide",c),...!u&&!iA(p)&&{"aria-hidden":"true"},...p},[...m.map(([f,y])=>w.createElement(f,y)),...Array.isArray(u)?u:[u]]));/**
73 * @license lucide-react v0.545.0 - ISC
74 *
75 * This source code is licensed under the ISC license.
76 * See the LICENSE file in the root directory of this source tree.
77 */const Fe=(s,i)=>{const r=w.forwardRef(({className:l,...c},u)=>w.createElement(rA,{ref:u,iconNode:i,className:Y0(`lucide-${sA(fg(s))}`,`lucide-${s}`,l),...c}));return r.displayName=fg(s),r};/**
78 * @license lucide-react v0.545.0 - ISC
79 *
80 * This source code is licensed under the ISC license.
81 * See the LICENSE file in the root directory of this source tree.
82 */const oA=[["path",{d:"M12 6.528V3a1 1 0 0 1 1-1h0",key:"11qiee"}],["path",{d:"M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21",key:"110c12"}]],lA=Fe("apple",oA);/**
83 * @license lucide-react v0.545.0 - ISC
84 *
85 * This source code is licensed under the ISC license.
86 * See the LICENSE file in the root directory of this source tree.
87 */const cA=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],J=Fe("arrow-left",cA);/**
88 * @license lucide-react v0.545.0 - ISC
89 *
90 * This source code is licensed under the ISC license.
91 * See the LICENSE file in the root directory of this source tree.
92 */const dA=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],ka=Fe("arrow-right",dA);/**
93 * @license lucide-react v0.545.0 - ISC
94 *
95 * This source code is licensed under the ISC license.
96 * See the LICENSE file in the root directory of this source tree.
97 */const hA=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],uA=Fe("arrow-up-right",hA);/**
98 * @license lucide-react v0.545.0 - ISC
99 *
100 * This source code is licensed under the ISC license.
101 * See the LICENSE file in the root directory of this source tree.
102 */const mA=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],q0=Fe("book-open",mA);/**
103 * @license lucide-react v0.545.0 - ISC
104 *
105 * This source code is licensed under the ISC license.
106 * See the LICENSE file in the root directory of this source tree.
107 */const pA=[["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3",key:"cabbwy"}],["rect",{x:"4",y:"2",width:"16",height:"20",rx:"2",key:"1uxh74"}]],G0=Fe("building",pA);/**
108 * @license lucide-react v0.545.0 - ISC
109 *
110 * This source code is licensed under the ISC license.
111 * See the LICENSE file in the root directory of this source tree.
112 */const fA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],xA=Fe("circle-alert",fA);/**
113 * @license lucide-react v0.545.0 - ISC
114 *
115 * This source code is licensed under the ISC license.
116 * See the LICENSE file in the root directory of this source tree.
117 */const yA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],qe=Fe("circle-question-mark",yA);/**
118 * @license lucide-react v0.545.0 - ISC
119 *
120 * This source code is licensed under the ISC license.
121 * See the LICENSE file in the root directory of this source tree.
122 */const gA=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],hn=Fe("clock",gA);/**
123 * @license lucide-react v0.545.0 - ISC
124 *
125 * This source code is licensed under the ISC license.
126 * See the LICENSE file in the root directory of this source tree.
127 */const bA=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Zs=Fe("external-link",bA);/**
128 * @license lucide-react v0.545.0 - ISC
129 *
130 * This source code is licensed under the ISC license.
131 * See the LICENSE file in the root directory of this source tree.
132 */const vA=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],tt=Fe("file-text",vA);/**
133 * @license lucide-react v0.545.0 - ISC
134 *
135 * This source code is licensed under the ISC license.
136 * See the LICENSE file in the root directory of this source tree.
137 */const jA=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],wA=Fe("gamepad-2",jA);/**
138 * @license lucide-react v0.545.0 - ISC
139 *
140 * This source code is licensed under the ISC license.
141 * See the LICENSE file in the root directory of this source tree.
142 */const NA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],_u=Fe("globe",NA);/**
143 * @license lucide-react v0.545.0 - ISC
144 *
145 * This source code is licensed under the ISC license.
146 * See the LICENSE file in the root directory of this source tree.
147 */const TA=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],SA=Fe("heart",TA);
147/**
148 * @license lucide-react v0.545.0 - ISC
149 *
150 * This source code is licensed under the ISC license.
151 * See the LICENSE file in the root directory of this source tree.
152 */const AA=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],CA=Fe("house",AA);/**
153 * @license lucide-react v0.545.0 - ISC
154 *
155 * This source code is licensed under the ISC license.
156 * See the LICENSE file in the root directory of this source tree.
157 */const EA=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],Ft=Fe("mail",EA);/**
158 * @license lucide-react v0.545.0 - ISC
159 *
160 * This source code is licensed under the ISC license.
161 * See the LICENSE file in the root directory of this source tree.
162 */const kA=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],LA=Fe("message-circle",kA);/**
163 * @license lucide-react v0.545.0 - ISC
164 *
165 * This source code is licensed under the ISC license.
166 * See the LICENSE file in the root directory of this source tree.
167 */const DA=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],RA=Fe("pen-line",DA);/**
168 * @license lucide-react v0.545.0 - ISC
169 *
170 * This source code is licensed under the ISC license.
171 * See the LICENSE file in the root directory of this source tree.
172 */const OA=[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]],PA=Fe("scale",OA);/**
173 * @license lucide-react v0.545.0 - ISC
174 *
175 * This source code is licensed under the ISC license.
176 * See the LICENSE file in the root directory of this source tree.
177 */const MA=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],ut=Fe("scroll-text",MA);/**
178 * @license lucide-react v0.545.0 - ISC
179 *
180 * This source code is licensed under the ISC license.
181 * See the LICENSE file in the root directory of this source tree.
182 */const UA=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],IA=Fe("smartphone",UA);/**
183 * @license lucide-react v0.545.0 - ISC
184 *
185 * This source code is licensed under the ISC license.
186 * See the LICENSE file in the root directory of this source tree.
187 */const BA=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}
vendor: 6,473 bytes, lines 187-197
187],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Tl=Fe("sparkles",BA);/**
188 * @license lucide-react v0.545.0 - ISC
189 *
190 * This source code is licensed under the ISC license.
191 * See the LICENSE file in the root directory of this source tree.
192 */const zA=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],F0=Fe("user",zA);/**
193 * @license lucide-react v0.545.0 - ISC
194 *
195 * This source code is licensed under the ISC license.
196 * See the LICENSE file in the root directory of this source tree.
197 */const VA=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],_A=Fe("x",VA),Wu="-",WA=s=>{const i=YA(s),{conflictingClassGroups:r,conflictingClassGroupModifiers:l}=s;return{getClassGroupId:m=>{const p=m.split(Wu);return p[0]===""&&p.length!==1&&p.shift(),Q0(p,i)||HA(m)},getConflictingClassGroupIds:(m,p)=>{const x=r[m]||[];return p&&l[m]?[...x,...l[m]]:x}}},Q0=(s,i)=>{if(s.length===0)return i.classGroupId;const r=s[0],l=i.nextPart.get(r),c=l?Q0(s.slice(1),l):void 0;if(c)return c;if(i.validators.length===0)return;const u=s.join(Wu);return i.validators.find(({validator:m})=>m(u))?.classGroupId},xg=/^\[(.+)\]$/,HA=s=>{if(xg.test(s)){const i=xg.exec(s)[1],r=i?.substring(0,i.indexOf(":"));if(r)return"arbitrary.."+r}},YA=s=>{const{theme:i,classGroups:r}=s,l={nextPart:new Map,validators:[]};for(const c in r)su(r[c],l,c,i);return l},su=(s,i,r,l)=>{s.forEach(c=>{if(typeof c=="string"){const u=c===""?i:yg(i,c);u.classGroupId=r;return}if(typeof c=="function"){if(qA(c)){su(c(l),i,r,l);return}i.validators.push({validator:c,classGroupId:r});return}Object.entries(c).forEach(([u,m])=>{su(m,yg(i,u),r,l)})})},yg=(s,i)=>{let r=s;return i.split(Wu).forEach(l=>{r.nextPart.has(l)||r.nextPart.set(l,{nextPart:new Map,validators:[]}),r=r.nextPart.get(l)}),r},qA=s=>s.isThemeGetter,GA=s=>{if(s<1)return{get:()=>{},set:()=>{}};let i=0,r=new Map,l=new Map;const c=(u,m)=>{r.set(u,m),i++,i>s&&(i=0,l=r,r=new Map)};return{get(u){let m=r.get(u);if(m!==void 0)return m;if((m=l.get(u))!==void 0)return c(u,m),m},set(u,m){r.has(u)?r.set(u,m):c(u,m)}}},au="!",iu=":",FA=iu.length,QA=s=>{const{prefix:i,experimentalParseClassName:r}=s;let l=c=>{const u=[];let m=0,p=0,x=0,f;for(let S=0;S<c.length;S++){let T=c[S];if(m===0&&p===0){if(T===iu){u.push(c.slice(x,S)),x=S+FA;continue}if(T==="/"){f=S;continue}}T==="["?m++:T==="]"?m--:T==="("?p++:T===")"&&p--}const y=u.length===0?c:c.substring(x),b=XA(y),j=b!==y,N=f&&f>x?f-x:void 0;return{modifiers:u,hasImportantModifier:j,baseClassName:b,maybePostfixModifierPosition:N}};if(i){const c=i+iu,u=l;l=m=>m.startsWith(c)?u(m.substring(c.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:m,maybePostfixModifierPosition:void 0}}if(r){const c=l;l=u=>r({className:u,parseClassName:c})}return l},XA=s=>s.endsWith(au)?s.substring(0,s.length-1):s.startsWith(au)?s.substring(1):s,KA=s=>{const i=Object.fromEntries(s.orderSensitiveModifiers.map(l=>[l,!0]));return l=>{if(l.length<=1)return l;const c=[];let u=[];return l.forEach(m=>{m[0]==="["||i[m]?(c.push(...u.sort(),m),u=[]):u.push(m)}),c.push(...u.sort()),c}},ZA=s=>({cache:GA(s.cacheSize),parseClassName:QA(s),sortModifiers:KA(s),...WA(s)}),$A=/\s+/,JA=(s,i)=>{const{parseClassName:r,getClassGroupId:l,getConflictingClassGroupIds:c,sortModifiers:u}=i,m=[],p=s.trim().split($A);let x="";for(let f=p.length-1;f>=0;f-=1){const y=p[f],{isExternal:b,modifiers:j,hasImportantModifier:N,baseClassName:S,maybePostfixModifierPosition:T}=r(y);if(b){x=y+(x.length>0?" "+x:x);continue}let C=!!T,R=l(C?S.substring(0,T):S);if(!R){if(!C){x=y+(x.length>0?" "+x:x);continue}if(R=l(S),!R){x=y+(x.length>0?" "+x:x);continue}C=!1}const M=u(j).join(":"),O=N?M+au:M,Y=O+R;if(m.includes(Y))continue;m.push(Y);const q=c(R,C);for(let Z=0;Z<q.length;++Z){const V=q[Z];m.push(O+V)}x=y+(x.length>0?" "+x:x)}return x};function e3(){let s=0,i,r,l="";for(;s<arguments.length;)(i=arguments[s++])&&(r=X0(i))&&(l&&(l+=" "),l+=r);return l}const X0=s=>{if(typeof s=="string")return s;let i,r="";for(let l=0;l<s.length;l++)s[l]&&(i=X0(s[l]))&&(r&&(r+=" "),r+=i);return r};function t3(s,...i){let r,l,c,u=m;function m(x){const f=i.reduce((y,b)=>b(y),s());return r=ZA(f),l=r.cache.get,c=r.cache.set,u=p,p(x)}function p(x){const f=l(x);if(f)return f;const y=JA(x,r);return c(x,y),y}return function(){return u(e3.apply(null,arguments))}}const ct=s=>{const i=r=>r[s]||[];return i.isThemeGetter=!0,i},K0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Z0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,s3=/^\d+\/\d+$/,a3=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,i3=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,n3=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,r3=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,o3=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Zi=s=>s3.test(s),Te=s=>!!s&&!Number.isNaN(Number(s)),Ca=s=>!!s&&Number.isInteger(Number(s)),kh=s=>s.endsWith("%")&&Te(s.slice(0,-1)),Ks=s=>a3.test(s),l3=()=>!0,c3=s=>i3.test(s)&&!n3.test(s),$0=()=>!1,d3=s=>r3.test(s),h3=s=>o3.test(s),u3=s=>!re(s)&&!oe(s),m3=s=>un(s,tv,$0),re=s=>K0.test(s),ii=s=>un(s,sv,c3),Lh=s=>un(s,g3,Te),gg=s=>un(s,J0,$0),p3=s=>un(s,ev,h3),rl=s=>un(s,av,d3),oe=s=>Z0.test(s),mr=s=>mn(s,sv),f3=s=>mn(s,b3),bg=s=>mn(s,J0),x3=s=>mn(s,tv),y3=s=>mn(s,ev),ol=s=>mn(s,av,!0),un=(s,i,r)=>{const l=K0.exec(s);return l?l[1]?i(l[1]):r(l[2]):!1},mn=(s,i,r=!1)=>{const l=Z0.exec(s);return l?l[1]?i(l[1]):r:!1},J0=s=>s==="position"||s==="percentage",ev=s=>s==="image"||s==="url",tv=s=>s==="length"||s==="size"||s==="bg-size",sv=s=>s==="length",g3=s=>s==="number",b3=s=>s==="family-name",av=s=>s==="shadow",v3=()=>{const s=ct("color"),i=ct("font"),r=ct("text"),l=ct("font-weight"),c=ct("tracking"),u=ct("leading"),m=ct("breakpoint"),p=ct("container"),x=ct("spacing"),f=ct("radius"),y=ct("shadow"),b=ct("inset-shadow"),j=ct("text-shadow"),N=ct("drop-shadow"),S=ct("blur"),T=ct("perspective"),C=ct("aspect"),R=ct("ease"),M=ct("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],q=()=>[...Y(),oe,re],Z=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],H=()=>[oe,re,x],ie=()=>[Zi,"full","auto",...H()],de=()=>
vendor: 7,318 bytes, line 197
197[Ca,"none","subgrid",oe,re],ye=()=>["auto",{span:["full",Ca,oe,re]},Ca,oe,re],ve=()=>[Ca,"auto",oe,re],ke=()=>["auto","min","max","fr",oe,re],ae=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ge=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...H()],G=()=>[Zi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...H()],z=()=>[s,oe,re],le=()=>[...Y(),bg,gg,{position:[oe,re]}],pe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],E=()=>["auto","cover","contain",x3,m3,{size:[oe,re]}],Q=()=>[kh,mr,ii],ee=()=>["","none","full",f,oe,re],se=()=>["",Te,mr,ii],fe=()=>["solid","dashed","dotted","double"],je=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],he=()=>[Te,kh,bg,gg],$e=()=>["","none",S,oe,re],Ie=()=>["none",Te,oe,re],Qt=()=>["none",Te,oe,re],ys=()=>[Te,oe,re],gs=()=>[Zi,"full",...H()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ks],breakpoint:[Ks],color:[l3],container:[Ks],"drop-shadow":[Ks],ease:["in","out","in-out"],font:[u3],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ks],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ks],shadow:[Ks],spacing:["px",Te],text:[Ks],"text-shadow":[Ks],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Zi,re,oe,C]}],container:["container"],columns:[{columns:[Te,re,oe,p]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:q()}],overflow:[{overflow:Z()}],"overflow-x":[{"overflow-x":Z()}],"overflow-y":[{"overflow-y":Z()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ie()}],"inset-x":[{"inset-x":ie()}],"inset-y":[{"inset-y":ie()}],start:[{start:ie()}],end:[{end:ie()}],top:[{top:ie()}],right:[{right:ie()}],bottom:[{bottom:ie()}],left:[{left:ie()}],visibility:["visible","invisible","collapse"],z:[{z:[Ca,"auto",oe,re]}],basis:[{basis:[Zi,"full","auto",p,...H()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Te,Zi,"auto","initial","none",re]}],grow:[{grow:["",Te,oe,re]}],shrink:[{shrink:["",Te,oe,re]}],order:[{order:[Ca,"first","last","none",oe,re]}],"grid-cols":[{"grid-cols":de()}],"col-start-end":[{col:ye()}],"col-start":[{"col-start":ve()}],"col-end":[{"col-end":ve()}],"grid-rows":[{"grid-rows":de()}],"row-start-end":[{row:ye()}],"row-start":[{"row-start":ve()}],"row-end":[{"row-end":ve()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ke()}],"auto-rows":[{"auto-rows":ke()}],gap:[{gap:H()}],"gap-x":[{"gap-x":H()}],"gap-y":[{"gap-y":H()}],"justify-content":[{justify:[...ae(),"normal"]}],"justify-items":[{"justify-items":[...ge(),"normal"]}],"justify-self":[{"justify-self":["auto",...ge()]}],"align-content":[{content:["normal",...ae()]}],"align-items":[{items:[...ge(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ge(),{baseline:["","last"]}]}],"place-content":[{"place-content":ae()}],"place-items":[{"place-items":[...ge(),"baseline"]}],"place-self":[{"place-self":["auto",...ge()]}],p:[{p:H()}],px:[{px:H()}],py:[{py:H()}],ps:[{ps:H()}],pe:[{pe:H()}],pt:[{pt:H()}],pr:[{pr:H()}],pb:[{pb:H()}],pl:[{pl:H()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":H()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":H()}],"space-y-reverse":["space-y-reverse"],size:[{size:G()}],w:[{w:[p,"screen",...G()]}],"min-w":[{"min-w":[p,"screen","none",...G()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[m]},...G()]}],h:[{h:["screen","lh",...G()]}],"min-h":[{"min-h":["screen","lh","none",...G()]}],"max-h":[{"max-h":["screen","lh",...G()]}],"font-size":[{text:["base",r,mr,ii]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,oe,Lh]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",kh,re]}],"font-family":[{font:[f3,re,i]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,oe,re]}],"line-clamp":[{"line-clamp":[Te,"none",oe,Lh]}],leading:[{leading:[u,...H()]}],"list-image":[{"list-image":["none",oe,re]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",oe,re]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:z()}],"text-color":[{text:z()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[Te,"from-font","auto",oe,ii]}],"text-decoration-color":[{decoration:z()}],"underline-offset":[{"underline-offset":[Te,"auto",oe,re]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",oe,re]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",oe,re]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:le()}],"bg-repeat":[{bg:pe()}],"bg-size":[{bg:E()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ca,oe,re],radial:["",oe,re],conic:[Ca,oe,re]},y3,p3]}],"bg-color":[{bg:z()}],"gradient-from-pos":[{from:Q()}
vendor: 7,256 bytes, line 197
197],"gradient-via-pos":[{via:Q()}],"gradient-to-pos":[{to:Q()}],"gradient-from":[{from:z()}],"gradient-via":[{via:z()}],"gradient-to":[{to:z()}],rounded:[{rounded:ee()}],"rounded-s":[{"rounded-s":ee()}],"rounded-e":[{"rounded-e":ee()}],"rounded-t":[{"rounded-t":ee()}],"rounded-r":[{"rounded-r":ee()}],"rounded-b":[{"rounded-b":ee()}],"rounded-l":[{"rounded-l":ee()}],"rounded-ss":[{"rounded-ss":ee()}],"rounded-se":[{"rounded-se":ee()}],"rounded-ee":[{"rounded-ee":ee()}],"rounded-es":[{"rounded-es":ee()}],"rounded-tl":[{"rounded-tl":ee()}],"rounded-tr":[{"rounded-tr":ee()}],"rounded-br":[{"rounded-br":ee()}],"rounded-bl":[{"rounded-bl":ee()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":se()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:z()}],"border-color-x":[{"border-x":z()}],"border-color-y":[{"border-y":z()}],"border-color-s":[{"border-s":z()}],"border-color-e":[{"border-e":z()}],"border-color-t":[{"border-t":z()}],"border-color-r":[{"border-r":z()}],"border-color-b":[{"border-b":z()}],"border-color-l":[{"border-l":z()}],"divide-color":[{divide:z()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Te,oe,re]}],"outline-w":[{outline:["",Te,mr,ii]}],"outline-color":[{outline:z()}],shadow:[{shadow:["","none",y,ol,rl]}],"shadow-color":[{shadow:z()}],"inset-shadow":[{"inset-shadow":["none",b,ol,rl]}],"inset-shadow-color":[{"inset-shadow":z()}],"ring-w":[{ring:se()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:z()}],"ring-offset-w":[{"ring-offset":[Te,ii]}],"ring-offset-color":[{"ring-offset":z()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":z()}],"text-shadow":[{"text-shadow":["none",j,ol,rl]}],"text-shadow-color":[{"text-shadow":z()}],opacity:[{opacity:[Te,oe,re]}],"mix-blend":[{"mix-blend":[...je(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":je()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Te]}],"mask-image-linear-from-pos":[{"mask-linear-from":he()}],"mask-image-linear-to-pos":[{"mask-linear-to":he()}],"mask-image-linear-from-color":[{"mask-linear-from":z()}],"mask-image-linear-to-color":[{"mask-linear-to":z()}],"mask-image-t-from-pos":[{"mask-t-from":he()}],"mask-image-t-to-pos":[{"mask-t-to":he()}],"mask-image-t-from-color":[{"mask-t-from":z()}],"mask-image-t-to-color":[{"mask-t-to":z()}],"mask-image-r-from-pos":[{"mask-r-from":he()}],"mask-image-r-to-pos":[{"mask-r-to":he()}],"mask-image-r-from-color":[{"mask-r-from":z()}],"mask-image-r-to-color":[{"mask-r-to":z()}],"mask-image-b-from-pos":[{"mask-b-from":he()}],"mask-image-b-to-pos":[{"mask-b-to":he()}],"mask-image-b-from-color":[{"mask-b-from":z()}],"mask-image-b-to-color":[{"mask-b-to":z()}],"mask-image-l-from-pos":[{"mask-l-from":he()}],"mask-image-l-to-pos":[{"mask-l-to":he()}],"mask-image-l-from-color":[{"mask-l-from":z()}],"mask-image-l-to-color":[{"mask-l-to":z()}],"mask-image-x-from-pos":[{"mask-x-from":he()}],"mask-image-x-to-pos":[{"mask-x-to":he()}],"mask-image-x-from-color":[{"mask-x-from":z()}],"mask-image-x-to-color":[{"mask-x-to":z()}],"mask-image-y-from-pos":[{"mask-y-from":he()}],"mask-image-y-to-pos":[{"mask-y-to":he()}],"mask-image-y-from-color":[{"mask-y-from":z()}],"mask-image-y-to-color":[{"mask-y-to":z()}],"mask-image-radial":[{"mask-radial":[oe,re]}],"mask-image-radial-from-pos":[{"mask-radial-from":he()}],"mask-image-radial-to-pos":[{"mask-radial-to":he()}],"mask-image-radial-from-color":[{"mask-radial-from":z()}],"mask-image-radial-to-color":[{"mask-radial-to":z()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":Y()}],"mask-image-conic-pos":[{"mask-conic":[Te]}],"mask-image-conic-from-pos":[{"mask-conic-from":he()}],"mask-image-conic-to-pos":[{"mask-conic-to":he()}],"mask-image-conic-from-color":[{"mask-conic-from":z()}],"mask-image-conic-to-color":[{"mask-conic-to":z()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:le()}],"mask-repeat":[{mask:pe()}],"mask-size":[{mask:E()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",oe,re]}],filter:[{filter:["","none",oe,re]}],blur:[{blur:$e()}],brightness:[{brightness:[Te,oe,re]}],contrast:[{contrast:[Te,oe,re]}],"drop-shadow":[{"drop-shadow":["","none",N,ol,rl]}],"drop-shadow-color":[{"drop-shadow":z()}],grayscale:[{grayscale:["",Te,oe,re]}],"hue-rotate":[{"hue-rotate":[Te,oe,re]}],invert:[{invert:["",Te,oe,re]}],saturate:[{saturate:[Te,oe,re]}],sepia:[{sepia:["",Te,oe,re]}],"backdrop-filter":[{"backdrop-filter":["","none",oe,re]}],"backdrop-blur":[{"backdrop-blur":$e()}],"backdrop-brightness":[{"backdrop-brightness":[Te,oe,re]}],"backdrop-contrast":[{"backdrop-contrast":[Te,oe,re]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Te,oe,re]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Te,oe,re]}],"backdrop-invert":[{"backdrop-invert":["",Te,oe,re]}],"backdrop-opacity":[{"backdrop-opacity":[Te,oe,re]}],"backdrop-saturate":[{"backdrop-saturate":[Te,oe,re]}],"backdrop-sepia":[{"backdrop-sepia":["",Te,oe,re]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":H()}],"border-spacing-x":[{"border-spacing-x":H()}],"border-spacing-y":[{"border-spacing-y":H()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",oe,re]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Te,"initial",oe,re]}],ease:[{ease:["linear","initial",R,oe,re]}],delay:[{delay:[Te,oe,re]}],animate:[{animate:["none",M,oe,re]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[T,oe,re]}],"perspective-origin":[{"perspective-origin":q()}],rotate:[{rotate:Ie()}],"rotate-x":[{"rotate-x":Ie()}],"rotate-y":[{"rotate-y":Ie()}],"rotate-z":[{"rotate-z":Ie()}],scale:[{scale:Qt()}],"scale-x":[{"scale-x":Qt()}],"scale-y":[{"scale-y":Qt()}],"scale-z":[{"scale-z":Qt()}],"scale-3d":["scale-3d"],skew:[{skew:ys()}],"skew-x":[{"skew-x":ys()}],"skew-y":[{"skew-y":ys()}],transform:[{transform:[oe,re,"","none","gpu","cpu"]}],"transform-origin":[{origin:q()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:gs()}],"translate-x":[{"translate-x":gs()}],"translate-y":[{"translate-y":gs()}],"translate-z":[{"translate-z":gs()}],"translate-none":["translate-none"],accent:[{accent:z()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:z()}
vendor: 4,694 bytes, line 197
197],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",oe,re]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",oe,re]}],fill:[{fill:["none",...z()]}],"stroke-w":[{stroke:[Te,mr,ii,Lh]}],stroke:[{stroke:["none",...z()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},j3=t3(v3);function jt(...s){return j3(H0(s))}const w3=tA,iv=w.forwardRef(({className:s,...i},r)=>e.jsx(U0,{ref:r,className:jt("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",s),...i}));
vendor: 11,143 bytes, line 197
197iv.displayName=U0.displayName;const N3=Vu("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),nv=w.forwardRef(({className:s,variant:i,...r},l)=>e.jsx(I0,{ref:l,className:jt(N3({variant:i}),s),...r}));nv.displayName=I0.displayName;const T3=w.forwardRef(({className:s,...i},r)=>e.jsx(V0,{ref:r,className:jt("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",s),...i}));T3.displayName=V0.displayName;const rv=w.forwardRef(({className:s,...i},r)=>e.jsx(_0,{ref:r,className:jt("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",s),"toast-close":"",...i,children:e.jsx(_A,{className:"h-4 w-4"})}));rv.displayName=_0.displayName;const ov=w.forwardRef(({className:s,...i},r)=>e.jsx(B0,{ref:r,className:jt("text-sm font-semibold",s),...i}));ov.displayName=B0.displayName;const lv=w.forwardRef(({className:s,...i},r)=>e.jsx(z0,{ref:r,className:jt("text-sm opacity-90",s),...i}));lv.displayName=z0.displayName;function S3(){const{toasts:s}=pS();return e.jsxs(w3,{children:[s.map(function({id:i,title:r,description:l,action:c,...u}){return e.jsxs(nv,{...u,children:[e.jsxs("div",{className:"grid gap-1",children:[r&&e.jsx(ov,{children:r}),l&&e.jsx(lv,{children:l})]}),c,e.jsx(rv,{})]},i)}),e.jsx(iv,{})]})}function $i(s,i,{checkForDefaultPrevented:r=!0}={}){return function(c){if(s?.(c),r===!1||!c.defaultPrevented)return i?.(c)}}function Dh(s,i,{checkForDefaultPrevented:r=!0}={}){return function(c){if(s?.(c),r===!1||!c.defaultPrevented)return i?.(c)}}function A3(s){const i=C3(s),r=w.forwardRef((l,c)=>{const{children:u,...m}=l,p=w.Children.toArray(u),x=p.find(k3);if(x){const f=x.props.children,y=p.map(b=>b===x?w.Children.count(f)>1?w.Children.only(null):w.isValidElement(f)?f.props.children:null:b);return e.jsx(i,{...m,ref:c,children:w.isValidElement(f)?w.cloneElement(f,void 0,y):null})}return e.jsx(i,{...m,ref:c,children:u})});return r.displayName=`${s}.Slot`,r}function C3(s){const i=w.forwardRef((r,l)=>{const{children:c,...u}=r;if(w.isValidElement(c)){const m=D3(c),p=L3(u,c.props);return c.type!==w.Fragment&&(p.ref=l?Vl(l,m):m),w.cloneElement(c,p)}return w.Children.count(c)>1?w.Children.only(null):null});return i.displayName=`${s}.SlotClone`,i}var E3=Symbol("radix.slottable");function k3(s){return w.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===E3}function L3(s,i){const r={...i};for(const l in i){const c=s[l],u=i[l];/^on[A-Z]/.test(l)?c&&u?r[l]=(...p)=>{const x=u(...p);return c(...p),x}:c&&(r[l]=c):l==="style"?r[l]={...c,...u}:l==="className"&&(r[l]=[c,u].filter(Boolean).join(" "))}return{...s,...r}}function D3(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning;return r?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning,r?s.props.ref:s.props.ref||s.ref)}var R3=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ua=R3.reduce((s,i)=>{const r=A3(`Primitive.${i}`),l=w.forwardRef((c,u)=>{const{asChild:m,...p}=c,x=m?r:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(x,{...p,ref:u})});return l.displayName=`Primitive.${i}`,{...s,[i]:l}},{});function O3(s,i){s&&Rr.flushSync(()=>s.dispatchEvent(i))}var P3="DismissableLayer",nu="dismissableLayer.update",M3="dismissableLayer.pointerDownOutside",U3="dismissableLayer.focusOutside",vg,cv=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dv=w.forwardRef((s,i)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:m,onDismiss:p,...x}=s,f=w.useContext(cv),[y,b]=w.useState(null),j=y?.ownerDocument??globalThis?.document,[,N]=w.useState({}),S=Ot(i,V=>b(V)),T=Array.from(f.layers),[C]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),R=T.indexOf(C),M=y?T.indexOf(y):-1,O=f.layersWithOutsidePointerEventsDisabled.size>0,Y=M>=R,q=z3(V=>{const H=V.target,ie=[...f.branches].some(de=>de.contains(H));!Y||ie||(c?.(V),m?.(V),V.defaultPrevented||p?.())},j),Z=V3(V=>{const H=V.target;[...f.branches].some(de=>de.contains(H))||(u?.(V),m?.(V),V.defaultPrevented||p?.())},j);return x0(V=>{M===f.layers.size-1&&(l?.(V),!V.defaultPrevented&&p&&(V.preventDefault(),p()))},j),w.useEffect(()=>{if(y)return r&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(vg=j.body.style.pointerEvents,j.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(y)),f.layers.add(y),jg(),()=>{r&&f.layersWithOutsidePointerEventsDisabled.size===1&&(j.body.style.pointerEvents=vg)}},[y,j,r,f]),w.useEffect(()=>()=>{y&&(f.layers.delete(y),f.layersWithOutsidePointerEventsDisabled.delete(y),jg())},[y,f]),w.useEffect(()=>{const V=()=>N({});return document.addEventListener(nu,V),()=>document.removeEventListener(nu,V)},[]),e.jsx(Ua.div,{...x,ref:S,style:{pointerEvents:O?Y?"auto":"none":void 0,...s.style},onFocusCapture:Dh(s.onFocusCapture,Z.onFocusCapture),onBlurCapture:Dh(s.onBlurCapture,Z.onBlurCapture),onPointerDownCapture:Dh(s.onPointerDownCapture,q.onPointerDownCapture)})});dv.displayName=P3;var I3="DismissableLayerBranch",B3=w.forwardRef((s,i)=>{const r=w.useContext(cv),l=w.useRef(null),c=Ot(i,l);return w.useEffect(()=>{const u=l.current;if(u)return r.branches.add(u),()=>{r.branches.delete(u)}},[r.branches]),e.jsx(Ua.div,{...s,ref:c})});B3.displayName=I3;function z3(s,i=globalThis?.document){const r=cs(s),l=w.useRef(!1),c=w.useRef(()=>{});return w.useEffect(()=>{const u=p=>{if(p.target&&!l.current){let x=function(){hv(M3,r,f,{discrete:!0})};const f={originalEvent:p};p.pointerType==="touch"?(i.removeEventListener("click",c.current),c.current=x,i.addEventListener("click",c.current,{once:!0})):x()}else i.removeEventListener("click",c.current);l.current=!1},m=window.setTimeout(()=>{i.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(m),i.removeEventListener("pointerdown",u),i.removeEventListener("click",c.current)}},[i,r]),{onPointerDownCapture:()=>l.current=!0}}function V3(s,i=globalThis?.document){const r=cs(s),l=w.useRef(!1);return w.useEffect(()=>{const c=u=>{u.target&&!l.current&&hv(U3,r,{originalEvent:u},{discrete:!1})};return i.addEventListener("focusin",c),()=>i.removeEventListener("focusin",c)},[i,r]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function jg(){const s=new CustomEvent(nu);document.dispatchEvent(s)}function hv(s,i,r,{discrete:l}){const c=r.originalEvent.target,u=new CustomEvent(s,{bubbles:!1,cancelable:!0,detail:r});i&&c.addEventListener(s,i,{once:!0}),l?O3(c,u):c.dispatchEvent(u)}const _3=["top","right","bottom","left"],Ra=Math.min,Yt=Math.max,Sl=Math.round,ll=Math.floor,Ss=s=>({x:s,y:s}),W3={left:"right",right:"left",bottom:"top",top:"bottom"},H3={start:"end",end:"start"};function ru(s,i,r){return Yt(s,Ra(i,r))}function $s(s,i){return typeof s=="function"?s(i):s}function Js(s){return s.split("-")[0]}function pn(s){return s.split("-")[1]}function Hu(s){return s==="x"?"y":"x"}function Yu(s){return s==="y"?"height":"width"}const Y3=new Set(["top","bottom"]);function Ts(s){return Y3.has(Js(s))?"y":"x"}function qu(s){return Hu(Ts(s))}function q3(s,i,r){r===void 0&&(r=!1);const l=pn(s),c=qu(s),u=Yu(c);let m=c==="x"?l===(r?"end":"start")?"right":"left":l==="start"?"bottom":"top";return i.reference[u]>i.floating[u]&&(m=Al(m)),[m,Al(m)]}function G3(s){const i=Al(s);return[ou(s),i,ou(i)]}function ou(s){return s.replace(/start|end/g,i=>H3[i])}const wg=["left","right"],Ng=["right","left"],F3=["top","bottom"],Q3=["bottom","top"];function X3(s,i,r){switch(s){case"top":case"bottom":return r?i?Ng:wg:i?wg:Ng;case"left":case"right":return i?F3:Q3;default:return[]}}function K3(s,i,r,l){const c=pn(s);let u=X3(Js(s),r==="start",l);return c&&(u=u.map(m=>m+"-"+c),i&&(u=u.concat(u.map(ou)))),u}function Al(s){return s.replace(/left|right|bottom|top/g,i=>W3[i])}function Z3(s){return{top:0,right:0,bottom:0,left:0,...s}}function uv(s){return typeof s!="number"?Z3(s):{top:s,right:s,bottom:s,left:s}}function Cl(s){const{x:i,y:r,width:l,height:c}=s;return{width:l,height:c,top:r,left:i,right:i+l,bottom:r+c,x:i,y:r}}function Tg(s,i,r){let{reference:l,floating:c}=s;const u=Ts(i),m=qu(i),p=Yu(m),x=Js(i),f=u==="y",y=l.x+l.width/2-c.width/2,b=l.y+l.height/2-c.height/2,j=l[p]/2-c[p]/2;let N;switch(x){case"top":N={x:y,y:l.y-c.height};break;case"bottom":N={x:y,y:l.y+l.height};break;case"right":N={x:l.x+l.width,y:b};break;case"left":N={x:l.x-c.width,y:b};break;default:N={x:l.x,y:l.y}}switch(pn(i)){case"start":N[m]-=j*(r&&f?-1:1);break;case"end":N[m]+=j*(r&&f?-1:1);break}return N}const $3=async(s,i,r)=>{const{placement:l="bottom",strategy:c="absolute",middleware:u=[],platform:m}=r,p=u.filter(Boolean),x=await(m.isRTL==null?void 0:m.isRTL(i));let f=await m.getElementRects({reference:s,floating:i,strategy:c}),{x:y,y:b}=Tg(f,l,x),j=l,N={},S=0;for(let T=0;T<p.length;T++){const{name:C,fn:R}=p[T],{x:M,y:O,data:Y,reset:q}=await R({x:y,y:b,initialPlacement:l,placement:j,strategy:c,middlewareData:N,rects:f,platform:m,elements:{reference:s,floating:i}});y=M??y,b=O??b,N={...N,[C]:{...N[C],...Y}},q&&S<=50&&(S++,typeof q=="object"&&(q.placement&&(j=q.placement),q.rects&&(f=q.rects===!0?await m.getElementRects({reference:s,floating:i,strategy:c}):q.rects),{x:y,y:b}=Tg(f,j,x)),T=-1)}return{x:y,y:b,placement:j,strategy:c,middlewareData:N}};async function Tr(s,i){var r;i===void 0&&(i={});const{x:l,y:c,platform:u,rects:m,elements:p,strategy:x}=s,{boundary:f="clippingAncestors",rootBoundary:y="viewport",elementContext:b="floating",altBoundary:j=!1,padding:N=0}=$s(i,s),S=uv(N),C=p[j?b==="floating"?"reference":"floating":b],R=Cl(await u.getClippingRect
vendor: 15,770 bytes, line 197
197({element:(r=await(u.isElement==null?void 0:u.isElement(C)))==null||r?C:C.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(p.floating)),boundary:f,rootBoundary:y,strategy:x})),M=b==="floating"?{x:l,y:c,width:m.floating.width,height:m.floating.height}:m.reference,O=await(u.getOffsetParent==null?void 0:u.getOffsetParent(p.floating)),Y=await(u.isElement==null?void 0:u.isElement(O))?await(u.getScale==null?void 0:u.getScale(O))||{x:1,y:1}:{x:1,y:1},q=Cl(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:p,rect:M,offsetParent:O,strategy:x}):M);return{top:(R.top-q.top+S.top)/Y.y,bottom:(q.bottom-R.bottom+S.bottom)/Y.y,left:(R.left-q.left+S.left)/Y.x,right:(q.right-R.right+S.right)/Y.x}}const J3=s=>({name:"arrow",options:s,async fn(i){const{x:r,y:l,placement:c,rects:u,platform:m,elements:p,middlewareData:x}=i,{element:f,padding:y=0}=$s(s,i)||{};if(f==null)return{};const b=uv(y),j={x:r,y:l},N=qu(c),S=Yu(N),T=await m.getDimensions(f),C=N==="y",R=C?"top":"left",M=C?"bottom":"right",O=C?"clientHeight":"clientWidth",Y=u.reference[S]+u.reference[N]-j[N]-u.floating[S],q=j[N]-u.reference[N],Z=await(m.getOffsetParent==null?void 0:m.getOffsetParent(f));let V=Z?Z[O]:0;(!V||!await(m.isElement==null?void 0:m.isElement(Z)))&&(V=p.floating[O]||u.floating[S]);const H=Y/2-q/2,ie=V/2-T[S]/2-1,de=Ra(b[R],ie),ye=Ra(b[M],ie),ve=de,ke=V-T[S]-ye,ae=V/2-T[S]/2+H,ge=ru(ve,ae,ke),P=!x.arrow&&pn(c)!=null&&ae!==ge&&u.reference[S]/2-(ae<ve?de:ye)-T[S]/2<0,G=P?ae<ve?ae-ve:ae-ke:0;return{[N]:j[N]+G,data:{[N]:ge,centerOffset:ae-ge-G,...P&&{alignmentOffset:G}},reset:P}}}),e2=function(s){return s===void 0&&(s={}),{name:"flip",options:s,async fn(i){var r,l;const{placement:c,middlewareData:u,rects:m,initialPlacement:p,platform:x,elements:f}=i,{mainAxis:y=!0,crossAxis:b=!0,fallbackPlacements:j,fallbackStrategy:N="bestFit",fallbackAxisSideDirection:S="none",flipAlignment:T=!0,...C}=$s(s,i);if((r=u.arrow)!=null&&r.alignmentOffset)return{};const R=Js(c),M=Ts(p),O=Js(p)===p,Y=await(x.isRTL==null?void 0:x.isRTL(f.floating)),q=j||(O||!T?[Al(p)]:G3(p)),Z=S!=="none";!j&&Z&&q.push(...K3(p,T,S,Y));const V=[p,...q],H=await Tr(i,C),ie=[];let de=((l=u.flip)==null?void 0:l.overflows)||[];if(y&&ie.push(H[R]),b){const ae=q3(c,m,Y);ie.push(H[ae[0]],H[ae[1]])}if(de=[...de,{placement:c,overflows:ie}],!ie.every(ae=>ae<=0)){var ye,ve;const ae=(((ye=u.flip)==null?void 0:ye.index)||0)+1,ge=V[ae];if(ge&&(!(b==="alignment"?M!==Ts(ge):!1)||de.every(z=>Ts(z.placement)===M?z.overflows[0]>0:!0)))return{data:{index:ae,overflows:de},reset:{placement:ge}};let P=(ve=de.filter(G=>G.overflows[0]<=0).sort((G,z)=>G.overflows[1]-z.overflows[1])[0])==null?void 0:ve.placement;if(!P)switch(N){case"bestFit":{var ke;const G=(ke=de.filter(z=>{if(Z){const le=Ts(z.placement);return le===M||le==="y"}return!0}).map(z=>[z.placement,z.overflows.filter(le=>le>0).reduce((le,pe)=>le+pe,0)]).sort((z,le)=>z[1]-le[1])[0])==null?void 0:ke[0];G&&(P=G);break}case"initialPlacement":P=p;break}if(c!==P)return{reset:{placement:P}}}return{}}}};function Sg(s,i){return{top:s.top-i.height,right:s.right-i.width,bottom:s.bottom-i.height,left:s.left-i.width}}function Ag(s){return _3.some(i=>s[i]>=0)}const t2=function(s){return s===void 0&&(s={}),{name:"hide",options:s,async fn(i){const{rects:r}=i,{strategy:l="referenceHidden",...c}=$s(s,i);switch(l){case"referenceHidden":{const u=await Tr(i,{...c,elementContext:"reference"}),m=Sg(u,r.reference);return{data:{referenceHiddenOffsets:m,referenceHidden:Ag(m)}}}case"escaped":{const u=await Tr(i,{...c,altBoundary:!0}),m=Sg(u,r.floating);return{data:{escapedOffsets:m,escaped:Ag(m)}}}default:return{}}}}},mv=new Set(["left","top"]);async function s2(s,i){const{placement:r,platform:l,elements:c}=s,u=await(l.isRTL==null?void 0:l.isRTL(c.floating)),m=Js(r),p=pn(r),x=Ts(r)==="y",f=mv.has(m)?-1:1,y=u&&x?-1:1,b=$s(i,s);let{mainAxis:j,crossAxis:N,alignmentAxis:S}=typeof b=="number"?{mainAxis:b,crossAxis:0,alignmentAxis:null}:{mainAxis:b.mainAxis||0,crossAxis:b.crossAxis||0,alignmentAxis:b.alignmentAxis};return p&&typeof S=="number"&&(N=p==="end"?S*-1:S),x?{x:N*y,y:j*f}:{x:j*f,y:N*y}}const a2=function(s){return s===void 0&&(s=0),{name:"offset",options:s,async fn(i){var r,l;const{x:c,y:u,placement:m,middlewareData:p}=i,x=await s2(i,s);return m===((r=p.offset)==null?void 0:r.placement)&&(l=p.arrow)!=null&&l.alignmentOffset?{}:{x:c+x.x,y:u+x.y,data:{...x,placement:m}}}}},i2=function(s){return s===void 0&&(s={}),{name:"shift",options:s,async fn(i){const{x:r,y:l,placement:c}=i,{mainAxis:u=!0,crossAxis:m=!1,limiter:p={fn:C=>{let{x:R,y:M}=C;return{x:R,y:M}}},...x}=$s(s,i),f={x:r,y:l},y=await Tr(i,x),b=Ts(Js(c)),j=Hu(b);let N=f[j],S=f[b];if(u){const C=j==="y"?"top":"left",R=j==="y"?"bottom":"right",M=N+y[C],O=N-y[R];N=ru(M,N,O)}if(m){const C=b==="y"?"top":"left",R=b==="y"?"bottom":"right",M=S+y[C],O=S-y[R];S=ru(M,S,O)}const T=p.fn({...i,[j]:N,[b]:S});return{...T,data:{x:T.x-r,y:T.y-l,enabled:{[j]:u,[b]:m}}}}}},n2=function(s){return s===void 0&&(s={}),{options:s,fn(i){const{x:r,y:l,placement:c,rects:u,middlewareData:m}=i,{offset:p=0,mainAxis:x=!0,crossAxis:f=!0}=$s(s,i),y={x:r,y:l},b=Ts(c),j=Hu(b);let N=y[j],S=y[b];const T=$s(p,i),C=typeof T=="number"?{mainAxis:T,crossAxis:0}:{mainAxis:0,crossAxis:0,...T};if(x){const O=j==="y"?"height":"width",Y=u.reference[j]-u.floating[O]+C.mainAxis,q=u.reference[j]+u.reference[O]-C.mainAxis;N<Y?N=Y:N>q&&(N=q)}if(f){var R,M;const O=j==="y"?"width":"height",Y=mv.has(Js(c)),q=u.reference[b]-u.floating[O]+(Y&&((R=m.offset)==null?void 0:R[b])||0)+(Y?0:C.crossAxis),Z=u.reference[b]+u.reference[O]+(Y?0:((M=m.offset)==null?void 0:M[b])||0)-(Y?C.crossAxis:0);S<q?S=q:S>Z&&(S=Z)}return{[j]:N,[b]:S}}}},r2=function(s){return s===void 0&&(s={}),{name:"size",options:s,async fn(i){var r,l;const{placement:c,rects:u,platform:m,elements:p}=i,{apply:x=()=>{},...f}=$s(s,i),y=await Tr(i,f),b=Js(c),j=pn(c),N=Ts(c)==="y",{width:S,height:T}=u.floating;let C,R;b==="top"||b==="bottom"?(C=b,R=j===(await(m.isRTL==null?void 0:m.isRTL(p.floating))?"start":"end")?"left":"right"):(R=b,C=j==="end"?"top":"bottom");const M=T-y.top-y.bottom,O=S-y.left-y.right,Y=Ra(T-y[C],M),q=Ra(S-y[R],O),Z=!i.middlewareData.shift;let V=Y,H=q;if((r=i.middlewareData.shift)!=null&&r.enabled.x&&(H=O),(l=i.middlewareData.shift)!=null&&l.enabled.y&&(V=M),Z&&!j){const de=Yt(y.left,0),ye=Yt(y.right,0),ve=Yt(y.top,0),ke=Yt(y.bottom,0);N?H=S-2*(de!==0||ye!==0?de+ye:Yt(y.left,y.right)):V=T-2*(ve!==0||ke!==0?ve+ke:Yt(y.top,y.bottom))}await x({...i,availableWidth:H,availableHeight:V});const ie=await m.getDimensions(p.floating);return S!==ie.width||T!==ie.height?{reset:{rects:!0}}:{}}}};function Yl(){return typeof window<"u"}function fn(s){return pv(s)?(s.nodeName||"").toLowerCase():"#document"}function Gt(s){var i;return(s==null||(i=s.ownerDocument)==null?void 0:i.defaultView)||window}function Ds(s){var i;return(i=(pv(s)?s.ownerDocument:s.document)||window.document)==null?void 0:i.documentElement}function pv(s){return Yl()?s instanceof Node||s instanceof Gt(s).Node:!1}function fs(s){return Yl()?s instanceof Element||s instanceof Gt(s).Element:!1}function ks(s){return Yl()?s instanceof HTMLElement||s instanceof Gt(s).HTMLElement:!1}function Cg(s){return!Yl()||typeof ShadowRoot>"u"?!1:s instanceof ShadowRoot||s instanceof Gt(s).ShadowRoot}const o2=new Set(["inline","contents"]);function Or(s){const{overflow:i,overflowX:r,overflowY:l,display:c}=xs(s);return/auto|scroll|overlay|hidden|clip/.test(i+l+r)&&!o2.has(c)}const l2=new Set(["table","td","th"]);function c2(s){return l2.has(fn(s))}const d2=[":popover-open",":modal"];function ql(s){return d2.some(i=>{try{return s.matches(i)}catch{return!1}})}const h2=["transform","translate","scale","rotate","perspective"],u2=["transform","translate","scale","rotate","perspective","filter"],m2=["paint","layout","strict","content"];function Gu(s){const i=Fu(),r=fs(s)?xs(s):s;return h2.some(l=>r[l]?r[l]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!i&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!i&&(r.filter?r.filter!=="none":!1)||u2.some(l=>(r.willChange||"").includes(l))||m2.some(l=>(r.contain||"").includes(l))}function p2(s){let i=Oa(s);for(;ks(i)&&!on(i);){if(Gu(i))return i;if(ql(i))return null;i=Oa(i)}return null}function Fu(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const f2=new Set(["html","body","#document"]);function on(s){return f2.has(fn(s))}function xs(s){return Gt(s).getComputedStyle(s)}function Gl(s){return fs(s)?{scrollLeft:s.scrollLeft,scrollTop:s.scrollTop}:{scrollLeft:s.scrollX,scrollTop:s.scrollY}}function Oa(s){if(fn(s)==="html")return s;const i=s.assignedSlot||s.parentNode||Cg(s)&&s.host||Ds(s);return Cg(i)?i.host:i}function fv(s){const i=Oa(s);return on(i)?s.ownerDocument?s.ownerDocument.body:s.body:ks(i)&&Or(i)?i:fv(i)}function Sr(s,i,r){var l;i===void 0&&(i=[]),r===void 0&&(r=!0);const c=fv(s),u=c===((l=s.ownerDocument)==null?void 0:l.body),m=Gt(c);if(u){const p=lu(m);return i.concat(m,m.visualViewport||[],Or(c)?c:[],p&&r?Sr(p):[])}return i.concat(c,Sr(c,[],r))}function lu(s){return s.parent&&Object.getPrototypeOf(s.parent)?s.frameElement:null}function xv(s){const i=xs(s);let r=parseFloat(i.width)||0,l=parseFloat(i.height)||0;const c=ks(s),u=c?s.offsetWidth:r,m=c?s.offsetHeight:l,p=Sl(r)!==u||Sl(l)!==m;return p&&(r=u,l=m),{width:r,height:l,$:p}}function Qu(s){return fs(s)?s:s.contextElement}function nn(s){const i=Qu(s);if(!ks(i))return Ss(1);const r=i.getBoundingClientRect(),{width:l,height:c,$:u}=xv(i);let m=(u?Sl(r.width):r.width)/l,p=(u?Sl(r.height):r.height)/c;return(!m||!Number.isFinite(m))&&(m=1),(!p||!Number.isFinite(p))&&(p=1),{x:m,y:p}}const x2=Ss(0);function yv(s){const i=Gt(s);return!Fu()||!i.visualViewport?x2:{x:i.visualViewport.offsetLeft,y:i.visualViewport.offsetTop}}function y2(s,i,r){return i===void 0&&(i=!1),!r||i&&r!==Gt(s)?!1:i}function ui(s,i,r,l){i===void 0&&(i=!1),r===void 0&&(r=!1);const c=s.getBoundingClientRect(),u=Qu(s);let m=Ss(1);i&&(l?fs(l)&&(m=nn(l)):m=nn(s));const p=y2(u,r,l)?yv(u):Ss(0);let x=(c.left+p.x)/m.x,f=(c.top+p.y)/m.y,y=c.width/m.x,b=c.height/m.y;if(u){const j=Gt(u),N=l&&fs(l)?Gt(l):l;let S=j,T=lu(S);for(;T&&l&&N!==S;){const C=nn(T),R=T.getBoundingClientRect(),M=xs(T),O=R.left+(T.clientLeft+parseFloat(M.paddingLeft))*C.x,Y=R.top+(T.clientTop+parseFloat(M.paddingTop))*C.y;x*=C.x,f*=C.y,y*=C.x,b*=C.y,x+=O,f+=Y,S=Gt(T),T=lu(S)}}return Cl({width:y,height:b,x,y:f})}function Fl(s,i){const r=Gl(s).scrollLeft;return i?i.left+r:ui(Ds(s)).left+r}function gv(s,i){const r=s.getBoundingClientRect(),l=r.left+i.scrollLeft-Fl(s,r),c=r.top+i.scrollTop;return{x:l,y:c}}function g2(s){let{elements:i,rect:r,offsetParent:l,strategy:c}=s;const u=c==="fixed",m=Ds(l),p=i?ql(i.floating):!1;if(l===m||p&&u)return r;let x={scrollLeft:0,scrollTop:0},f=Ss(1);const y=Ss(0),b=ks(l);if((b||!b&&!u)&&((fn(l)!=="body"||Or(m))&&(x=Gl(l)),ks(l))){const N=ui(l);f=nn(l),y.x=N.x+l.clientLeft,y.y=N.y+l.clientTop}const j=m&&!b&&!u?gv(m,x):Ss(0);return{width:r.width*f.x,height:r.height*f.y,x:r.x*f.x-x.scrollLeft*f.x+y.x+j.x,y:r.y*f.y-x.scrollTop*f.y+y.y+j.y}}function b2(s){return Array.from(s.getClientRects())}function v2(s){const i=Ds(s),r=Gl(s),l=s.ownerDocument.body,c=Yt(i.scrollWidth,i.clientWidth,l.scrollWidth,l.clientWidth),u=Yt(i.scrollHeight,i.clientHeight,l.scrollHeight,l.clientHeight);let m=-r.scrollLeft+Fl(s);const p=-r.scrollTop;return xs(l).direction==="rtl"&&(m+=Yt(i.clientWidth,l.clientWidth)-c),{width:c,height:u,x:m,y:p}}const Eg=25;function j2(s,i){const r=Gt(s),l=Ds(s),c=r.visualViewport;let u=l.clientWidth,m=l.clientHeight,p=0,x=0;if(c){u=c.width,m=c.height;const y=Fu();(!y||y&&i==="fixed")&&(p=c.offsetLeft,x=c.offsetTop)}const f=Fl(l);if(f<=0){const y=l.ownerDocument,b=y.body,j=getComputedStyle(b),N=y.compatMode==="CSS1Compat"&&parseFloat(j.marginLeft)+parseFloat(j.marginRight)||0,S=Math.abs(l.clientWidth-b.clientWidth-N);S<=Eg&&(u-=S)}else f<=Eg&&(u+=f);return{width:u,height:m,x:p,y:x}}const w2=new Set(["absolute","fixed"]);function N2(s,i){const r=ui(s,!0,i==="fixed"),l=r.top+s.clientTop,c=r.left+s.clientLeft,u=ks(s)?nn(s):Ss(1),m=s.clientWidth*u.x,p=s.clientHeight*u.y,x=c*u.x,f=l*u.y;return{width:m,height:p,x,y:f}}function kg(s,i,r){let l;if(i==="viewport")l=j2(s,r);else if(i==="document")l=v2(Ds(s));else if(fs(i))l=N2(i,r);else{const c=yv(s);l={x:i.x-c.x,y:i.y-c.y,width:i.width,height:i.height}}return Cl(l)}function bv(s,i){const r=Oa(s);return r===i||!fs(r)||on(r)?!1:xs(r).position==="fixed"||bv(r,i)}function T2(s,i){const r=i.get(s);if(r)return r;let l=Sr(s,[],!1).filter(p=>fs(p)&&fn(p)!=="body"),c=null;const u=xs(s).position==="fixed";let m=u?Oa(s):s;for(;fs(m)&&!on(m);){const p=xs(m),x=Gu(m);!x&&p.position==="fixed"&&(c=null),(u?!x&&!c:!x&&p.position==="static"&&!!c&&w2.has(c.position)||Or(m)&&!x&&bv(s,m))?l=l.filter(y=>y!==m):c=p,m=Oa(m)}return i.set(s,l),l}function S2(s){let{element:i,boundary:r,rootBoundary:l,strategy:c}=s;const m=[...r==="clippingAncestors"?ql(i)?[]:T2(i,this._c):[].concat(r),l],p=m[0],x=m.reduce((f,y)=>{const b=kg(i,y,c);return f.top=Yt(b.top,f.top),f.right=Ra(b.right,f.right),f.bottom=Ra(b.bottom,f.bottom),f.left=Yt(b.left,f.left),f},kg(i,p,c));return{width:x.right-x.left,height:x.bottom-x.top,x:x.left,y:x.top}}function A2(s){const{width:i,height:r}=xv(s);return{width:i,height:r}}function C2(s,i,r){const l=ks(i),c=Ds(i),u=r==="fixed",m=ui(s,!0,u,i);let p={scrollLeft:0,scrollTop:0};const x=Ss(0);function f(){x.x=Fl(c)}if(l||!l&&!u)if((fn(i)!=="body"||Or(c))&&(p=Gl(i)),l){const N=ui(i,!0,u,i);x.x=N.x+i.clientLeft,x.y=N.y+i.clientTop}else c&&f();u&&!l&&c&&f();const y=c&&!l&&!u?gv(c,p):Ss(0),b=m.left+p.scrollLeft-x.x-y.x,j=m.top+p.scrollTop-x.y-y.y;return{x:b,y:j,width:m.width,height:m.height}}function Rh(s){return xs(s).position==="static"}function Lg(s,i){if(!ks(s)||xs(s).position==="fixed")return null;if(i)return i(s);let r=s.offsetParent;return Ds(s)===r&&(r=r.ownerDocument.body),r}function vv(s,i){const r=Gt(s);if(ql(s))return r;if(!ks(s)){let c=Oa(s);for(;c&&!on(c);){if(fs(c)&&!Rh(c))return c;c=Oa(c)}return r}let l=Lg(s,i);for(;l&&c2(l)&&Rh(l);)l=Lg(l,i);return l&&on(l)&&Rh(l)&&!Gu(l)?r:l||p2(s)||r}const E2=async function(s){const i=this.getOffsetParent||vv,r=this.getDimensions,l=await r(s.floating);return{reference:C2(s.reference,await i(s.floating),s.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function k2(s){return xs(s).direction==="rtl"}const L2={convertOffsetParentRelativeRectToViewportRelativeRect:g2,getDocumentElement:Ds,getClippingRect:S2,getOffsetParent:vv,getElementRects:E2,getClientRects:b2,getDimensions:A2,getScale:nn,isElement:fs,isRTL:k2};function jv(s,i){return s.x===i.x&&s.y===i.y&&s.width===i.width&&s.height===i.height}function D2(s,i){let r=null,l;const c=Ds(s);function u(){var p;clearTimeout(l),(p=r)==null||p.disconnect(),r=null}function m(p,x){p===void 0&&(p=!1),x===void 0&&(x=1),u();const f=s.getBoundingClientRect(),{left:y,top:b,width:j,height:N}=f;if(p||i(),!j||!N)return;const S=ll(b),T=ll(c.clientWidth-(y+j)),C=ll(c.clientHeight-(b+N)),R=ll(y),O={rootMargin:-S+"px "+-T+"px "+-C+"px "+-R+"px",threshold:Yt(0,Ra(1,x))||1};let Y=!0;function q(Z){const V=Z[0].intersectionRatio;if(V!==x){if(!Y)return m();V?m(!1,V):l=setTimeout(()=>{m(!1,1e-7)},1e3)}V===1&&!jv(f,s.getBoundingClientRect())&&m(),Y=!1}try{r=new IntersectionObserver(q,{...O,root:c.ownerDocument})}catch{r=new IntersectionObserver(q,O)}r.observe(s)}return m(!0),u}function R2(s,i,r,l){l===void 0&&(l={});const{ancestorScroll:c=!0,ancestorResize:u=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:p=typeof IntersectionObserver=="function",animationFrame:x=!1}=l,f=Qu(s),y=c||u?[...f?Sr(f):[],...Sr(i)]:[];
vendor: 4,156 bytes, line 197
197y.forEach(R=>{c&&R.addEventListener("scroll",r,{passive:!0}),u&&R.addEventListener("resize",r)});const b=f&&p?D2(f,r):null;let j=-1,N=null;m&&(N=new ResizeObserver(R=>{let[M]=R;M&&M.target===f&&N&&(N.unobserve(i),cancelAnimationFrame(j),j=requestAnimationFrame(()=>{var O;(O=N)==null||O.observe(i)})),r()}),f&&!x&&N.observe(f),N.observe(i));let S,T=x?ui(s):null;x&&C();function C(){const R=ui(s);T&&!jv(T,R)&&r(),T=R,S=requestAnimationFrame(C)}return r(),()=>{var R;y.forEach(M=>{c&&M.removeEventListener("scroll",r),u&&M.removeEventListener("resize",r)}),b?.(),(R=N)==null||R.disconnect(),N=null,x&&cancelAnimationFrame(S)}}const O2=a2,P2=i2,M2=e2,U2=r2,I2=t2,Dg=J3,B2=n2,z2=(s,i,r)=>{const l=new Map,c={platform:L2,...r},u={...c.platform,_c:l};return $3(s,i,{...c,platform:u})};var V2=typeof document<"u",_2=function(){},yl=V2?w.useLayoutEffect:_2;function El(s,i){if(s===i)return!0;if(typeof s!=typeof i)return!1;if(typeof s=="function"&&s.toString()===i.toString())return!0;let r,l,c;if(s&&i&&typeof s=="object"){if(Array.isArray(s)){if(r=s.length,r!==i.length)return!1;for(l=r;l--!==0;)if(!El(s[l],i[l]))return!1;return!0}if(c=Object.keys(s),r=c.length,r!==Object.keys(i).length)return!1;for(l=r;l--!==0;)if(!{}.hasOwnProperty.call(i,c[l]))return!1;for(l=r;l--!==0;){const u=c[l];if(!(u==="_owner"&&s.$$typeof)&&!El(s[u],i[u]))return!1}return!0}return s!==s&&i!==i}function wv(s){return typeof window>"u"?1:(s.ownerDocument.defaultView||window).devicePixelRatio||1}function Rg(s,i){const r=wv(s);return Math.round(i*r)/r}function Oh(s){const i=w.useRef(s);return yl(()=>{i.current=s}),i}function W2(s){s===void 0&&(s={});const{placement:i="bottom",strategy:r="absolute",middleware:l=[],platform:c,elements:{reference:u,floating:m}={},transform:p=!0,whileElementsMounted:x,open:f}=s,[y,b]=w.useState({x:0,y:0,strategy:r,placement:i,middlewareData:{},isPositioned:!1}),[j,N]=w.useState(l);El(j,l)||N(l);const[S,T]=w.useState(null),[C,R]=w.useState(null),M=w.useCallback(z=>{z!==Z.current&&(Z.current=z,T(z))},[]),O=w.useCallback(z=>{z!==V.current&&(V.current=z,R(z))},[]),Y=u||S,q=m||C,Z=w.useRef(null),V=w.useRef(null),H=w.useRef(y),ie=x!=null,de=Oh(x),ye=Oh(c),ve=Oh(f),ke=w.useCallback(()=>{if(!Z.current||!V.current)return;const z={placement:i,strategy:r,middleware:j};ye.current&&(z.platform=ye.current),z2(Z.current,V.current,z).then(le=>{const pe={...le,isPositioned:ve.current!==!1};ae.current&&!El(H.current,pe)&&(H.current=pe,Rr.flushSync(()=>{b(pe)}))})},[j,i,r,ye,ve]);yl(()=>{f===!1&&H.current.isPositioned&&(H.current.isPositioned=!1,b(z=>({...z,isPositioned:!1})))},[f]);const ae=w.useRef(!1);yl(()=>(ae.current=!0,()=>{ae.current=!1}),[]),yl(()=>{if(Y&&(Z.current=Y),q&&(V.current=q),Y&&q){if(de.current)return de.current(Y,q,ke);ke()}},[Y,q,ke,de,ie]);const ge=w.useMemo(()=>({reference:Z,floating:V,setReference:M,setFloating:O}),[M,O]),P=w.useMemo(()=>({reference:Y,floating:q}),[Y,q]),G=w.useMemo(()=>{const z={position:r,left:0,top:0};if(!P.floating)return z;const le=Rg(P.floating,y.x),pe=Rg(P.floating,y.y);return p?{...z,transform:"translate("+le+"px, "+pe+"px)",...wv(P.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:le,top:pe}},[r,p,P.floating,y.x,y.y]);return w.useMemo(()=>({...y,update:ke,refs:ge,elements:P,floatingStyles:G}),[y,ke,ge,P,G])}const H2=s=>{function i(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:s,fn(r){const{element:l,padding:c}=typeof s=="function"?s(r):s;return l&&i(l)?l.current!=null?Dg({element:l.current,padding:c}).fn(r):{}:l?Dg({element:l,padding:c}).fn(r):{}}}},Y2=(s,i)=>({...O2(s),options:[s,i]}),q2=(s,i)=>({...P2(s),options:[s,i]}),G2=(s,i)=>({...B2(s),options:[s,i]}),F2=(s,i)=>({...M2(s),options:[s,i]}),Q2=(s,i)=>({...U2(s),options:[s,i]}),X2=(s,i)=>({...I2(s),options:[s,i]}),K2=(s,i)=>({...H2(s),options:[s,i]});var Z2="Arrow",Nv=w.forwardRef((s,i)=>{const{children:r,width:l=10,height:c=5,...u}=s;return e.jsx(Ua.svg,{...u,ref:i,width:l,height:c,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:s.asChild?r:e.jsx("polygon",{points:"0,0 30,0 15,10"})})});Nv.displayName=Z2;var $2=Nv;function J2(s){const[i,r]=w.useState(void 0);return Es(()=>
vendor: 9,228 bytes, line 197
197{if(s){r({width:s.offsetWidth,height:s.offsetHeight});const l=new ResizeObserver(c=>{if(!Array.isArray(c)||!c.length)return;const u=c[0];let m,p;if("borderBoxSize"in u){const x=u.borderBoxSize,f=Array.isArray(x)?x[0]:x;m=f.inlineSize,p=f.blockSize}else m=s.offsetWidth,p=s.offsetHeight;r({width:m,height:p})});return l.observe(s,{box:"border-box"}),()=>l.unobserve(s)}else r(void 0)},[s]),i}var Tv="Popper",[Sv,Av]=_l(Tv),[ER,Cv]=Sv(Tv),Ev="PopperAnchor",kv=w.forwardRef((s,i)=>{const{__scopePopper:r,virtualRef:l,...c}=s,u=Cv(Ev,r),m=w.useRef(null),p=Ot(i,m),x=w.useRef(null);return w.useEffect(()=>{const f=x.current;x.current=l?.current||m.current,f!==x.current&&u.onAnchorChange(x.current)}),l?null:e.jsx(Ua.div,{...c,ref:p})});kv.displayName=Ev;var Xu="PopperContent",[eC,tC]=Sv(Xu),Lv=w.forwardRef((s,i)=>{const{__scopePopper:r,side:l="bottom",sideOffset:c=0,align:u="center",alignOffset:m=0,arrowPadding:p=0,avoidCollisions:x=!0,collisionBoundary:f=[],collisionPadding:y=0,sticky:b="partial",hideWhenDetached:j=!1,updatePositionStrategy:N="optimized",onPlaced:S,...T}=s,C=Cv(Xu,r),[R,M]=w.useState(null),O=Ot(i,he=>M(he)),[Y,q]=w.useState(null),Z=J2(Y),V=Z?.width??0,H=Z?.height??0,ie=l+(u!=="center"?"-"+u:""),de=typeof y=="number"?y:{top:0,right:0,bottom:0,left:0,...y},ye=Array.isArray(f)?f:[f],ve=ye.length>0,ke={padding:de,boundary:ye.filter(aC),altBoundary:ve},{refs:ae,floatingStyles:ge,placement:P,isPositioned:G,middlewareData:z}=W2({strategy:"fixed",placement:ie,whileElementsMounted:(...he)=>R2(...he,{animationFrame:N==="always"}),elements:{reference:C.anchor},middleware:[Y2({mainAxis:c+H,alignmentAxis:m}),x&&q2({mainAxis:!0,crossAxis:!1,limiter:b==="partial"?G2():void 0,...ke}),x&&F2({...ke}),Q2({...ke,apply:({elements:he,rects:$e,availableWidth:Ie,availableHeight:Qt})=>{const{width:ys,height:gs}=$e.reference,Ba=he.floating.style;Ba.setProperty("--radix-popper-available-width",`${Ie}px`),Ba.setProperty("--radix-popper-available-height",`${Qt}px`),Ba.setProperty("--radix-popper-anchor-width",`${ys}px`),Ba.setProperty("--radix-popper-anchor-height",`${gs}px`)}}),Y&&K2({element:Y,padding:p}),iC({arrowWidth:V,arrowHeight:H}),j&&X2({strategy:"referenceHidden",...ke})]}),[le,pe]=Ov(P),E=cs(S);Es(()=>{G&&E?.()},[G,E]);const Q=z.arrow?.x,ee=z.arrow?.y,se=z.arrow?.centerOffset!==0,[fe,je]=w.useState();return Es(()=>{R&&je(window.getComputedStyle(R).zIndex)},[R]),e.jsx("div",{ref:ae.setFloating,"data-radix-popper-content-wrapper":"",style:{...ge,transform:G?ge.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:fe,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(" "),...z.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:s.dir,children:e.jsx(eC,{scope:r,placedSide:le,onArrowChange:q,arrowX:Q,arrowY:ee,shouldHideArrow:se,children:e.jsx(Ua.div,{"data-side":le,"data-align":pe,...T,ref:O,style:{...T.style,animation:G?void 0:"none"}})})})});Lv.displayName=Xu;var Dv="PopperArrow",sC={top:"bottom",right:"left",bottom:"top",left:"right"},Rv=w.forwardRef(function(i,r){const{__scopePopper:l,...c}=i,u=tC(Dv,l),m=sC[u.placedSide];return e.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[m]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:e.jsx($2,{...c,ref:r,style:{...c.style,display:"block"}})})});Rv.displayName=Dv;function aC(s){return s!==null}var iC=s=>({name:"transformOrigin",options:s,fn(i){const{placement:r,rects:l,middlewareData:c}=i,m=c.arrow?.centerOffset!==0,p=m?0:s.arrowWidth,x=m?0:s.arrowHeight,[f,y]=Ov(r),b={start:"0%",center:"50%",end:"100%"}[y],j=(c.arrow?.x??0)+p/2,N=(c.arrow?.y??0)+x/2;let S="",T="";return f==="bottom"?(S=m?b:`${j}px`,T=`${-x}px`):f==="top"?(S=m?b:`${j}px`,T=`${l.floating.height+x}px`):f==="right"?(S=`${-x}px`,T=m?b:`${N}px`):f==="left"&&(S=`${l.floating.width+x}px`,T=m?b:`${N}px`),{data:{x:S,y:T}}}});function Ov(s){const[i,r="center"]=s.split("-");return[i,r]}var nC=kv,rC=Lv,oC=Rv,lC="Portal",Pv=w.forwardRef((s,i)=>{const{container:r,...l}=s,[c,u]=w.useState(!1);Es(()=>u(!0),[]);const m=r||c&&globalThis?.document?.body;return m?p0.createPortal(e.jsx(Ua.div,{...l,ref:i}),m):null});Pv.displayName=lC;function cC(s,i){return w.useReducer((r,l)=>i[r][l]??r,s)}var Ku=s=>{const{present:i,children:r}=s,l=dC(i),c=typeof r=="function"?r({present:l.isPresent}):w.Children.only(r),u=Ot(l.ref,hC(c));return typeof r=="function"||l.isPresent?w.cloneElement(c,{ref:u}):null};Ku.displayName="Presence";function dC(s){const[i,r]=w.useState(),l=w.useRef(null),c=w.useRef(s),u=w.useRef("none"),m=s?"mounted":"unmounted",[p,x]=cC(m,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const f=cl(l.current);u.current=p==="mounted"?f:"none"},[p]),Es(()=>{const f=l.current,y=c.current;if(y!==s){const j=u.current,N=cl(f);s?x("MOUNT"):N==="none"||f?.display==="none"?x("UNMOUNT"):x(y&&j!==N?"ANIMATION_OUT":"UNMOUNT"),c.current=s}},[s,x]),Es(()=>{if(i){let f;const y=i.ownerDocument.defaultView??window,b=N=>{const T=cl(l.current).includes(CSS.escape(N.animationName));if(N.target===i&&T&&(x("ANIMATION_END"),!c.current)){const C=i.style.animationFillMode;i.style.animationFillMode="forwards",f=y.setTimeout(()=>{i.style.animationFillMode==="forwards"&&(i.style.animationFillMode=C)})}},j=N=>{N.target===i&&(u.current=cl(l.current))};return i.addEventListener("animationstart",j),i.addEventListener("animationcancel",b),i.addEventListener("animationend",b),()=>{y.clearTimeout(f),i.removeEventListener("animationstart",j),i.removeEventListener("animationcancel",b),i.removeEventListener("animationend",b)}}else x("ANIMATION_END")},[i,x]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:w.useCallback(f=>{l.current=f?getComputedStyle(f):null,r(f)},[])}}function cl(s){return s?.animationName||"none"}function hC(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning;return r?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning,r?s.props.ref:s.props.ref||s.ref)}var uC=Symbol("radix.slottable");function mC(s){const i=({children:r})=>e.jsx(e.Fragment,{children:r});return i.displayName=`${s}.Slottable`,i.__radixId=uC,i}var pC=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),fC="VisuallyHidden",Mv=w.forwardRef((s,i)=>e.jsx(Ua.span,{...s,ref:i,style:{...pC,...s.style}}));Mv.displayName=fC;var xC=Mv,[Ql]=_l("Tooltip",[Av]),Zu=Av(),Uv="TooltipProvider",yC=700,Og="tooltip.open",[gC,Iv]=Ql(Uv),Bv=s=>{const{__scopeTooltip:i,delayDuration:r=yC,skipDelayDuration:l=300,disableHoverableContent:c=!1,children:u}=s,m=w.useRef(!0),p=w.useRef(!1),x=w.useRef(0);return w.useEffect(()=>{const f=x.current;return()=>window.clearTimeout(f)},[]),e.jsx(gC,{scope:i,isOpenDelayedRef:m,delayDuration:r,onOpen:w.useCallback(()=>{window.clearTimeout(x.current),m.current=!1},[]),onClose:w.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>m.current=!0,l)},[l]),isPointerInTransitRef:p,onPointerInTransitChange:w.useCallback(f=>{p.current=f},[]),disableHoverableContent:c,children:u})};Bv.displayName=Uv;var zv="Tooltip",[kR,Pr]=Ql(zv),cu="TooltipTrigger",bC=w.forwardRef((s,i)=>{const{__scopeTooltip:r,...l}=s,c=Pr(cu,r),u=Iv(cu,r),m=Zu(r),p=w.useRef(null),x=Ot(i,p,c.onTriggerChange),f=w.useRef(!1),y=w.useRef(!1),b=w.useCallback(()=>f.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",b),[b]),e.jsx(nC,{asChild:!0,...m,children:e.jsx(Ua.button,{"aria-describedby":c.open?c.contentId:void 0,"data-state":c.stateAttribute,...l,ref:x,onPointerMove:$i(s.onPointerMove,j=>{j.pointerType!=="touch"&&!y.current&&!u.isPointerInTransitRef.current&&(c.onTriggerEnter(),y.current=!0)}),onPointerLeave:$i(s.onPointerLeave,()=>{c.onTriggerLeave(),y.current=!1}),onPointerDown:$i(s.onPointerDown,()=>{c.open&&c.onClose(),f.current=!0,document.addEventListener("pointerup",b,{once:!0})}),onFocus:$i(s.onFocus,()=>{f.current||c.onOpen()}),onBlur:$i(s.onBlur,c.onClose),onClick:$i(s.onClick,c.onClose)})})});bC.displayName=cu;var $u="TooltipPortal",[vC,jC]=Ql($u,{forceMount:void 0}),Vv=s=>{const{__scopeTooltip:i,forceMount:r,children:l,container:c}=s,u=Pr($u,i);return e.jsx(vC,{scope:i,forceMount:r,children:e.jsx(Ku,{present:r||u.open,children:e.jsx(Pv,{asChild:!0,container:c,children:l})})})};Vv.displayName=$u;var ln="TooltipContent",_v=w.forwardRef((s,i)=>{const r=jC(ln,s.__scopeTooltip),{forceMount:l=r.forceMount,side:c="top",...u}=s,m=Pr(ln,s.__scopeTooltip);return e.jsx(Ku,{present:l||m.open,children:m.disableHoverableContent?e.jsx(Wv,{side:c,...u,ref:i}):e.jsx(wC,{side:c,...u,ref:i})})}),wC=w.forwardRef((s,i)=>{const r=Pr(ln,s.__scopeTooltip),l=Iv(ln,s.__scopeTooltip),c=w.useRef(null),u=Ot(i,
vendor: 4,243 bytes, line 197
197c),[m,p]=w.useState(null),{trigger:x,onClose:f}=r,y=c.current,{onPointerInTransitChange:b}=l,j=w.useCallback(()=>{p(null),b(!1)},[b]),N=w.useCallback((S,T)=>{const C=S.currentTarget,R={x:S.clientX,y:S.clientY},M=CC(R,C.getBoundingClientRect()),O=EC(R,M),Y=kC(T.getBoundingClientRect()),q=DC([...O,...Y]);p(q),b(!0)},[b]);return w.useEffect(()=>()=>j(),[j]),w.useEffect(()=>{if(x&&y){const S=C=>N(C,y),T=C=>N(C,x);return x.addEventListener("pointerleave",S),y.addEventListener("pointerleave",T),()=>{x.removeEventListener("pointerleave",S),y.removeEventListener("pointerleave",T)}}},[x,y,N,j]),w.useEffect(()=>{if(m){const S=T=>{const C=T.target,R={x:T.clientX,y:T.clientY},M=x?.contains(C)||y?.contains(C),O=!LC(R,m);M?j():O&&(j(),f())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[x,y,m,f,j]),e.jsx(Wv,{...s,ref:u})}),[NC,TC]=Ql(zv,{isInside:!1}),SC=mC("TooltipContent"),Wv=w.forwardRef((s,i)=>{const{__scopeTooltip:r,children:l,"aria-label":c,onEscapeKeyDown:u,onPointerDownOutside:m,...p}=s,x=Pr(ln,r),f=Zu(r),{onClose:y}=x;return w.useEffect(()=>(document.addEventListener(Og,y),()=>document.removeEventListener(Og,y)),[y]),w.useEffect(()=>{if(x.trigger){const b=j=>{j.target?.contains(x.trigger)&&y()};return window.addEventListener("scroll",b,{capture:!0}),()=>window.removeEventListener("scroll",b,{capture:!0})}},[x.trigger,y]),e.jsx(dv,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:m,onFocusOutside:b=>b.preventDefault(),onDismiss:y,children:e.jsxs(rC,{"data-state":x.stateAttribute,...f,...p,ref:i,style:{...p.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[e.jsx(SC,{children:l}),e.jsx(NC,{scope:r,isInside:!0,children:e.jsx(xC,{id:x.contentId,role:"tooltip",children:c||l})})]})})});_v.displayName=ln;var Hv="TooltipArrow",AC=w.forwardRef((s,i)=>{const{__scopeTooltip:r,...l}=s,c=Zu(r);return TC(Hv,r).isInside?null:e.jsx(oC,{...c,...l,ref:i})});AC.displayName=Hv;function CC(s,i){const r=Math.abs(i.top-s.y),l=Math.abs(i.bottom-s.y),c=Math.abs(i.right-s.x),u=Math.abs(i.left-s.x);switch(Math.min(r,l,c,u)){case u:return"left";case c:return"right";case r:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function EC(s,i,r=5){const l=[];switch(i){case"top":l.push({x:s.x-r,y:s.y+r},{x:s.x+r,y:s.y+r});break;case"bottom":l.push({x:s.x-r,y:s.y-r},{x:s.x+r,y:s.y-r});break;case"left":l.push({x:s.x+r,y:s.y-r},{x:s.x+r,y:s.y+r});break;case"right":l.push({x:s.x-r,y:s.y-r},{x:s.x-r,y:s.y+r});break}return l}function kC(s){const{top:i,right:r,bottom:l,left:c}=s;return[{x:c,y:i},{x:r,y:i},{x:r,y:l},{x:c,y:l}]}function LC(s,i){const{x:r,y:l}=s;let c=!1;for(let u=0,m=i.length-1;u<i.length;m=u++){const p=i[u],x=i[m],f=p.x,y=p.y,b=x.x,j=x.y;y>l!=j>l&&r<(b-f)*(l-y)/(j-y)+f&&(c=!c)}return c}function DC(s){const i=s.slice();return i.sort((r,l)=>r.x<l.x?-1:r.x>l.x?1:r.y<l.y?-1:r.y>l.y?1:0),RC(i)}function RC(s){if(s.length<=1)return s.slice();const i=[];for(let l=0;l<s.length;l++){const c=s[l];for(;i.length>=2;){const u=i[i.length-1],m=i[i.length-2];if((u.x-m.x)*(c.y-m.y)>=(u.y-m.y)*(c.x-m.x))i.pop();else break}i.push(c)}i.pop();const r=[];for(let l=s.length-1;l>=0;l--){const c=s[l];for(;r.length>=2;){const u=r[r.length-1],m=r[r.length-2];if((u.x-m.x)*(c.y-m.y)>=(u.y-m.y)*(c.x-m.x))r.pop();else break}r.push(c)}return r.pop(),i.length===1&&r.length===1&&i[0].x===r[0].x&&i[0].y===r[0].y?i:i.concat(r)}var OC=Bv,PC=Vv,Yv=_v;const MC=OC,UC=w.forwardRef(({className:s,sideOffset:i=4,...r},l)=>e.jsx(PC,{children:e.jsx(Yv,{ref:l,sideOffset:i,className:jt("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:sli
197de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",s),...r})}));UC.displayName=Yv.displayName;const Ju=w.forwardRef(({className:s,...i},r)=>e.jsx("div",{ref:r,className:jt("rounded-xl border bg-card text-card-foreground shadow",s),...i}));Ju.displayName="Card";const qv=w.forwardRef(({className:s,...i},r)=>e.jsx("div",{ref:r,className:jt("flex flex-col space-y-1.5 p-6",s),...i}));qv.displayName="CardHeader";const IC=w.forwardRef(({className:s,...i},r)=>e.jsx("div",{ref:r,className:jt("font-semibold leading-none tracking-tight",s),...i}));IC.displayName="CardTitle";const BC=w.forwardRef(({className:s,...i},r)=>e.jsx("div",{ref:r,className:jt("text-sm text-muted-foreground",s),...i}));BC.displayName="CardDescription";const em=w.forwardRef(({className:s,...i},r)=>e.jsx("div",{ref:r,className:jt("p-6 pt-0",s),...i}));em.displayName="CardContent";const Gv=w.forwardRef(({className:s,...i},r)=>e.jsx("div",{ref:r,className:jt("flex items-center p-6 pt-0",s),...i}));Gv.displayName="CardFooter";function zC(){return e.jsx("div",{className:"min-h-screen w-full flex items-center justify-center bg-gray-50",children:e.jsx(Ju,{className:"w-full max-w-md mx-4",children:e.jsxs(em,{className:"pt-6",children:[e.jsxs("div",{className:"flex mb-4 gap-2",children:[e.jsx(xA,{className:"h-8 w-8 text-red-500"}),e.jsx("h1",{className:"text-2xl font-bold text-gray-900",children:"404 Page Not Found"})]}),e.jsx("p",{className:"mt-4 text-sm text-gray-600",children:"Did you forget to add the page to the router?"})]})})})}const tm=w.createContext({});function sm(s){const i=w.useRef(null);return i.current===null&&(i.current=s()),i.current}const am=typeof window<"u",Fv=am?w.useLayoutEffect:w.useEffect,Xl=w.createContext(null);function im(s,i){s.indexOf(i)===-1&&s.push(i)}function nm(s,i){const r=s.indexOf(i);r>-1&&s.splice(r,1)}const ea=(s,i,r)=>r>i?i:r<s?s:r;let rm=()=>{};const ta={},Qv=s=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(s);function Xv(s){return typeof s=="object"&&s!==null}const Kv=s=>/^0[^.\s]+$/u.test(s);function om(s){let i;return()=>(i===void 0&&(i=s()),i)}const ls=s=>s,VC=(s,i)=>r=>i(s(r)),Mr=(...s)=>s.reduce(VC),Ar=(s,i,r)=>{const l=i-s;return l===0?1:(r-s)/l};class lm{constructor(){this.subscriptions=[]}add(i){return im(this.subscriptions,i),()=>nm(this.subscriptions,i)}notify(i,r,l){const c=this.subscriptions.length;if(c)if(c===1)this.subscriptions[0](i,r,l);else for(let u=0;u<c;u++){const m=this.subscriptions[u];m&&m(i,r,l)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const As=s=>s*1e3,os=s=>s/1e3;function Zv(s,i){return i?s*(1e3/i):0}const $v=(s,i,r)=>(((1-3*r+3*i)*s+(3*r-6*i))*s+3*i)*s,_C=1e-7,WC=12;function HC(s,i,r,l,c){let u,m,p=0;do m=i+(r-i)/2,u=$v(m,l,c)-s,u>0?r=m:i=m;while(Math.abs(u)>_C&&++p<WC);return m}function Ur(s,i,r,l){if(s===i&&r===l)return ls;const c=u=>HC(u,0,1,s,r);return u=>u===0||u===1?u:$v(c(u),i,l)}const Jv=s=>i=>i<=.5?s(2*i)/2:(2-s(2*(1-i)))/2,ej=s=>i=>1-s(1-i),tj=Ur(.33,1.53,.69,.99),cm=ej(tj),sj=Jv(cm),aj=s=>(s*=2)<1?.5*cm(s):.5*(2-Math.pow(2,-10*(s-1))),dm=s=>1-Math.sin(Math.acos(s)),ij=ej(dm),nj=Jv(dm),YC=Ur(.42,0,1,1),qC=Ur(0,0,.58,1),rj=Ur(.42,0,.58,1),GC=s=>Array.isArray(s)&&typeof s[0]!="number",oj=s=>Array.isArray(s)&&typeof s[0]=="number",FC={linear:ls,easeIn:YC,easeInOut:rj,easeOut:qC,circIn:dm,circInOut:nj,circOut:ij,backIn:cm,backInOut:sj,backOut:tj,anticipate:aj},QC=s=>typeof s=="string",Pg=s=>{if(oj(s)){rm(s.length===4);const[i,r,l,c]=s;return Ur(i,r,l,c)}else if(QC(s))return FC[s];return s},dl=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function XC(s,i){let r=new Set,l=new Set,c=!1,u=!1;const m=new WeakSet;let p={delta:0,timestamp:0,isProcessing:!1};function x(y){m.has(y)&&(f.schedule(y),s()),y(p)}const f={schedule:(y,b=!1,j=!1)=>{const S=j&&c?r:l;return b&&m.add(y),S.has(y)||S.add(y),y},cancel:y=>{l.delete(y),m.delete(y)},process:y=>{if(p=y,c){u=!0;return}c=!0,[r,l]=[l,r],r.forEach(x),r.clear(),c=!1,u&&(u=!1,f.process(y))}};return f}const KC=40;function lj(s,i){let r=!1,l=!0;const c={delta:0,timestamp:0,isProcessing:!1},u=()=>r=!0,m=dl.reduce((O,Y)=>(O[Y]=XC(u),O),{}),{setup:p,read:x,resolveKeyframes:f,preUpdate:y,update:b,preRender:j,render:N,postRender:S}=m,T=()=>{const O=ta.useManualTiming?c.timestamp:performance.now();r=!1,ta.useManualTiming||(c.delta=l?1e3/60:Math.max(Math.min(O-c.timestamp,KC),1)),c.timestamp=O,c.isProcessing=!0,p.process(c),x.process(c),f.process(c),y.process(c),b.process(c),j.process(c),N.process(c),S.process(c),c.isProcessing=!1,r&&i&&(l=!1,s(T))},C=()=>{r=!0,l=!0,c.isProcessing||s(T)};return{schedule:dl.reduce((O,Y)=>{const q=m[Y];return O[Y]=(Z,V=!1,H=!1)=>(r||C(),q.schedule(Z,V,H)),O},{}),cancel:O=>{for(let Y=0;Y<dl.length;Y++)m[dl[Y]].cancel(O)},state:c,steps:m}}const{schedule:Ge,cancel:Pa,state:gt,steps:Ph}=lj(typeof requestAnimationFrame<"u"?requestAnimationFrame:ls,!0);let gl;function ZC(){gl=void 0}const Rt={now:()=>(gl===void 0&&Rt.set(gt.isProcessing||ta.useManualTiming?gt.timestamp:performance.now()),gl),set:s=>{gl=s,queueMicrotask(ZC)}},cj=s=>i=>typeof i=="string"&&i.startsWith(s),hm=cj("--"),$C=cj("var(--"),um=s=>$C(s)?JC.test(s.split("/*")[0].trim()):!1,JC=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,xn={test:s=>typeof s=="number",parse:parseFloat,transform:s=>s},Cr={...xn,transform:s=>ea(0,1,s)},hl={...xn,default:1},yr=s=>Math.round(s*1e5)/1e5,mm=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function e5(s){return s==null}const t5=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,pm=(s,i)=>r=>!!(typeof r=="string"&&t5.test(r)&&r.startsWith(s)||i&&!e5(r)&&Object.prototype.hasOwnProperty.call(r,i)),dj=(s,i,r)=>l=>{if(typeof l!="string")return l;const[c,u,m,p]=l.match(mm);return{[s]:parseFloat(c),[i]:parseFloat(u),[r]:parseFloat(m),alpha:p!==void 0?parseFloat(p):1}},s5=s=>ea(0,255,s),Mh={...xn,transform:s=>Math.round(s5(s))},li={test:pm("rgb","red"),parse:dj("red","green","blue"),transform:({red:s,green:i,blue:r,alpha:l=1})=>"rgba("+Mh.transform(s)+", "+Mh.transform(i)+", "+Mh.transform(r)+", "+yr(Cr.transform(l))+")"};function a5(s){let i="",r="",l="",c="";return s.length>5?(i=s.substring(1,3),r=s.substring(3,5),l=s.substring(5,7),c=s.substring(7,9)):(i=s.substring(1,2),r=s.substring(2,3),l=s.substring(3,4),c=s.substring(4,5),i+=i,r+=r,l+=l,c+=c),{red:parseInt(i,16),green:parseInt(r,16),blue:parseInt(l,16),alph
vendor: 5,347 bytes, line 197
197a:c?parseInt(c,16)/255:1}}const du={test:pm("#"),parse:a5,transform:li.transform},Ir=s=>({test:i=>typeof i=="string"&&i.endsWith(s)&&i.split(" ").length===1,parse:parseFloat,transform:i=>`${i}${s}`}),La=Ir("deg"),Cs=Ir("%"),xe=Ir("px"),i5=Ir("vh"),n5=Ir("vw"),Mg={...Cs,parse:s=>Cs.parse(s)/100,transform:s=>Cs.transform(s*100)},Ji={test:pm("hsl","hue"),parse:dj("hue","saturation","lightness"),transform:({hue:s,saturation:i,lightness:r,alpha:l=1})=>"hsla("+Math.round(s)+", "+Cs.transform(yr(i))+", "+Cs.transform(yr(r))+", "+yr(Cr.transform(l))+")"},ot={test:s=>li.test(s)||du.test(s)||Ji.test(s),parse:s=>li.test(s)?li.parse(s):Ji.test(s)?Ji.parse(s):du.parse(s),transform:s=>typeof s=="string"?s:s.hasOwnProperty("red")?li.transform(s):Ji.transform(s),getAnimatableNone:s=>{const i=ot.parse(s);return i.alpha=0,ot.transform(i)}},r5=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function o5(s){return isNaN(s)&&typeof s=="string"&&(s.match(mm)?.length||0)+(s.match(r5)?.length||0)>0}const hj="number",uj="color",l5="var",c5="var(",Ug="${}",d5=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Er(s){const i=s.toString(),r=[],l={color:[],number:[],var:[]},c=[];let u=0;const p=i.replace(d5,x=>(ot.test(x)?(l.color.push(u),c.push(uj),r.push(ot.parse(x))):x.startsWith(c5)?(l.var.push(u),c.push(l5),r.push(x)):(l.number.push(u),c.push(hj),r.push(parseFloat(x))),++u,Ug)).split(Ug);return{values:r,split:p,indexes:l,types:c}}function mj(s){return Er(s).values}function pj(s){const{split:i,types:r}=Er(s),l=i.length;return c=>{let u="";for(let m=0;m<l;m++)if(u+=i[m],c[m]!==void 0){const p=r[m];p===hj?u+=yr(c[m]):p===uj?u+=ot.transform(c[m]):u+=c[m]}return u}}const h5=s=>typeof s=="number"?0:ot.test(s)?ot.getAnimatableNone(s):s;function u5(s){const i=mj(s);return pj(s)(i.map(h5))}const Ma={test:o5,parse:mj,createTransformer:pj,getAnimatableNone:u5};function Uh(s,i,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?s+(i-s)*6*r:r<1/2?i:r<2/3?s+(i-s)*(2/3-r)*6:s}function m5({hue:s,saturation:i,lightness:r,alpha:l}){s/=360,i/=100,r/=100;let c=0,u=0,m=0;if(!i)c=u=m=r;else{const p=r<.5?r*(1+i):r+i-r*i,x=2*r-p;c=Uh(x,p,s+1/3),u=Uh(x,p,s),m=Uh(x,p,s-1/3)}return{red:Math.round(c*255),green:Math.round(u*255),blue:Math.round(m*255),alpha:l}}function kl(s,i){return r=>r>0?i:s}const Qe=(s,i,r)=>s+(i-s)*r,Ih=(s,i,r)=>{const l=s*s,c=r*(i*i-l)+l;return c<0?0:Math.sqrt(c)},p5=[du,li,Ji],f5=s=>p5.find(i=>i.test(s));function Ig(s){const i=f5(s);if(!i)return!1;let r=i.parse(s);return i===Ji&&(r=m5(r)),r}const Bg=(s,i)=>{const r=Ig(s),l=Ig(i);if(!r||!l)return kl(s,i);const c={...r};return u=>(c.red=Ih(r.red,l.red,u),c.green=Ih(r.green,l.green,u),c.blue=Ih(r.blue,l.blue,u),c.alpha=Qe(r.alpha,l.alpha,u),li.transform(c))},hu=new Set(["none","hidden"]);function x5(s,i){return hu.has(s)?r=>r<=0?s:i:r=>r>=1?i:s}function y5(s,i){return r=>Qe(s,i,r)}function fm(s){return typeof s=="number"?y5:typeof s=="string"?um(s)?kl:ot.test(s)?Bg:v5:Array.isArray(s)?fj:typeof s=="object"?ot.test(s)?Bg:g5:kl}function fj(s,i){const r=[...s],l=r.length,c=s.map((u,m)=>fm(u)(u,i[m]));return u=>{for(let m=0;m<l;m++)r[m]=c[m](u);return r}}function g5(s,i){const r={...s,...i},l={};for(const c in r)s[c]!==void 0&&i[c]!==void 0&&(l[c]=fm(s[c])(s[c],i[c]));return c=>{for(const u in l)r[u]=l[u](c);return r}}function b5(s,i){const r=[],l={color:0,var:0,number:0};for(let c=0;c<i.values.length;c++){const u=i.types[c],m=s.indexes[u][l[u]],p=s.values[m]??0;r[c]=p,l[u]++}return r}const v5=(s,i)=>{const r=Ma.createTransformer(i),l=Er(s),c=Er(i);return l.indexes.var.length===c.indexes.var.length&&l.indexes.color.length===c.indexes.color.length&&l.indexes.number.length>=c.indexes.number.length?hu.has(s)&&!c.values.length||hu.has(i)&&!l.values.length?x5(s,i):Mr(fj(b5(l,c),c.values),r):kl(s,i)};function xj(s,i,r){return typeof s=="number"&&typeof i=="number"&&typeof r=="number"?Qe(s,i,r):fm(s)(s,i)}const j5=s=>{const i=({timestamp:r})=>s(r);return{start:(r=!0)=>Ge.update(i,r),stop:()=>Pa(i),now:()=>gt.isProcessing?gt.timestamp:Rt.now()}},yj=(s,i,r=10)=>{let l="";const c=Math.max(Math.round(i/r),2);for(let u=0;u<c;u++)l+=Math.round(s(u/(c-1))*1e4)/1e4+", ";return`linear(${l.substring(0,l.length-2)})`},Ll=2e4;function xm(s){let i=0;const r=50;let l=s.next(i);for(;!l.done&&i<Ll;)i+=r,l=s.next(i);return i>=Ll?1/0:i}function w5(s,i=100,r){const l=r({...s,keyframes:[0,i]}),c=Math.min(xm(l),Ll);return{type:"keyframes",ease:u=>l.next(c*u).value/i,duration:os(c)}}const N5=5;function gj(s,i,r){const l=Math.max(i-N5,0);return Zv(r-s(l),i-l)}const Ze={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},Bh=.001;function T5({duration:s=Ze.duration,bounce:i=Ze.bounce,velocity:r=Ze.velocity,mass:l=Ze.mass}){let c,u,m=1-i;m=ea(Ze.minDamping,Ze.maxDamping,m),s=ea(Ze.minDuration,Ze.maxDuration,os(s)),m<1?(c=f=>{const y=f*m,b=y*s,j=y-r,N=uu(f,m),S=Math.exp(-b);return Bh-j/N*S},u=f=>{const b=f*m*s,j=b*r+r,N=Math.pow(m,2)*Math.pow(f,2)*s,S=Math.exp(-b),T=uu(M
vendor: 1,866 bytes, line 197
197ath.pow(f,2),m);return(-c(f)+Bh>0?-1:1)*((j-N)*S)/T}):(c=f=>{const y=Math.exp(-f*s),b=(f-r)*s+1;return-Bh+y*b},u=f=>{const y=Math.exp(-f*s),b=(r-f)*(s*s);return y*b});const p=5/s,x=A5(c,u,p);if(s=As(s),isNaN(x))return{stiffness:Ze.stiffness,damping:Ze.damping,duration:s};{const f=Math.pow(x,2)*l;return{stiffness:f,damping:m*2*Math.sqrt(l*f),duration:s}}}const S5=12;function A5(s,i,r){let l=r;for(let c=1;c<S5;c++)l=l-s(l)/i(l);return l}function uu(s,i){return s*Math.sqrt(1-i*i)}const C5=["duration","bounce"],E5=["stiffness","damping","mass"];function zg(s,i){return i.some(r=>s[r]!==void 0)}function k5(s){let i={velocity:Ze.velocity,stiffness:Ze.stiffness,damping:Ze.damping,mass:Ze.mass,isResolvedFromDuration:!1,...s};if(!zg(s,E5)&&zg(s,C5))if(s.visualDuration){const r=s.visualDuration,l=2*Math.PI/(r*1.2),c=l*l,u=2*ea(.05,1,1-(s.bounce||0))*Math.sqrt(c);i={...i,mass:Ze.mass,stiffness:c,damping:u}}else{const r=T5(s);i={...i,...r,mass:Ze.mass},i.isResolvedFromDuration=!0}return i}function Dl(s=Ze.visualDuration,i=Ze.bounce){const r=typeof s!="object"?{visualDuration:s,keyframes:[0,1],bounce:i}:s;let{restSpeed:l,restDelta:c}=r;const u=r.keyframes[0],m=r.keyframes[r.keyframes.length-1],p={done:!1,value:u},{stiffness:x,damping:f,mass:y,duration:b,velocity:j,isResolvedFromDuration:N}=k5({...r,velocity:-os(r.velocity||0)}),S=j||0,T=f/(2*Math.sqrt(x*y)),C=m-u,R=os(Math.sqrt(x/y)),M=Math.abs(C)<5;l||(l=M?Ze.restSpeed.granular:Ze.restSpeed.default),c||(c=M?Ze.restDelta.granular:Ze.restDelta.default);let O;if(T<1){const q=uu(R,T);O=Z=>{const V=Math.exp(-T*R*Z);return m-V*((S+T*R*C)/q*Math.sin(q*Z)+C*Math.cos(q*Z))}}else if(T===1)O=q=>m-Math.exp(-R*q)*(C+(S+R*C)*q);else{const q=R*Math.sqrt(T*T-1);O=Z=>{const V=Math.exp(-T*R*Z),H=Math.min(q*Z,300);return m-V*((S+T*R*C)*Math.sinh(H)+q*C*Math.cosh(H))/q}}const Y={calculatedDuration:N&&b||null,next:q=>
vendor: 31,211 bytes, lines 197-205
197{const Z=O(q);if(N)p.done=q>=b;else{let V=q===0?S:0;T<1&&(V=q===0?As(S):gj(O,q,Z));const H=Math.abs(V)<=l,ie=Math.abs(m-Z)<=c;p.done=H&&ie}return p.value=p.done?m:Z,p},toString:()=>{const q=Math.min(xm(Y),Ll),Z=yj(V=>Y.next(q*V).value,q,30);return q+"ms "+Z},toTransition:()=>{}};return Y}Dl.applyToOptions=s=>{const i=w5(s,100,Dl);return s.ease=i.ease,s.duration=As(i.duration),s.type="keyframes",s};function mu({keyframes:s,velocity:i=0,power:r=.8,timeConstant:l=325,bounceDamping:c=10,bounceStiffness:u=500,modifyTarget:m,min:p,max:x,restDelta:f=.5,restSpeed:y}){const b=s[0],j={done:!1,value:b},N=H=>p!==void 0&&H<p||x!==void 0&&H>x,S=H=>p===void 0?x:x===void 0||Math.abs(p-H)<Math.abs(x-H)?p:x;let T=r*i;const C=b+T,R=m===void 0?C:m(C);R!==C&&(T=R-b);const M=H=>-T*Math.exp(-H/l),O=H=>R+M(H),Y=H=>{const ie=M(H),de=O(H);j.done=Math.abs(ie)<=f,j.value=j.done?R:de};let q,Z;const V=H=>{N(j.value)&&(q=H,Z=Dl({keyframes:[j.value,S(j.value)],velocity:gj(O,H,j.value),damping:c,stiffness:u,restDelta:f,restSpeed:y}))};return V(0),{calculatedDuration:null,next:H=>{let ie=!1;return!Z&&q===void 0&&(ie=!0,Y(H),V(H)),q!==void 0&&H>=q?Z.next(H-q):(!ie&&Y(H),j)}}}function L5(s,i,r){const l=[],c=r||ta.mix||xj,u=s.length-1;for(let m=0;m<u;m++){let p=c(s[m],s[m+1]);if(i){const x=Array.isArray(i)?i[m]||ls:i;p=Mr(x,p)}l.push(p)}return l}function D5(s,i,{clamp:r=!0,ease:l,mixer:c}={}){const u=s.length;if(rm(u===i.length),u===1)return()=>i[0];if(u===2&&i[0]===i[1])return()=>i[1];const m=s[0]===s[1];s[0]>s[u-1]&&(s=[...s].reverse(),i=[...i].reverse());const p=L5(i,l,c),x=p.length,f=y=>{if(m&&y<s[0])return i[0];let b=0;if(x>1)for(;b<s.length-2&&!(y<s[b+1]);b++);const j=Ar(s[b],s[b+1],y);return p[b](j)};return r?y=>f(ea(s[0],s[u-1],y)):f}function R5(s,i){const r=s[s.length-1];for(let l=1;l<=i;l++){const c=Ar(0,i,l);s.push(Qe(r,1,c))}}function O5(s){const i=[0];return R5(i,s.length-1),i}function P5(s,i){return s.map(r=>r*i)}function M5(s,i){return s.map(()=>i||rj).splice(0,s.length-1)}function gr({duration:s=300,keyframes:i,times:r,ease:l="easeInOut"}){const c=GC(l)?l.map(Pg):Pg(l),u={done:!1,value:i[0]},m=P5(r&&r.length===i.length?r:O5(i),s),p=D5(m,i,{ease:Array.isArray(c)?c:M5(i,c)});return{calculatedDuration:s,next:x=>(u.value=p(x),u.done=x>=s,u)}}const U5=s=>s!==null;function ym(s,{repeat:i,repeatType:r="loop"},l,c=1){const u=s.filter(U5),p=c<0||i&&r!=="loop"&&i%2===1?0:u.length-1;return!p||l===void 0?u[p]:l}const I5={decay:mu,inertia:mu,tween:gr,keyframes:gr,spring:Dl};function bj(s){typeof s.type=="string"&&(s.type=I5[s.type])}class gm{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(i=>{this.resolve=i})}notifyFinished(){this.resolve()}then(i,r){return this.finished.then(i,r)}}const B5=s=>s/100;class bm extends gm{constructor(i){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:r}=this.options;r&&r.updatedAt!==Rt.now()&&this.tick(Rt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=i,this.initAnimation(),this.play(),i.autoplay===!1&&this.pause()}initAnimation(){const{options:i}=this;bj(i);const{type:r=gr,repeat:l=0,repeatDelay:c=0,repeatType:u,velocity:m=0}=i;let{keyframes:p}=i;const x=r||gr;x!==gr&&typeof p[0]!="number"&&(this.mixKeyframes=Mr(B5,xj(p[0],p[1])),p=[0,100]);const f=x({...i,keyframes:p});u==="mirror"&&(this.mirroredGenerator=x({...i,keyframes:[...p].reverse(),velocity:-m})),f.calculatedDuration===null&&(f.calculatedDuration=xm(f));const{calculatedDuration:y}=f;this.calculatedDuration=y,this.resolvedDuration=y+c,this.totalDuration=this.resolvedDuration*(l+1)-c,this.generator=f}updateTime(i){const r=Math.round(i-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=r}tick(i,r=!1){const{generator:l,totalDuration:c,mixKeyframes:u,mirroredGenerator:m,resolvedDuration:p,calculatedDuration:x}=this;if(this.startTime===null)return l.next(0);const{delay:f=0,keyframes:y,repeat:b,repeatType:j,repeatDelay:N,type:S,onUpdate:T,finalKeyframe:C}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,i):this.speed<0&&(this.startTime=Math.min(i-c/this.speed,this.startTime)),r?this.currentTime=i:this.updateTime(i);const R=this.currentTime-f*(this.playbackSpeed>=0?1:-1),M=this.playbackSpeed>=0?R<0:R>c;this.currentTime=Math.max(R,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=c);let O=this.currentTime,Y=l;if(b){const H=Math.min(this.currentTime,c)/p;let ie=Math.floor(H),de=H%1;!de&&H>=1&&(de=1),de===1&&ie--,ie=Math.min(ie,b+1),!!(ie%2)&&(j==="reverse"?(de=1-de,N&&(de-=N/p)):j==="mirror"&&(Y=m)),O=ea(0,1,de)*p}const q=M?{done:!1,value:y[0]}:Y.next(O);u&&(q.value=u(q.value));let{done:Z}=q;!M&&x!==null&&(Z=this.playbackSpeed>=0?this.currentTime>=c:this.currentTime<=0);const V=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&Z);return V&&S!==mu&&(q.value=ym(y,this.options,C,this.speed)),T&&T(q.value),V&&this.finish(),q}then(i,r){return this.finished.then(i,r)}get duration(){return os(this.calculatedDuration)}get iterationDuration(){const{delay:i=0}=this.options||{};return this.duration+os(i)}get time(){return os(this.currentTime)}set time(i){i=As(i),this.currentTime=i,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=i:this.driver&&(this.startTime=this.driver.now()-i/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(i){this.updateTime(Rt.now());const r=this.playbackSpeed!==i;this.playbackSpeed=i,r&&(this.time=os(this.currentTime))}play(){if(this.isStopped)return;const{driver:i=j5,startTime:r}=this.options;this.driver||(this.driver=i(c=>this.tick(c))),this.options.onPlay?.();const l=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=l):this.holdTime!==null?this.startTime=l-this.holdTime:this.startTime||(this.startTime=r??l),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(Rt.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(i){return this.startTime=0,this.tick(i,!0)}attachTimeline(i){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),i.observe(this)}}function z5(s){for(let i=1;i<s.length;i++)s[i]??(s[i]=s[i-1])}const ci=s=>s*180/Math.PI,pu=s=>{const i=ci(Math.atan2(s[1],s[0]));return fu(i)},V5={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:s=>(Math.abs(s[0])+Math.abs(s[3]))/2,rotate:pu,rotateZ:pu,skewX:s=>ci(Math.atan(s[1])),skewY:s=>ci(Math.atan(s[2])),skew:s=>(Math.abs(s[1])+Math.abs(s[2]))/2},fu=s=>(s=s%360,s<0&&(s+=360),s),Vg=pu,_g=s=>Math.sqrt(s[0]*s[0]+s[1]*s[1]),Wg=s=>Math.sqrt(s[4]*s[4]+s[5]*s[5]),_5={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:_g,scaleY:Wg,scale:s=>(_g(s)+Wg(s))/2,rotateX:s=>fu(ci(Math.atan2(s[6],s[5]))),rotateY:s=>fu(ci(Math.atan2(-s[2],s[0]))),rotateZ:Vg,rotate:Vg,skewX:s=>ci(Math.atan(s[4])),skewY:s=>ci(Math.atan(s[1])),skew:s=>(Math.abs(s[1])+Math.abs(s[4]))/2};function xu(s){return s.includes("scale")?1:0}function yu(s,i){if(!s||s==="none")return xu(i);const r=s.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let l,c;if(r)l=_5,c=r;else{const p=s.match(/^matrix\(([-\d.e\s,]+)\)$/u);l=V5,c=p}if(!c)return xu(i);const u=l[i],m=c[1].split(",").map(H5);return typeof u=="function"?u(m):m[u]}const W5=(s,i)=>{const{transform:r="none"}=getComputedStyle(s);return yu(r,i)};function H5(s){return parseFloat(s.trim())}const yn=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],gn=new Set(yn),Hg=s=>s===xn||s===xe,Y5=new Set(["x","y","z"]),q5=yn.filter(s=>!Y5.has(s));function G5(s){const i=[];return q5.forEach(r=>{const l=s.getValue(r);l!==void 0&&(i.push([r,l.get()]),l.set(r.startsWith("scale")?1:0))}),i}const di={width:({x:s},{paddingLeft:i="0",paddingRight:r="0"})=>s.max-s.min-parseFloat(i)-parseFloat(r),height:({y:s},{paddingTop:i="0",paddingBottom:r="0"})=>s.max-s.min-parseFloat(i)-parseFloat(r),top:(s,{top:i})=>parseFloat(i),left:(s,{left:i})=>parseFloat(i),bottom:({y:s},{top:i})=>parseFloat(i)+(s.max-s.min),right:({x:s},{left:i})=>parseFloat(i)+(s.max-s.min),x:(s,{transform:i})=>yu(i,"x"),y:(s,{transform:i})=>yu(i,"y")};di.translateX=di.x;di.translateY=di.y;const hi=new Set;let gu=!1,bu=!1,vu=!1;function vj(){if(bu){const s=Array.from(hi).filter(l=>l.needsMeasurement),i=new Set(s.map(l=>l.element)),r=new Map;i.forEach(l=>{const c=G5(l);c.length&&(r.set(l,c),l.render())}),s.forEach(l=>l.measureInitialState()),i.forEach(l=>{l.render();const c=r.get(l);c&&c.forEach(([u,m])=>{l.getValue(u)?.set(m)})}),s.forEach(l=>l.measureEndState()),s.forEach(l=>{l.suspendedScrollY!==void 0&&window.scrollTo(0,l.suspendedScrollY)})}bu=!1,gu=!1,hi.forEach(s=>s.complete(vu)),hi.clear()}function jj(){hi.forEach(s=>{s.readKeyframes(),s.needsMeasurement&&(bu=!0)})}function F5(){vu=!0,jj(),vj(),vu=!1}class vm{constructor(i,r,l,c,u,m=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...i],this.onComplete=r,this.name=l,this.motionValue=c,this.element=u,this.isAsync=m}scheduleResolve(){this.state="scheduled",this.isAsync?(hi.add(this),gu||(gu=!0,Ge.read(jj),Ge.resolveKeyframes(vj))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:i,name:r,element:l,motionValue:c}=this;if(i[0]===null){const u=c?.get(),m=i[i.length-1];if(u!==void 0)i[0]=u;else if(l&&r){const p=l.readValue(r,m);p!=null&&(i[0]=p)}i[0]===void 0&&(i[0]=m),c&&u===void 0&&c.set(i[0])}z5(i)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(i=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,i),hi.delete(this)}cancel(){this.state==="scheduled"&&(hi.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const Q5=s=>s.startsWith("--");function X5(s,i,r){Q5(i)?s.style.setProperty(i,r):s.style[i]=r}const K5=om(()=>window.ScrollTimeline!==void 0),Z5={};function $5(s,i){const r=om(s);return()=>Z5[i]??r()}const wj=$5(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),fr=([s,i,r,l])=>`cubic-bezier(${s}, ${i}, ${r}, ${l})`,Yg={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:fr([0,.65,.55,1]),circOut:fr([.55,0,1,.45]),backIn:fr([.31,.01,.66,-.59]),backOut:fr([.33,1.53,.69,.99])};function Nj(s,i){if(s)return typeof s=="function"?wj()?yj(s,i):"ease-out":oj(s)?fr(s):Array.isArray(s)?s.map(r=>Nj(r,i)||Yg.easeOut):Yg[s]}function J5(s,i,r,{delay:l=0,duration:c=300,repeat:u=0,repeatType:m="loop",ease:p="easeOut",times:x}={},f=void 0){const y={[i]:r};x&&(y.offset=x);const b=Nj(p,c);Array.isArray(b)&&(y.easing=b);const j={delay:l,duration:c,easing:Array.isArray(b)?"linear":b,fill:"both",iterations:u+1,direction:m==="reverse"?"alternate":"normal"};return f&&(j.pseudoElement=f),s.animate(y,j)}function Tj(s){return typeof s=="function"&&"applyToOptions"in s}function eE({type:s,...i}){return Tj(s)&&wj()?s.applyToOptions(i):(i.duration??(i.duration=300),i.ease??(i.ease="easeOut"),i)}class tE extends gm{constructor(i){if(super(),this.finishedTime=null,this.isStopped=!1,!i)return;const{element:r,name:l,keyframes:c,pseudoElement:u,allowFlatten:m=!1,finalKeyframe:p,onComplete:x}=i;this.isPseudoElement=!!u,this.allowFlatten=m,this.options=i,rm(typeof i.type!="string");const f=eE(i);this.animation=J5(r,l,c,f,u),f.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!u){const y=ym(c,this.options,p,this.speed);this.updateMotionValue?this.updateMotionValue(y):X5(r,l,y),this.animation.cancel()}x?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:i}=this;i==="idle"||i==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const i=this.animation.effect?.getComputedTiming?.().duration||0;return os(Number(i))}get iterationDuration(){const{delay:i=0}=this.options||{};return this.duration+os(i)}get time(){return os(Number(this.animation.currentTime)||0)}set time(i){this.finishedTime=null,this.animation.currentTime=As(i)}get speed(){return this.animation.playbackRate}set speed(i){i<0&&(this.finishedTime=null),this.animation.playbackRate=i}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(i){this.animation.startTime=i}attachTimeline({timeline:i,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,i&&K5()?(this.animation.timeline=i,ls):r(this)}}const Sj={anticipate:aj,backInOut:sj,circInOut:nj};function sE(s){return s in Sj}function aE(s){typeof s.ease=="string"&&sE(s.ease)&&(s.ease=Sj[s.ease])}const qg=10;class iE extends tE{constructor(i){aE(i),bj(i),super(i),i.startTime&&(this.startTime=i.startTime),this.options=i}updateMotionValue(i){const{motionValue:r,onUpdate:l,onComplete:c,element:u,...m}=this.options;if(!r)return;if(i!==void 0){r.set(i);return}const p=new bm({...m,autoplay:!1}),x=As(this.finishedTime??this.time);r.setWithVelocity(p.sample(x-qg).value,p.sample(x).value,qg),p.stop()}}const Gg=(s,i)=>i==="zIndex"?!1:!!(typeof s=="number"||Array.isArray(s)||typeof s=="string"&&(Ma.test(s)||s==="0")&&!s.startsWith("url("));function nE(s){const i=s[0];if(s.length===1)return!0;for(let r=0;r<s.length;r++)if(s[r]!==i)return!0}function rE(s,i,r,l){const c=s[0];if(c===null)return!1;if(i==="display"||i==="visibility")return!0;const u=s[s.length-1],m=Gg(c,i),p=Gg(u,i);return!m||!p?!1:nE(s)||(r==="spring"||Tj(r))&&l}function ju(s){s.duration=0,s.type="keyframes"}const oE=new Set(["opacity","clipPath","filter","transform"]),lE=om(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function cE(s){const{motionValue:i,name:r,repeatDelay:l,repeatType:c,damping:u,type:m}=s;if(!(i?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:x,transformTemplate:f}=i.owner.getProps();return lE()&&r&&oE.has(r)&&(r!=="transform"||!f)&&!x&&!l&&c!=="mirror"&&u!==0&&m!=="inertia"}const dE=40;class hE extends gm{constructor({autoplay:i=!0,delay:r=0,type:l="keyframes",repeat:c=0,repeatDelay:u=0,repeatType:m="loop",keyframes:p,name:x,motionValue:f,element:y,...b}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=Rt.now();const j={autoplay:i,delay:r,type:l,repeat:c,repeatDelay:u,repeatType:m,name:x,motionValue:f,element:y,...b},N=y?.KeyframeResolver||vm;this.keyframeResolver=new N(p,(S,T,C)=>this.onKeyframesResolved(S,T,j,!C),x,f,y),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(i,r,l,c){this.keyframeResolver=void 0;const{name:u,type:m,velocity:p,delay:x,isHandoff:f,onUpdate:y}=l;this.resolvedAt=Rt.now(),rE(i,u,m,p)||((ta.instantAnimations||!x)&&y?.(ym(i,l,r)),i[0]=i[i.length-1],ju(l),l.repeat=0);const j={startTime:c?this.resolvedAt?this.resolvedAt-this.createdAt>dE?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:r,...l,keyframes:i},N=!f&&cE(j)?new iE({...j,element:j.motionValue.owner.current}):new bm(j);N.finished.then(()=>this.notifyFinished()).catch(ls),this.pendingTimeline&&(this.stopTimeline=N.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=N}get finished(){return this._animation?this.animation.finished:this._finished}then(i,r){return this.finished.finally(i).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),F5()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(i){this.animation.time=i}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(i){this.animation.speed=i}get startTime(){return this.animation.startTime}attachTimeline(i){return this._animation?this.stopTimeline=this.animation.attachTimeline(i):this.pendingTimeline=i,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const uE=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function mE(s){const i=uE.exec(s);if(!i)return[,];const[,r,l,c]=i;return[`--${r??l}`,c]}function Aj(s,i,r=1){const[l,c]=mE(s);if(!l)return;const u=window.getComputedStyle(i).getPropertyValue(l);if(u){const m=u.trim();return Qv(m)?parseFloat(m):m}return um(c)?Aj(c,i,r+1):c}function jm(s,i){return s?.[i]??s?.default??s}const Cj=new Set(["width","height","top","left","right","bottom",...yn]),pE={test:s=>s==="auto",parse:s=>s},Ej=s=>i=>i.test(s),kj=[xn,xe,Cs,La,n5,i5,pE],Fg=s=>kj.find(Ej(s));function fE(s){return typeof s=="number"?s===0:s!==null?s==="none"||s==="0"||Kv(s):!0}const xE=new Set(["brightness","contrast","saturate","opacity"]);function yE(s){const[i,r]=s.slice(0,-1).split("(");if(i==="drop-shadow")return s;const[l]=r.match(mm)||[];if(!l)return s;const c=r.replace(l,"");let u=xE.has(i)?1:0;return l!==r&&(u*=100),i+"("+u+c+")"}const gE=/\b([a-z-]*)\(.*?\)/gu,wu={...Ma,getAnimatableNone:s=>{const i=s.match(gE);return i?i.map(yE).join(" "):s}},Qg={...xn,transform:Math.round},bE={rotate:La,rotateX:La,rotateY:La,rotateZ:La,scale:hl,scaleX:hl,scaleY:hl,scaleZ:hl,skew:La,skewX:La,skewY:La,distance:xe,translateX:xe,translateY:xe,translateZ:xe,x:xe,y:xe,z:xe,perspective:xe,transformPerspective:xe,opacity:Cr,originX:Mg,originY:Mg,originZ:xe},wm={borderWidth:xe,borderTopWidth:xe,borderRightWidth:xe,borderBottomWidth:xe,borderLeftWidth:xe,borderRadius:xe,radius:xe,borderTopLeftRadius:xe,borderTopRightRadius:xe,borderBottomRightRadius:xe,borderBottomLeftRadius:xe,width:xe,maxWidth:xe,height:xe,maxHeight:xe,top:xe,right:xe,bottom:xe,left:xe,padding:xe,paddingTop:xe,paddingRight:xe,paddingBottom:xe,paddingLeft:xe,margin:xe,marginTop:xe,marginRight:xe,marginBottom:xe,marginLeft:xe,backgroundPositionX:xe,backgroundPositionY:xe,...bE,zIndex:Qg,fillOpacity:Cr,strokeOpacity:Cr,numOctaves:Qg},vE={...wm,color:ot,backgroundColor:ot,outlineColor:ot,fill:ot,stroke:ot,borderColor:ot,borderTopColor:ot,borderRightColor:ot,borderBottomColor:ot,borderLeftColor:ot,filter:wu,WebkitFilter:wu},Lj=s=>vE[s];function Dj(s,i){let r=Lj(s);return r!==wu&&(r=Ma),r.getAnimatableNone?r.getAnimatableNone(i):void 0}const jE=new Set(["auto","none","0"]);function wE(s,i,r){let l=0,c;for(;l<s.length&&!c;){const u=s[l];typeof u=="string"&&!jE.has(u)&&Er(u).values.length&&(c=s[l]),l++}if(c&&r)for(const u of i)s[u]=Dj(r,c)}class NE extends vm{constructor(i,r,l,c,u){super(i,r,l,c,u,!0)}readKeyframes(){const{unresolvedKeyframes:i,element:r,name:l}=this;if(!r||!r.current)return;super.readKeyframes();for(let x=0;x<i.length;x++){let f=i[x];if(typeof f=="string"&&(f=f.trim(),um(f))){const y=Aj(f,r.current);y!==void 0&&(i[x]=y),x===i.length-1&&(this.finalKeyframe=f)}}if(this.resolveNoneKeyframes(),!Cj.has(l)||i.length!==2)return;const[c,u]=i,m=Fg(c),p=Fg(u);if(m!==p)if(Hg(m)&&Hg(p))for(let x=0;x<i.length;x++){const f=i[x];typeof f=="string"&&(i[x]=parseFloat(f))}else di[l]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:i,name:r}=this,l=[];for(let c=0;c<i.length;c++)(i[c]===null||fE(i[c]))&&l.push(c);l.length&&wE(i,l,r)}measureInitialState(){const{element:i,unresolvedKeyframes:r,name:l}=this;if(!i||!i.current)return;l==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=di[l](i.measureViewportBox(),window.getComputedStyle(i.current)),r[0]=this.measuredOrigin;const c=r[r.length-1];c!==void 0&&i.getValue(l,c).jump(c,!1)}measureEndState(){const{element:i,name:r,unresolvedKeyframes:l}=this;if(!i||!i.current)return;const c=i.getValue(r);c&&c.jump(this.measuredOrigin,!1);const u=l.length-1,m=l[u];l[u]=di[r](i.measureViewportBox(),window.getComputedStyle(i.current)),m!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=m),this.removedTransforms?.length&&this.removedTransforms.forEach(([p,x])=>{i.getValue(p).set(x)}),this.resolveNoneKeyframes()}}function TE(s,i,r){if(s instanceof EventTarget)return[s];if(typeof s=="string"){let l=document;const c=r?.[s]??l.querySelectorAll(s);return c?Array.from(c):[]}return Array.from(s)}const Rj=(s,i)=>i&&typeof s=="number"?i.transform(s):s;function Oj(s){return Xv(s)&&"offsetHeight"in s}const Xg=30,SE=s=>!isNaN(parseFloat(s));class AE{constructor(i,r={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=l=>{const c=Rt.now();if(this.updatedAt!==c&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(l),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const u of this.dependents)u.dirty()},this.hasAnimated=!1,this.setCurrent(i),this.owner=r.owner}setCurrent(i){this.current=i,this.updatedAt=Rt.now(),this.canTrackVelocity===null&&i!==void 0&&(this.canTrackVelocity=SE(this.current))}setPrevFrameValue(i=this.current){this.prevFrameValue=i,this.prevUpdatedAt=this.updatedAt}onChange(i){return this.on("change",i)}on(i,r){this.events[i]||(this.events[i]=new lm);const l=this.events[i].add(r);return i==="change"?()=>{l(),Ge.read(()=>{this.events.change.getSize()||this.stop()})}:l}clearListeners(){for(const i in this.events)this.events[i].clear()}attach(i,r){this.passiveEffect=i,this.stopPassiveEffect=r}set(i){this.passiveEffect?this.passiveEffect(i,this.updateAndNotify):this.updateAndNotify(i)}setWithVelocity(i,r,l){this.set(r),this.prev=void 0,this.prevFrameValue=i,this.prevUpdatedAt=this.updatedAt-l}jump(i,r=!0){this.updateAndNotify(i),this.prev=i,this.prevUpdatedAt=this.prevFrameValue=void 0,r&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(i){this.dependents||(this.dependents=new Set),this.dependents.add(i)}removeDependent(i){this.dependents&&this.dependents.delete(i)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const i=Rt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||i-this.updatedAt>Xg)return 0;const r=Math.min(this.updatedAt-this.prevUpdatedAt,Xg);return Zv(parseFloat(this.current)-parseFloat(this.prevFrameValue),r)}start(i){return this.stop(),new Promise(r=>{this.hasAnimated=!0,this.animation=i(r),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function cn(s,i){return new AE(s,i)}const{schedule:Nm}=lj(queueMicrotask,!1),ms={x:!1,y:!1};function Pj(){return ms.x||ms.y}function CE(s){return s==="x"||s==="y"?ms[s]?null:(ms[s]=!0,()=>{ms[s]=!1}):ms.x||ms.y?null:(ms.x=ms.y=!0,()=>{ms.x=ms.y=!1})}function Mj(s,i){const r=TE(s),l=new AbortController,c={passive:!0,...i,signal:l.signal};return[r,c,()=>l.abort()]}function Kg(s){return!(s.pointerType==="touch"||Pj())}function EE(s,i,r={}){const[l,c,u]=Mj(s,r),m=p=>{if(!Kg(p))return;const{target:x}=p,f=i(x,p);if(typeof f!="function"||!x)return;const y=b=>{Kg(b)&&(f(b),x.removeEventListener("pointerleave",y))};x.addEventListener("pointerleave",y,c)};return l.forEach(p=>{p.addEventListener("pointerenter",m,c)}),u}const Uj=(s,i)=>i?s===i?!0:Uj(s,i.parentElement):!1,Tm=s=>s.pointerType==="mouse"?typeof s.button!="number"||s.button<=0:s.isPrimary!==!1,kE=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function LE(s){return kE.has(s.tagName)||s.tabIndex!==-1}const bl=new WeakSet;function Zg(s){return i=>{i.key==="Enter"&&s(i)}}function zh(s,i){s.dispatchEvent(new PointerEvent("pointer"+i,{isPrimary:!0,bubbles:!0}))}const DE=(s,i)=>{const r=s.currentTarget;if(!r)return;const l=Zg(()=>{if(bl.has(r))return;zh(r,"down");const c=Zg(()=>{zh(r,"up")}),u=()=>zh(r,"cancel");r.addEventListener("keyup",c,i),r.addEventListener("blur",u,i)});r.addEventListener("keydown",l,i),r.addEventListener("blur",()=>r.removeEventListener("keydown",l),i)};function $g(s){return Tm(s)&&!Pj()}function RE(s,i,r={}){const[l,c,u]=Mj(s,r),m=p=>{const x=p.currentTarget;if(!$g(p))return;bl.add(x);const f=i(x,p),y=(N,S)=>{window.removeEventListener("pointerup",b),window.removeEventListener("pointercancel",j),bl.has(x)&&bl.delete(x),$g(N)&&typeof f=="function"&&f(N,{success:S})},b=N=>{y(N,x===window||x===document||r.useGlobalTarget||Uj(x,N.target))},j=N=>{y(N,!1)};window.addEventListener("pointerup",b,c),window.addEventListener("pointercancel",j,c)};return l.forEach(p=>{(r.useGlobalTarget?window:p).addEventListener("pointerdown",m,c),Oj(p)&&(p.addEventListener("focus",f=>DE(f,c)),!LE(p)&&!p.hasAttribute("tabindex")&&(p.tabIndex=0))}),u}function Ij(s){return Xv(s)&&"ownerSVGElement"in s}function OE(s){return Ij(s)&&s.tagName==="svg"}const vt=s=>!!(s&&s.getVelocity),PE=[...kj,ot,Ma],ME=s=>PE.find(Ej(s)),Sm=w.createContext({transformPagePoint:s=>s,isStatic:!1,reducedMotion:"never"});function Jg(s,i){if(typeof s=="function")return s(i);s!=null&&(s.current=i)}function UE(...s){return i=>{let r=!1;const l=s.map(c=>{const u=Jg(c,i);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let c=0;c<l.length;c++){const u=l[c];typeof u=="function"?u():Jg(s[c],null)}}}}function IE(...s){return w.useCallback(UE(...s),s)}class BE extends w.Component{getSnapshotBeforeUpdate(i){const r=this.props.childRef.current;if(r&&i.isPresent&&!this.props.isPresent){const l=r.offsetParent,c=Oj(l)&&l.offsetWidth||0,u=this.props.sizeRef.current;u.height=r.offsetHeight||0,u.width=r.offsetWidth||0,u.top=r.offsetTop,u.left=r.offsetLeft,u.right=c-u.width-u.left}return null}componentDidUpdate(){}render(){return this.props.children}}function zE({children:s,isPresent:i,anchorX:r,root:l}){const c=w.useId(),u=w.useRef(null),m=w.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:p}=w.useContext(Sm),x=IE(u,s?.ref);return w.useInsertionEffect(()=>{const{width:f,height:y,top:b,left:j,right:N}=m.current;if(i||!u.current||!f||!y)return;const S=r==="left"?`left: ${j}`:`right: ${N}`;u.current.dataset.motionPopId=c;const T=document.createElement("style");p&&(T.nonce=p);const C=l??document.head;return C.appendChild(T),T.sheet&&T.sheet.insertRule(`
198          [data-motion-pop-id="${c}"] {
199            position: absolute !important;
200            width: ${f}px !important;
201            height: ${y}px !important;
202            ${S}px !important;
203            top: ${b}px !important;
204          }
205        `),()=>{C.contains(T)&&C.removeChild(T)}},[i]),e.jsx(BE,{isPresent:i,childRef:u,sizeRef:m,children:w.cloneElement(s,{ref:x})})}const VE=({children:s,initial:i,isPresent:r,onExitComplete:l,custom:c,presenceAffectsLayout:u,mode:m,anchorX:p,root:x})=>{const f=sm(_E),y=w.useId();let b=!0,j=w.useMemo(()=>(b=!1,{id:y,initial:i,isPresent:r,custom:c,onExitComplete:N=>{f.set(N,!0);for(const S of f.values())if(!S)return;l&&l()},register:N=>(f.set(N,!1),()=>f.delete(N))}),[r,f,l]);return u&&b&&(j={...j}),w.useMemo(()=>{f.forEach((N,S)=>f.set(S,!1))},[r]),w.useEffect(()=>{!r&&!f.size&&l&&l()},[r]),m==="popLayout"&&(s=e.jsx(zE,{isPresent:r,anchorX:p,root:x,children:s})),e.jsx(Xl.Provider,{value:j,children:s})};function _E(){return new Map}function Bj(s=!0){const i=w.useContext(Xl);if(i===null)return[!0,null];const{isPresent:r,onExitComplete:l,register:c}=i,u=w.useId();w.useEffect(()=>{if(s)return c(u)},[s]);const m=w.useCallback(()=>s&&l&&l(u),[u,l,s]);return!r&&l?[!1,m]:[!0]}const ul=s=>s.key||"";function eb(s){const i=[];return w.Children.forEach(s,r=>{w.isValidElement(r)&&i.push(r)}),i}const WE=({children:s,custom:i,initial:r=!0,onExitComplete:l,presenceAffectsLayout:c=!0,mode:u="sync",propagate:m=!1,anchorX:p="left",root:x})=>{const[f,y]=Bj(m),b=w.useMemo(()=>eb(s),[s]),j=m&&!f?[]:b.map(ul),N=w.useRef(!0),S=w.useRef(b),T=sm(()=>new Map),[C,R]=w.useState(b),[M,O]=w.useState(b);Fv(()=>{N.current=!1,S.current=b;for(let Z=0;Z<M.length;Z++){const V=ul(M[Z]);j.includes(V)?T.delete(V):T.get(V)!==!0&&T.set(V,!1)}},[M,j.length,j.join("-")]);const Y=[];if(b!==C){let Z=[...b];for(let V=0;V<M.length;V++){const H=M[V],ie=ul(H);j.includes(ie)||(Z.splice(V,0,H),Y.push(H))}return u==="wait"&&Y.length&&(Z=Y),O(eb(Z)),R(b),null}const{forceRender:q}=w.useContext(tm);return e.jsx(e.Fragment,{children:M.map(Z=>{const V=ul(Z),H=m&&!f?!1:b===M||j.includes(V),ie=()=>{if(T.has(V))T.set(V,!0);else return;let de=!0;T.forEach(ye=>{ye||(de=!1)}),de&&(q?.(),O(S.current),m&&y?.(),l&&l())};return e.jsx(VE,{isPresent:H,initial:!N.current||r?void 0:!1,custom:i,presenceAffectsLayout:c,mode:u,root:x,onExitComplete:H?void 0:ie,anchorX:p,children:Z},V)})})},zj=w.createContext({strict:!1}),tb={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"]},dn={};for(const s in tb)dn[s]={isEnabled:i=>tb[s].some(r=>!!i[r])};function HE(s){for(const i in s)dn[i]={...dn[i],...s[i]}}const YE=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","ignoreStrict","viewport"]);function Rl(s){return s.startsWith("while")||s.startsWith("drag")&&s!=="draggable"||s.startsWith("layout")||s.startsWith("onTap")||s.startsWith("onPan")||s.startsWith("onLayout")||YE.has(s)}let Vj=s=>
vendor: 4,072 bytes, line 205
205!Rl(s);function qE(s){typeof s=="function"&&(Vj=i=>i.startsWith("on")?!Rl(i):s(i))}try{qE(require("@emotion/is-prop-valid").default)}catch{}function GE(s,i,r){const l={};for(const c in s)c==="values"&&typeof s.values=="object"||(Vj(c)||r===!0&&Rl(c)||!i&&!Rl(c)||s.draggable&&c.startsWith("onDrag"))&&(l[c]=s[c]);return l}const Kl=w.createContext({});function Zl(s){return s!==null&&typeof s=="object"&&typeof s.start=="function"}function kr(s){return typeof s=="string"||Array.isArray(s)}const Am=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Cm=["initial",...Am];function $l(s){return Zl(s.animate)||Cm.some(i=>kr(s[i]))}function _j(s){return!!($l(s)||s.variants)}function FE(s,i){if($l(s)){const{initial:r,animate:l}=s;return{initial:r===!1||kr(r)?r:void 0,animate:kr(l)?l:void 0}}return s.inherit!==!1?i:{}}function QE(s){const{initial:i,animate:r}=FE(s,w.useContext(Kl));return w.useMemo(()=>({initial:i,animate:r}),[sb(i),sb(r)])}function sb(s){return Array.isArray(s)?s.join(" "):s}const Lr={};function XE(s){for(const i in s)Lr[i]=s[i],hm(i)&&(Lr[i].isCSSVariable=!0)}function Wj(s,{layout:i,layoutId:r}){return gn.has(s)||s.startsWith("origin")||(i||r!==void 0)&&(!!Lr[s]||s==="opacity")}const KE={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},ZE=yn.length;function $E(s,i,r){let l="",c=!0;for(let u=0;u<ZE;u++){const m=yn[u],p=s[m];if(p===void 0)continue;let x=!0;if(typeof p=="number"?x=p===(m.startsWith("scale")?1:0):x=parseFloat(p)===0,!x||r){const f=Rj(p,wm[m]);if(!x){c=!1;const y=KE[m]||m;l+=`${y}(${f}) `}r&&(i[m]=f)}}return l=l.trim(),r?l=r(i,c?"":l):c&&(l="none"),l}function Em(s,i,r){const{style:l,vars:c,transformOrigin:u}=s;let m=!1,p=!1;for(const x in i){const f=i[x];if(gn.has(x)){m=!0;continue}else if(hm(x)){c[x]=f;continue}else{const y=Rj(f,wm[x]);x.startsWith("origin")?(p=!0,u[x]=y):l[x]=y}}if(i.transform||(m||r?l.transform=$E(i,s.transform,r):l.transform&&(l.transform="none")),p){const{originX:x="50%",originY:f="50%",originZ:y=0}=u;l.transformOrigin=`${x} ${f} ${y}`}}const km=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Hj(s,i,r){for(const l in i)!vt(i[l])&&!Wj(l,r)&&(s[l]=i[l])}function JE({transformTemplate:s},i){return w.useMemo(()=>{const r=km();return Em(r,i,s),Object.assign({},r.vars,r.style)},[i])}function ek(s,i){const r=s.style||{},l={};return Hj(l,r,s),Object.assign(l,JE(s,i)),l}function tk(s,i){const r={},l=ek(s,i);return s.drag&&s.dragListener!==!1&&(r.draggable=!1,l.userSelect=l.WebkitUserSelect=l.WebkitTouchCallout="none",l.touchAction=s.drag===!0?"none":`pan-${s.drag==="x"?"y":"x"}`),s.tabIndex===void 0&&(s.onTap||s.onTapStart||s.whileTap)&&(r.tabIndex=0),r.style=l,r}const sk={offset:"stroke-dashoffset",array:"stroke-dasharray"},ak={offset:"strokeDashoffset",array:"strokeDasharray"};function ik(s,i,r=1,l=0,c=!0){s.pathLength=1;const u=c?sk:ak;s[u.offset]=xe.transform(-l);const m=xe.transform(i),p=xe.transform(r);s[u.array]=`${m} ${p}`}function Yj(s,{attrX:i,attrY:r,attrScale:l,pathLength:c,pathSpacing:u=1,pathOffset:m=0,...p},x,f,y){if(Em(s,p,f),x){s.style.viewBox&&(s.attrs.viewBox=s.style.viewBox);return}s.attrs=s.style,s.style={};const{attrs:b,style:j}=s;b.transform&&(j.transform=b.transform,delete b.transform),(j.transform||b.transformOrigin)&&(j.transformOrigin=b.transformOrigin??"50% 50%",delete b.transformOrigin),j.transform&&(j.transformBox=y?.transformBox??"fill-box",delete b.transformBox),i!==void 0&&(b.x=i),r!==void 0&&(b.y=r),l!==void 0&&(b.scale=l),c!==void 0&&ik(b,c,u,m,!1)}const qj=()=>({...km(),attrs:{}}),Gj=s=>typeof s=="string"&&s.toLowerCase()==="svg";function nk(s,i,r,l){const c=w.useMemo(()=>{const u=qj();return Yj(u,i,Gj(l),s.transformTemplate,s.style),{...u.attrs,style:{...u.style}}},[i]);if(s.style){const u={};Hj(u,s.style,s),c.style={...u,...c.style}}return c}const rk=["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"];
vendor: 37,903 bytes, line 205
205function Lm(s){return typeof s!="string"||s.includes("-")?!1:!!(rk.indexOf(s)>-1||/[A-Z]/u.test(s))}function ok(s,i,r,{latestValues:l},c,u=!1){const p=(Lm(s)?nk:tk)(i,l,c,s),x=GE(i,typeof s=="string",u),f=s!==w.Fragment?{...x,...p,ref:r}:{},{children:y}=i,b=w.useMemo(()=>vt(y)?y.get():y,[y]);return w.createElement(s,{...f,children:b})}function ab(s){const i=[{},{}];return s?.values.forEach((r,l)=>{i[0][l]=r.get(),i[1][l]=r.getVelocity()}),i}function Dm(s,i,r,l){if(typeof i=="function"){const[c,u]=ab(l);i=i(r!==void 0?r:s.custom,c,u)}if(typeof i=="string"&&(i=s.variants&&s.variants[i]),typeof i=="function"){const[c,u]=ab(l);i=i(r!==void 0?r:s.custom,c,u)}return i}function vl(s){return vt(s)?s.get():s}function lk({scrapeMotionValuesFromProps:s,createRenderState:i},r,l,c){return{latestValues:ck(r,l,c,s),renderState:i()}}function ck(s,i,r,l){const c={},u=l(s,{});for(const j in u)c[j]=vl(u[j]);let{initial:m,animate:p}=s;const x=$l(s),f=_j(s);i&&f&&!x&&s.inherit!==!1&&(m===void 0&&(m=i.initial),p===void 0&&(p=i.animate));let y=r?r.initial===!1:!1;y=y||m===!1;const b=y?p:m;if(b&&typeof b!="boolean"&&!Zl(b)){const j=Array.isArray(b)?b:[b];for(let N=0;N<j.length;N++){const S=Dm(s,j[N]);if(S){const{transitionEnd:T,transition:C,...R}=S;for(const M in R){let O=R[M];if(Array.isArray(O)){const Y=y?O.length-1:0;O=O[Y]}O!==null&&(c[M]=O)}for(const M in T)c[M]=T[M]}}}return c}const Fj=s=>(i,r)=>{const l=w.useContext(Kl),c=w.useContext(Xl),u=()=>lk(s,i,l,c);return r?u():sm(u)};function Rm(s,i,r){const{style:l}=s,c={};for(const u in l)(vt(l[u])||i.style&&vt(i.style[u])||Wj(u,s)||r?.getValue(u)?.liveStyle!==void 0)&&(c[u]=l[u]);return c}const dk=Fj({scrapeMotionValuesFromProps:Rm,createRenderState:km});function Qj(s,i,r){const l=Rm(s,i,r);for(const c in s)if(vt(s[c])||vt(i[c])){const u=yn.indexOf(c)!==-1?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c;l[u]=s[c]}return l}const hk=Fj({scrapeMotionValuesFromProps:Qj,createRenderState:qj}),uk=Symbol.for("motionComponentSymbol");function en(s){return s&&typeof s=="object"&&Object.prototype.hasOwnProperty.call(s,"current")}function mk(s,i,r){return w.useCallback(l=>{l&&s.onMount&&s.onMount(l),i&&(l?i.mount(l):i.unmount()),r&&(typeof r=="function"?r(l):en(r)&&(r.current=l))},[i])}const Om=s=>s.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),pk="framerAppearId",Xj="data-"+Om(pk),Kj=w.createContext({});function fk(s,i,r,l,c){const{visualElement:u}=w.useContext(Kl),m=w.useContext(zj),p=w.useContext(Xl),x=w.useContext(Sm).reducedMotion,f=w.useRef(null);l=l||m.renderer,!f.current&&l&&(f.current=l(s,{visualState:i,parent:u,props:r,presenceContext:p,blockInitialAnimation:p?p.initial===!1:!1,reducedMotionConfig:x}));const y=f.current,b=w.useContext(Kj);y&&!y.projection&&c&&(y.type==="html"||y.type==="svg")&&xk(f.current,r,c,b);const j=w.useRef(!1);w.useInsertionEffect(()=>{y&&j.current&&y.update(r,p)});const N=r[Xj],S=w.useRef(!!N&&!window.MotionHandoffIsComplete?.(N)&&window.MotionHasOptimisedAnimation?.(N));return Fv(()=>{y&&(j.current=!0,window.MotionIsMounted=!0,y.updateFeatures(),y.scheduleRenderMicrotask(),S.current&&y.animationState&&y.animationState.animateChanges())}),w.useEffect(()=>{y&&(!S.current&&y.animationState&&y.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(N)}),S.current=!1),y.enteringChildren=void 0)}),y}function xk(s,i,r,l){const{layoutId:c,layout:u,drag:m,dragConstraints:p,layoutScroll:x,layoutRoot:f,layoutCrossfade:y}=i;s.projection=new r(s.latestValues,i["data-framer-portal-id"]?void 0:Zj(s.parent)),s.projection.setOptions({layoutId:c,layout:u,alwaysMeasureLayout:!!m||p&&en(p),visualElement:s,animationType:typeof u=="string"?u:"both",initialPromotionConfig:l,crossfade:y,layoutScroll:x,layoutRoot:f})}function Zj(s){if(s)return s.options.allowProjection!==!1?s.projection:Zj(s.parent)}function Vh(s,{forwardMotionProps:i=!1}={},r,l){r&&HE(r);const c=Lm(s)?hk:dk;function u(p,x){let f;const y={...w.useContext(Sm),...p,layoutId:yk(p)},{isStatic:b}=y,j=QE(p),N=c(p,b);if(!b&&am){gk();const S=bk(y);f=S.MeasureLayout,j.visualElement=fk(s,N,y,l,S.ProjectionNode)}return e.jsxs(Kl.Provider,{value:j,children:[f&&j.visualElement?e.jsx(f,{visualElement:j.visualElement,...y}):null,ok(s,p,mk(N,j.visualElement,x),N,b,i)]})}u.displayName=`motion.${typeof s=="string"?s:`create(${s.displayName??s.name??""})`}`;const m=w.forwardRef(u);return m[uk]=s,m}function yk({layoutId:s}){const i=w.useContext(tm).id;return i&&s!==void 0?i+"-"+s:s}function gk(s,i){w.useContext(zj).strict}function bk(s){const{drag:i,layout:r}=dn;if(!i&&!r)return{};const l={...i,...r};return{MeasureLayout:i?.isEnabled(s)||r?.isEnabled(s)?l.MeasureLayout:void 0,ProjectionNode:l.ProjectionNode}}function vk(s,i){if(typeof Proxy>"u")return Vh;const r=new Map,l=(u,m)=>Vh(u,m,s,i),c=(u,m)=>l(u,m);return new Proxy(c,{get:(u,m)=>m==="create"?l:(r.has(m)||r.set(m,Vh(m,void 0,s,i)),r.get(m))})}function $j({top:s,left:i,right:r,bottom:l}){return{x:{min:i,max:r},y:{min:s,max:l}}}function jk({x:s,y:i}){return{top:i.min,right:s.max,bottom:i.max,left:s.min}}function wk(s,i){if(!i)return s;const r=i({x:s.left,y:s.top}),l=i({x:s.right,y:s.bottom});return{top:r.y,left:r.x,bottom:l.y,right:l.x}}function _h(s){return s===void 0||s===1}function Nu({scale:s,scaleX:i,scaleY:r}){return!_h(s)||!_h(i)||!_h(r)}function ri(s){return Nu(s)||Jj(s)||s.z||s.rotate||s.rotateX||s.rotateY||s.skewX||s.skewY}function Jj(s){return ib(s.x)||ib(s.y)}function ib(s){return s&&s!=="0%"}function Ol(s,i,r){const l=s-r,c=i*l;return r+c}function nb(s,i,r,l,c){return c!==void 0&&(s=Ol(s,c,l)),Ol(s,r,l)+i}function Tu(s,i=0,r=1,l,c){s.min=nb(s.min,i,r,l,c),s.max=nb(s.max,i,r,l,c)}function ew(s,{x:i,y:r}){Tu(s.x,i.translate,i.scale,i.originPoint),Tu(s.y,r.translate,r.scale,r.originPoint)}const rb=.999999999999,ob=1.0000000000001;function Nk(s,i,r,l=!1){const c=r.length;if(!c)return;i.x=i.y=1;let u,m;for(let p=0;p<c;p++){u=r[p],m=u.projectionDelta;const{visualElement:x}=u.options;x&&x.props.style&&x.props.style.display==="contents"||(l&&u.options.layoutScroll&&u.scroll&&u!==u.root&&sn(s,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),m&&(i.x*=m.x.scale,i.y*=m.y.scale,ew(s,m)),l&&ri(u.latestValues)&&sn(s,u.latestValues))}i.x<ob&&i.x>rb&&(i.x=1),i.y<ob&&i.y>rb&&(i.y=1)}function tn(s,i){s.min=s.min+i,s.max=s.max+i}function lb(s,i,r,l,c=.5){const u=Qe(s.min,s.max,c);Tu(s,i,r,u,l)}function sn(s,i){lb(s.x,i.x,i.scaleX,i.scale,i.originX),lb(s.y,i.y,i.scaleY,i.scale,i.originY)}function tw(s,i){return $j(wk(s.getBoundingClientRect(),i))}function Tk(s,i,r){const l=tw(s,r),{scroll:c}=i;return c&&(tn(l.x,c.offset.x),tn(l.y,c.offset.y)),l}const cb=()=>({translate:0,scale:1,origin:0,originPoint:0}),an=()=>({x:cb(),y:cb()}),db=()=>({min:0,max:0}),st=()=>({x:db(),y:db()}),Su={current:null},sw={current:!1};function Sk(){if(sw.current=!0,!!am)if(window.matchMedia){const s=window.matchMedia("(prefers-reduced-motion)"),i=()=>Su.current=s.matches;s.addEventListener("change",i),i()}else Su.current=!1}const Ak=new WeakMap;function Ck(s,i,r){for(const l in i){const c=i[l],u=r[l];if(vt(c))s.addValue(l,c);else if(vt(u))s.addValue(l,cn(c,{owner:s}));else if(u!==c)if(s.hasValue(l)){const m=s.getValue(l);m.liveStyle===!0?m.jump(c):m.hasAnimated||m.set(c)}else{const m=s.getStaticValue(l);s.addValue(l,cn(m!==void 0?m:c,{owner:s}))}}for(const l in r)i[l]===void 0&&s.removeValue(l);return i}const hb=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Ek{scrapeMotionValuesFromProps(i,r,l){return{}}constructor({parent:i,props:r,presenceContext:l,reducedMotionConfig:c,blockInitialAnimation:u,visualState:m},p={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=vm,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const j=Rt.now();this.renderScheduledAt<j&&(this.renderScheduledAt=j,Ge.render(this.render,!1,!0))};const{latestValues:x,renderState:f}=m;this.latestValues=x,this.baseTarget={...x},this.initialValues=r.initial?{...x}:{},this.renderState=f,this.parent=i,this.props=r,this.presenceContext=l,this.depth=i?i.depth+1:0,this.reducedMotionConfig=c,this.options=p,this.blockInitialAnimation=!!u,this.isControllingVariants=$l(r),this.isVariantNode=_j(r),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(i&&i.current);const{willChange:y,...b}=this.scrapeMotionValuesFromProps(r,{},this);for(const j in b){const N=b[j];x[j]!==void 0&&vt(N)&&N.set(x[j])}}mount(i){this.current=i,Ak.set(i,this),this.projection&&!this.projection.instance&&this.projection.mount(i),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((r,l)=>this.bindToMotionValue(l,r)),sw.current||Sk(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Su.current,this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),Pa(this.notifyUpdate),Pa(this.render),this.valueSubscriptions.forEach(i=>i()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const i in this.events)this.events[i].clear();for(const i in this.features){const r=this.features[i];r&&(r.unmount(),r.isMounted=!1)}this.current=null}addChild(i){this.children.add(i),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(i)}removeChild(i){this.children.delete(i),this.enteringChildren&&this.enteringChildren.delete(i)}bindToMotionValue(i,r){this.valueSubscriptions.has(i)&&this.valueSubscriptions.get(i)();const l=gn.has(i);l&&this.onBindTransform&&this.onBindTransform();const c=r.on("change",m=>{this.latestValues[i]=m,this.props.onUpdate&&Ge.preRender(this.notifyUpdate),l&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let u;window.MotionCheckAppearSync&&(u=window.MotionCheckAppearSync(this,i,r)),this.valueSubscriptions.set(i,()=>{c(),u&&u(),r.owner&&r.stop()})}sortNodePosition(i){return!this.current||!this.sortInstanceNodePosition||this.type!==i.type?0:this.sortInstanceNodePosition(this.current,i.current)}updateFeatures(){let i="animation";for(i in dn){const r=dn[i];if(!r)continue;const{isEnabled:l,Feature:c}=r;if(!this.features[i]&&c&&l(this.props)&&(this.features[i]=new c(this)),this.features[i]){const u=this.features[i];u.isMounted?u.update():(u.mount(),u.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):st()}getStaticValue(i){return this.latestValues[i]}setStaticValue(i,r){this.latestValues[i]=r}update(i,r){(i.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=i,this.prevPresenceContext=this.presenceContext,this.presenceContext=r;for(let l=0;l<hb.length;l++){const c=hb[l];this.propEventSubscriptions[c]&&(this.propEventSubscriptions[c](),delete this.propEventSubscriptions[c]);const u="on"+c,m=i[u];m&&(this.propEventSubscriptions[c]=this.on(c,m))}this.prevMotionValues=Ck(this,this.scrapeMotionValuesFromProps(i,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(i){return this.props.variants?this.props.variants[i]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(i){const r=this.getClosestVariantNode();if(r)return r.variantChildren&&r.variantChildren.add(i),()=>r.variantChildren.delete(i)}addValue(i,r){const l=this.values.get(i);r!==l&&(l&&this.removeValue(i),this.bindToMotionValue(i,r),this.values.set(i,r),this.latestValues[i]=r.get())}removeValue(i){this.values.delete(i);const r=this.valueSubscriptions.get(i);r&&(r(),this.valueSubscriptions.delete(i)),delete this.latestValues[i],this.removeValueFromRenderState(i,this.renderState)}hasValue(i){return this.values.has(i)}getValue(i,r){if(this.props.values&&this.props.values[i])return this.props.values[i];let l=this.values.get(i);return l===void 0&&r!==void 0&&(l=cn(r===null?void 0:r,{owner:this}),this.addValue(i,l)),l}readValue(i,r){let l=this.latestValues[i]!==void 0||!this.current?this.latestValues[i]:this.getBaseTargetFromProps(this.props,i)??this.readValueFromInstance(this.current,i,this.options);return l!=null&&(typeof l=="string"&&(Qv(l)||Kv(l))?l=parseFloat(l):!ME(l)&&Ma.test(r)&&(l=Dj(i,r)),this.setBaseTarget(i,vt(l)?l.get():l)),vt(l)?l.get():l}setBaseTarget(i,r){this.baseTarget[i]=r}getBaseTarget(i){const{initial:r}=this.props;let l;if(typeof r=="string"||typeof r=="object"){const u=Dm(this.props,r,this.presenceContext?.custom);u&&(l=u[i])}if(r&&l!==void 0)return l;const c=this.getBaseTargetFromProps(this.props,i);return c!==void 0&&!vt(c)?c:this.initialValues[i]!==void 0&&l===void 0?void 0:this.baseTarget[i]}on(i,r){return this.events[i]||(this.events[i]=new lm),this.events[i].add(r)}notify(i,...r){this.events[i]&&this.events[i].notify(...r)}scheduleRenderMicrotask(){Nm.render(this.render)}}class aw extends Ek{constructor(){super(...arguments),this.KeyframeResolver=NE}sortInstanceNodePosition(i,r){return i.compareDocumentPosition(r)&2?1:-1}getBaseTargetFromProps(i,r){return i.style?i.style[r]:void 0}removeValueFromRenderState(i,{vars:r,style:l}){delete r[i],delete l[i]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:i}=this.props;vt(i)&&(this.childSubscription=i.on("change",r=>{this.current&&(this.current.textContent=`${r}`)}))}}function iw(s,{style:i,vars:r},l,c){const u=s.style;let m;for(m in i)u[m]=i[m];c?.applyProjectionStyles(u,l);for(m in r)u.setProperty(m,r[m])}function kk(s){return window.getComputedStyle(s)}class Lk extends aw{constructor(){super(...arguments),this.type="html",this.renderInstance=iw}readValueFromInstance(i,r){if(gn.has(r))return this.projection?.isProjecting?xu(r):W5(i,r);{const l=kk(i),c=(hm(r)?l.getPropertyValue(r):l[r])||0;return typeof c=="string"?c.trim():c}}measureInstanceViewportBox(i,{transformPagePoint:r}){return tw(i,r)}build(i,r,l){Em(i,r,l.transformTemplate)}scrapeMotionValuesFromProps(i,r,l){return Rm(i,r,l)}}const nw=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Dk(s,i,r,l){iw(s,i,void 0,l);for(const c in i.attrs)s.setAttribute(nw.has(c)?c:Om(c),i.attrs[c])}class Rk extends aw{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=st}getBaseTargetFromProps(i,r){return i[r]}readValueFromInstance(i,r){if(gn.has(r)){const l=Lj(r);return l&&l.default||0}return r=nw.has(r)?r:Om(r),i.getAttribute(r)}scrapeMotionValuesFromProps(i,r,l){return Qj(i,r,l)}build(i,r,l){Yj(i,r,this.isSVGTag,l.transformTemplate,l.style)}renderInstance(i,r,l,c){Dk(i,r,l,c)}mount(i){this.isSVGTag=Gj(i.tagName),super.mount(i)}}const Ok=(s,i)=>Lm(s)?new Rk(i):new Lk(i,{allowProjection:s!==w.Fragment});function rn(s,i,r){const l=s.getProps();return Dm(l,i,r!==void 0?r:l.custom,s)}const Au=s=>Array.isArray(s);function Pk(s,i,r){s.hasValue(i)?s.getValue(i).set(r):s.addValue(i,cn(r))}function Mk(s){return Au(s)?s[s.length-1]||0:s}function Uk(s,i){const r=rn(s,i);let{transitionEnd:l={},transition:c={},...u}=r||{};u={...u,...l};for(const m in u){const p=Mk(u[m]);Pk(s,m,p)}}function Ik(s){return!!(vt(s)&&s.add)}function Cu(s,i){const r=s.getValue("willChange");if(Ik(r))return r.add(i);if(!r&&ta.WillChange){const l=new ta.WillChange("auto");s.addValue("willChange",l),l.add(i)}}function rw(s){return s.props[Xj]}const Bk=s=>s!==null;function zk(s,{repeat:i,repeatType:r="loop"},l){const c=s.filter(Bk),u=i&&r!=="loop"&&i%2===1?0:c.length-1;return c[u]}const Vk={type:"spring",stiffness:500,damping:25,restSpeed:10},_k=s=>({type:"spring",stiffness:550,damping:s===0?2*Math.sqrt(550):30,restSpeed:10}),Wk={type:"keyframes",duration:.8},Hk={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Yk=(s,{keyframes:i})=>i.length>2?Wk:gn.has(s)?s.startsWith("scale")?_k(i[1]):Vk:Hk;function qk({when:s,delay:i,delayChildren:r,staggerChildren:l,staggerDirection:c,repeat:u,repeatType:m,repeatDelay:p,from:x,elapsed:f,...y}){return!!Object.keys(y).length}const Pm=(s,i,r,l={},c,u)=>m=>{const p=jm(l,s)||{},x=p.delay||l.delay||0;let{elapsed:f=0}=l;f=f-As(x);const y={keyframes:Array.isArray(r)?r:[null,r],ease:"easeOut",velocity:i.getVelocity(),...p,delay:-f,onUpdate:j=>{i.set(j),p.onUpdate&&p.onUpdate(j)},onComplete:()=>{m(),p.onComplete&&p.onComplete()},name:s,motionValue:i,element:u?void 0:c};qk(p)||Object.assign(y,Yk(s,y)),y.duration&&(y.duration=As(y.duration)),y.repeatDelay&&(y.repeatDelay=As(y.repeatDelay)),y.from!==void 0&&(y.keyframes[0]=y.from);let b=!1;if((y.type===!1||y.duration===0&&!y.repeatDelay)&&(ju(y),y.delay===0&&(b=!0)),(ta.instantAnimations||ta.skipAnimations)&&(b=!0,ju(y),y.delay=0),y.allowFlatten=!p.type&&!p.ease,b&&!u&&i.get()!==void 0){const j=zk(y.keyframes,p);if(j!==void 0){Ge.update(()=>{y.onUpdate(j),y.onComplete()});return}}return p.isSync?new bm(y):new hE(y)};function Gk({protectedKeys:s,needsAnimating:i},r){const l=s.hasOwnProperty(r)&&i[r]!==!0;return i[r]=!1,l}function ow(s,i,{delay:r=0,transitionOverride:l,type:c}={}){let{transition:u=s.getDefaultTransition(),transitionEnd:m,...p}=i;l&&(u=l);const x=[],f=c&&s.animationState&&s.animationState.getState()[c];for(const y in p){const b=s.getValue(y,s.latestValues[y]??null),j=p[y];if(j===void 0||f&&Gk(f,y))continue;const N={delay:r,...jm(u||{},y)},S=b.get();if(S!==void 0&&!b.isAnimating&&!Array.isArray(j)&&j===S&&!N.velocity)continue;let T=!1;if(window.MotionHandoffAnimation){const R=rw(s);if(R){const M=window.MotionHandoffAnimation(R,y,Ge);M!==null&&(N.startTime=M,T=!0)}}Cu(s,y),b.start(Pm(y,b,j,s.shouldReduceMotion&&Cj.has(y)?{type:!1}:N,s,T));const C=b.animation;C&&x.push(C)}return m&&Promise.all(x).then(()=>{Ge.update(()=>{m&&Uk(s,m)})}),x}function lw(s,i,r,l=0,c=1){const u=Array.from(s).sort((f,y)=>f.sortNodePosition(y)).indexOf(i),m=s.size,p=(m-1)*l;return typeof r=="function"?r(u,m):c===1?u*l:p-u*l}function Eu(s,i,r={}){const l=rn(s,i,r.type==="exit"?s.presenceContext?.custom:void 0);let{transition:c=s.getDefaultTransition()||{}}=l||{};r.transitionOverride&&(c=r.transitionOverride);const u=l?()=>Promise.all(ow(s,l,r)):()=>Promise.resolve(),m=s.variantChildren&&s.variantChildren.size?(x=0)=>{const{delayChildren:f=0,staggerChildren:y,staggerDirection:b}=c;return Fk(s,i,x,f,y,b,r)}:()=>Promise.resolve(),{when:p}=c;if(p){const[x,f]=p==="beforeChildren"?[u,m]:[m,u];return x().then(()=>f())}else return Promise.all([u(),m(r.delay)])}function Fk(s,i,r=0,l=0,c=0,u=1,m){const p=[];for(const x of s.variantChildren)x.notify("AnimationStart",i),p.push(Eu(x,i,{...m,delay:r+(typeof l=="function"?0:l)+lw(s.variantChildren,x,l,c,u)}).then(()=>x.notify("AnimationComplete",i)));return Promise.all(p)}function Qk(s,i,r={}){s.notify("AnimationStart",i);let l;if(Array.isArray(i)){const c=i.map(u=>Eu(s,u,r));l=Promise.all(c)}else if(typeof i=="string")l=Eu(s,i,r);else{const c=typeof i=="function"?rn(s,i,r.custom):i;l=Promise.all(ow(s,c,r))}return l.then(()=>{s.notify("AnimationComplete",i)})}function cw(s,i){if(!Array.isArray(i))return!1;const r=i.length;if(r!==s.length)return!1;for(let l=0;l<r;l++)if(i[l]!==s[l])return!1;return!0}const Xk=Cm.length;function dw(s){if(!s)return;if(!s.isControllingVariants){const r=s.parent?dw(s.parent)||{}:{};return s.props.initial!==void 0&&(r.initial=s.props.initial),r}const i={};for(let r=0;r<Xk;r++){const l=Cm[r],c=s.props[l];(kr(c)||c===!1)&&(i[l]=c)}return i}const Kk=[...Am].reverse(),Zk=Am.length;function $k(s){return i=>Promise.all(i.map(({animation:r,options:l})=>Qk(s,r,l)))}function Jk(s){let i=$k(s),r=ub(),l=!0;const c=x=>(f,y)=>{const b=rn(s,y,x==="exit"?s.presenceContext?.custom:void 0);if(b){const{transition:j,transitionEnd:N,...S}=b;f={...f,...S,...N}}return f};function u(x){i=x(s)}function m(x){const{props:f}=s,y=dw(s.parent)||{},b=[],j=new Set;let N={},S=1/0;for(let C=0;C<Zk;C++){const R=Kk[C],M=r[R],O=f[R]!==void 0?f[R]:y[R],Y=kr(O),q=R===x?M.isActive:null;q===!1&&(S=C);let Z=O===y[R]&&O!==f[R]&&Y;if(Z&&l&&s.manuallyAnimateOnMount&&(Z=!1),M.protectedKeys={...N},!M.isActive&&q===null||!O&&!M.prevProp||Zl(O)||typeof O=="boolean")continue;const V=e4(M.prevProp,O);let H=V||R===x&&M.isActive&&!Z&&Y||C>S&&Y,ie=!1;const de=Array.isArray(O)?O:[O];let ye=de.reduce(c(R),{});q===!1&&(ye={});const{prevResolvedValues:ve={}}=M,ke={...ve,...ye},ae=G=>{H=!0,j.has(G)&&(ie=!0,j.delete(G)),M.needsAnimating[G]=!0;const z=s.getValue(G);z&&(z.liveStyle=!1)};for(const G in ke){const z=ye[G],le=ve[G];if(N.hasOwnProperty(G))continue;let pe=!1;Au(z)&&Au(le)?pe=!cw(z,le):pe=z!==le,pe?z!=null?ae(G):j.add(G):z!==void 0&&j.has(G)?ae(G):M.protectedKeys[G]=!0}M.prevProp=O,M.prevResolvedValues=ye,M.isActive&&(N={...N,...ye}),l&&s.blockInitialAnimation&&(H=!1);const ge=Z&&V;H&&(!ge||ie)&&b.push(...de.map(G=>{const z={type:R};if(typeof G=="string"&&l&&!ge&&s.manuallyAnimateOnMount&&s.parent){const{parent:le}=s,pe=rn(le,G);if(le.enteringChildren&&pe){const{delayChildren:E}=pe.transition||{};z.delay=lw(le.enteringChildren,s,E)}}return{animation:G,options:z}}))}if(j.size){const C={};if(typeof f.initial!="boolean"){const R=rn(s,Array.isArray(f.initial)?f.initial[0]:f.initial);R&&R.transition&&(C.transition=R.transition)}j.forEach(R=>{const M=s.getBaseTarget(R),O=s.getValue(R);O&&(O.liveStyle=!0),C[R]=M??null}),b.push({animation:C})}let T=!!b.length;return l&&(f.initial===!1||f.initial===f.animate)&&!s.manuallyAnimateOnMount&&(T=!1),l=!1,T?i(b):Promise.resolve()}function p(x,f){if(r[x].isActive===f)return Promise.resolve();s.variantChildren?.forEach(b=>b.animationState?.setActive(x,f)),r[x].isActive=f;const y=m(x);for(const b in r)r[b].protectedKeys={};return y}return{animateChanges:m,setActive:p,setAnimateFunction:u,getState:()=>r,reset:()=>{r=ub()}}}function e4(s,i){return typeof i=="string"?i!==s:Array.isArray(i)?!cw(i,s):!1}function ni(s=!1){return{isActive:s,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function ub(){return{animate:ni(!0),whileInView:ni(),whileHover:ni(),whileTap:ni(),whileDrag:ni(),whileFocus:ni(),exit:ni()}}class Ia{constructor(i){this.isMounted=!1,this.node=i}update(){}}class t4 extends Ia{constructor(i){super(i),i.animationState||(i.animationState=Jk(i))}updateAnimationControlsSubscription(){const{animate:i}=this.node.getProps();Zl(i)&&(this.unmountControls=i.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:i}=this.node.getProps(),{animate:r}=this.node.prevProps||{};i!==r&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let s4=0;class a4 extends Ia{constructor(){super(...arguments),this.id=s4++}update(){if(!this.node.presenceContext)return;const{isPresent:i,onExitComplete:r}=this.node.presenceContext,{isPresent:l}=this.node.prevPresenceContext||{};if(!this.node.animationState||i===l)return;const c=this.node.animationState.setActive("exit",!i);r&&!i&&c.then(()=>{r(this.id)})}mount(){const{register:i,onExitComplete:r}=this.node.presenceContext||{};r&&r(this.id),i&&(this.unmount=i(this.id))}unmount(){}}const i4={animation:{Feature:t4},exit:{Feature:a4}};function Dr(s,i,r,l={passive:!0}){return s.addEventListener(i,r,l),()=>s.removeEventListener(i,r)}function Br(s){return{point:{x:s.pageX,y:s.pageY}}}const n4=s=>i=>Tm(i)&&s(i,Br(i));function br(s,i,r,l){return Dr(s,i,n4(r),l)}const hw=1e-4,r4=1-hw,o4=1+hw,uw=.01,l4=0-uw,c4=0+uw;function Tt(s){return s.max-s.min}function d4(s,i,r){return Math.abs(s-i)<=r}function mb(s,i,r,l=.5){s.origin=l,s.originPoint=Qe(i.min,i.max,s.origin),s.scale=Tt(r)/Tt(i),s.translate=Qe(r.min,r.max,s.origin)-s.originPoint,(s.scale>=r4&&s.scale<=o4||isNaN(s.scale))&&(s.scale=1),(s.translate>=l4&&s.translate<=c4||isNaN(s.translate))&&(s.translate=0)}function vr(s,i,r,l){mb(s.x,i.x,r.x,l?l.originX:void 0),mb(s.y,i.y,r.y,l?l.originY:void 0)}function pb(s,i,r){s.min=r.min+i.min,s.max=s.min+Tt(i)}function h4(s,i,r){pb(s.x,i.x,r.x),pb(s.y,i.y,r.y)}function fb(s,i,r){s.min=i.min-r.min,s.max=s.min+Tt(i)}function jr(s,i,r){fb(s.x,i.x,r.x),fb(s.y,i.y,r.y)}function rs(s){return[s("x"),s("y")]}const mw=({current:s})=>s?s.ownerDocument.defaultView:null,xb=(s,i)=>Math.abs(s-i);function u4(s,i){const r=xb(s.x,i.x),l=xb(s.y,i.y);return Math.sqrt(r**2+l**2)}class pw{constructor(i,r,{transformPagePoint:l,contextWindow:c=window,dragSnapToOrigin:u=!1,distanceThreshold:m=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const j=Hh(this.lastMoveEventInfo,this.history),N=this.startEvent!==null,S=u4(j.offset,{x:0,y:0})>=this.distanceThreshold;if(!N&&!S)return;const{point:T}=j,{timestamp:C}=gt;this.history.push({...T,timestamp:C});const{onStart:R,onMove:M}=this.handlers;N||(R&&R(this.lastMoveEvent,j),this.startEvent=this.lastMoveEvent),M&&M(this.lastMoveEvent,j)},this.handlePointerMove=(j,N)=>{this.lastMoveEvent=j,this.lastMoveEventInfo=Wh(N,this.transformPagePoint),Ge.update(this.updatePoint,!0)},this.handlePointerUp=(j,N)=>{this.end();const{onEnd:S,onSessionEnd:T,resumeAnimation:C}=this.handlers;if(this.dragSnapToOrigin&&C&&C(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const R=Hh(j.type==="pointercancel"?this.lastMoveEventInfo:Wh(N,this.transformPagePoint),this.history);this.startEvent&&S&&S(j,R),T&&T(j,R)},!Tm(i))return;this.dragSnapToOrigin=u,this.handlers=r,this.transformPagePoint=l,this.distanceThreshold=m,this.contextWindow=c||window;const p=Br(i),x=Wh(p,this.transformPagePoint),{point:f}=x,{timestamp:y}=gt;this.history=[{...f,timestamp:y}];const{onSessionStart:b}=r;b&&b(i,Hh(x,this.history)),this.removeListeners=Mr(br(this.contextWindow,"pointermove",this.handlePointerMove),br(this.contextWindow,"pointerup",this.handlePointerUp),br(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(i){this.handlers=i}end(){this.removeListeners&&this.removeListeners(),Pa(this.updatePoint)}}function Wh(s,i){return i?{point:i(s.point)}:s}function yb(s,i){return{x:s.x-i.x,y:s.y-i.y}}function Hh({point:s},i){return{point:s,delta:yb(s,fw(i)),offset:yb(s,m4(i)),velocity:p4(i,.1)}}function m4(s){return s[0]}function fw(s){return s[s.length-1]}function p4(s,i){if(s.length<2)return{x:0,y:0};let r=s.length-1,l=null;const c=fw(s);for(;r>=0&&(l=s[r],!(c.timestamp-l.timestamp>As(i)));)r--;if(!l)return{x:0,y:0};const u=os(c.timestamp-l.timestamp);if(u===0)return{x:0,y:0};const m={x:(c.x-l.x)/u,y:(c.y-l.y)/u};return m.x===1/0&&(m.x=0),m.y===1/0&&(m.y=0),m}function f4(s,{min:i,max:r},l){return i!==void 0&&s<i?s=l?Qe(i,s,l.min):Math.max(s,i):r!==void 0&&s>r&&(s=l?Qe(r,s,l.max):Math.min(s,r)),s}function gb(s,i,r){return{min:i!==void 0?s.min+i:void 0,max:r!==void 0?s.max+r-(s.max-s.min):void 0}}function x4(s,{top:i,left:r,bottom:l,right:c}){return{x:gb(s.x,r,c),y:gb(s.y,i,l)}}function bb(s,i){let r=i.min-s.min,l=i.max-s.max;return i.max-i.min<s.max-s.min&&([r,l]=[l,r]),{min:r,max:l}}function y4(s,i){return{x:bb(s.x,i.x),y:bb(s.y,i.y)}}function g4(s,i){let r=.5;const l=Tt(s),c=Tt(i);return c>l?r=Ar(i.min,i.max-l,s.min):l>c&&(r=Ar(s.min,s.max-c,i.min)),ea(0,1,r)}function b4(s,i){const r={};return i.min!==void 0&&(r.min=i.min-s.min),i.max!==void 0&&(r.max=i.max-s.min),r}const ku=.35;function v4(s=ku){return s===!1?s=0:s===!0&&(s=ku),{x:vb(s,"left","right"),y:vb(s,"top","bottom")}}function vb(s,i,r){return{min:jb(s,i),max:jb(s,r)}}function jb(s,i){return typeof s=="number"?s:s[i]||0}const j4=new WeakMap;class w4{constructor(i){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=st(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=i}start(i,{snapToCursor:r=!1,distanceThreshold:l}={}){const{presenceContext:c}=this.visualElement;if(c&&c.isPresent===!1)return;const u=b=>{const{dragSnapToOrigin:j}=this.getProps();j?this.pauseAnimation():this.stopAnimation(),r&&this.snapToCursor(Br(b).point)},m=(b,j)=>{const{drag:N,dragPropagation:S,onDragStart:T}=this.getProps();if(N&&!S&&(this.openDragLock&&this.openDragLock(),this.openDragLock=CE(N),!this.openDragLock))return;this.latestPointerEvent=b,this.latestPanInfo=j,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),rs(R=>{let M=this.getAxisMotionValue(R).get()||0;if(Cs.test(M)){const{projection:O}=this.visualElement;if(O&&O.layout){const Y=O.layout.layoutBox[R];Y&&(M=Tt(Y)*(parseFloat(M)/100))}}this.originPoint[R]=M}),T&&Ge.postRender(()=>T(b,j)),Cu(this.visualElement,"transform");const{animationState:C}=this.visualElement;C&&C.setActive("whileDrag",!0)},p=(b,j)=>{this.latestPointerEvent=b,this.latestPanInfo=j;const{dragPropagation:N,dragDirectionLock:S,onDirectionLock:T,onDrag:C}=this.getProps();if(!N&&!this.openDragLock)return;const{offset:R}=j;if(S&&this.currentDirection===null){this.currentDirection=N4(R),this.currentDirection!==null&&T&&T(this.currentDirection);return}this.updateAxis("x",j.point,R),this.updateAxis("y",j.point,R),this.visualElement.render(),C&&C(b,j)},x=(b,j)=>{this.latestPointerEvent=b,this.latestPanInfo=j,this.stop(b,j),this.latestPointerEvent=null,this.latestPanInfo=null},f=()=>rs(b=>this.getAnimationState(b)==="paused"&&this.getAxisMotionValue(b).animation?.play()),{dragSnapToOrigin:y}=this.getProps();this.panSession=new pw(i,{onSessionStart:u,onStart:m,onMove:p,onSessionEnd:x,resumeAnimation:f},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:y,distanceThreshold:l,contextWindow:mw(this.visualElement)})}stop(i,r){const l=i||this.latestPointerEvent,c=r||this.latestPanInfo,u=this.isDragging;if(this.cancel(),!u||!c||!l)return;const{velocity:m}=c;this.startAnimation(m);const{onDragEnd:p}=this.getProps();p&&Ge.postRender(()=>p(l,c))}cancel(){this.isDragging=!1;const{projection:i,animationState:r}=this.visualElement;i&&(i.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:l}=this.getProps();!l&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),r&&r.setActive("whileDrag",!1)}updateAxis(i,r,l){const{drag:c}=this.getProps();if(!l||!ml(i,c,this.currentDirection))return;const u=this.getAxisMotionValue(i);let m=this.originPoint[i]+l[i];this.constraints&&this.constraints[i]&&(m=f4(m,this.constraints[i],this.elastic[i])),u.set(m)}resolveConstraints(){const{dragConstraints:i,dragElastic:r}=this.getProps(),l=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,c=this.constraints;i&&en(i)?this.constraints||(this.constraints=this.resolveRefConstraints()):i&&l?this.constraints=x4(l.layoutBox,i):this.constraints=!1,this.elastic=v4(r),c!==this.constraints&&l&&this.constraints&&!this.hasMutatedConstraints&&rs(u=>{this.constraints!==!1&&this.getAxisMotionValue(u)&&(this.constraints[u]=b4(l.layoutBox[u],this.constraints[u]))})}resolveRefConstraints(){const{dragConstraints:i,onMeasureDragConstraints:r}=this.getProps();if(!i||!en(i))return!1;const l=i.current,{projection:c}=this.visualElement;if(!c||!c.layout)return!1;const u=Tk(l,c.root,this.visualElement.getTransformPagePoint());let m=y4(c.layout.layoutBox,u);if(r){const p=r(jk(m));this.hasMutatedConstraints=!!p,p&&(m=$j(p))}return m}startAnimation(i){const{drag:r,dragMomentum:l,dragElastic:c,dragTransition:u,dragSnapToOrigin:m,onDragTransitionEnd:p}=this.getProps(),x=this.constraints||{},f=rs(y=>{if(!ml(y,r,this.currentDirection))return;let b=x&&x[y]||{};m&&(b={min:0,max:0});const j=c?200:1e6,N=c?40:1e7,S={type:"inertia",velocity:l?i[y]:0,bounceStiffness:j,bounceDamping:N,timeConstant:750,restDelta:1,restSpeed:10,...u,...b};return this.startAxisValueAnimation(y,S)});return Promise.all(f).then(p)}startAxisValueAnimation(i,r){const l=this.getAxisMotionValue(i);return Cu(this.visualElement,i),l.start(Pm(i,l,0,r,this.visualElement,!1))}stopAnimation(){rs(i=>this.getAxisMotionValue(i).stop())}pauseAnimation(){rs(i=>this.getAxisMotionValue(i).animation?.pause())}getAnimationState(i){return this.getAxisMotionValue(i).animation?.state}getAxisMotionValue(i){const r=`_drag${i.toUpperCase()}`,l=this.visualElement.getProps(),c=l[r];return c||this.visualElement.getValue(i,(l.initial?l.initial[i]:void 0)||0)}snapToCursor(i){rs(r=>{const{drag:l}=this.getProps();if(!ml(r,l,this.currentDirection))return;const{projection:c}=this.visualElement,u=this.getAxisMotionValue(r);if(c&&c.layout){const{min:m,max:p}=c.layout.layoutBox[r];u.set(i[r]-Qe(m,p,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:i,dragConstraints:r}=this.getProps(),{projection:l}=this.visualElement;if(!en(r)||!l||!this.constraints)return;this.stopAnimation();const c={x:0,y:0};rs(m=>{const p=this.getAxisMotionValue(m);if(p&&this.constraints!==!1){const x=p.get();c[m]=g4({min:x,max:x},this.constraints[m])}});const{transformTemplate:u}=this.visualElement.getProps();this.visualElement.current.style.transform=u?u({},""):"none",l.root&&l.root.updateScroll(),l.updateLayout(),this.resolveConstraints(),rs(m=>{if(!ml(m,i,null))return;const p=this.getAxisMotionValue(m),{min:x,max:f}=this.constraints[m];p.set(Qe(x,f,c[m]))})}addListeners(){if(!this.visualElement.current)return;j4.set(this.visualElement,this);const i=this.visualElement.current,r=br(i,"pointerdown",x=>{const{drag:f,dragListener:y=!0}=this.getProps();f&&y&&this.start(x)}),l=()=>{const{dragConstraints:x}=this.getProps();en(x)&&x.current&&(this.constraints=this.resolveRefConstraints())},{projection:c}=this.visualElement,u=c.addEventListener("measure",l);c&&!c.layout&&(c.root&&c.root.updateScroll(),c.updateLayout()),Ge.read(l);const m=Dr(window,"resize",()=>this.scalePositionWithinConstraints()),p=c.addEventListener("didUpdate",(({delta:x,hasLayoutChanged:f})=>{this.isDragging&&f&&(rs(y=>{const b=this.getAxisMotionValue(y);b&&(this.originPoint[y]+=x[y].translate,b.set(b.get()+x[y].translate))}),this.visualElement.render())}));return()=>{m(),r(),u(),p&&p()}}getProps(){const i=this.visualElement.getProps(),{drag:r=!1,dragDirectionLock:l=!1,dragPropagation:c=!1,dragConstraints:u=!1,dragElastic:m=ku,dragMomentum:p=!0}=i;return{...i,drag:r,dragDirectionLock:l,dragPropagation:c,dragConstraints:u,dragElastic:m,dragMomentum:p}}}function ml(s,i,r){return(i===!0||i===s)&&(r===null||r===s)}function N4(s,i=10){let r=null;return Math.abs(s.y)>i?r="y":Math.abs(s.x)>i&&(r="x"),r}class T4 extends Ia{constructor(i){super(i),this.removeGroupControls=ls,this.removeListeners=ls,this.controls=new w4(i)}mount(){const{dragControls:i}=this.node.getProps();i&&(this.removeGroupControls=i.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ls}unmount(){this.removeGroupControls(),this.removeListeners()}}const wb=s=>(i,r)=>{s&&Ge.postRender(()=>s(i,r))};class S4 extends Ia{constructor(){super(...arguments),this.removePointerDownListener=ls}onPointerDown(i){this.session=new pw(i,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:mw(this.node)})}createPanHandlers(){const{onPanSessionStart:i,onPanStart:r,onPan:l,onPanEnd:c}=this.node.getProps();return{onSessionStart:wb(i),onStart:wb(r),onMove:l,onEnd:(u,m)=>{delete this.session,c&&Ge.postRender(()=>c(u,m))}}}mount(){this.removePointerDownListener=br(this.node.current,"pointerdown",i=>this.onPointerDown(i))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const jl={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Nb(s,i){return i.max===i.min?0:s/(i.max-i.min)*100}const pr={correct:(s,i)=>{if(!i.target)return s;if(typeof s=="string")if(xe.test(s))s=parseFloat(s);else return s;const r=Nb(s,i.target.x),l=Nb(s,i.target.y);return`${r}% ${l}%`}},A4={correct:(s,{treeScale:i,projectionDelta:r})=>{const l=s,c=Ma.parse(s);if(c.length>5)return l;const u=Ma.createTransformer(s),m=typeof c[0]!="number"?1:0,p=r.x.scale*i.x,x=r.y.scale*i.y;c[0+m]/=p,c[1+m]/=x;const f=Qe(p,x,.5);return typeof c[2+m]=="number"&&(c[2+m]/=f),typeof c[3+m]=="number"&&(c[3+m]/=f),u(c)}};let Yh=!1;class C4 extends w.Component{componentDidMount(){const{visualElement:i,layoutGroup:r,switchLayoutGroup:l,layoutId:c}=this.props,{projection:u}=i;XE(E4),u&&(r.group&&r.group.add(u),l&&l.register&&c&&l.register(u),Yh&&u.root.didUpdate(),u.addEventListener("animationComplete",()=>{this.safeToRemove()}),u.setOptions({...u.options,onExitComplete:()=>this.safeToRemove()})),jl.hasEverUpdated=!0}getSnapshotBeforeUpdate(i){const{layoutDependency:r,visualElement:l,drag:c,isPresent:u}=this.props,{projection:m}=l;
vendor: 4,316 bytes, line 205
205return m&&(m.isPresent=u,Yh=!0,c||i.layoutDependency!==r||r===void 0||i.isPresent!==u?m.willUpdate():this.safeToRemove(),i.isPresent!==u&&(u?m.promote():m.relegate()||Ge.postRender(()=>{const p=m.getStack();(!p||!p.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:i}=this.props.visualElement;i&&(i.root.didUpdate(),Nm.postRender(()=>{!i.currentAnimation&&i.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:i,layoutGroup:r,switchLayoutGroup:l}=this.props,{projection:c}=i;Yh=!0,c&&(c.scheduleCheckAfterUnmount(),r&&r.group&&r.group.remove(c),l&&l.deregister&&l.deregister(c))}safeToRemove(){const{safeToRemove:i}=this.props;i&&i()}render(){return null}}function xw(s){const[i,r]=Bj(),l=w.useContext(tm);return e.jsx(C4,{...s,layoutGroup:l,switchLayoutGroup:w.useContext(Kj),isPresent:i,safeToRemove:r})}const E4={borderRadius:{...pr,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:pr,borderTopRightRadius:pr,borderBottomLeftRadius:pr,borderBottomRightRadius:pr,boxShadow:A4};function k4(s,i,r){const l=vt(s)?s:cn(s);return l.start(Pm("",l,i,r)),l.animation}const L4=(s,i)=>s.depth-i.depth;class D4{constructor(){this.children=[],this.isDirty=!1}add(i){im(this.children,i),this.isDirty=!0}remove(i){nm(this.children,i),this.isDirty=!0}forEach(i){this.isDirty&&this.children.sort(L4),this.isDirty=!1,this.children.forEach(i)}}function R4(s,i){const r=Rt.now(),l=({timestamp:c})=>{const u=c-r;u>=i&&(Pa(l),s(u-i))};return Ge.setup(l,!0),()=>Pa(l)}const yw=["TopLeft","TopRight","BottomLeft","BottomRight"],O4=yw.length,Tb=s=>typeof s=="string"?parseFloat(s):s,Sb=s=>typeof s=="number"||xe.test(s);function P4(s,i,r,l,c,u){c?(s.opacity=Qe(0,r.opacity??1,M4(l)),s.opacityExit=Qe(i.opacity??1,0,U4(l))):u&&(s.opacity=Qe(i.opacity??1,r.opacity??1,l));for(let m=0;m<O4;m++){const p=`border${yw[m]}Radius`;let x=Ab(i,p),f=Ab(r,p);if(x===void 0&&f===void 0)continue;x||(x=0),f||(f=0),x===0||f===0||Sb(x)===Sb(f)?(s[p]=Math.max(Qe(Tb(x),Tb(f),l),0),(Cs.test(f)||Cs.test(x))&&(s[p]+="%")):s[p]=f}(i.rotate||r.rotate)&&(s.rotate=Qe(i.rotate||0,r.rotate||0,l))}function Ab(s,i){return s[i]!==void 0?s[i]:s.borderRadius}const M4=gw(0,.5,ij),U4=gw(.5,.95,ls);function gw(s,i,r){return l=>l<s?0:l>i?1:r(Ar(s,i,l))}function Cb(s,i){s.min=i.min,s.max=i.max}function ns(s,i){Cb(s.x,i.x),Cb(s.y,i.y)}function Eb(s,i){s.translate=i.translate,s.scale=i.scale,s.originPoint=i.originPoint,s.origin=i.origin}function kb(s,i,r,l,c){return s-=i,s=Ol(s,1/r,l),c!==void 0&&(s=Ol(s,1/c,l)),s}function I4(s,i=0,r=1,l=.5,c,u=s,m=s){if(Cs.test(i)&&(i=parseFloat(i),i=Qe(m.min,m.max,i/100)-m.min),typeof i!="number")return;let p=Qe(u.min,u.max,l);s===u&&(p-=i),s.min=kb(s.min,i,r,p,c),s.max=kb(s.max,i,r,p,c)}function Lb(s,i,[r,l,c],u,m){I4(s,i[r],i[l],i[c],i.scale,u,m)}const B4=["x","scaleX","originX"],z4=["y","scaleY","originY"];function Db(s,i,r,l){Lb(s.x,i,B4,r?r.x:void 0,l?l.x:void 0),Lb(s.y,i,z4,r?r.y:void 0,l?l.y:void 0)}function Rb(s){return s.translate===0&&s.scale===1}function bw(s){return Rb(s.x)&&Rb(s.y)}function Ob(s,i){return s.min===i.min&&s.max===i.max}function V4(s,i){return Ob(s.x,i.x)&&Ob(s.y,i.y)}function Pb(s,i){return Math.round(s.min)===Math.round(i.min)&&Math.round(s.max)===Math.round(i.max)}function vw(s,i){return Pb(s.x,i.x)&&Pb(s.y,i.y)}function Mb(s){return Tt(s.x)/Tt(s.y)}function Ub(s,i){return s.translate===i.translate&&s.scale===i.scale&&s.originPoint===i.originPoint}class _4{constructor(){this.members=[]}add(i){im(this.members,i),i.scheduleRender()}remove(i){if(nm(this.members,i),i===this.prevLead&&(this.prevLead=void 0),i===this.lead){const r=this.members[this.members.length-1];r&&this.promote(r)}}relegate(i){const r=this.members.findIndex(c=>i===c);if(r===0)return!1;let l;for(let c=r;c>=0;c--){const u=this.members[c];if(u.isPresent!==!1){l=u;break}}return l?(this.promote(l),!0):!1}promote(i,r){const l=this.lead;if(i!==l&&(this.prevLead=l,this.lead=i,i.show(),l)){l.instance&&l.scheduleRender(),i.scheduleRender(),i.resumeFrom=l,r&&(i.resumeFrom.preserveOpacity=!0),l.snapshot&&(i.snapshot=l.snapshot,i.snapshot.latestValues=l.animationValues||l.latestValues),i.root&&i.root.isUpdating&&(i.isLayoutDirty=!0);const{crossfade:c}=i.options;c===!1&&l.hide()}}
vendor: 9,483 bytes, line 205
205exitAnimationComplete(){this.members.forEach(i=>{const{options:r,resumingFrom:l}=i;r.onExitComplete&&r.onExitComplete(),l&&l.options.onExitComplete&&l.options.onExitComplete()})}scheduleRender(){this.members.forEach(i=>{i.instance&&i.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function W4(s,i,r){let l="";const c=s.x.translate/i.x,u=s.y.translate/i.y,m=r?.z||0;if((c||u||m)&&(l=`translate3d(${c}px, ${u}px, ${m}px) `),(i.x!==1||i.y!==1)&&(l+=`scale(${1/i.x}, ${1/i.y}) `),r){const{transformPerspective:f,rotate:y,rotateX:b,rotateY:j,skewX:N,skewY:S}=r;f&&(l=`perspective(${f}px) ${l}`),y&&(l+=`rotate(${y}deg) `),b&&(l+=`rotateX(${b}deg) `),j&&(l+=`rotateY(${j}deg) `),N&&(l+=`skewX(${N}deg) `),S&&(l+=`skewY(${S}deg) `)}const p=s.x.scale*i.x,x=s.y.scale*i.y;return(p!==1||x!==1)&&(l+=`scale(${p}, ${x})`),l||"none"}const qh=["","X","Y","Z"],H4=1e3;let Y4=0;function Gh(s,i,r,l){const{latestValues:c}=i;c[s]&&(r[s]=c[s],i.setStaticValue(s,0),l&&(l[s]=0))}function jw(s){if(s.hasCheckedOptimisedAppear=!0,s.root===s)return;const{visualElement:i}=s.options;if(!i)return;const r=rw(i);if(window.MotionHasOptimisedAnimation(r,"transform")){const{layout:c,layoutId:u}=s.options;window.MotionCancelOptimisedAnimation(r,"transform",Ge,!(c||u))}const{parent:l}=s;l&&!l.hasCheckedOptimisedAppear&&jw(l)}function ww({attachResizeListener:s,defaultParent:i,measureScroll:r,checkIsScrollRoot:l,resetTransform:c}){return class{constructor(m={},p=i?.()){this.id=Y4++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(F4),this.nodes.forEach(Z4),this.nodes.forEach($4),this.nodes.forEach(Q4)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=m,this.root=p?p.root||p:this,this.path=p?[...p.path,p]:[],this.parent=p,this.depth=p?p.depth+1:0;for(let x=0;x<this.path.length;x++)this.path[x].shouldResetTransform=!0;this.root===this&&(this.nodes=new D4)}addEventListener(m,p){return this.eventHandlers.has(m)||this.eventHandlers.set(m,new lm),this.eventHandlers.get(m).add(p)}notifyListeners(m,...p){const x=this.eventHandlers.get(m);x&&x.notify(...p)}hasListeners(m){return this.eventHandlers.has(m)}mount(m){if(this.instance)return;this.isSVG=Ij(m)&&!OE(m),this.instance=m;const{layoutId:p,layout:x,visualElement:f}=this.options;if(f&&!f.current&&f.mount(m),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(x||p)&&(this.isLayoutDirty=!0),s){let y,b=0;const j=()=>this.root.updateBlockedByResize=!1;Ge.read(()=>{b=window.innerWidth}),s(m,()=>{const N=window.innerWidth;N!==b&&(b=N,this.root.updateBlockedByResize=!0,y&&y(),y=R4(j,250),jl.hasAnimatedSinceResize&&(jl.hasAnimatedSinceResize=!1,this.nodes.forEach(zb)))})}p&&this.root.registerSharedNode(p,this),this.options.animate!==!1&&f&&(p||x)&&this.addEventListener("didUpdate",({delta:y,hasLayoutChanged:b,hasRelativeLayoutChanged:j,layout:N})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const S=this.options.transition||f.getDefaultTransition()||aL,{onLayoutAnimationStart:T,onLayoutAnimationComplete:C}=f.getProps(),R=!this.targetLayout||!vw(this.targetLayout,N),M=!b&&j;if(this.options.layoutRoot||this.resumeFrom||M||b&&(R||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const O={...jm(S,"layout"),onPlay:T,onComplete:C};(f.shouldReduceMotion||this.options.layoutRoot)&&(O.delay=0,O.type=!1),this.startAnimation(O),this.setAnimationOrigin(y,M)}else b||zb(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=N})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const m=this.getStack();m&&m.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Pa(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(J4),this.animationId++)}getTransformTemplate(){const{visualElement:m}=this.options;return m&&m.getProps().transformTemplate}willUpdate(m=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&jw(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let y=0;y<this.path.length;y++){const b=this.path[y];b.shouldResetTransform=!0,b.updateScroll("snapshot"),b.options.layoutRoot&&b.willUpdate(!1)}const{layoutId:p,layout:x}=this.options;if(p===void 0&&!x)return;const f=this.getTransformTemplate();this.prevTransformTemplateValue=f?f(this.latestValues,""):void 0,this.updateSnapshot(),m&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Ib);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Bb);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(K4),this.nodes.forEach(q4),this.nodes.forEach(G4)):this.nodes.forEach(Bb),this.clearAllSnapshots();const p=Rt.now();gt.delta=ea(0,1e3/60,p-gt.timestamp),gt.timestamp=p,gt.isProcessing=!0,Ph.update.process(gt),Ph.preRender.process(gt),Ph.render.process(gt),gt.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Nm.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(X4),this.sharedNodes.forEach(eL)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Ge.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Ge.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Tt(this.snapshot.measuredBox.x)&&!Tt(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let x=0;x<this.path.length;x++)this.path[x].updateScroll();const m=this.layout;this.layout=this.measure(!1),this.layoutCorrected=st(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:p}=this.options;p&&p.notify("LayoutMeasure",this.layout.layoutBox,m?m.layoutBox:void 0)}updateScroll(m="measure"){let p=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===m&&(p=!1),p&&this.instance){const x=l(this.instance);this.scroll={animationId:this.root.animationId,phase:m,isRoot:x,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:x}}}resetTransform(){if(!c)return;const m=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,p=this.projectionDelta&&!bw(this.projectionDelta),x=this.getTransformTemplate(),f=x?x(this.latestValues,""):void 0,y=f!==this.prevTransformTemplateValue;m&&this.instance&&(p||ri(this.latestValues)||y)&&(c(this.instance,f),this.shouldResetTransform=!1,this.scheduleRender())}measure(m=!0){const p=this.measurePageBox();let x=this.removeElementScroll(p);return m&&(x=this.removeTransform(x)),iL(x),{animationId:this.root.animationId,measuredBox:p,layoutBox:x,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:m}=this.options;if(!m)return st();const p=m.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(nL))){const{scroll:f}=this.root;f&&(tn(p.x,f.offset.x),tn(p.y,f.offset.y))}return p}removeElementScroll(m){const p=st();if(ns(p,m),this.scroll?.wasRoot)return p;for(let x=0;x<this.path.length;x++){const f=this.path[x],{scroll:y,options:b}=f;f!==this.root&&y&&b.layoutScroll&&(y.wasRoot&&ns(p,m),tn(p.x,y.offset.x),tn(p.y,y.offset.y))}return p}applyTransform(m,p=!1){const x=st();ns(x,m);for(let f=0;f<this.path.length;f++){const y=this.path[f];!p&&y.options.layoutScroll&&y.scroll&&y!==y.root&&sn(x,{x:-y.scroll.offset.x,y:-y.scroll.offset.y}),ri(y.latestValues)&&sn(x,y.latestValues)}return ri(this.latestValues)&&sn(x,this.latestValues),x}removeTransform(m){const p=st();ns(p,m);for(let x=0;x<this.path.length;x++){const f=this.path[x];if(!f.instance||!ri(f.latestValues))continue;Nu(f.latestValues)&&f.updateSnapshot();
vendor: 7,210 bytes, line 205
205const y=st(),b=f.measurePageBox();ns(y,b),Db(p,f.latestValues,f.snapshot?f.snapshot.layoutBox:void 0,y)}return ri(this.latestValues)&&Db(p,this.latestValues),p}setTargetDelta(m){this.targetDelta=m,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(m){this.options={...this.options,...m,crossfade:m.crossfade!==void 0?m.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==gt.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(m=!1){const p=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=p.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=p.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=p.isSharedProjectionDirty);const x=!!this.resumingFrom||this!==p;if(!(m||x&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:y,layoutId:b}=this.options;if(!(!this.layout||!(y||b))){if(this.resolvedRelativeTargetAt=gt.timestamp,!this.targetDelta&&!this.relativeTarget){const j=this.getClosestProjectingParent();j&&j.layout&&this.animationProgress!==1?(this.relativeParent=j,this.forceRelativeParentToResolveTarget(),this.relativeTarget=st(),this.relativeTargetOrigin=st(),jr(this.relativeTargetOrigin,this.layout.layoutBox,j.layout.layoutBox),ns(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=st(),this.targetWithTransforms=st()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),h4(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):ns(this.target,this.layout.layoutBox),ew(this.target,this.targetDelta)):ns(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const j=this.getClosestProjectingParent();j&&!!j.resumingFrom==!!this.resumingFrom&&!j.options.layoutScroll&&j.target&&this.animationProgress!==1?(this.relativeParent=j,this.forceRelativeParentToResolveTarget(),this.relativeTarget=st(),this.relativeTargetOrigin=st(),jr(this.relativeTargetOrigin,this.target,j.target),ns(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||Nu(this.parent.latestValues)||Jj(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){const m=this.getLead(),p=!!this.resumingFrom||this!==m;let x=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(x=!1),p&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(x=!1),this.resolvedRelativeTargetAt===gt.timestamp&&(x=!1),x)return;const{layout:f,layoutId:y}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(f||y))return;ns(this.layoutCorrected,this.layout.layoutBox);const b=this.treeScale.x,j=this.treeScale.y;Nk(this.layoutCorrected,this.treeScale,this.path,p),m.layout&&!m.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(m.target=m.layout.layoutBox,m.targetWithTransforms=st());const{target:N}=m;if(!N){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Eb(this.prevProjectionDelta.x,this.projectionDelta.x),Eb(this.prevProjectionDelta.y,this.projectionDelta.y)),vr(this.projectionDelta,this.layoutCorrected,N,this.latestValues),(this.treeScale.x!==b||this.treeScale.y!==j||!Ub(this.projectionDelta.x,this.prevProjectionDelta.x)||!Ub(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",N))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(m=!0){if(this.options.visualElement?.scheduleRender(),m){const p=this.getStack();p&&p.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=an(),this.projectionDelta=an(),this.projectionDeltaWithTransform=an()}setAnimationOrigin(m,p=!1){const x=this.snapshot,f=x?x.latestValues:{},y={...this.latestValues},b=an();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!p;const j=st(),N=x?x.source:void 0,S=this.layout?this.layout.source:void 0,T=N!==S,C=this.getStack(),R=!C||C.members.length<=1,M=!!(T&&!R&&this.options.crossfade===!0&&!this.path.some(sL));this.animationProgress=0;let O;this.mixTargetDelta=Y=>{const q=Y/1e3;Vb(b.x,m.x,q),Vb(b.y,m.y,q),this.setTargetDelta(b),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(jr(j,this.layout.layoutBox,this.relativeParent.layout.layoutBox),tL(this.relativeTarget,this.relativeTargetOrigin,j,q),O&&V4(this.relativeTarget,O)&&(this.isProjectionDirty=!1),O||(O=st()),ns(O,this.relativeTarget)),T&&(this.animationValues=y,P4(y,f,this.latestValues,q,M,R)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=q},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(m){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(Pa(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Ge.update(()=>{jl.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=cn(0)),this.currentAnimation=k4(this.motionValue,[0,1e3],{...m,velocity:0,isSync:!0,onUpdate:p=>{this.mixTargetDelta(p),m.onUpdate&&m.onUpdate(p)},onStop:()=>{},onComplete:()=>{m.onComplete&&m.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const m=this.getStack();m&&m.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(H4),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const m=this.getLead();let{targetWithTransforms:p,target:x,layout:f,latestValues:y}=m;if(!(!p||!x||!f)){if(this!==m&&this.layout&&f&&Nw(this.options.animationType,this.layout.layoutBox,f.layoutBox)){x=this.target||st
vendor: 4,409 bytes, line 205
205();const b=Tt(this.layout.layoutBox.x);x.x.min=m.target.x.min,x.x.max=x.x.min+b;const j=Tt(this.layout.layoutBox.y);x.y.min=m.target.y.min,x.y.max=x.y.min+j}ns(p,x),sn(p,y),vr(this.projectionDeltaWithTransform,this.layoutCorrected,p,y)}}registerSharedNode(m,p){this.sharedNodes.has(m)||this.sharedNodes.set(m,new _4),this.sharedNodes.get(m).add(p);const f=p.options.initialPromotionConfig;p.promote({transition:f?f.transition:void 0,preserveFollowOpacity:f&&f.shouldPreserveFollowOpacity?f.shouldPreserveFollowOpacity(p):void 0})}isLead(){const m=this.getStack();return m?m.lead===this:!0}getLead(){const{layoutId:m}=this.options;return m?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:m}=this.options;return m?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:m}=this.options;if(m)return this.root.sharedNodes.get(m)}promote({needsReset:m,transition:p,preserveFollowOpacity:x}={}){const f=this.getStack();f&&f.promote(this,x),m&&(this.projectionDelta=void 0,this.needsReset=!0),p&&this.setOptions({transition:p})}relegate(){const m=this.getStack();return m?m.relegate(this):!1}resetSkewAndRotation(){const{visualElement:m}=this.options;if(!m)return;let p=!1;const{latestValues:x}=m;if((x.z||x.rotate||x.rotateX||x.rotateY||x.rotateZ||x.skewX||x.skewY)&&(p=!0),!p)return;const f={};x.z&&Gh("z",m,f,this.animationValues);for(let y=0;y<qh.length;y++)Gh(`rotate${qh[y]}`,m,f,this.animationValues),Gh(`skew${qh[y]}`,m,f,this.animationValues);m.render();for(const y in f)m.setStaticValue(y,f[y]),this.animationValues&&(this.animationValues[y]=f[y]);m.scheduleRender()}applyProjectionStyles(m,p){if(!this.instance||this.isSVG)return;if(!this.isVisible){m.visibility="hidden";return}const x=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,m.visibility="",m.opacity="",m.pointerEvents=vl(p?.pointerEvents)||"",m.transform=x?x(this.latestValues,""):"none";return}const f=this.getLead();if(!this.projectionDelta||!this.layout||!f.target){this.options.layoutId&&(m.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,m.pointerEvents=vl(p?.pointerEvents)||""),this.hasProjected&&!ri(this.latestValues)&&(m.transform=x?x({},""):"none",this.hasProjected=!1);return}m.visibility="";const y=f.animationValues||f.latestValues;this.applyTransformsToTarget();let b=W4(this.projectionDeltaWithTransform,this.treeScale,y);x&&(b=x(y,b)),m.transform=b;const{x:j,y:N}=this.projectionDelta;m.transformOrigin=`${j.origin*100}% ${N.origin*100}% 0`,f.animationValues?m.opacity=f===this?y.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:y.opacityExit:m.opacity=f===this?y.opacity!==void 0?y.opacity:"":y.opacityExit!==void 0?y.opacityExit:0;for(const S in Lr){if(y[S]===void 0)continue;const{correct:T,applyTo:C,isCSSVariable:R}=Lr[S],M=b==="none"?y[S]:T(y[S],f);if(C){const O=C.length;for(let Y=0;Y<O;Y++)m[C[Y]]=M}else R?this.options.visualElement.renderState.vars[S]=M:m[S]=M}this.options.layoutId&&(m.pointerEvents=f===this?vl(p?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(m=>m.currentAnimation?.stop()),this.root.nodes.forEach(Ib),this.root.sharedNodes.clear()}}}function q4(s){s.updateLayout()}function G4(s){const i=s.resumeFrom?.snapshot||s.snapshot;if(s.isLead()&&s.layout&&i&&s.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:l}=s.layout,{animationType:c}=s.options,u=i.source!==s.layout.source;c==="size"?rs(y=>{const b=u?i.measuredBox[y]:i.layoutBox[y],j=Tt(b);b.min=r[y].min,b.max=b.min+j}):Nw(c,i.layoutBox,r)&&rs(y=>{const b=u?i.measuredBox[y]:i.layoutBox[y],j=Tt(r[y]);b.max=b.min+j,s.relativeTarget&&!s.currentAnimation&&(s.isProjectionDirty=!0,s.relativeTarget[y].max=s.relativeTarget[y].min+j)});const m=an();vr(m,r,i.layoutBox);const p=an();u?vr(p,s.applyTransform(l,!0),i.measuredBox):vr(p,r,i.layoutBox);const x=!bw(m);let f=!1;if(!s.resumeFrom){const y=s.getClosestProjectingParent();if(y&&!y.resumeFrom){const{snapshot:b,layout:j}=y;if(b&&j){const N=st();jr(N,i.layoutBox,b.layoutBox);const S=st();jr(S,r,j.layoutBox),vw(N,S)||(f=!0),y.options.layoutRoot&&(s.relativeTarget=S,s.relativeTargetOrigin=N,s.relativeParent=y)}}}s.notifyListeners("didUpdate",{layout:r,snapshot:i,delta:p,layoutDelta:m,hasLayoutChanged:x,hasRelativeLayoutChanged:f})}else if(s.isLead()){const{onExitComplete:r}=s.options;r&&r()}s.options.transition=void 0}
vendor: 6,432 bytes, line 205
205function F4(s){s.parent&&(s.isProjecting()||(s.isProjectionDirty=s.parent.isProjectionDirty),s.isSharedProjectionDirty||(s.isSharedProjectionDirty=!!(s.isProjectionDirty||s.parent.isProjectionDirty||s.parent.isSharedProjectionDirty)),s.isTransformDirty||(s.isTransformDirty=s.parent.isTransformDirty))}function Q4(s){s.isProjectionDirty=s.isSharedProjectionDirty=s.isTransformDirty=!1}function X4(s){s.clearSnapshot()}function Ib(s){s.clearMeasurements()}function Bb(s){s.isLayoutDirty=!1}function K4(s){const{visualElement:i}=s.options;i&&i.getProps().onBeforeLayoutMeasure&&i.notify("BeforeLayoutMeasure"),s.resetTransform()}function zb(s){s.finishAnimation(),s.targetDelta=s.relativeTarget=s.target=void 0,s.isProjectionDirty=!0}function Z4(s){s.resolveTargetDelta()}function $4(s){s.calcProjection()}function J4(s){s.resetSkewAndRotation()}function eL(s){s.removeLeadSnapshot()}function Vb(s,i,r){s.translate=Qe(i.translate,0,r),s.scale=Qe(i.scale,1,r),s.origin=i.origin,s.originPoint=i.originPoint}function _b(s,i,r,l){s.min=Qe(i.min,r.min,l),s.max=Qe(i.max,r.max,l)}function tL(s,i,r,l){_b(s.x,i.x,r.x,l),_b(s.y,i.y,r.y,l)}function sL(s){return s.animationValues&&s.animationValues.opacityExit!==void 0}const aL={duration:.45,ease:[.4,0,.1,1]},Wb=s=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(s),Hb=Wb("applewebkit/")&&!Wb("chrome/")?Math.round:ls;function Yb(s){s.min=Hb(s.min),s.max=Hb(s.max)}function iL(s){Yb(s.x),Yb(s.y)}function Nw(s,i,r){return s==="position"||s==="preserve-aspect"&&!d4(Mb(i),Mb(r),.2)}function nL(s){return s!==s.root&&s.scroll?.wasRoot}const rL=ww({attachResizeListener:(s,i)=>Dr(s,"resize",i),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Fh={current:void 0},Tw=ww({measureScroll:s=>({x:s.scrollLeft,y:s.scrollTop}),defaultParent:()=>{if(!Fh.current){const s=new rL({});s.mount(window),s.setOptions({layoutScroll:!0}),Fh.current=s}return Fh.current},resetTransform:(s,i)=>{s.style.transform=i!==void 0?i:"none"},checkIsScrollRoot:s=>window.getComputedStyle(s).position==="fixed"}),oL={pan:{Feature:S4},drag:{Feature:T4,ProjectionNode:Tw,MeasureLayout:xw}};function qb(s,i,r){const{props:l}=s;s.animationState&&l.whileHover&&s.animationState.setActive("whileHover",r==="Start");const c="onHover"+r,u=l[c];u&&Ge.postRender(()=>u(i,Br(i)))}class lL extends Ia{mount(){const{current:i}=this.node;i&&(this.unmount=EE(i,(r,l)=>(qb(this.node,l,"Start"),c=>qb(this.node,c,"End"))))}unmount(){}}class cL extends Ia{constructor(){super(...arguments),this.isActive=!1}onFocus(){let i=!1;try{i=this.node.current.matches(":focus-visible")}catch{i=!0}!i||!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=Mr(Dr(this.node.current,"focus",()=>this.onFocus()),Dr(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Gb(s,i,r){const{props:l}=s;if(s.current instanceof HTMLButtonElement&&s.current.disabled)return;s.animationState&&l.whileTap&&s.animationState.setActive("whileTap",r==="Start");const c="onTap"+(r==="End"?"":r),u=l[c];u&&Ge.postRender(()=>u(i,Br(i)))}class dL extends Ia{mount(){const{current:i}=this.node;i&&(this.unmount=RE(i,(r,l)=>(Gb(this.node,l,"Start"),(c,{success:u})=>Gb(this.node,c,u?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const Lu=new WeakMap,Qh=new WeakMap,hL=s=>{const i=Lu.get(s.target);i&&i(s)},uL=s=>{s.forEach(hL)};function mL({root:s,...i}){const r=s||document;Qh.has(r)||Qh.set(r,{});const l=Qh.get(r),c=JSON.stringify(i);return l[c]||(l[c]=new IntersectionObserver(uL,{root:s,...i})),l[c]}function pL(s,i,r){const l=mL(i);return Lu.set(s,r),l.observe(s),()=>{Lu.delete(s),l.unobserve(s)}}const fL={some:0,all:1};class xL extends Ia{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:i={}}=this.node.getProps(),{root:r,margin:l,amount:c="some",once:u}=i,m={root:r?r.current:void 0,rootMargin:l,threshold:typeof c=="number"?c:fL[c]},p=x=>{const{isIntersecting:f}=x;if(this.isInView===f||(this.isInView=f,u&&!f&&this.hasEnteredView))return;f&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",f);const{onViewportEnter:y,onViewportLeave:b}=this.node.getProps(),j=f?y:b;j&&j(x)};return pL(this.node.current,m,p)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:i,prevProps:r}=this.node;["amount","margin","root"].some(yL(i,r))&&this.startObserver()}unmount(){}}function yL({viewport:s={}},{viewport:i={}}={}){return r=>s[r]!==i[r]}const gL={inView:{Feature:xL},tap:{Feature:dL},focus:{Feature:cL},hover:{Feature:lL}},bL={layout:{ProjectionNode:Tw,MeasureLayout:xw}},vL={...i4,...gL,...oL,...bL},_=vk(vL,Ok);var jL=Symbol.for("react.lazy"),Pl=Zb[" use ".trim().toString()];function wL(s){return typeof s=="object"&&s!==null&&"then"in s}function Sw(s){return s!=null&&typeof s=="object"&&"$$typeof"in s&&s.$$typeof===jL&&"_payload"in s&&wL(s._payload)}function Aw(s){const i=TL(s),r=w.forwardRef((l,c)=>{let{children:u,...m}=l;Sw(u)&&typeof Pl=="function"&&(u=Pl(u._payload));const p=w.Children.toArray(u),x=p.find(AL);if(x){const f=x.props.children,y=p.map(b=>b===x?w.Children.count(f)>1?w.Children.only(null):w.isValidElement(f)?f.props.children:null:b);return e.jsx(i,{...m,ref:c,children:w.isValidElement(f)?w.cloneElement(f,void 0,y):null})}return e.jsx(i,{...m,ref:c,children:u})});return r.displayName=`${s}.Slot`,r}var NL=Aw("Slot");function TL(s){const i=w.forwardRef((r,l)=>{let{children:c,...u}=r;if(Sw(c)&&typeof Pl=="function"&&(c=Pl(c._payload)),w.isValidElement(c)){const m=EL(c),p=CL(u,c.props);return c.type!==w.Fragment&&(p.ref=l?Vl(l,m):m),w.cloneElement(c,p)}return w.Children.count(c)>1?w.Children.only(null):null});return i.displayName=`${s}.SlotClone`,i}var SL=Symbol("radix.slottable");function AL(s){return w.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===SL}function CL(s,i){const r={...i};for(const l in i){const c=s[l],u=i[l];/^on[A-Z]/.test(l)?c&&u?r[l]=(...p)=>{const x=u(...p);return c(...p),x}:c&&(r[l]=c):l==="style"?r[l]={...c,...u}
205:l==="className"&&(r[l]=[c,u].filter(Boolean).join(" "))}return{...s,...r}}function EL(s){let i=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning;return r?s.ref:(i=Object.getOwnPropertyDescriptor(s,"ref")?.get,r=i&&"isReactWarning"in i&&i.isReactWarning,r?s.props.ref:s.props.ref||s.ref)}const kL=Vu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover-elevate active-elevate-2",{variants:{variant:{default:"bg-primary text-primary-foreground border border-primary-border",destructive:"bg-destructive text-destructive-foreground shadow-sm border-destructive-border",outline:" border [border-color:var(--button-outline)] shadow-xs active:shadow-none ",secondary:"border bg-secondary text-secondary-foreground border border-secondary-border ",ghost:"border border-transparent",link:"text-primary underline-offset-4 hover:underline"},size:{default:"min-h-9 px-4 py-2",sm:"min-h-8 rounded-md px-3 text-xs",lg:"min-h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),Ns=w.forwardRef(({className:s,variant:i,size:r,asChild:l=!1,...c},u)=>{const m=l?NL:"button";return e.jsx(m,{className:jt(kL({variant:i,size:r,className:s})),ref:u,...c})});Ns.displayName="Button";function te(){return e.jsxs("div",{className:"fixed inset-0 overflow-hidden pointer-events-none",style:{zIndex:0},children:[e.jsx("div",{className:"absolute inset-0 bg-[#0a0a0c]"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#050505] via-[#0f1016] to-[#050505]"}),e.jsxs("div",{className:"absolute inset-0 opacity-100",children:[e.jsx(_.div,{animate:{x:["-20%","30%","-20%"],y:["-20%","20%","-20%"],scale:[1,1.3,1],opacity:[.6,.9,.6]},transition:{duration:18,repeat:1/0,ease:"easeInOut"},className:"absolute rounded-full blur-[100px]",style:{top:"-10%",left:"-10%",width:"60vw",height:"60vw",background:"rgba(6, 182, 212, 0.5)"}}),e.jsx(_.div,{animate:{x:["20%","-30%","20%"],y:["10%","-20%","10%"],scale:[1.2,.9,1.2],opacity:[.6,.85,.6]},transition:{duration:22,repeat:1/0,ease:"easeInOut"},className:"absolute rounded-full blur-[110px]",style:{top:"10%",right:"-10%",width:"50vw",height:"50vw",background:"rgba(219, 39, 119, 0.5)"}}),e.jsx(_.div,{animate:{x:["-10%","20%","-10%"],y:["30%","10%","30%"],scale:[1,1.4,1],opacity:[.5,.8,.5]},transition:{duration:25,repeat:1/0,ease:"easeInOut"},className:"absolute rounded-full blur-[120px]",style:{bottom:"-20%",left:"10%",width:"70vw",height:"70vw",background:"rgba(109, 40, 217, 0.6)"}})]}),e.jsx("div",{className:"absolute inset-0 bg-[url('https://grainy-gradients.vercel.app/noise.svg')] opacity-[0.04] mix-blend-overlay"}),e.jsx("div",{className:"absolute inset-0 bg-[linear-gradient(to_right,#ffffff05_1px,transparent_1px),linear-gradient(to_bottom,#ffffff05_1px,transparent_1px)] bg-[size:32px_32px] opacity-[0.15]"})]})}const pl=[{name:"ConsultantMode",count:16,theme:"business consulting",repo:"consultantmode-skills",siteLabel:"site",site:"https://consultantmode.com",command:"npx skills add justinneuman-coder/consultantmode-skills",license:"MIT",note:"Specialist business advisors for idea validation, launch planning, diagnostics, investment, scaling, monetization, negotiation, marketing, grants, legal triage, scenario mapping, and value engineering.",skills:[["the-validator","Stress-test a new business idea before spending time or money. Kill-shot test included."],["the-launcher","Go-to-market plan once you've decided: 30/60/90 roadmap, customer zero, revenue sequencing."],["the-untangler","Diagnose an existing underperforming business. Finds the real problem, not the story."],["the-assessor","Structured analysis for capital allocation decisions. Scenario modeling, bias audits."],["warren-mode","Investment analysis in Buffett's voice and framework. Margin of Safety scored 1–10."],["scale-mode","Find what breaks at 2x before it breaks. Bottleneck identification."],["profit-engine","Find where profit is hiding: undermonetized assets, non-obvious buyers."],["negotiator-mode","Map leverage, walk-away points, and concession strategy before high-stakes talks."],["marketer-mode","Zero-dollar marketing strategy for solo creators. Never more than three priorities."],["grant-getter","Grant fit triage before you write a word. Funder psych
205ology, reviewer objections."],["legal-triage","DIY vs. lawyer assessment for small-business legal questions. Risk screen first. (Not a lawyer, not legal advice.)"],["the-unasked","Question design upstream of everything. Its only output is better questions."],["murder-board","Hostile rehearsal: a rotating bench of experts grills your plan, one question at a time."],["the-scout","Scenario mapping: 3–5 futures with tradeoffs tagged, including the one where the plan fails."],["the-panel","Five named specialists review independently; a Chair synthesizes."],["marv-mode","Old-school value engineering: hands your plan back cheaper, simpler, harder to break."]]},{name:"Red Pencil Editor",count:2,theme:"writing coaching",repo:"red-pencil-editor-skills",siteLabel:"site",site:"https://red-pencil-editor.com",command:"npx skills add justinneuman-coder/red-pencil-editor-skills",license:"MIT",note:'Both are compatible with academic-integrity / "no AI rewriting" pledges — they mark without fixing.',skills:[["editor-mode","Pure copyediting. Circles objective errors only; never comments on style or ideas."],["professor-mode","Demanding markup of argument, structure, and evidence. Never rewrites a sentence."]]},{name:"Scholar Modes",count:7,theme:"thinking constraints",repo:"scholar-modes",siteLabel:"site",site:"https://academicvelocity.com",command:"npx skills add justinneuman-coder/scholar-modes",license:"CC BY 4.0 — attribution required",note:"Instruments for resistance, not assistance. Each constrains the AI to one function and forbids it from doing your thinking. Invoke by name; they never fire automatically.",skills:[["socrates","Responds only with questions. Discover what you actually think."],["devils-advocate","Sustained adversarial pressure on any position. Never agrees."],["steel-man","Diagnoses where your argument's strength must come from, without supplying it."],["box-breaker","Exposes invisible constraints and offers reversals. Never proposes finished ideas."],["professor","Honest evaluation against academic standards, ending with a Greek-letter grade."],["librarian","Annotated map of academic-quality sources with verified links. No summaries, just the map."],["editor","Mechanical proofreading only. Never a co-author."]]},{name:"UnicornKick",count:4,theme:"goal coaches",repo:"unicornkick-skills",siteLabel:"app",site:"https://unicornkick.app",command:"npx skills add justinneuman-coder/unicornkick-skills",license:"MIT",note:"Coaches that plan, provoke, and celebrate — but never do the user's work.",skills:[["unicornkick-dreamer","Name the bigger ambition; commit to one honest move in 24 hours."],["unicornkick-happy","The 4-3-2-1 daily launch sequence for feeling better before building bigger."],["unicornkick-ultra","Couch-to-ultramarathon running coach. Never fakes your fitness."],["unicornkick-writer","Finish the book: habit-based long-form writing coach. Never ghostwrites."]]},{name:"Eudaimonia",count:1,theme:"examined life",repo:"Eudaimonia",command:"copy SKILL.md into your skills directory",license:"MIT",note:"A skill for examining how you actually want to live. It asks the questions; you do the thinking.",skills:[["Eudaimonia","A skill for examining how you actually want to live. It asks the questions; you do the thinking."]]},{name:"AI Distillery",count:1,theme:"portable AI working profile",repo:"ai-distillery-skill",command:"npx skills add justinneuman-coder/ai-distillery-skill",license:"MIT",note:"Distills raw work product into a User Operating Manual, Preference Inference Ledger, and Session Primer so any AI stops starting from zero.",skills:[["ai-distillery","Distill raw work product into a portable User Operating Manual, Preference Inference Ledger, and Session Primer. Teach any AI how you work, once."]]},{name:"ScalarView",count:1,theme:"scale-literacy reasoning protocol",repo:"scalarview",command:"copy SKILL.md into your skills directory",license:"MIT",note:"Protocol for reasoning across orders of magnitude: 5 Whys, 5 So-Whats, scalar ladders, draft audits.",siteLabel:"app",site:"https://apps.apple.com/us/app/fractalview/id6757110636",skills:[["scalarview","Scale-literacy protocol: 5 Whys, 5 So-Whats, scalar ladders, draft audits. For thinking that keeps slipping rungs."]]}],LL=s=>`https://github.com/justinneuman-coder/${s}`,Jl=[{name:"SyllabusView",slug:"syllabusview",desc:"SyllabusView turns a course into an explorable world, so educators can build once and use forever, moving from the 10,000-foot view to the footnotes without losing focus. Students get the same material after class, so the course becomes a world they can revisit and explore instead of a static slide deck.",division:"Educational / Professional",webLink:"https://syllabusview.com",tags:["Education","Presentation"]},{name:"DriveDossier",slug:"drivedossier",desc:"Preserve Information. Preserve Value. DriveDossier is the memory layer for buying and owning a car. Capture the evidence, compare the candidates, and preserve the history from test drive to resale.",division:"Educational / Professional",tags:["Automotive","Organization"]},{name:"BiasProof",slug:"biasproof",desc:"Master your biology. Battle your urges. Never get played. A cognitive bias training app that gamifies mental calibration—addressing cognitive biases, emotional traps, and online scams.",division:"Educational / Professional",appStoreLink:"https://apps.apple.com/us/app/biasproof/id6756802032",tags:["Mental","Training"]},{name:"EssayVelocity",slug:"essayvelocity",desc:"Rocket fuel for the college application process. Speed with direction. Momentum with meaning. No AI that gets you flagged. No private tutors that break the bank.",division:"Educational / Professional",appStoreLink:"https://apps.apple.com/us/app/essayvelocity/id6756243821",webLink:"https://essay-velocity--justinneuman.replit.app",tags:["Writing","Education"]},{name:"ReadingVelocity",slug:"readingvelocity",desc:"Uses the logic of endurance athletics to build attention span and reading speed. Pre-reading, active reading, and post-reading—three skill sets for sustained, timed immer
205sion.",division:"Educational / Professional",appStoreLink:"https://apps.apple.com/us/app/readingvelocity/id6756850747",tags:["Reading","Education"]},{name:"WritingVelocity",slug:"writingvelocity",desc:"Speed with Direction. Momentum with Meaning.",division:"Educational / Professional",tags:["Writing","Productivity"]},{name:"Schrödinger's Box",slug:"schrodingersbox",desc:"Once a day, the app presents a single paradox, ethical dilemma, or thought experiment drawn from philosophy, science, and moral reasoning. You must choose. There is no neutral option, no skipping, and no undo.",division:"Educational / Professional",appStoreLink:"https://apps.apple.com/us/app/schrodingers-box/id6757156999",tags:["Philosophy","Ethics"]},{name:"IdeaAddiction",slug:"ideaaddiction",desc:"One intellectually devastating fact per day—strange, true, rigorously sourced, designed to rewire how you see the world. The tone is bratty and self-aware. The content is deadly serious.",division:"Educational / Professional",appStoreLink:"https://apps.apple.com/us/app/ideaaddiction/id6757129969",tags:["Ideas","Learning"]},{name:"FractalView",slug:"fractalview",desc:"An imagination tool that makes jumping orders of magnitude intuitive.",division:"Educational / Professional",appStoreLink:"https://apps.apple.com/us/app/fractalview/id6757110636",tags:["Learning","Visualization"]},{name:"QuoteCrush",slug:"quotecrush",desc:"Pick ONE writer to crush on forever. Every morning, QuoteCrush slides into your phone with a fresh, fan-curated quote from your author-crush.",division:"Educational / Professional",appStoreLink:"https://apps.apple.com/us/app/quotecrush/id6759879969",webLink:"https://quotecrush.app",tags:["Inspiration","Collection"]},{name:"BrainSmut",slug:"brainsmut",desc:"Porn for your brain. One high-signal fact per day. Rigorously sourced. Totally true. Designed to rewire how you see the world. Most intellectual apps are vitamins. BrainSmut is candy.",division:"Educational / Professional",webLink:"https://brainsmut.app",tags:["Ideas","Learning"]},{name:"BreathCube",slug:"breathcube",desc:"A breathing exercise built on Minimal Viable Design. A white 3D cube floats in black space, rotating to reveal breathing instructions on each face. The cube's physical rotation creates a meditative rhythm.",division:"Creative / Wellness",appStoreLink:"https://apps.apple.com/us/app/breathcube-visualizer/id6756200037",tags:["Breathing","Focus"]},{name:"UnicornKick",slug:"unicornkick",desc:"Most people live smaller than they have to. The marathon never gets run. The album never gets recorded. Unicorn Kick closes the gap between who you are and who you could become.",division:"Creative / Wellness",appStoreLink:"https://apps.apple.com/us/app/unicorn-kick/id6756460875",webLink:"https://unicornkick.app",tags:["Goals","Growth"]},{name:"Clearing Meditations",slug:"clearing",desc:"A mindfulness app offering desk-bound users genuine encounters with specific natural entities and phenomena. Every session focuses on a real, specific thing—never generic ambience. Ready to enter the Clearing?",division:"Creative / Wellness",appStoreLink:"https://apps.apple.com/us/app/clearing-meditations/id6757168155",tags:["Mindfulness","Nature"]},{name:"Ephemerality",slug:"ephemerality",desc:"A private digital sanctuary for noticing and preserving what makes you feel alive. Not social media. Not a gamified gratitude journal. A quiet, beautiful space to capture fleeting moments.",division:"Creative / Wellness",appStoreLink:"https://apps.apple.com/us/app/ephemerality/id6757105307",tags:["Journaling","Minimalism"]},{name:"LayerNote",slug:"layernote",desc:"The journal that never erases. Write your life again and again on the same board. The old layers stay underneath. You just keep making the next version stronger.",division:"Creative / Wellness",appStoreLink:"https://apps.apple.com/us/app/layernote/id6757624299",tags:["Writing","Psychology"]},{name:"Attunement",slug:"attunement",desc:"Most adults operate with a five-word emotional vocabulary. Emotional granularity—the ability to make fine-grained distinctions between feelings—is trainable. Begin your Attunement.",division:"Creative / Wellness",tags:["Self-Improvement","Wellness"]},{name:"HappyHumanist",slug:"happyhumanist",desc:"Thriving isn't a feeling, it's a Practice. A daily practice for cultivating character, grounded in classical philosophy.",division:"Creative / Wellness",appStoreLink:"https://apps.apple.com/us/app/happyhumanist/id6757548461",tags:["Philosophy","Growth"]},{name:"WalkAway",slug:"walkaway",desc:"Watches your AI tools, lets you literally walk away, and pings your phone the instant the job's done—or needs a 10-second nudge. You hit 'run,' you stand up, stretch, grab coffee, do yoga, breathe.",division:"Creative / Wellness",tags:["Health","Focus"]},{name:"StoneWright",slug:"stonewright",desc:"A contemplative building game. You have a pile of stones. You have a space to fill—a gap in a wall, a cairn to complete, an arch to span. You pick a stone, you place it, you see if it holds. The pile is finite but generous. There's no single solution. There's your solution.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/stonewright/id6758054986",tags:["Games","Creativity"]},{name:"Dreamwood",slug:"dreamwood",desc:"Imagine your own world. Whisper its name. Grow your dream with a friend.",division:"Games / Play",tags:["Imagination","Creativity"]},{name:"BadMeditator",slug:"badmeditator",desc:"Zen games for people who can't sit still. Instead of guidance or goals, it offers simple, tactile experiences—stacking stones, raking sand, watching smoke drift—that quietly calm the mind through play. No streaks. No guilt. Just attention, trained badly.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/badmeditator/id6757359015",tags:["Mindfulness","Games"]},{name:"PopsicleBridge",slug:"popsiclebridge",desc:"Build stronger, learn faster. A focused, educational physics simulator designed for the classic popsicle-stick bridge competition. Prototype, test, and refine your designs digitally before ever touching a real stick or bottle of glue. Also available at popsiclestickbridge.com for computer users — even better for real STEM engineering.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/popsiclebridge/id6758178670",webLink:"https://popsiclestickbridge.com",tags:["Education","STEM"]},{name:"Sensorium",slug:"sensorium",desc:"The first perceptual training app that treats your senses like muscles and turns feeling al
205ive into a measurable, gamified, addictive skill.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/sensorium-train-your-senses/id6757092992",tags:["Self-Optimization","Fun"]},{name:"LandArt Studio",slug:"landartstudio",desc:"A nature craft studio for your iOS device. Choose a landscape—forest floor, beach, meadow, or mountaintop. Pick a season. Gather stones, leaves, twigs, shells, and petals from your forage pile. Arrange them into mandalas, cairns, spirals, or whatever emerges. No scores. No streaks. No timers. Just the quiet satisfaction of making something with what the world provides.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/landart-studio/id6757982741",tags:["Creativity","Nature"]},{name:"PassTheStory",slug:"passthestory",desc:"Transforms the phone from a consumption portal into a ritual object for collaborative storytelling. Parent and child open the app together. One speaks or types a single sentence. They pass the phone. The other adds the next sentence.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/passthestory/id6756682884",tags:["Family","Storytelling"]},{name:"Curling Chaos",slug:"curlingchaos",desc:"A single-player, phone-first physics game where the only thing that really matters is how frantically you scrub your finger on the screen. The throw is simple. The sweeping is excessive, physical, and slightly embarrassing.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/curling-chaos/id6758259377",tags:["Games","Fun"]},{name:"Trail Torment",slug:"trailtorment",desc:"Experience the magic and the misery of Ultramarathon racing in Trail Torment. Take on the legendary 32-mile Pemigewasset Loop in the White Mountains. You've got this!",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/trail-torment/id6759349403",tags:["Games","Fitness"]},{name:"Unseeing",slug:"unseeing",desc:"A daily interactive illusion puzzle that will shatter your senses and blow your mind. Your brain is lying to you.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/unseeing/id6760433216",tags:["Puzzles","Perception"]},{name:"StrangerStories",slug:"strangerstories",desc:"Write a sentence. Pass it to a stranger. Build something neither of you expected. Collaborative storytelling inspired by the Surrealist game Exquisite Corpse. Free. No ads.",division:"Educational / Professional",webLink:"https://strangerstories.app",tags:["Writing","Creativity"]},{name:"YearTree",slug:"yeartree",desc:"Tend a single tree across decades. One day of real time = one year of app time. Once a year: prune your tree, change the light, watch it grow. No score, just play.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/yeartree/id6762160371",tags:["Nature","Contemplative"]}
205,{name:"VoidSpan",slug:"voidspan",desc:"VoidSpan is a game about meeting absence with imagination. The Walker comes to a gap in a small impossible place, finds a way hidden in the picture, and touches it into being.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/voidspan/id6777292422",tags:["Puzzles","Imagination"]},{name:"Color Harvest",slug:"colorharvest",desc:"Pull the color from a masterpiece and watch it fade to a ghost as your palette fills. A quiet game about setting things right, and learning to see color like a painter.",division:"Games / Play",appStoreLink:"https://apps.apple.com/us/app/color-harvest/id6783142982",webLink:"https://color-harvest-demo.justinneuman.workers.dev/",tags:["Art","Contemplative"]},{name:"Slingshot Racer",slug:"slingshotracer",desc:"You're a pilot flying ballistic on real trajectories through the solar system, stealing speed from gravity to beat the clock. Mission control counts down, telemetry scrolls, you hit the launch, surf the gravity well, and the ship whips out the far side faster than it came in.",division:"Games / Play",webLink:"https://slingshotracer.com/",tags:["Physics","Racing"]},{name:"The Great Duck Race",slug:"greatduckrace",desc:"A small-town rubber duck derby on a phone. A flood of yellow ducks pours off a bridge into a winding cartoon river. You're the race marshal: nudge drifting ducks past trouble, flick stuck ones free of pileups. The score is simple and ruthless: how many ducks make it home.",division:"Games / Play",webLink:"https://greatduckrace.app",tags:["Arcade","Family"]}];Jl.filter(s=>s.division==="Educational / Professional");Jl.filter(s=>s.division==="Creative / Wellness");Jl.filter(s=>s.division==="Games / Play");const DL="/assets/writingvelocity-BXzMW3a2.png",RL="/assets/readingvelocity-envgmGuU.png",OL="/assets/walkaway-DWMY8Vc8.png",PL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAABmJLR0QA/wD/AP+gvaeTAAAGTUlEQVRIiaVWy+tlRxHurq7u87x3XkoIDCGZZDJknHFmkjAGYmBARbJx404kKxcBceXOf0U3ikKYhWRlhAkSDUqi5GEwgoioxJCJBCbzu+fVXY920efeXxYRJ1inuZu+/X1V1dVVn73v7GXnA6JH7x16h9457xCdcwAIzlkAALC2/FpjTM5ZVXNWVc2qKqLKIiLMIiRMwsREzCSU0PmAK0Fw6BELugdE5xyir4L3HhHRuWMCEWVmIo6JmEkEgRkAgMFasBaMscZaYwwi+oJeaNx+VSE0TVXXVQgh/BeCRJxSWpY4zzGmZFd0W/5mjDE5I/o9eiHwAdF3XdO1TdPUdV3VVQjeo0fnACwYYzSriDJxIlpiWpZY18s4zeM425LGA4HJWPw9xOFDtenbvu+6tmnbumn2MXhE5yxYY0zWzCJU3I9pnpcqBO89OrcbJtr7nnPOWXGfd+988KHabvrtpuv7tu/brm3apq7rqqrW8wDWGKMrAcWYliVOVUmicwDWwtHO5AN+VlxrBj2i3/TtdtNtt/1m0236tuvarm2auqqqqkBYa2Oi4B2zpkQxxnmJoQrel6oDY0zOevdI877MsNSMQ991Td93fd9uNt0hjq5t27Ymorffefdvf//Hvz+6U9eeSD5/5tT5cw9duPBIVVVr9sr1qJaa3ZUKRkXnHCBWIXRt07VN37drHJt+s+n6rnnznXdf+/1bT12/+ty3vnn2/vssABH/871/vf7GH3928+fPPHX9oQcfKJefs5bHQEQpkqo4ZQRA51zTVE1Tt23dtU3Xtfs4updu/XqOyw++//ypkyetNWtpO7jwyLnzDz94+8Onf/jjFz6+e3TtyiXNur95iiktS0yUFNCdPXclhGq76Q6Z2W777aY/se1ff+Pto93uu9/5dt93zoFzAA7279paa/uufeLq5V/ceqVrmzOnT6uqsLAIMTNzLEGcffhK2zR932033aYvNN122y8x3vrVq997/rm+bdCBcyu+Kx1j/5i8xy889qg1tm0bZiZmIibilJgSJSIEAO8xeAzehxCqKlRV1dTVa6++dePLXzqx2ay+7103xmjOVrUQZGM+d/pkU9d37tydSrmFELwPHr3HNVos5tF79N6H4EPwf/7LX68/eRWg9DpA59ABokN06AA/wQkW6iqUU957X14tIiJaCwgAxUfnCopDdPO8OGtPn9yurQsAwDrnHFhjjFhrjECGrBmsVWsAoLSrgnAABAC0e4PygQWARNy0jbHWrFsWABxY55wxxhjJGUCzlrZjrTHmOIkF6ABrPs2q4OclfurWZzXIh65RPs2q2ndtSmm325l1K6uqaJZiWmZNzjmbsozR1fZAe4MykcpiERZhFha5fPHRP7z5J92jq2YRYVEWFRHdc2jOORtVJeZykEUOgKoKOSsXo1LClBKlRNefvPbyK7+d5qU4xgWdC71yOV2GZtYlpnKKiIiYaYXMWUFViTgRJ6KUUoyp9Mgzp05efOz8T194kXnvUUFfnTz2UUTneZmXGGOMMaWUElEiJmJVhawaE5XRUcbTvMRpWqZp/vqNZ4Zx+tFPbg7TXGBJhGTNA4uKqogOwzRN8zQt8xKXJRaclFJMlFXd/Q9ctGDROe+xvCNXCt6Cc/DEFy+99/4HN198yRqz3W6qEEr2b3/40fsf3D6x3QzDtBvGo924G47XMEzDMM7zLESoyiI4z7Gul3U4lum07+9fufH049cu/e61N3758m+MtU1djeNcVf7xq5dPnjgxTfNumHa7cRimcZzGEsq8zHMUEVVGEQHmmNI4zSv2YXpkZZaYqKnrZ7924xvPfnWalxhTFbwPPiW68/HRNC3jNA3DdLQbd8M0DNM4zeM0x5SUWURQmAHAMozjvM69/eQr/T3GOO1HZtmalsjDdBiZ4zSP43SIYxjGcZyFSYSEGUVoVUsAu2E6nnxlesQ0/8+hPy/jNA/DcRzMRd+xCKEwHdQSGXO0MzmrqDJLSrTEdC+yZZoKx7gbJkpRKAlToTkmKD0rG3P3SFcHU5qXeC/Ca55X4VX0KO/RhQmZyJhjpZdzzqo71RRpWeJnko6yB2UmpsSUmAiZ6aD0PtH3VFUSpXFa7k38iq7SmnlV12scKJQKdpHla2dDdcoKKMwpxf9Hvv8Hy+bckTfWlc4AAAAASUVORK5CYII=",ML="/assets/sensorium-LnEdz0mP.png",UL="/assets/quotecrush-H9EFtVFj.png",IL="/assets/ephemerality-BHSIj2nK.png",BL="/assets/unicornkick-AmYsegkx.png",zL="/assets/layernote-DAuXg5uB.png",VL="/assets/attunement-CKmqJiD4.png",_L="/assets/fractalview-B-VuGyyd.png",WL="/assets/breathcube-kDLjzy8v.png",HL="/assets/dreamwood-BDsVqrWv.png",YL="/assets/eudaimonia-D-eDhbqQ.png",qL="/assets/essayvelocity-BWVvd8Jp.png",GL="/assets/biasproof-Mx4yCOy2.png",FL="/assets/passthestory-AkmPb9cP.png",QL="/assets/ideaaddiction-BI9gF9To.png",XL="/assets/schrodingerscat-B9MXIMYc.png",KL="/assets/badmeditator-CyX-bLL6.png",ZL="/assets/landart
205-DkBvU3cB.png",$L="/assets/stonewright-DV-L9chQ.png",JL="/assets/popsiclebridge-BGMMfB6A.png",e9="/assets/curlingchaos-Bm2sGA0k.png",t9="/assets/trailtorment-DbD4Ibw3.jpg",s9="/assets/brainsmut_stacked_logo_1772765403313-Cuudf987.png",a9="/assets/unseeing_logo_1773530448122-D4lNp6Ai.png",i9="/assets/StrangerStoriesLogo_copy_1775411064530-BpAvJFPx.png",n9="/assets/year_tree_logo_rings_1776276401190-DzS9vOnv.png",r9="/assets/voidspan_logo_1780710778702-C91OlqTb.png",o9="/assets/color_harvest_logo_smear_1782178447149-BFZ3asIK.png",l9="/assets/Slingshot_Racer_Logo_1782954389450-DEthufAd.png",c9="/assets/Great_Duck_Race_Logo_1783818679845-nXTgJJYH.png",d9="/assets/DriveDossier_Logo_1788553902089-BlL5RJ-F.png",h9="/assets/SyllabusView_Logo_1789329649292-Df58iLKm.png",u9={syllabusview:h9,drivedossier:d9,biasproof:GL,essayvelocity:qL,readingvelocity:RL,writingvelocity:DL,schrodingersbox:XL,ideaaddiction:QL,fractalview:_L,quotecrush:UL,brainsmut:s9,strangerstories:i9,breathcube:WL,unicornkick:BL,clearing:PL,ephemerality:IL,layernote:zL,attunement:VL,happyhumanist:YL,walkaway:OL,stonewright:$L,dreamwood:HL,badmeditator:KL,popsiclebridge:JL,sensorium:ML,landartstudio:ZL,passthestory:FL,curlingchaos:e9,trailtorment:t9,unseeing:a9,yeartree:n9,voidspan:r9,colorharvest:o9,slingshotracer:l9,greatduckrace:c9},m9=[{name:"Educational / Professional",slug:"educational",description:"Tools to accelerate learning, thinking, and production.",tagline:"Sharpen Your Mind"},{name:"Creative / Wellness",slug:"wellness",description:"Digital hygiene, mindfulness, and inner life tools.",tagline:"Tend Your Inner Life"},{name:"Games / Play",slug:"games",description:"Experiments in play, creativity, and interactive entertainment.",tagline:"Play Like You Mean It"}];function p9(s){return{title:s.name,description:s.desc,icon:u9[s.slug],tags:s.tags,href:s.webLink||s.appStoreLink,appStoreLink:s.appStoreLink,webLink:s.webLink,legalSlug:["syllabusview","drivedossier","colorharvest","greatduckrace"].includes(s.slug)?s.slug:void 0}}const oi=m9.map(s=>({...s,apps:Jl.filter(i=>i.division===s.name).map(p9)})),Cw=oi.flatMap(s=>s.apps);function f9(s){const i=[...s];for(let r=i.length-1;r>0;r--){const l=Math.floor(Math.random()*(r+1));[i[r],i[l]]=[i[l],i[r]]}return i}const Ew=new Set(["VoidSpan","Unseeing","Color Harvest","YearTree","Trail Torment","Sensorium","BiasProof","QuoteCrush","StrangerStories","BrainSmut","Schrödinger's Box","UnicornKick","Ephemerality","Clearing Meditations","PopsicleBridge","BadMeditator"]),x9=Array.from(Ew).map(s=>Cw.find(i=>i.title===s)).filter(Boolean),y9=Cw.filter(s=>!Ew.has(s.title)&&!!s.appStoreLink);function g9(){const[s]=w.useState(()=>f9([...x9,...y9]));return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col items-center",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex flex-col items-center justify-center text-center px-6 pt-12 md:pt-16",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:1,ease:"easeOut"},className:"space-y-4",children:[e.jsx(_.span,{initial:{opacity:0}
205,animate:{opacity:1},transition:{delay:.3,duration:.6},className:"inline-block text-xs font-serif italic tracking-widest text-primary/80",children:"EST. 2025"}),e.jsxs("h1",{className:"text-5xl md:text-7xl lg:text-8xl font-sans font-bold tracking-tight",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})]}),e.jsx("p",{className:"text-lg md:text-xl text-white/70 font-light italic tracking-wide",children:"For Heroes of Daily Life"}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 mt-6 justify-center",children:[e.jsx(L,{href:"/educational",children:e.jsxs(Ns,{size:"lg",variant:"outline",className:"text-base px-5 py-3 h-auto rounded-none border-amber-500/20 bg-transparent hover:bg-amber-500/5 hover:border-amber-500/50 text-muted-foreground hover:text-amber-400 transition-all duration-500 group w-full sm:w-auto","data-testid":"button-educational",children:[e.jsx(q0,{className:"w-4 h-4 mr-2 opacity-50 group-hover:opacity-100 transition-opacity"}),e.jsx("span",{className:"tracking-widest uppercase text-xs mr-2 group-hover:mr-3 transition-all",children:"Educational / Professional"}),e.jsx(ka,{className:"w-3 h-3 opacity-50 group-hover:opacity-100 transition-opacity"})]})}),e.jsx(L,{href:"/wellness",children:e.jsxs(Ns,{size:"lg",variant:"outline",className:"text-base px-5 py-3 h-auto rounded-none border-cyan-500/20 bg-transparent hover:bg-cyan-500/5 hover:border-cyan-500/50 text-muted-foreground hover:text-cyan-400 transition-all duration-500 group w-full sm:w-auto","data-testid":"button-wellness",children:[e.jsx(SA,{className:"w-4 h-4 mr-2 opacity-50 group-hover:opacity-100 transition-opacity"}),e.jsx("span",{className:"tracking-widest uppercase text-xs mr-2 group-hover:mr-3 transition-all",children:"Creative / Wellness"}),e.jsx(ka,{className:"w-3 h-3 opacity-50 group-hover:opacity-100 transition-opacity"})]})}),e.jsx(L,{href:"/games",children:e.jsxs(Ns,{size:"lg",variant:"outline",className:"text-base px-5 py-3 h-auto rounded-none border-purple-500/20 bg-transparent hover:bg-purple-500/5 hover:border-purple-500/50 text-muted-foreground hover:text-purple-400 transition-all duration-500 group w-full sm:w-auto","data-testid":"button-games",children:[e.jsx(wA,{className:"w-4 h-4 mr-2 opacity-50 group-hover:opacity-100 transition-opacity"}),e.jsx("span",{className:"tracking-widest uppercase text-xs mr-2 group-hover:mr-3 transition-all",children:"Games / Play"}),e.jsx(ka,{className:"w-3 h-3 opacity-50 group-hover:opacity-100 transition-opacity"})]})})]})]})}),e.jsx(_.div,{initial:{opacity:0,y:60},animate:{opacity:1,y:0},transition:{duration:.8,delay:.5},className:"relative mt-8 mb-8",style:{zIndex:10},children:e.jsxs("div",{className:"relative bg-gradient-to-b from-zinc-800 to-zinc-900 rounded-[2.5rem] p-2 shadow-2xl shadow-black/50",children:[e.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-24 h-6 bg-black rounded-b-2xl z-20"}),e.jsxs("div",{className:"relative bg-gradient-to-br from-zinc-950 via-zinc-900 to-black rounded-[2rem] overflow-hidden w-[280px] md:w-[320px] h-[500px] md:h-[580px]",children:[e.jsxs("div",{className:"flex justify-between items-center px-6 pt-8 pb-2 text-[10px] text-white/60",children:[e.jsx("span",{children:"9:41"}),e.jsx("div",{className:"flex gap-1 items-center",children:e.jsx("div",{className:"w-4 h-2 border border-white/60 rounded-sm",children:e.jsx("div",{className:"w-3 h-1.5 bg-white/60 rounded-sm"})})})]}),e.jsx("div",{className:"px-4 pt-4 pb-6",children:e.jsx("div",{className:"grid grid-cols-4 gap-3 md:gap-4",children:s.map((i,r)=>e.jsxs(_.a,{href:i.href,target:i.href?"_blank":void 0,rel:i.href?"noopener noreferrer":void 0,initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},transition:{duration:.3,delay:.8+r*.05,type:"spring",stiffness:300},whileHover:{scale:1.1,transition:{duration:.15}},whileTap:{scale:.9},className:"flex flex-col items-center gap-1 group","data-testid":`app-block-${i.title.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx("div",{className:"w-12 h-12 md:w-14 md:h-14 roun
205ded-2xl overflow-hidden shadow-lg bg-black/20 border border-white/10 group-hover:border-white/30 transition-all",children:e.jsx("img",{src:i.icon,alt:i.title,className:"w-full h-full object-cover"})}),e.jsx("span",{className:"text-[9px] md:text-[10px] text-white/70 text-center truncate w-14 group-hover:text-white transition-colors",children:i.title.length>10?i.title.slice(0,9)+"…":i.title})]},i.title))})}),e.jsx("div",{className:"absolute bottom-2 left-1/2 -translate-x-1/2 w-32 h-1 bg-white/30 rounded-full"})]})]})}),e.jsx(_.p,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.8,delay:1.5},className:"text-center text-white/50 text-sm md:text-base max-w-lg px-6 mb-6 font-light",style:{zIndex:10},children:"Ultra-Normal LLC makes philosophical software for heroes of daily life. The portfolio spans contemplative play, literary devotion, intellectual provocation, creative tools, and physical endurance. Extraordinary apps built with ordinary magic."}),e.jsx(_.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.8,delay:1.7},className:"mb-8",style:{zIndex:10},children:e.jsx(L,{href:"/manifesto",children:e.jsxs(Ns,{variant:"outline",className:"rounded-none border-white/15 bg-transparent hover:bg-white/5 hover:border-white/30 text-white/50 hover:text-white transition-all duration-500 group px-6 py-3 h-auto","data-testid":"button-manifesto",children:[e.jsx("span",{className:"tracking-widest uppercase text-xs mr-2 group-hover:mr-3 transition-all",children:"Read the Ultra-Normal Ultra-Manifesto"}),e.jsx(ka,{className:"w-3 h-3 opacity-50 group-hover:opacity-100 transition-opacity"})]})})}),e.jsxs(_.div,{initial:{opacity:0}
205,animate:{opacity:1},transition:{duration:.8,delay:2},className:"flex flex-col sm:flex-row gap-3 mb-12",style:{zIndex:10},children:[e.jsx(L,{href:"/writing",children:e.jsxs(Ns,{variant:"outline",className:"rounded-none border-white/10 bg-transparent hover:bg-white/5 hover:border-white/25 text-white/40 hover:text-white/70 transition-all duration-500 group px-5 py-2.5 h-auto w-full sm:w-auto","data-testid":"button-writing",children:[e.jsx(RA,{className:"w-3.5 h-3.5 mr-2 opacity-50 group-hover:opacity-100 transition-opacity"}),e.jsx("span",{className:"tracking-widest uppercase text-[10px] mr-2 group-hover:mr-3 transition-all",children:"Featured Writing"}),e.jsx(ka,{className:"w-3 h-3 opacity-50 group-hover:opacity-100 transition-opacity"})]})}),e.jsx(L,{href:"/legal-directory",children:e.jsxs(Ns,{variant:"outline",className:"rounded-none border-white/10 bg-transparent hover:bg-white/5 hover:border-white/25 text-white/40 hover:text-white/70 transition-all duration-500 group px-5 py-2.5 h-auto w-full sm:w-auto","data-testid":"button-legal",children:[e.jsx(PA,{className:"w-3.5 h-3.5 mr-2 opacity-50 group-hover:opacity-100 transition-opacity"}),e.jsx("span",{className:"tracking-widest uppercase text-[10px] mr-2 group-hover:mr-3 transition-all",children:"Legal & Support"}),e.jsx(ka,{className:"w-3 h-3 opacity-50 group-hover:opacity-100 transition-opacity"})]})}),e.jsx(L,{href:"/skills",children:e.jsxs(Ns,{variant:"outline",className:"rounded-none border-white/10 bg-transparent hover:bg-white/5 hover:border-white/25 text-white/40 hover:text-white/70 transition-all duration-500 group px-5 py-2.5 h-auto w-full sm:w-auto",children:[e.jsx("span",{className:"tracking-widest uppercase text-[10px] mr-2 group-hover:mr-3 transition-all",children:"Agent Skills"}),e.jsx(ka,{className:"w-3 h-3 opacity-50 group-hover:opacity-100 transition-opacity"})]})})]})]})}const b9=Vu("whitespace-nowrap inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 hover-elevate ",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow-xs",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow-xs",outline:"text-foreground border [border-color:var(--badge-outline)]"}},defaultVariants:{variant:"default"}});function v9({className:s,variant:i,...r}){return e.jsx("div",{className:jt(b9({variant:i}),s),...r})}function kw({title:s,description:i,icon:r,tags:l=[],href:c,featured:u=!1,appStoreLink:m,webLink:p,legalSlug:x}){const f=!!(m||p),y=!!x;return e.jsxs("div",{className:"h-full flex flex-col","data-testid":`card-app-${s.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx(_.a,{href:c,target:c?"_blank":void 0,rel:c?"noopener noreferrer":void 0,whileHover:c?{y:-5}:void 0,transition:{duration:.3,ease:"easeOut"},className:`flex-grow block ${c?"cursor-pointer":"cursor-default"}`,children:e.jsxs(Ju,{className:`h-full flex flex-col overflow-hidden border-border/50 bg-card/50 backdrop-blur-sm hover:border-primary/50 transition-colors duration-300 group ${u?"ring-1 ring-primary/20":""} ${f?"rounded-b-none":""}`,children:[e.jsxs(qv,{className:"pb-4 pt-6 px-6 flex-row items-start justify-between space-y-0",children:[e.jsx("div",{className:"rounded-xl overflow-hidden w-16 h-16 bg-secondary/50 flex items-center justify-center border border-white/5 shadow-inner",children:r?e.jsx("img",{src:r,alt:s,className:"w-full h-full object-cover"}):e.jsx("div",{className:"w-8 h-8 bg-primary/20 rounded-full"})}),e.jsx("div",{className:"text-muted-foreground/50 group-hover:text-primary transition-colors",children:e.jsx(uA,{className:"w-5 h-5"})})]}),e.jsxs(em,{className:"flex-grow px-6",children:[e.jsx("h3",{className:"font-serif text-xl font-medium tracking-tight mb-2 text-foreground group-hover:text-primary transition-colors",children:s}),e.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:i})]}),e.jsx(Gv,{className:"px-6 pb-6 pt-2 flex gap-2 flex-wrap",children:l.map(b=>e.jsx(v9,{variant:"secondary",className:"bg-secondary/50 text-xs font-normal border-transparent",children:b},b))})]})}),m&&e.jsxs("a",{href:m,target:"_blank",rel:"noopener noreferrer",className:`flex items-center justify-center gap-2 py-3 px-4 bg-gradient-to-r from-gray-900 to-black border border-white/10 border-t-0 text-white text-sm font-medium hover:from-gray-800 hover:to-gray-900 transition-all group ${p||y?"":"rounded-b-xl"}`,"data-testid":`link-appstore-${s.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx(lA,{className:"w-4 h-4"}),e.jsxs("span",{children:["Download ",s," on the App Store"]})]}),p&&e.jsxs("a",{href:p,target:"_blank",rel:"noopener noreferrer",className:`flex items-center justify-center gap-2 py-3 px-4 bg-gradient-to-r from-zinc-900 to-zinc-800 border border-white/10 border-t-0 text-white/80 text-sm font-medium hover:text-white hover:from-zinc-800 hover:to-zinc-700 transition-all group ${y?"":"rounded-b-xl"}`,"data-testid":`link-web-${s.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx(_u,{className:"w-4 h-4"}),e.jsxs("span",{children:["Try ",s," on the web"]})]}),y&&e.jsxs("div",{className:"flex items-center justify-center gap-3 py-2 px-4 bg-black/40 border border-white/10 border-t-0 rounded-b-xl text-[11px] text-white/40",children:[e.jsx(L,{href:`/${x}-privacy`,className:"hover:text-white/70 transition-colors","data-testid":`link-privacy-${x}`,children:"Privacy"}),e.jsx("span",{children:"·"}),e.jsx(L,{href:`/${x}-terms`,className:"hover:text-white/70 transition-colors","data-testid":`link-terms-${x}`,children:"Terms"}),e.jsx("span",{children:"·"}),e.jsx(L,{href:`/${x}-support`,className:"hover:text-white/70 transition-colors","data-testid":`link-support-${x}`,children:"Support"})]})]})}var j9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],w9=j9.reduce((s,i)=>{const r=Aw(`Primitive.${i}`),l=w.forwardRef((c,u)=>{const{asChild:m,...p}=c,x=m?r:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(x,{...p,ref:u})});return l.displayName=`Primitive.${i}`,{...s,[i]:l}},{}),N9="Separator",Fb="horizontal",T9=["horizontal","vertical"],Lw=w.forwardRef((s,i)=>{const{decorative:r,orientation:l=Fb,...c}=s,u=S9(l)?l:Fb,p=r?{role:"none"}:{"aria-orientation":u==="vertical"?u:void 0,role:"separator"};return e.jsx(w9.div,{"data-orientation":u,...p,...c,ref:i})});Lw.displayName=N9;function S9(s){return T9.includes(s)}var Dw=Lw;const Da=w.forwardRef(({className:s,orientation:i="horizontal",decorative:r=!0,...l},c)=>e.jsx(Dw,{ref:c,decorative:r,orientation:i,className:jt("shrink-0 bg-border",i==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",s),...l}));Da.displayName=Dw.displayName;const Rw="/assets/IMG_5638_1764695694285-PRltjurB.jpeg",Ml="/assets/Gemini_Generated_Image_pj0eg1pj0eg1pj0e_1765661110412-BZiiqFlE.png";function A9(){return e.jsxs("div",{className:"min-h-screen text-foreground selection:bg-primary/30 selection:text-primary-foreground",children:[e.jsx(te,{}),e.jsxs("header",{className:"relative px-6 py-8 md:px-12 flex items-center justify-between border-b border-white/5 bg-black/30 backdrop-blur-sm sticky top-0",style:{zIndex:20},children:[e.jsx(L,{href:"/",children:e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground hover:text-primary transition-colors cursor-pointer group",children:[e.jsx(J,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"}),e.jsx("span",{className:"text-sm tracking-widest uppercase font-medium",children:"Back to Entry"})]})}),e.jsxs("div",{className:"text-center",children:[e.jsxs("h1",{className:"text-xl md:text-2xl font-sans font-bold tracking-tight",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})]}),e.jsx("p",{className:"text-xs text-white/60 italic tracking-wide mt-1",children:"For Heroes of Daily Life"})]}),e.jsx("div",{className:"w-[100px]"})," "]}),e.jsx("section",{className:"py-12 px-6 md:px-12 container mx-auto relative space-y-20 min-h-[80vh]",style:{zIndex:10},children:oi.map((s,i)=>e.jsxs("div",{children:[e.jsxs(_.div,{initial:{opacity:0,x:-20}
205,animate:{opacity:1,x:0},transition:{duration:.6,delay:i*.1},className:"flex flex-col md:flex-row md:items-end gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-serif text-foreground/90 mb-2",children:s.name}),e.jsx("p",{className:"text-muted-foreground font-light",children:s.description})]}),e.jsx(Da,{className:"hidden md:block flex-1 bg-border/50 mb-2"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:s.apps.map((r,l)=>e.jsx(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:i*.1+l*.1},children:e.jsx(kw,{...r})},r.title))})]},s.name))}),e.jsxs("section",{className:"py-12 px-6 md:px-12 container mx-auto relative",style:{zIndex:10},children:[e.jsxs(_.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.6,delay:.5},className:"flex flex-col md:flex-row md:items-end gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-serif text-foreground/90 mb-2",children:"Merch"}),e.jsx("p",{className:"text-muted-foreground font-light",children:"Swag for Heroes of Daily Life"})]}),e.jsx(Da,{className:"hidden md:block flex-1 bg-border/50 mb-2"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:e.jsx(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.6},children:e.jsx(L,{href:"/merch",children:e.jsx("a",{className:"block group cursor-pointer","data-testid":"link-merch-card",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm transition-all duration-500 hover:border-amber-500/30 hover:shadow-[0_0_30px_-5px_rgba(251,191,36,0.2)]",children:[e.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:e.jsx("img",{src:Ml,alt:"Ultra-Normal Merch",className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"})}),e.jsxs("div",{className:"p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Tl,{className:"w-5 h-5 text-amber-400"}),e.jsxs("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-amber-400 transition-colors",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"}),e.jsx("span",{className:"text-white/90",children:" Gear"})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Coming soon! Be first in line for exclusive merch."})]})]})})})})})]}),e.jsx("section",{className:"py-24 bg-black/20 border-t border-white/5 relative overflow-hidden",style:{zIndex:10},children:e.jsx("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl text-center relative z-10",children:e.jsxs(_.div,{initial:{opacity:0}
205,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.8},children:[e.jsxs(_.button,{whileHover:{scale:1.05,rotate:5},whileTap:{scale:.95},onClick:()=>window.location.href="mailto:[email protected]",className:"relative w-32 h-32 md:w-40 md:h-40 mx-auto mb-10 rounded-full overflow-hidden border-4 border-white/10 shadow-[0_0_40px_-10px_rgba(var(--primary),0.5)] cursor-pointer group","aria-label":"Email Justin Neuman",children:[e.jsx("img",{src:Rw,alt:"Justin Neuman",className:"w-full h-full object-cover transition-all duration-700 scale-110 group-hover:scale-100"}),e.jsx("div",{className:"absolute inset-0 ring-1 ring-inset ring-white/20 rounded-full"}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:e.jsx(Ft,{className:"w-8 h-8 text-white drop-shadow-lg"})})]}),e.jsx("h2",{className:"text-3xl md:text-4xl font-serif mb-4",children:"Contact Ultra-Normal"}),e.jsx("p",{className:"text-white/50 mb-8 text-sm max-w-xl mx-auto",children:"Ultra-Normal LLC makes philosophical software for heroes of daily life. The portfolio spans contemplative play, literary devotion, intellectual provocation, creative tools, and physical endurance. Extraordinary apps built with ordinary magic."}),e.jsx("p",{className:"text-muted-foreground mb-10 text-lg font-light max-w-xl mx-auto",children:"Interested in collaboration or simply want to say hello? We're always open for creative minds."}),e.jsx("div",{className:"flex items-center justify-center mb-12",children:e.jsxs("div",{className:"flex items-center gap-3 text-sm text-muted-foreground hover:text-primary transition-colors cursor-pointer group",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-secondary flex items-center justify-center border border-white/5 group-hover:border-primary/30 transition-colors",children:e.jsx(Ft,{className:"w-4 h-4"})}),e.jsx("span",{className:"tracking-wide",children:"[email protected]"})]})})]})})}),e.jsxs("footer",{className:"py-8 border-t border-white/5 text-center text-xs text-muted-foreground/50 relative",style:{zIndex:10},children:[e.jsx("p",{children:"© 2025 Ultra-Normal. All Rights Reserved."}),e.jsx(L,{href:"/legal",children:e.jsx("a",{className:"inline-block mt-2 text-muted-foreground/70 hover:text-primary transition-colors","data-testid":"link-legal",children:"Ultra-Normal LLC"})})]})]})}const wl={educational:[{title:"The $12.5 Billion Wound",subtitle:"Why Scams Aren’t Just a “Dumb Mistake” and Why I Built BiasProof",author:"Justin Neuman",slug:"biasproof-12-billion-wound",appSlug:"biasproof",body:["Every minute, American consumers lose about $23,800 to fraud. In 2024, reported losses hit $12.5 billion... a 25% jump from the year before, dwarfing traditional crimes like burglary or car theft. Globally, scam victims lost an estimated $1 trillion last year. Fraud may now rival the illegal drug trade in scale.","The FTC’s Consumer Sentinel Network logged $306 million in imposter scam losses in Q3 2025 alone. The FBI’s IC3 report: $16.6 billion in cybercrime losses for 2024, averaging $19,372 per victim. Young adults (20–29) report losing money in 44% of FTC fraud cases. Older adults see losses for big-ticket scams over $100,000 up eight-fold in recent years. AARP finds 41% of American adults... about 110 million people... have lost money to fraud. The educated and successful fall just as hard.","Now the invisible wound. Picture a literature professor who’s spent decades dissecting narratives and emotional manipulation in literature. That’s me, two weeks into launching Ultra-Normal LLC. My inbox floods with “urgent” emails: trademark alerts, compliance kits, credit offers, invoices screaming officialdom. One form, mimicking a federal certificate, nearly has me pulling out my credit card. Hand hovering, browser open, brain fogged by the day’s chaos. I caught it... barely.","Now imagine someone who doesn’t. A successful executive, credentialed and cautious, clicks a phishing link at 5 PM after a grueling day. Decision fatigue. Cognitive load peaks. They sign a form, buy an overpriced product, or are caught in a romance scam that escalated during a personal crisis. The aftermath isn’t just empty accounts... it’s shattered self-trust. Victims report PTSD-like symptoms: flashbacks, nightmares, hypervigilance. Depression spikes. Relationships fracture under unspoken shame. Brené Brown’s research nails it: shame thrives in secrecy, silence, and judgment. Victims isolate, fearing blame. And blame they get. Society assumes marks are stupid. But victim-blaming suppresses reports and lets scammers thrive.","These aren’t separate problems. The same cognitive vulnerabilities... anchoring bias, urgency tactics, sunk cost fallacies... power the initial scam and the shame spiral that follows. Decision fatigue depletes willpower at predictable moments: end-of-day calls, personal crises. Scammers time it perfectly, overwhelming mental bandwidth to bypass rational checks. Reporting rates stay dismally low, often under 32%. And traditional fixes like financial literacy? They flop. They teach mechanics, not psychological traps. Scams scale in sophistication while literacy stays static.","Some questions worth sitting with: Why do smart people fall for scams... and why does that question reveal our own bias against vulnerability? What would “herd immunity” against manipulation look like?","BiasProof isn’t a finger-wagging “don’t get scammed” tool. It’s integrated prophylaxis, drawing from bias inoculation research like Sander van der Linden’s prebunking work at Cambridge. The app simulates traps in three zones: online scams, emotional manipulation, cognitive biases. It helps users build mental muscle memory through scenarios: anchoring, urgency, romance phishing... so instincts kick in before you reach for your wallet. We armor computers with antivirus. We lock doors. Why not armor our minds?","BiasProof is free on iOS. Works on computers, phones, and iPads. Pro tier available for those who want depth with a one-time $4.99 pro upgrade.","I got scammed into building a scam-prevention app. Two weeks after forming Ultra-Normal LLC, I was drowning in “urgent” emails. Trademark monitoring services. Compliance packages. Credit card offers. Official-looking invoices for things I didn’t need.","I’m a literature professor. I study how narratives manipulate our emotions. And I still almost took out my credit card for a fake certificate because a form looked like it came from the federal government. That’s when I caught myself... hand on wallet, browser window open, brain offline. The exact moment the scam wins.","So I built the tool I needed: BiasProof. A training app that simulates the traps before they cost you money or relationships or emotional energy. Three zones: online scams, emotional manipulation, cognitive bias. Anchoring. Urgency. Sunk cost. Romance scams. Phishing. All pitched in compelling scenarios. All designed to build the mental muscle memory that kicks in faster than you can reach for your credit card.","We have antivirus software for computers. Locks for doors. Nothing for the softw
205are in our heads.","Smart people don’t fall for scams because they’re dumb. They fall because the moment moves faster than the mind. I learned that the hard way. BiasProof is mind-armour. Try it out so you don’t get played."],cta:{label:"Download BiasProof (Free on iOS)",href:"https://apps.apple.com/us/app/biasproof/id6756802032"}},{title:"The Case for Good Addictions",author:"Justin Neuman",slug:"brainsmut-good-addictions",appSlug:"brainsmut",body:["Porn for your brain.",'Novelty. Anticipation. Climax. Most "intellectual" apps are vitamins. BrainSmut is candy.',"We deliver one high-signal fact per day. Rigorously sourced. Totally true. Designed to rewire how you see the world.","Aristotle might not have built any apps, but if he had, I think he would have understood BrainSmut immediately.","Eudaimonia — human flourishing — was never, for Aristotle, a matter of willpower. It was a matter of habituation. We become what we repeatedly do. Virtue is not chosen once in a moment of moral clarity; it is accumulated through daily practice, through the slow layering of repeated actions into something we eventually call character.","Most educational technology ignores this completely.",'We pretend that learning happens because people "value knowledge" — that the desire to improve is sufficient motivation, that information is medicine taken willingly for one’s own good. This model doesn’t describe human behavior, and it never has.',"People check their phones hundreds of times a day not because they love trivia, but because novelty, anticipation, and reward are wired into the nervous system. The same cognitive machinery that narrows a life can also expand one. The question is never whether we will form habits. It is which habits we will form — and what they will train us to love.","BrainSmut is an experiment in redirecting that machinery.","It delivers one rigorously sourced, genuinely surprising idea per day. No feed. No scroll. No algorithmic flood. Then it stops you. You get one idea and are told no.","That limit is the product’s ethical center. Desire is acknowledged, not shamed. Craving is allowed to arise — and then trained to wait. This is not accidental design. It is the philosophical premise made functional.","The facts themselves are not motivational posters. They are strange, rigorous, sometimes unsettling truths drawn from real scholarship, visibly sourced, written to land with force. The pleasure is genuine. So is the work being done.","I am a literary scholar who spent twenty years teaching at Yale and The New School. I believe attention is the fundamental human resource — more scarce, more valuable, and more trainable than most people realize. I build apps because I think the design of daily habits is the highest-leverage intervention available to anyone interested in human flourishing.","BrainSmut does not promise self-improvement. It offers something more honest: a daily practice of active wonder, one idea at a time, in a world engineered to keep you passive.","Ideas are addictive. Let’s make that work for us."],cta:{label:"Try BrainSmut",href:"https://brainsmut.app"}},{title:"Living in Fast Times with Slow Minds",author:"Justin Neuman",slug:"fractalview-fast-times-slow-minds",appSlug:"fractalview",body:["We are living in fast times with slow minds.","Most failures of understanding are failures of scale. Businesses fail when founders can’t hold daily execution and decade vision simultaneously. Writers get blocked at the sentence level when they can’t see why their ideas matter. Climate paralysis happens because people can’t connect individual action to planetary outcome. Personal stuckness is the inability to see how today’s choices connect to a meaningful life.","This isn’t our fault. Human beings evolved in linear space and time. We’re built to reason locally – one step after another, one cause at a time. Scale literacy is a missing cognitive capacity, and we don’t have tools for it.","The world now changes logarithmically. Technology compounds. Systems scale. A single decision can echo across continents and decades. Holding one person and eight billion people in the same frame does not come naturally. Linear minds are being asked to operate in a logarithmic world.","FractalView is my attempt to address that mismatch.","The app is a thinking environment that helps people move deliberately between orders of magnitude without losing coherence. It does not optimize your output or automate your thinking. It gives you instruments to achieve insight.","The core is a scalar ladder. Ideas are placed explicitly at discrete levels – from concrete evidence at the bottom, through working claims and structures, up to universal stakes. Moving up or down is not cosmetic. Each level demands different rigor. Downward movement demands specificity, evidence, clarity. Upward movement demands implication, stakes, vision. Root-cause analysis (“Why?”) is paired with implication analysis (“So what?”), step by step.","The app is intentionally small and disciplined. It does not generate insights, detect patterns, or replace judgment. No AI. It earns trust by enforcing clarity rather than simulating intelligence.","It is also free, and local-first. Your work lives on your device. Your thinking is not mined, ranked, or trained on. FractalView is not a feed, a network, or a platform. It is an instrument.","I’m giving it to my students next semester. I hope it’s useful to you."],cta:{label:"Download FractalView (Free on iOS)",href:"https://apps.apple.com/us/app/fractalview/id6757110636"}}
205],wellness:[{title:"HappyHumanist",subtitle:"A Manifesto",author:"Justin Neuman",slug:"happyhumanist-manifesto",appSlug:"happyhumanist",body:["Over the last decade, “happiness” became one of higher education’s most overproduced subjects. Millions enrolled in courses promising optimization, habit-hacking, and positivity training. All well and good. But what these courses largely avoid is, well… real life… with its heartbreaks, griefs, failures, and the long consequences of loving other people. A happiness course seemed like Dessert-mode education: pleasurable, affirming, and easily consumable.","But real life is not dessert.","I’m a professor of literary studies. For years I taught the standard curriculum... Modernist Poetry, the Epic Tradition, disciplinary courses designed to reproduce the PhD and survey courses designed to push content coverage. Then my university cut the lecture courses I had taught for years, and I faced a choice: mourn the old model or build something better.","I chose to build.","I returned to first principles. What do students actually need? Not more content delivery. They need tools for living through difficulty. They need language for desire, loss, meaning, and connection. They need what the Greeks called eudaimonia... not happiness as feeling, but happiness as flourishing, the good life lived in full awareness of mortality and constraint.","If a course doesn’t help students figure out how to live, what’s it for… and if we can’t explain how it might change a student’s life, why are we teaching it?","The course I created, Heartbreak and Happiness, made me change my pedagogy. And it changed my students’ lives. It braids ancient philosophy with contemporary science, poetry with empirical research, personal formation with civic imagination. It treats literature as our most sophisticated technology for exploring consciousness... as a mirror to regard ourselves, a window onto distant worlds, and an anvil on which to forge meaning from pain.","The empirical research is unequivocal: relationships are the key to happiness. They also break our hearts. This app and this reading list holds both truths together.","We are living through a strange inversion. Artificial intelligence has driven the value of quick answers toward zero. Machines summarize, paraphrase, and analyze faster than any student. What remains scarce... and therefore valuable... are judgment, taste, ethical reasoning, lived memory, moral accountability, and the capacity to live inside unresolved questions.","Those are not defects in a humanities education. They are its core competencies.","As work stops supplying meaning by default, people must generate it elsewhere: in art, community, contact with the natural world, and the rhythms of everyday life. The humanities are no longer merely career-adjacent. They become life-centric. Humanist, with a capital H. They train people to orient themselves when external scripts collapse.","Confusing answers for meaning is the mistake at the center of both the crisis in the humanities and the panic over AI. When someone asks a chatbot “What is the meaning of life?” the system responds fluently. But it does not produce meaning on a boring Tuesday afternoon, or during grief, or in a moment of moral pressure. Meaning emerges through repetition, commitment, consequence, and revision... over time, and in relationship with others.","You cannot live in a deconstructed house, and you cannot be sustained if you never grow things. We have to plant something. An orchard is not a metaphor for critique. It is a metaphor for faith in the future. Cultivation presumes tomorrow.","This app is an orchard.","For more on the future of humanist education in an age of AI, read the full essay series: The Future Is Humanist.","HappyHumanist offers two ways in.","The Course. Ten weeks of guided exploration through texts that will break you apart and build you back. Literature, philosophy, advice columns, music, film. A curriculum designed not to optimize your mood but to deepen your capacity for living. This is education as encounter... the slow, serious work of becoming.","The Practice. Daily journaling. Study of the classical virtues and their Greek roots. Reflection exercises drawn from centuries of wisdom about character formation. No gimmicks, no gamification... just the cultivation that presumes tomorrow.","Both paths are free. All links in place. Deep dives available for those who want them.","I built this because I believe education should prepare us for the lives we will actually live... lives of love and loss, connection and solitude, ecstasy and ordinary Tuesday afternoons. Friction is not the bug of a good life. It is the curriculum.","Welcome. Choose your path."],cta:{label:"Download HappyHumanist (Free on iOS)",href:"https://apps.apple.com/us/app/happyhumanist/id6757548461"}},{title:"Ephemerality",subtitle:"A Founder's Story",author:"Justin Neuman",slug:"ephemerality-founders-story",appSlug:"ephemerality",body:["I started learning to code because I wanted to build this app.","Not because I saw a market opportunity. Not because I wanted to disrupt anything. Because I wanted something that didn’t exist, and I couldn’t stop thinking about it.","My kids have been growing up fast. And lately I’ve been noticing how much I wish I’d been better at capturing the little moments... our son holding a purple plush hippo in his purple long underwear, the way our daughter’s hand looked holding a dandelion before the seed-pod blew away. Or even the wonders of my own daily life... light slanting through the pine
205s on my trail run last Wednesday afternoon. Things I know I’ll forget. Not the big moments. Those get photographed, celebrated, posted. The small ones. The ones that make a life feel like a life.","I wanted a place to catch them. Not to advertise them or analyze them. Just to hold them for a while and maybe share them with someone I love. I wanted something like what Instagram almost was... before attention became something to be harvested rather than cultivated.","So I built Ephemerality.","It helps you capture moments that matter... a few words, a photo, and a prompt for reflection. These are Ephemeron. The app saves them to your phone and helps you cultivate attention on what really matters.","The ancient Stoics and Epicureans understood something we’ve mostly forgotten: the good life isn’t about accumulation. It’s about attention. About being present to what’s actually happening, right now, before it passes.","We live in an attention economy that wants more. More of your time, your data, your money. Ephemerality wants less.","The app is free. Not freemium... free. No subscription unlocks. No premium tier. I’m not interested in monetizing your memories. Eventually, if people want printed books of their ephemera, I’ll offer that. A physical object made from moments you chose to notice. That feels right. But the app itself is a gift.","I mean that literally. Ephemerality’s the second app I’ve released this way... the first was Unicorn Kick, built to help people achieve their dreams. I believe some things should just exist because they’re good, and people might want them, and because I want to make them.","This is the app I wish I’d used when my kids were kids. It’s the app I’m going to use from now on, because life is passing. And I want to seize it."],cta:{label:"Download Ephemerality (Free on iOS)",href:"https://apps.apple.com/us/app/ephemerality/id6757105307"}}],games:[{title:"The Phone Isn’t the Problem",subtitle:"Why Taking Away Screens Won’t Fix What’s Really Broken",author:"Justin Neuman",slug:"phone-isnt-the-problem",appSlug:"passthestory",body:["Jonathan Haidt is right. Phones are rewiring childhood. The data on anxiety, depression, and social comparison is damning. If you’re a parent who read The Anxious Generation and felt a low hum of panic, you’re not alone. I felt it too.","But here’s what Haidt gets wrong: the prescription. Take the phones away, he says. Delay smartphones until high school. It’s a nice-sounding argument. It’s also a fantasy.","Parents aren’t giving up the phones. Not because they’re weak or don’t care… but because the infrastructure of modern family life runs through these devices. School communication, logistics, connection with faraway grandparents, the audiobook that makes a four-hour drive survivable. You can take the phone out of a kid’s hand, but you can’t take it out of the ecosystem they live in.","And even if you could, you’d still be solving the wrong problem.","The deeper crisis isn’t screen time. It’s the collapse of shared imaginative time between parents and children. Families stopped telling stories together, making things together, building worlds together long before the iPhone arrived. Phones didn’t create that vacuum. They filled it. The blue glow in a child’s face at the dinner table isn’t the disease. It’s the symptom of a creative absence that was already there.","This is where Haidt’s framework stalls. He offers a diagnosis with teeth and a prescription that dissolves on contact with reality. What parents actually need isn’t a ban. It’s a model. Kids learn what technology is for by watching how the adults around them use it. If every interaction they witness is scrolling, consuming, comparing...that’s what a phone becomes. But if they see the device as a tool for making something together, the entire relationship shifts.","The phone can be a slot machine. It can also be a gathering place… where a four-year-old and a grandfather build a story one sentence at a time, where the screen faces up on the table instead of down in a lap, where the thing that usually isolates becomes the thing that connects.","This isn’t optimism. It’s a design choice. Technology becomes what we build it to be. And right now, almost nobody is building it to bring families closer.","That’s why I built PassTheStory, a collaborative storytelling app I built for my own family and friends. It’s voice-first, no AI, no ads, no data collection, everything stored on your device. It’s free, because storytelling is free. It doesn’t replace imagination. It just keeps the thread from unraveling.","Haidt is right that something is broken. But the fix isn’t fewer screens. It’s better apps, and using them together with our kids."],cta:{label:"Download PassTheStory (Free on iOS)",href:"https://apps.apple.com/us/app/passthestory/id6756682884"}},{title:"TRAIL TORMENT",subtitle:"The Ultra-Marathon Simulation Game",author:"Justin Neuman",slug:"trail-torment",appSlug:"trailtorment",body:["If you're in the ultra-running or backpacking worlds, you probably know the Pemigewasset Loop. It might be on your bucket list. It might be haunting your nightmares. Either way, you've heard the stories.","The Pemi Loop is 32 miles of the White Mountains at their brutal best. 10,000 feet of elevation gain and loss. The endless exposure of Franconia Ridge. Bondcliff's wild remoteness. Most people do it in two or three days. Some people run it in a day. A few have done it in under 7 hours.","Now you can live the misery… and laugh at it… without leaving the couch.","Trail Torment is a Pemi Loop simulator, built by an actual ultrarunner (me) who knows the loop and loves the sport. In this game you’re not doing the running. You’re the pacer/planner; the voice in their head. You roll a random starting condition... maybe it’s your runner’s Best Day, maybe your runner woke up on the Struggle Bus. Pack ruthlessly, because every ounce costs speed and every missing item costs more. Do you bring the chafe cream? The storm shell? Decide now. Then you coach your runner through 32 miles of chaos. Send advice and see if it helps. Finish strong and you earn a virtual belt buckle with your time engraved. Bonk? A Saint Bernard comes to the rescue. The real FKT leaderboard is in there too… see how you fare against the actual fastest known times on the Pemi.","Ultrarunning has exploded. In North America alone, unique finishers grew from about 8,400 in 2000 to nearly 98,000 in 2024. Globally, participation surged 345% in a single decade. Over 600,000 people now complete ultramarathons every year, and that number keeps climbing. The sport has gone from fringe to phenomenon, fueled by social media, by Strava, by books like Born to Run, by podcasts and YouTube and the simple c
205ontagious madness of watching someone run 100 miles and thinking I could maybe do that. And you know what? You probably can.","It’s an amazing sport. But it’s also absurd. And hilarious. And disgusting. It’s full of disasters and “type 2 fun”... the kind that’s more fun in the stories than in the experience. Blisters. Chafing. Gastric distress. Getting lost. Getting found. Silly earworms and mantras that keep you moving when nothing else will. The fact that once you’ve been exercising for a few hours, all the impulse control and emotional veneer is gone from the fragile thing that is a human being. Ultrarunning strips us down and breaks us open. That’s what makes it awesome. It’s also what makes it hilarious.","There’s no game that captures that. Action games are too fast. RPGs are too serious. Trail Torment lives in the spirit of Oregon Trail, not Sonic the Hedgehog. It’s a strategy game about suffering, built on real trail data, real navigation hazards, and real quotes from real ultrarunners that pop up at the worst possible moments. David Roche says “You’re amazing” right after your runner faceplants. Shake it off. Have your runner take a drink... or maybe a selfie.","The game is free. It takes under ten minutes per run. Infinite replayability. If you have a Strava account for any sport, you’ll get it. If you’re a runner or a backpacker, you’ll get it. If you’re not laughing, you get your money back (it’s free).","Take an in-app selfie of your stick figure’s worst moment and share it. Submit your screenshots to the Wall of Suffering on the website. I want to see your suffering, and I’d be grateful for your feedback."],cta:{label:"Download Trail Torment (Free on iOS)",href:"https://apps.apple.com/us/app/trail-torment/id6759349403"}}]};function Xh({slug:s}){const i=oi.find(u=>u.slug===s);if(!i)return e.jsx("div",{className:"min-h-screen flex items-center justify-center text-white",children:e.jsx("p",{children:"Division not found."})});const r=oi.findIndex(u=>u.slug===s),l=r>0?oi[r-1]:null,c=r<oi.length-1?oi[r+1]:null;return e.jsxs("div",{className:"min-h-screen text-foreground selection:bg-primary/30 selection:text-primary-foreground",children:[e.jsx(te,{}),e.jsxs("header",{className:"relative px-6 py-8 md:px-12 flex items-center justify-between border-b border-white/5 bg-black/30 backdrop-blur-sm sticky top-0",style:{zIndex:20},children:[e.jsx(L,{href:"/",children:e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground hover:text-primary transition-colors cursor-pointer group",children:[e.jsx(J,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"}),e.jsx("span",{className:"text-sm tracking-widest uppercase font-medium",children:"Home"})]})}),e.jsxs("div",{className:"text-center",children:[e.jsxs("h1",{className:"text-xl md:text-2xl font-sans font-bold tracking-tight",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})]}),e.jsx("p",{className:"text-xs text-white/60 italic tracking-wide mt-1",children:"For Heroes of Daily Life"})]}),e.jsx("div",{className:"w-[100px]"})]}),e.jsx("section",{className:"relative py-12 px-6 md:px-12",style:{zIndex:10},children:e.jsxs("div",{className:"container mx-auto flex flex-col lg:flex-row gap-12 items-start",children:[e.jsx("div",{className:"lg:sticky lg:top-32 lg:w-[380px] flex-shrink-0",children:e.jsx(_.div,{initial:{opacity:0,y:60},animate:{opacity:1,y:0},transition:{duration:.8,delay:.2},className:"mx-auto lg:mx-0",children:e.jsxs("div",{className:"relative bg-gradient-to-br from-zinc-950 via-zinc-900 to-black rounded-[2.5rem] overflow-hidden w-[280px] md:w-[320px] h-[500px] md:h-[580px] border border-zinc-700/60 shadow-2xl shadow-black/70",children:[e.jsxs("div",{className:"flex justify-between items-center px-6 pt-8 pb-2 text-[10px] text-white/60",children:[e.jsx("span",{children:"9:41"}),e.jsx("div",{className:"flex gap-1 items-center",children:e.jsx("div",{className:"w-4 h-2 border border-white/60 rounded-sm",children:e.jsx("div",{className:"w-3 h-1.5 bg-white/60 rounded-sm"})})})]}),e.jsxs("div",{className:"px-4 pt-2",children:[e.jsx("p",{className:"text-[11px] text-white/40 tracking-wider up
205percase mb-3 text-center",children:i.name}),e.jsx("div",{className:"grid grid-cols-4 gap-3 md:gap-4",children:i.apps.map((u,m)=>e.jsxs(_.a,{href:u.href,target:u.href?"_blank":void 0,rel:u.href?"noopener noreferrer":void 0,initial:{opacity:0,scale:.5},animate:{opacity:1,scale:1},transition:{duration:.3,delay:.5+m*.06,type:"spring",stiffness:300},whileHover:{scale:1.1,transition:{duration:.15}},whileTap:{scale:.9},className:"flex flex-col items-center gap-1 group","data-testid":`app-icon-${u.title.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx("div",{className:"w-12 h-12 md:w-14 md:h-14 rounded-2xl overflow-hidden shadow-lg bg-black/20 border border-white/10 group-hover:border-white/30 transition-all",children:e.jsx("img",{src:u.icon,alt:u.title,className:"w-full h-full object-cover"})}),e.jsx("span",{className:"text-[9px] md:text-[10px] text-white/70 text-center truncate w-14 group-hover:text-white transition-colors",children:u.title.length>10?u.title.slice(0,9)+"…":u.title})]},u.title))})]}),e.jsx("div",{className:"absolute bottom-2 left-1/2 -translate-x-1/2 w-32 h-1 bg-white/30 rounded-full"})]})})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs(_.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.6},className:"mb-10",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-serif text-foreground/90 mb-3",children:i.name}),e.jsx("p",{className:"text-muted-foreground font-light text-lg",children:i.description})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:i.apps.map((u,m)=>e.jsx(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1+m*.08},children:e.jsx(kw,{...u})},u.title))}),e.jsxs("div",{className:"flex justify-between items-center mt-16 pt-8 border-t border-white/5",children:[l?e.jsx(L,{href:`/${l.slug}`,children:e.jsxs(Ns,{variant:"outline",className:"rounded-none border-white/10 bg-transparent hover:bg-white/5 hover:border-white/30 text-muted-foreground hover:text-white transition-all group","data-testid":`button-prev-${l.slug}`,children:[e.jsx(J,{className:"w-4 h-4 mr-2 group-hover:-translate-x-1 transition-transform"}),e.jsx("span",{className:"tracking-widest uppercase text-xs",children:l.name})]})}):e.jsx("div",{}),c?e.jsx(L,{href:`/${c.slug}`,children:e.jsxs(Ns,{variant:"outline",className:"rounded-none border-white/10 bg-transparent hover:bg-white/5 hover:border-white/30 text-muted-foreground hover:text-white transition-all group","data-testid":`button-next-${c.slug}`,children:[e.jsx("span",{className:"tracking-widest uppercase text-xs",children:c.name}),e.jsx(ka,{className:"w-4 h-4 ml-2 group-hover:translate-x-1 transition-transform"})]})}):e.jsx("div",{})]})]})]})}),wl[s]&&wl[s].length>0&&e.jsxs("section",{className:"py-12 px-6 md:px-12 container mx-auto relative",style:{zIndex:10},children:[e.jsxs(_.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.6,delay:.5},className:"flex flex-col md:flex-row md:items-end gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(q0,{className:"w-5 h-5 text-amber-400"}),e.jsx("h2",{className:"text-2xl md:text-3xl font-serif text-foreground/90",children:"Featured Writing"})]}),e.jsx("p",{className:"text-muted-foreground font-light mt-1",children:"Stories behind the apps"})]}),e.jsx(Da,{className:"hidden md:block flex-1 bg-border/50 mb-2"})]}),e.jsx("div",{className:"space-y-10",children:wl[s].map((u,m)=>e.jsxs(_.article,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.6,delay:.6+m*.15},className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-8 md:p-10","data-testid":`essay-${u.slug}`,children:[e.jsxs("header",{className:"mb-8",children:[e.jsx("h3",{className:"text-2xl md:text-3xl font-serif font-bold text-foreground/95 tracking-tight",children:u.title}),u.subtitle&&e.jsx("p",{className:"text-lg text-amber-400/80 font-light mt-1 italic",children:u.subtitle}),e.jsxs("p",{className:"text-sm text-white/40 mt-3 tracking-wide",children:["By ",u.author]})]}),e.jsx("div",{className:"space-y-5 text-[15px] text-muted-foreground leading-relaxed font-light",children:u.body.map((p,x)=>e.jsx("p",{children:p},x))}),u.cta&&e.jsxs("div",{className:"mt-8 pt-6 border-t border-white/5",children:[e.jsxs("a",{href:u.cta.href,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-6 py-3 rounded-lg bg-gradient-to-r from-amber-500/20 to-orange-500/20 border border-amber-500/30 text-amber-300 hover:text-amber-200 hover:border-amber-400/50 transition-all duration-300 text-sm font-medium tracking-wide","data-testid":`essay-cta-${u.slug}`,children:[u.cta.label,e.jsx(Zs,{className:"w-4 h-4"})]}),e.jsx("p",{className:"text-xs text-white/30 mt-4 tracking-wide",children:"Plan. Commit. Suffer. Repeat."})]})]},u.slug))})]}),s==="educational"?e.jsxs("section",{className:"py-12 px-6 md:px-12 container mx-auto relative",style:{zIndex:10},children:[e.jsxs(_.div,{initial:{opacity:0,x:-20}
205,animate:{opacity:1,x:0},transition:{duration:.6,delay:.5},className:"flex flex-col md:flex-row md:items-end gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-serif text-foreground/90 mb-2",children:"Related Sites"}),e.jsx("p",{className:"text-muted-foreground font-light",children:"More from Ultra-Normal's educational ecosystem"})]}),e.jsx(Da,{className:"hidden md:block flex-1 bg-border/50 mb-2"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 lg:gap-8",children:[e.jsx(_.a,{href:"https://www.red-pencil-editor.com",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.6},className:"block group","data-testid":"link-red-pencil-editor",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-6 transition-all duration-500 hover:border-amber-500/30 hover:shadow-[0_0_30px_-5px_rgba(251,191,36,0.2)]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-amber-400 transition-colors",children:"Red Pencil Editor"}),e.jsx(Zs,{className:"w-4 h-4 text-muted-foreground group-hover:text-amber-400 transition-colors flex-shrink-0 mt-1"})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Want to use the power of AI without plagiarizing your papers? Red Pencil Editor gives you feedback without doing your thinking for you. Choose Professor Mode for strategic guid
205ance on argument and structure, or Editor Mode for pure grammar and spelling checks."}),e.jsx("p",{className:"text-xs text-white/40 mt-3 tracking-wide",children:"www.red-pencil-editor.com"})]})}),e.jsx(_.a,{href:"https://www.academicvelocity.com",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.7},className:"block group","data-testid":"link-academic-velocity",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-6 transition-all duration-500 hover:border-cyan-500/30 hover:shadow-[0_0_30px_-5px_rgba(6,182,212,0.2)]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-cyan-400 transition-colors",children:"Academic Velocity"}),e.jsx(Zs,{className:"w-4 h-4 text-muted-foreground group-hover:text-cyan-400 transition-colors flex-shrink-0 mt-1"})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Read Faster. Think Deeper. Write Clearer. PhD-built tools for scholars who want to train capacity, not outsource thinking. No AI writing your work. No shortcuts that leave you weaker."}),e.jsx("p",{className:"text-xs text-white/40 mt-3 tracking-wide",children:"www.academicvelocity.com"})]})}),e.jsx(_.a,{href:"https://www.applicationvelocity.com/",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.8},className:"block group","data-testid":"link-application-velocity",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-6 transition-all duration-500 hover:border-emerald-500/30 hover:shadow-[0_0_30px_-5px_rgba(16,185,129,0.2)]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-emerald-400 transition-colors",children:"ApplicationVelocity"}),e.jsx(Zs,{className:"w-4 h-4 text-muted-foreground group-hover:text-emerald-400 transition-colors flex-shrink-0 mt-1"})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"For families applying to elite schools. Navigate private school applications with confidence. Strategic frameworks for day school and boarding school parent statements. Built by a professor who taught at Yale and Phillips Exeter—and understands the families applying to them."}),e.jsx("p",{className:"text-xs text-white/40 mt-3 tracking-wide",children:"www.applicationvelocity.com"})]})}),e.jsx(_.a,{href:"https://www.myaidistillery.com",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.9},className:"block group","data-testid":"link-my-ai-distillery",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-6 transition-all duration-500 hover:border-purple-500/30 hover:shadow-[0_0_30px_-5px_rgba(168,85,247,0.2)]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-purple-400 transition-colors",children:"My AI Distillery"}),e.jsx(Zs,{className:"w-4 h-4 text-muted-foreground group-hover:text-purple-400 transition-colors flex-shrink-0 mt-1"})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"A free, downloadable tool for teaching your AI about you. The output is three portable artifacts that replace the blank-slate problem with a running start. They work across tools, across models, across updates. When the AI changes, your distillation doesn't."}),e.jsx("p",{className:"text-xs text-white/40 mt-3 tracking-wide",children:"www.myaidistillery.com"})]})}),e.jsx(_.a,{href:"https://consultantmode.com/",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:1},className:"block group","data-testid":"link-consultant-mode",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-6 transition-all duration-500 hover:border-rose-500/30 hover:shadow-[0_0_30px_-5px_rgba(244,63,94,0.2)]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground
205/90 group-hover:text-rose-400 transition-colors",children:"ConsultantMode"}),e.jsx(Zs,{className:"w-4 h-4 text-muted-foreground group-hover:text-rose-400 transition-colors flex-shrink-0 mt-1"})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Nine specialist AI prompts that transform ChatGPT, Claude, or any AI into a structured business advisor. Validate ideas. Launch faster. Fix what's broken. Negotiate smarter. Free, no login required."}),e.jsx("p",{className:"text-xs text-white/40 mt-3 tracking-wide",children:"consultantmode.com"})]})}),e.jsx(_.a,{href:"https://brainsmut.com/",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:1.1},className:"block group","data-testid":"link-brainsmut",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-6 transition-all duration-500 hover:border-pink-500/30 hover:shadow-[0_0_30px_-5px_rgba(236,72,153,0.2)]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-pink-400 transition-colors",children:"BrainSmut"}),e.jsx(Zs,{className:"w-4 h-4 text-muted-foreground group-hover:text-pink-400 transition-colors flex-shrink-0 mt-1"})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"Porn for your brain. One high-signal fact per day. Rigorously sourced. Totally true. Designed to rewire how you see the world."}),e.jsx("p",{className:"text-xs text-white/40 mt-3 tracking-wide",children:"brainsmut.com"})]})})]})]}):s==="games"?e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"py-12 px-6 md:px-12 container mx-auto relative",style:{zIndex:10},children:[e.jsxs(_.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.6,delay:.5},className:"flex flex-col md:flex-row md:items-end gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-serif text-foreground/90 mb-2",children:"Related Sites"}),e.jsx("p",{className:"text-muted-foreground font-light",children:"More from Ultra-Normal's gaming ecosystem"})]}),e.jsx(Da,{className:"hidden md:block flex-1 bg-border/50 mb-2"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 lg:gap-8",children:e.jsx(_.a,{href:"https://contemplativegames.com/",target:"_blank",rel:"noopener noreferrer",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.6},className:"block group","data-testid":"link-contemplative-games",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm p-6 transition-all duration-500 hover:border-amber-500/30 hover:shadow-[0_0_30px_-5px_rgba(251,191,36,0.2)]",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-amber-400 transition-colors",children:"Contemplative Games"}),e.jsx(Zs,{className:"w-4 h-4 text-muted-foreground group-hover:text-amber-400 transition-colors flex-shrink-0 mt-1"})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"A curated collection by Ultra-Normal LLC. Games for builders, thinkers, and tinkerers. Build bridges. Arrange stones. Grow trees toward light. Tell stories with your kids. Play that makes something beautiful."}),e.jsx("p",{className:"text-xs text-white/40 mt-3 tracking-wide",children:"contemplativegames.com"})]})})})]}),e.jsxs("section",{className:"py-12 px-6 md:px-12 container mx-auto relative",style:{zIndex:10},children:[e.jsxs(_.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.6,delay:.5},className:"flex flex-col md:flex-row md:items-end gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-serif text-foreground/90 mb-2",children:"Merch"}),e.jsx("p",{className:"text-muted-foreground font-light",children:"Swag for Heroes of Daily Life"})]}),e.jsx(Da,{className:"hidden md:block flex-1 bg-border/50 mb-2"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:e.jsx(_.div,{initial:{opacity:0,y:20}
205,animate:{opacity:1,y:0},transition:{duration:.5,delay:.6},children:e.jsx(L,{href:"/merch",children:e.jsx("a",{className:"block group cursor-pointer","data-testid":"link-merch-card",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm transition-all duration-500 hover:border-amber-500/30 hover:shadow-[0_0_30px_-5px_rgba(251,191,36,0.2)]",children:[e.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:e.jsx("img",{src:Ml,alt:"Ultra-Normal Merch",className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"})}),e.jsxs("div",{className:"p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Tl,{className:"w-5 h-5 text-amber-400"}),e.jsxs("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-amber-400 transition-colors",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"}),e.jsx("span",{className:"text-white/90",children:" Gear"})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Coming soon! Be first in line for exclusive merch."})]})]})})})})})]})]}):e.jsxs("section",{className:"py-12 px-6 md:px-12 container mx-auto relative",style:{zIndex:10},children:[e.jsxs(_.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.6,delay:.5},className:"flex flex-col md:flex-row md:items-end gap-4 mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl md:text-3xl font-serif text-foreground/90 mb-2",children:"Merch"}),e.jsx("p",{className:"text-muted-foreground font-light",children:"Swag for Heroes of Daily Life"})]}),e.jsx(Da,{className:"hidden md:block flex-1 bg-border/50 mb-2"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8",children:e.jsx(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.6},children:e.jsx(L,{href:"/merch",children:e.jsx("a",{className:"block group cursor-pointer","data-testid":"link-merch-card",children:e.jsxs("div",{className:"relative overflow-hidden rounded-xl border border-white/10 bg-card/50 backdrop-blur-sm transition-all duration-500 hover:border-amber-500/30 hover:shadow-[0_0_30px_-5px_rgba(251,191,36,0.2)]",children:[e.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:e.jsx("img",{src:Ml,alt:"Ultra-Normal Merch",className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"})}),e.jsxs("div",{className:"p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Tl,{className:"w-5 h-5 text-amber-400"}),e.jsxs("h3",{className:"text-lg font-semibold text-foreground/90 group-hover:text-amber-400 transition-colors",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"}),e.jsx("span",{className:"text-white/90",children:" Gear"})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Coming soon! Be first in line for exclusive merch."})]})]})})})})})]}),e.jsx("section",{className:"py-24 bg-black/20 border-t border-white/5 relative overflow-hidden",style:{zIndex:10},children:e.jsx("div",{className:"container mx-auto px-6 md:px-12 max-w-4xl text-center relative z-10",children:e.jsxs(_.div,{initial:{opacity:0}
205,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.8},children:[e.jsxs(_.button,{whileHover:{scale:1.05,rotate:5},whileTap:{scale:.95},onClick:()=>window.location.href="mailto:[email protected]",className:"relative w-32 h-32 md:w-40 md:h-40 mx-auto mb-10 rounded-full overflow-hidden border-4 border-white/10 shadow-[0_0_40px_-10px_rgba(var(--primary),0.5)] cursor-pointer group","aria-label":"Email Justin Neuman",children:[e.jsx("img",{src:Rw,alt:"Justin Neuman",className:"w-full h-full object-cover transition-all duration-700 scale-110 group-hover:scale-100"}),e.jsx("div",{className:"absolute inset-0 ring-1 ring-inset ring-white/20 rounded-full"}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:e.jsx(Ft,{className:"w-8 h-8 text-white drop-shadow-lg"})})]}),e.jsx("h2",{className:"text-3xl md:text-4xl font-serif mb-4",children:"Contact Ultra-Normal"}),e.jsx("p",{className:"text-white/50 mb-8 text-sm max-w-xl mx-auto",children:"Ultra-Normal LLC makes philosophical software for heroes of daily life. The portfolio spans contemplative play, literary devotion, intellectual provocation, creative tools, and physical endurance. Extraordinary apps built with ordinary magic."}),e.jsx("p",{className:"text-muted-foreground mb-10 text-lg font-light max-w-xl mx-auto",children:"Interested in collaboration or simply want to say hello? We're always open for creative minds."}),e.jsx("div",{className:"flex items-center justify-center mb-12",children:e.jsxs("div",{className:"flex items-center gap-3 text-sm text-muted-foreground hover:text-primary transition-colors cursor-pointer group",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-secondary flex items-center justify-center border border-white/5 group-hover:border-primary/30 transition-colors",children:e.jsx(Ft,{className:"w-4 h-4"})}),e.jsx("span",{className:"tracking-wide",children:"[email protected]"})]})})]})})}),e.jsxs("footer",{className:"py-8 border-t border-white/5 text-center text-xs text-muted-foreground/50 relative",style:{zIndex:10},children:[e.jsx("p",{children:"© 2025 Ultra-Normal. All Rights Reserved."}),e.jsx(L,{href:"/legal",children:e.jsx("a",{className:"inline-block mt-2 text-muted-foreground/70 hover:text-primary transition-colors","data-testid":"link-legal",children:"Ultra-Normal LLC"})})]})]})}const Ow="/assets/UltraNormalMan-Logo_1777119494855-DgY-B7pS.png";function C9(){return e.jsxs("div",{className:"min-h-screen text-foreground selection:bg-primary/30 selection:text-primary-foreground",children:[e.jsx(te,{}),e.jsxs("header",{className:"relative px-6 py-8 md:px-12 flex items-center justify-between border-b border-white/5 bg-black/30 backdrop-blur-sm sticky top-0",style:{zIndex:20},children:[e.jsx(L,{href:"/",children:e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground hover:text-primary transition-colors cursor-pointer group","data-testid":"link-home",children:[e.jsx(J,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"}),e.jsx("span",{className:"text-sm tracking-widest uppercase font-medium",children:"Home"})]})}),e.jsxs("div",{className:"text-center",children:[e.jsxs("h1",{className:"text-xl md:text-2xl font-sans font-bold tracking-tight",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})]}),e.jsx("p",{className:"text-xs text-white/60 italic tracking-wide mt-1",children:"For Heroes of Daily Life"})]}),e.jsx("div",{className:"w-[100px]"})]}),e.jsx("article",{className:"relative py-16 px-6 md:px-12",style:{zIndex:10},children:e.jsxs("div",{className:"container mx-auto max-w-2xl",children:[e.jsxs(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8},children:[e.jsx("h2",{className:"text-4xl md:text-5xl font-serif text-foreground
205/90 mb-2 text-center",children:"Ordinary Magic"}),e.jsx("p",{className:"text-center text-white/40 tracking-widest uppercase text-sm mb-16",children:"A Manifesto"})]}),e.jsxs(_.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.25},className:"mb-14",children:[e.jsx("p",{className:"text-white/40 italic text-sm mb-4 text-center",children:"First, a promise:"}),e.jsxs("div",{className:"flex flex-col sm:flex-row items-center gap-6 border border-white/10 rounded-sm p-6",children:[e.jsx("img",{src:Ow,alt:"Ultra-Normal Man",className:"w-20 h-20 object-contain flex-shrink-0"}),e.jsxs("div",{className:"space-y-3 text-white/60 text-sm leading-relaxed",children:[e.jsx("p",{children:"We make software that respects your attention, your wallet, and your intelligence. Every Ultra-Normal app is complete. Our apps are built to be compelling in the hand and completely silent in your pocket."}),e.jsx("p",{children:"If it costs anything, we charge an honest price, once. No subscriptions. No ads. No tracking. No deceptive pricing loops, no dark patterns, no fine print."}),e.jsx("p",{children:"We believe software should work like an old-fashioned toy: you buy it, it's yours, and it never tries to sell you anything ever again."})]})]})]}),e.jsxs(_.div,{initial:{opacity:0}
205,animate:{opacity:1},transition:{duration:.8,delay:.3},className:"space-y-6 text-white/70 font-light leading-relaxed text-base md:text-lg",children:[e.jsx("p",{children:"When our son was eight, he announced that he wanted to be a mountain runner."}),e.jsx("p",{children:`We followed him. At first my wife and I called what we were doing "trail speed adventures," because there was a lot of walking involved. Eventually, running became ordinary. Before school. In the dark. On the trails. His declaration built a running family. His older sister dove straight into the deep end and won the USATF junior national trail marathon title. This past summer she and I ran the Leadville 100 together... she won the under-20 division at eighteen, possibly the youngest finisher in the race's history, and we crossed every mile of the "race across the sky" side by side.`}),e.jsx("p",{children:"What stuns me isn't our results. It's realizing I spent decades circling a gift without finding it. And knowing that I needed my kids to teach me how to have fun and take risks again."}),e.jsx("p",{className:"mt-10",children:"Somewhere in professional life, I'd stopped setting goals big enough to require transformation. The consequences felt too high. So I chose comfort and called it wisdom."}),e.jsx("p",{children:"The reason most people don't achieve their full potential isn't because they lack talent. They fall short because the first step feels too big. Dreams feel dangerous. The novel never gets written. The race never gets run. The business idea lives forever in the notes app."}),e.jsx("p",{children:"Not because people lack capability, but because they never take the leap. And because they stop taking the next steps."}),e.jsx("p",{children:'The gap between "I want to run a marathon" and "I ran marathon" feels enormous.'}),e.jsx("p",{children:'The gap between "I want to run a marathon" and "run one mile today" is trivial.'}),e.jsx("p",{children:"The same is true of writing a novel. You don't write a novel. You write a paragraph. Every day. Eventually you write a page. Then two. Novels aren't born from lightning strikes of inspiration. They emerge from stacking words on the page, day after day. Like bricks in a wall. Like miles on a trail."}),e.jsx("p",{className:"mt-10",children:"I'm a professor of literary studies. For years I taught the standard curriculum... Modernist Poetry, the Epic Tradition, disciplinary courses designed to reproduce the PhD. Then my university cut the lecture courses I had taught for years, and I faced a choice: mourn the old model or build something better."}),e.jsx("p",{children:"I chose to build."}),e.jsx("p",{children:"I returned to first principles. What do students actually need? Not more content delivery. They need habits and practices for living through difficulty. They need language for desire, loss, meaning, and connection. They need what the Greeks called eudaimonia... not happiness as feeling, but happiness as flourishing, the good life lived in full awareness of mortality and constraint."}),e.jsx("p",{children:`I started asking myself this basic question: If a course doesn't help students figure out how to live, what's it for? With this question in mind I developed and implemented new curriculum on "Heartbreak and Happiness" and "Birth and Death" to ask the hard questions and charge straight toward the most difficult discussions, the most urgent debates.`}),e.jsx("p",{children:"The same question applies to software. If an app doesn't help someone thrive, what's it for?"}),e.jsx("p",{className:"mt-10",children:"Call me weird, but my favorite phone-based game doesn't involve a gun or a racecar; it's called Prune."}),e.jsx("p",{children:"You grow a tree. You trim branches. Light streams in and your tree reaches toward it, or it doesn't and branches die. You keep pruning until something beautiful emerges... or time runs out and you start again."}),e.jsx("p",{children:"No score multipliers. No achievements. No daily rewards. Just the quiet work of shaping growth toward light."}),e.jsx("p",{children:"That's what I mean by ordinary magic. Not lightning bolts from the sky. Not optimization hacks or gamified streaks. The slow accumulation of small efforts. Tending. Pruning. Stacking stones on a beach knowing the tide will take them. Writing one paragraph. Running one mile. Sitting with a difficult text until it opens."}),e.jsx("p",{children:"You cannot optimize an orchard. You tend it."}),e.jsx("p",{className:"mt-10",children:"Ultra-Normal builds apps for people who do the work."}),e.jsx("p",{children:"Some apps help students read faster and write better. Some help people name their fears and take the next honest step toward bigger ambitions. Some offer daily practices drawn from centuries of wisdom about character formation. Some are just contemplative play... arranging leaves and stones, watching light change, letting art dissolve back into nature."}
205),e.jsx("p",{children:"What connects them is a conviction: friction is not the bug of a good life. It's the curriculum."}),e.jsx("p",{children:"We don't believe in frictionless. We believe in the right friction... the kind that builds capacity, reveals character, and presumes tomorrow. Cultivation over critique. Building over breaking. The orchard over the ruins."}),e.jsx("p",{children:'For heroes of daily life. For anyone who believes the distance between "I want to" and "I did" is just the next forty-eight hours.'}),e.jsx("p",{children:"Ultra-Normal. Operating on ordinary magic."}),e.jsxs("div",{className:"border-t border-white/5 pt-10 mt-16 text-center",children:[e.jsx("p",{className:"text-white/60 font-medium",children:"Justin Neuman"}),e.jsx("p",{className:"text-white/40 text-sm mt-1",children:"Professor | Founder | App-Developer | Director of EveryDay Magic at Ultra-Normal LLC"})]})]})]})}),e.jsxs("footer",{className:"py-8 border-t border-white/5 text-center text-xs text-muted-foreground/50 relative",style:{zIndex:10},children:[e.jsx("p",{children:"© 2025 Ultra-Normal. All Rights Reserved."}),e.jsx(L,{href:"/legal",children:e.jsx("a",{className:"inline-block mt-2 text-muted-foreground/70 hover:text-primary transition-colors","data-testid":"link-legal",children:"Ultra-Normal LLC"})})]})]})}const E9={educational:"Educational / Professional",wellness:"Creative / Wellness",games:"Games / Play"},k9=[{title:"Scrubbing In",publication:"The Hedgehog Review",author:"Justin Neuman",de
205scription:"On AI in the classroom.",href:"https://hedgehogreview.com/web-features/thr/posts/scrubbing-in",slug:"scrubbing-in"},{title:"Vermont Shut Down Its Power",publication:"VTDigger",author:"Justin Neuman",description:"On nuclear power and Vermont's data center opportunity.",href:"https://vtdigger.org/2026/04/15/opinion-vermont-shut-down-its-power-heres-how-to-turn-it-back-on/",slug:"vermont-shut-down-its-power"}];function L9(){return e.jsx("div",{className:"min-h-screen w-full bg-black text-white",children:e.jsxs("div",{className:"max-w-3xl mx-auto px-6 py-12",children:[e.jsx(L,{href:"/",children:e.jsxs("span",{className:"inline-flex items-center gap-2 text-sm text-white/40 hover:text-white/70 transition-colors cursor-pointer mb-8 block","data-testid":"link-back-home",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Home"]})}),e.jsx(_.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6},className:"text-3xl md:text-4xl font-sans font-bold tracking-tight mb-2",children:"Featured Writing"}),e.jsx(_.p,{initial:{opacity:0}
205,animate:{opacity:1},transition:{duration:.6,delay:.2},className:"text-white/50 text-sm mb-10",children:"Essays and founder stories from Ultra-Normal"}),e.jsxs(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.25},className:"mb-10",children:[e.jsx("h2",{className:"text-xs tracking-widest uppercase text-white/40 mb-4 font-sans",children:"Recent Writing"}),e.jsx("div",{className:"space-y-4",children:k9.map(s=>e.jsxs("a",{href:s.href,target:"_blank",rel:"noopener noreferrer",className:"block border border-white/10 hover:border-white/25 rounded-sm p-5 transition-all duration-300 hover:bg-white/[0.02] group","data-testid":`card-recent-${s.slug}`,children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsx("h3",{className:"text-base font-sans font-medium text-white/80 group-hover:text-white transition-colors",children:s.title}),e.jsx(Zs,{className:"w-3.5 h-3.5 text-white/30 group-hover:text-white/60 transition-colors mt-1.5 flex-shrink-0"})]}),e.jsxs("p",{className:"text-sm text-white/40 mt-1",children:[s.author," in ",e.jsx("span",{className:"italic",children:s.publication})]}),e.jsx("p",{className:"text-xs text-white/40 mt-2",children:s.description})]},s.slug))})]}),Object.entries(wl).map(([s,i],r)=>e.jsxs(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3+r*.1},className:"mb-10",children:[e.jsx("h2",{className:"text-xs tracking-widest uppercase text-white/40 mb-4 font-sans",children:E9[s]||s}),e.jsx("div",{className:"space-y-4",children:i.map(l=>{const c=s==="educational"?"/educational":s==="wellness"?"/wellness":"/games";return e.jsx(L,{href:c,children:e.jsxs("div",{className:"border border-white/10 hover:border-white/25 rounded-sm p-5 cursor-pointer transition-all duration-300 hover:bg-white/[0.02] group","data-testid":`card-essay-${l.slug}`,children:[e.jsx("h3",{className:"text-base font-sans font-medium text-white/80 group-hover:text-white transition-colors",children:l.title}),l.subtitle&&e.jsx("p",{className:"text-sm text-white/40 mt-1",children:l.subtitle}),e.jsxs("p",{className:"text-xs text-white/30 mt-2",children:["By ",l.author]})]})},l.slug)})})]},s)),e.jsx("div",{className:"border-t border-white/10 pt-6 mt-10 text-xs text-white/25",children:e.jsxs("span",{children:["© ",new Date().getFullYear()," Ultra-Normal LLC"]})})]})})}const D9=[{name:"SyllabusView",slug:"syllabusview"},{name:"DriveDossier",slug:"drivedossier"},{name:"BiasProof",slug:"biasproof"},{name:"EssayVelocity",slug:"essayvelocity"},{name:"ReadingVelocity",slug:"readingvelocity"},{name:"PassTheStory",slug:"passthestory"},{name:"Ephemerality",slug:"ephemerality"},{name:"HappyHumanist",slug:"happyhumanist"},{name:"UnicornKick",slug:"unicornkick"},{name:"Sensorium",slug:"sensorium"},{name:"IdeaAddiction",slug:"ideaaddiction"},{name:"FractalView",slug:"fractalview"},{name:"Schrödinger's Box",slug:"schrodingersbox"},{name:"Clearing",slug:"clearing"},{name:"LayerNote",slug:"layernote"},{name:"BadMeditator",slug:"badmeditator"},{name:"LandArt Studio",slug:"landartstudio"},{name:"StoneWright",slug:"stonewright"},{name:"PopsicleBridge",slug:"popsiclebridge"},{name:"Trail Torment",slug:"trailtorment"},{name:"Curling Chaos",slug:"curlingchaos"},{name:"QuoteCrush",slug:"quotecrush"},{name:"Unseeing",slug:"unseeing"},{name:"StrangerStories",slug:"strangerstories"},{name:"YearTree",slug:"yeartree"},{name:"BreathCube",slug:"breathcube"}
205,{name:"VoidSpan",slug:"voidspan"},{name:"Color Harvest",slug:"colorharvest"},{name:"Slingshot Racer",slug:"slingshotracer"},{name:"The Great Duck Race",slug:"greatduckrace"}];function R9(){return e.jsx("div",{className:"min-h-screen w-full bg-black text-white",children:e.jsxs("div",{className:"max-w-3xl mx-auto px-6 py-12",children:[e.jsx(L,{href:"/",children:e.jsxs("span",{className:"inline-flex items-center gap-2 text-sm text-white/40 hover:text-white/70 transition-colors cursor-pointer mb-8 block","data-testid":"link-back-home",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Home"]})}),e.jsx(_.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6},className:"text-3xl md:text-4xl font-sans font-bold tracking-tight mb-2",children:"Legal & Support"}),e.jsx(_.p,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.2},className:"text-white/50 text-sm mb-10",children:"Privacy policies, terms of service, and support pages for every Ultra-Normal app."}),e.jsxs(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.25},className:"flex flex-col sm:flex-row items-center gap-6 border border-white/10 rounded-sm p-6 mb-10",children:[e.jsx("img",{src:Ow,alt:"Ultra-Normal Man",className:"w-24 h-24 object-contain flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-semibold text-white mb-2",children:"The Ultra-Normal Promise"}),e.jsx("p",{className:"text-white/60 text-sm leading-relaxed",children:"We make software that respects your attention, your wallet, and your intelligence. Every Ultra-Normal app is complete. Our apps are built to be compelling in the hand and completely silent in your pocket."}),e.jsx("p",{className:"text-white/60 text-sm leading-relaxed mt-2",children:"If it costs anything, we charge an honest price, once. No subscriptions. No ads. No tracking. No deceptive pricing loops, no dark patterns, no fine print."}),e.jsx("p",{className:"text-white/60 text-sm leading-relaxed mt-2",children:"We believe software should work like an old-fashioned toy: you buy it, it's yours, and it never tries to sell you anything ever again."})]})]}),e.jsx(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:.3},className:"space-y-3",children:D9.map(s=>e.jsxs("div",{className:"border border-white/10 rounded-sm p-4","data-testid":`legal-row-${s.slug}`,children:[e.jsx("span",{className:"text-sm font-medium text-white/70 block mb-2",children:s.name}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(L,{href:`/${s.slug}-privacy`,children:e.jsx("span",{className:"text-xs text-white/40 hover:text-white/80 transition-colors cursor-pointer underline","data-testid":`link-${s.slug}-privacy`,children:"Privacy Policy"})}),e.jsx(L,{href:`/${s.slug}-terms`,children:e.jsx("span",{className:"text-xs text-white/40 hover:text-white/80 transition-colors cursor-pointer underline","data-testid":`link-${s.slug}-terms`,children:"Terms of Service"})}),e.jsx(L,{href:`/${s.slug}-support`,children:e.jsx("span",{className:"text-xs text-white/40 hover:text-white/80 transition-colors cursor-pointer underline","data-testid":`link-${s.slug}-support`,children:"Support"})})]})]},s.slug))}),e.jsxs(_.div,{initial:{opacity:0}
205,animate:{opacity:1},transition:{duration:.6,delay:.5},className:"border-t border-white/10 pt-8 mt-10",children:[e.jsx("h2",{className:"text-xs tracking-widest uppercase text-white/40 mb-4 font-sans",children:"Contact"}),e.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-white/40",children:[e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-white/70 transition-colors","data-testid":"link-support-email",children:"[email protected]"}),e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-white/70 transition-colors","data-testid":"link-privacy-email",children:"[email protected]"}),e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-white/70 transition-colors","data-testid":"link-legal-email",children:"[email protected]"}),e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-white/70 transition-colors","data-testid":"link-info-email",children:"[email protected]"})]}),e.jsx("div",{className:"mt-6 text-xs text-white/25",children:e.jsxs("span",{children:["© ",new Date().getFullYear()," Ultra-Normal LLC. All rights reserved."]})})]})]})})}function O9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center justify-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-xl w-full",children:[e.jsx(L,{href:"/",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-home",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Home"]})}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-8",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"EssayVelocity"}),e.jsx("span",{className:"text-white/90",children:" Support"})]}),e.jsxs("div",{className:"space-y-6 text-lg text-white/80",children:[e.jsx("p",{children:"We're here to help with any questions about the app."}),e.jsxs("div",{className:"space-y-4 bg-white/5 border border-white/10 rounded-xl p-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ft,{className:"w-5 h-5 text-primary/70"}),e.jsx("span",{children:"Email: "}),e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline","data-testid":"link-support-email",children:"[email protected]"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(F0,{className:"w-5 h-5 text-primary/70"}),e.jsx("span",{children:"Developer: Justin Neuman / "}),e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(_u,{className:"w-5 h-5 text-primary/70"}),e.jsx("span",{children:"Website: "}),e.jsx("a",{href:"https://ultra-normal.com",className:"text-primary hover:underline","data-testid":"link-website",children:"https://ultra-normal.com"})]})]}),e.jsx("p",{className:"text-white/60 text-base",children:"If you have privacy concerns or need data deleted, just reply to any email from us or contact the address above."}),e.jsx("p",{className:"text-white/80 font-medium",children:"Thank you for using EssayVelocity!"})]})]})})]})}function P9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-home",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Home"]})}),e.jsxs("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:[e.jsx("span",{className:"text-white/90",children:"Privacy Policy for "}),e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"EssayVelocity"})]}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last updated: December 10, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80",children:[e.jsxs("p",{children:["EssayVelocity is a writing assistant app by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),"."]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsx("p",{children:"We collect minimal information necessary to provide our service:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Essay content you create within the app (stored locally on your device)"}),e.jsx("li",{children:"Basic usage analytics to improve the app experience"}),e.jsx("li",{children:"Contact information if you reach out for support"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"How We Use Your Information"}),e.jsx("p",{children:"Your information is used to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Provide and maintain the EssayVelocity service"}),e.jsx("li",{children:"Improve and optimize the app experience"}),e.jsx("li",{children:"Respond to your support requests"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"Data Storage and Security"}),e.jsx("p",{children:"Your essay content is primarily stored locally on your device. We implement appropriate security measures to protect any data transmitted to our servers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"Third-Party Services"}),e.jsx("p",{children:"EssayVelocity may use third-party services for analytics and functionality. These services have their own privacy policies governing their use of your information."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"Your Rights"}),e.jsx("p",{children:"You have the right to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Access the personal data we hold about you"}
205),e.jsx("li",{children:"Request deletion of your data"}),e.jsx("li",{children:"Opt out of analytics collection"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"EssayVelocity is designed for students and may be used by individuals under 18. We do not knowingly collect personal information beyond what is necessary for the app's functionality."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:'We may update this privacy policy from time to time. We will notify users of any material changes by updating the "Last updated" date at the top of this policy.'})]}),e.jsx("div",{className:"pt-6 border-t border-white/10",children:e.jsxs("p",{className:"text-white/90",children:["Questions? Contact: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline","data-testid":"link-privacy-email",children:"[email protected]"})]})})]})]})})]})}const M9=[{app:"SyllabusView",links:[{name:"Privacy Policy",href:"/syllabusview-privacy",icon:tt},{name:"Terms of Service",href:"/syllabusview-terms",icon:ut},{name:"Support",href:"/syllabusview-support",icon:qe}]},{app:"EssayVelocity",links:[{name:"Privacy Policy",href:"/essayvelocity-privacy",icon:tt},{name:"Support",href:"/essayvelocity-support",icon:qe}]},{app:"Unicorn Kick",links:[{name:"Privacy Policy",href:"/unicornkick-privacy",icon:tt},{name:"Support",href:"/unicornkick-support",icon:qe}]},{app:"PassTheStory",links:[{name:"Privacy Policy",href:"/passthestory-privacy",icon:tt},{name:"Terms of Use",href:"/passthestory-terms",icon:ut},{name:"Support",href:"/passthestory-support",icon:qe}]},{app:"BiasProof",links:[{name:"Privacy Policy",href:"/biasproof-privacy",icon:tt},{name:"Terms of Use",href:"/biasproof-terms",icon:ut},{name:"Support",href:"/biasproof-support",icon:qe}]},{app:"ReadingVelocity",links:[{name:"Privacy Policy",href:"/readingvelocity-privacy",icon:tt},{name:"Terms of Use",href:"/readingvelocity-terms",icon:ut},{name:"Support",href:"/readingvelocity-support",icon:qe}]},{app:"IdeaAddiction",links:[{name:"Privacy Policy",href:"/ideaaddiction-privacy",icon:tt},{name:"Terms of Use",href:"/ideaaddiction-terms",icon:ut},{name:"Support",href:"/ideaaddiction-support",icon:qe}]},{app:"Sensorium",links:[{name:"Privacy Policy",href:"/sensorium-privacy",icon:tt},{name:"Terms of Use",href:"/sensorium-terms",icon:ut},{name:"Support",href:"/sensorium-support",icon:qe}]},{app:"Ephemerality",links:[{name:"Privacy Policy",href:"/ephemerality-privacy",icon:tt},{name:"Terms of Use",href:"/ephemerality-terms",icon:ut},{name:"Support",href:"/ephemerality-support",icon:qe},{name:"Copyright and DMCA",href:"/ephemerality-dmca",icon:tt}]},{app:"FractalView",links:[{name:"Privacy Policy",href:"/fractalview-privacy",icon:tt},{name:"Terms of Use",href:"/fractalview-terms",icon:ut},{name:"Support",href:"/fractalview-support",icon:qe}]},{app:"Schrödinger's Box",links:[{name:"Privacy Policy",href:"/schrodingersbox-privacy",icon:tt},{name:"Terms of Use",href:"/schrodingersbox-terms",icon:ut},{name:"Support",href:"/schrodingersbox-support",icon:qe}]},{app:"Clearing Meditations",links:[{name:"Privacy Policy",href:"/clearing-privacy",icon:tt},{name:"Terms of Use",href:"/clearing-terms",icon:ut},{name:"Support",href:"/clearing-support",icon:qe}]},{app:"HappyHumanist",links:[{name:"Privacy Policy",href:"/happyhumanist-privacy",icon:tt},{name:"Terms of Use",href:"/happyhumanist-terms",icon:ut},{name:"Support",href:"/happyhumanist-support",icon:qe}]},{app:"LayerNote",links:[{name:"Privacy Policy",href:"/layernote-privacy",icon:tt},{name:"Terms of Use",href:"/layernote-terms",icon:ut},{name:"Support",href:"/layernote-support",icon:qe}]},{app:"BadMeditator",links:[{name:"Privacy Policy",href:"/badmeditator-privacy",icon:tt},{name:"Terms of Use",href:"/badmeditator-terms",icon:ut},{name:"Support",href:"/badmeditator-support",icon:qe}]},{app:"LandArt Studio",links:[{name:"Privacy Policy",href:"/landartstudio-privacy",icon:tt},{name:"Terms of Use",href:"/landartstudio-terms",icon:ut},{name:"Support",href:"/landartstudio-support",icon:qe}]},{app:"StoneWright",links:[{name:"Privacy Policy",href:"/stonewright-privacy",icon:tt},{name:"Terms of Use",href:"/stonewright-terms",icon:ut},{name:"Support",href:"/stonewright-support",icon:qe}]},{app:"PopsicleBridge",links:[{name:"Privacy Policy",href:"/popsiclebridge-privacy",icon:tt},{name:"Terms of Use",href:"/popsiclebridge-terms",icon:ut},{name:"Support",href:"/popsiclebridge-support",icon:qe}]},{app:"Curling Chaos",links:[{name:"Privacy Policy",href:"/curlingchaos-privacy",icon:tt},{name:"Terms of Use",href:"/curlingchaos-terms",icon:ut},{name:"Support",href:"/curlingchaos-support",icon:qe}]},{app:"Trail Torment",links:[{name:"Privacy Policy",href:"/trailtorment-privacy",icon:tt},{name:"Terms of Use",href:"/trailtorment-terms",icon:ut},{name:"Support",href:"/trailtorment-support",icon:qe}]}];function U9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/suite",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-suite",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Suite"]})}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-4",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"}),e.jsx("span",{className:"text-white/90",children:" LLC"})]}),e.jsx("p",{className:"text-white/60 mb-10",children:"Privacy policies, support, and legal information for our apps."}),e.jsx("div",{className:"space-y-8",children:M9.map(s=>e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-xl p-6",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90 mb-4",children:s.app}),e.jsx("div",{className:"flex flex-wrap gap-4",children:s.links.map(i=>e.jsx(L,{href:i.href,children:e.jsxs("a",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-white/20 rounded-lg text-white/80 hover:text-white transition-all","data-testid":`link-${s.app.toLowerCase()}-${i.name.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx(i.icon,{className:"w-4 h-4"}),i.name]})},i.href))})]},s.app))}),e.jsxs("div",{className:"mt-12 pt-8 border-t border-white/10 text-white/50 text-sm",children:[e.jsx("p",{children:"© 2025 Ultra-Normal LLC. All Rights Reserved."}),e.jsxs("p",{className:"mt-2",children:["Contact: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})})]})}function I9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsxs("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:[e.jsx("span",{className:"text-white/90",children:"Privacy Policy for "}),e.jsx("span",{className:"bg-gradient-to-r from-pink-400 via-purple-500 to-indigo-500 bg-clip-text text-transparent",children:"Unicorn Kick"})]}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: December 11, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' ("we," "us," or "our") operates the Unicorn Kick mobile application (the "App"). This Privacy Policy explains how we collect, use, disclose, and protect your information when you use the App.']}),e.jsx("p",{children:"We are committed to protecting your privacy. This policy applies to information we collect through the App and any related services."}),e.jsx("p",{children:"By using the App, you agree to the collection and use of information in accordance with this policy."}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"1. Information We Collect"}),e.jsx("p",{children:"We collect the following types of information:"}),e.jsx("h3",{className:"text-lg font-medium text-white/80 mt-4",children:"Information You Provide Directly"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-white/70 ml-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Account Information:"})," When you create an account, we may collect your email address, username, password, and any profile information you choose to provide (e.g., name or profile photo)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"User-Generated Content:"})," Goals, tasks, progress notes, journal entries, or any other content you input into the App to track y
205our personal, creative, athletic, or professional aspirations."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Communications:"})," If you contact us for support, we may collect information from your messages."]})]}),e.jsx("h3",{className:"text-lg font-medium text-white/80 mt-4",children:"Information Collected Automatically"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-white/70 ml-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Usage Data:"})," Information about how you use the App, such as features accessed, time spent, and interactions (e.g., goals set or completed)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Device Information:"})," Device type, operating system version, unique device identifiers, IP address, and crash reports."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Analytics Data:"})," We may use third-party analytics tools (such as Firebase Analytics or similar) to collect anonymized data about App usage to improve functionality."]})]}),e.jsx("p",{className:"text-white/60 mt-4",children:"We do not collect sensitive personal information such as health data (unless you voluntarily input it as part of your goals), precise location data, financial information, or biometric data. We do not track you across other apps or websites for advertising purposes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"2. How We Use Your Information"}),e.jsx("p",{children:"We use the collected information for the following purposes:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 ml-2",children:[e.jsx("li",{children:"To provide and maintain the App's core features, including goal setting, progress tracking, and motivational tools."}),e.jsx("li",{children:"To manage your account and authenticate users."}),e.jsx("li",{children:"To personalize your experience and provide reminders or encouragement."}),e.jsx("li",{children:"To analyze usage and improve the App (e.g., fixing bugs or adding features)."}),e.jsx("li",{children:"To respond to your support requests."}),e.jsx("li",{children:"To comply with legal obligations."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"3. Sharing Your Information"}),e.jsx("p",{children:e.jsx("strong",{children:"We do not sell your personal information."})}),e.jsx("p",{children:"We may share your information in the following limited circumstances:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-white/70 ml-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Service Providers:"})," With trusted third-party providers who assist us in operating the App (e.g., cloud hosting like AWS or Firebase, analytics providers). These providers are contractually obligated to protect your data and use it only for the services they provide to us."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Legal Requirements:"})," If required by law, such as in response to a subpoena or court order."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Business Transfers:"})," In the event of a merger, acquisition, or sale of assets, your information may be transferred as part of that transaction."]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"4. Data Security"}),e.jsx("p",{children:"We take reasonable measures to protect your information, including encryption for data in transit and at rest where applicable. However, no method of transmission or storage is 100% secure, so we cannot guarantee absolute security."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"5. Data Retention"}),e.jsx("p",{children:"We retain your personal information only as long as necessary for the purposes outlined in this policy or as required by law. For example:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 ml-2",children:[e.jsx("li",{children:"Account data is retained while your account is active."}),e.jsx("li",{children:"You can delete your account and associated data at any time through the App settings."}
205),e.jsx("li",{children:"After account deletion, we may retain anonymized data for analytics or backup copies for a limited time."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"6. Your Choices and Rights"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 ml-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Access and Update:"})," You can access and update your account information within the App."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Delete Data:"})," You can request deletion of your account and data via the App or by contacting us."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Opt-Out:"})," For any email communications, you can opt out using the unsubscribe link."]})]}),e.jsx("p",{className:"text-white/60 mt-2",children:"Depending on your location (e.g., EU under GDPR or California under CCPA/CPRA), you may have additional rights such as data portability or objection to processing. Contact us to exercise these rights."}),e.jsx("p",{className:"text-white/60",children:"We will respond to verifiable requests within the timeframes required by applicable law."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"7. Children's Privacy"}),e.jsx("p",{children:"The App is not intended for children under 13 years of age. We do not knowingly collect personal information from children under 13. If we learn we have collected such information, we will delete it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"8. Changes to This Privacy Policy"}),e.jsx("p",{children:'We may update this policy from time to time. We will notify you of material changes by posting the new policy in the App and updating the "Last Updated" date. Continued use of the App after changes constitutes acceptance.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"9. Contact Us"}),e.jsx("p",{children:"If you have questions about this Privacy Policy or our practices, contact us at:"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})]})}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["Website: ",e.jsx("a",{href:"https://www.ultra-normal.com",className:"text-primary hover:underline",children:"https://www.ultra-normal.com"})]}),e.jsxs("p",{className:"text-white/70",children:["App Support Page: ",e.jsx("a",{href:"/unicornkick-support",className:"text-primary hover:underline",children:"https://www.ultra-normal.com/unicornkick-support"})]})]})]})]})]})})]})}function B9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center justify-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-xl w-full",children:[e.jsx(L,{href:"/",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-home",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Home"]})}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-8",children:[e.jsx("span",{className:"bg-gradient-to-r from-pink-400 via-purple-500 to-indigo-500 bg-clip-text text-transparent",children:"Unicorn Kick"}),e.jsx("span",{className:"text-white/90",children:" Support"})]}),e.jsxs("div",{className:"space-y-6 text-lg text-white/80",children:[e.jsx("p",{children:"We're here to help with any questions about the app."}),e.jsxs("div",{className:"space-y-4 bg-white/5 border border-white/10 rounded-xl p-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ft,{className:"w-5 h-5 text-primary/70"}),e.jsx("span",{children:"Email: "}),e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline","data-testid":"link-support-email",children:"[email protected]"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(F0,{className:"w-5 h-5 text-primary/70"}),e.jsx("span",{children:"Developer: Justin Neuman / "}),e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(_u,{className:"w-5 h-5 text-primary/70"}),e.jsx("span",{children:"Website: "}),e.jsx("a",{href:"https://ultra-normal.com",className:"text-primary hover:underline","data-testid":"link-website",children:"https://ultra-normal.com"})]})]}),e.jsx("p",{className:"text-white/60 text-base",children:"If you have privacy concerns or need data deleted, just reply to any email from us or contact the address above."}),e.jsx("p",{className:"text-white/80 font-medium",children:"Thank y
205ou for using Unicorn Kick! 🦄"})]})]})})]})}const z9="/assets/Gemini_Generated_Image_bikh6xbikh6xbikh_1765661110413-Myz-M92s.png",V9="/assets/Gemini_Generated_Image_ykus59ykus59ykus_1765661110413-Db3yaFGe.png",_9=[{id:"ultra-normal-tee",name:"Ultra-Normal Tee",image:Ml},{id:"unicorn-kick-tee",name:"Unicorn Kick Tee",image:V9},{id:"unicorn-kick-hat",name:"Unicorn Kick Hat",image:z9}];function W9(){const[s,i]=w.useState(null);return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx(WE,{children:s&&e.jsxs(_.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 bg-black/95 flex flex-col items-center justify-center px-6 py-8",style:{zIndex:100},children:[e.jsxs("div",{className:"absolute top-6 left-6 right-6 flex justify-between items-center",children:[e.jsxs("button",{onClick:()=>i(null),className:"inline-flex items-center gap-2 text-sm text-white/70 hover:text-white transition-colors","data-testid":"button-back-merch",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Merch"]}),e.jsx(L,{href:"/",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-white/70 hover:text-white transition-colors","data-testid":"link-home",children:[e.jsx(CA,{className:"w-4 h-4"}),"Home"]})})]}),e.jsxs(_.div,{initial:{scale:.8,opacity:0}
205,animate:{scale:1,opacity:1},exit:{scale:.8,opacity:0},transition:{type:"spring",stiffness:300,damping:25},className:"max-w-4xl w-full",children:[e.jsx("img",{src:s.image,alt:s.name,className:"w-full h-auto rounded-xl shadow-2xl"}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-center mt-6 text-white",children:s.name}),e.jsx("p",{className:"text-center text-white/50 mt-2",children:"Coming Soon"})]})]})}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-4xl w-full",children:[e.jsx(L,{href:"/",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-home",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Home"]})}),e.jsxs("div",{className:"text-center mb-12",children:[e.jsx(_.div,{initial:{scale:0},animate:{scale:1},transition:{delay:.3,type:"spring",stiffness:200},className:"mb-6",children:e.jsx(Tl,{className:"w-16 h-16 mx-auto text-amber-400"})}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-4",children:[e.jsx("span",{className:"text-white/90",children:"Coming Soon: "}),e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/90",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"}),e.jsx("span",{className:"text-white/90",children:" Gear!"})]}),e.jsx("p",{className:"text-lg text-white/60 italic",children:"Swag for Heroes of Daily Life"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 mb-12",children:_9.map((r,l)=>e.jsxs(_.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.4+l*.1},whileHover:{scale:1.02},whileTap:{scale:.98},onClick:()=>i(r),className:"bg-white/5 border border-white/10 rounded-xl overflow-hidden hover:border-amber-500/30 transition-all cursor-pointer","data-testid":`card-product-${r.id}`,children:[e.jsx("img",{src:r.image,alt:r.name,className:"w-full h-auto"}),e.jsx("div",{className:"p-4 text-center",children:e.jsx("h3",{className:"text-white/80 font-medium",children:r.name})})]},r.id))}),e.jsxs("div",{className:"text-center space-y-6 text-lg text-white/70",children:[e.jsx("p",{children:"Not ready yet—but you can be first in line."}
205),e.jsx("p",{children:"Drop us an email and we'll let you know when the shop opens. Early unicorns get first rainbows, as they say (and maybe something extra for believing in us before the merch existed)."}),e.jsxs(_.a,{href:"mailto:[email protected]",whileHover:{scale:1.05},whileTap:{scale:.95},className:"inline-flex items-center gap-3 mt-6 px-6 py-4 bg-gradient-to-r from-amber-500 to-orange-500 hover:from-amber-400 hover:to-orange-400 text-white font-semibold rounded-xl shadow-lg shadow-orange-500/25 transition-all","data-testid":"link-merch-email",children:[e.jsx(Ft,{className:"w-5 h-5"}),"[email protected]"]})]})]})})]})}function H9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"PassTheStory"}),e.jsx("h2",{className:"text-2xl font-semibold text-white/90 mb-2",children:"Privacy Policy"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 17, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{className:"text-base",children:["PassTheStory is built on a simple principle: ",e.jsx("strong",{className:"text-white/90",children:"your stories belong to you"}),". We don't want your data. We built the app this way on purpose."]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"What we collect"}),e.jsx("p",{className:"text-lg font-medium text-white/90",children:"Nothing."}),e.jsx("p",{children:"PassTheStory stores all stories, worlds, and settings locally on your device. We do not collect, transmit, or store any personal information, usage data, or story content on external servers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Voice input"}),e.jsx("p",{children:"PassTheStory uses your device's built-in speech recognition to convert voice to text. This processing happens on your device or through your device's operating system (Apple's speech recognition). We do not record, store, or transmit audio to our own servers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Local storage"}),e.jsx("p",{children:"All your stories and data are stored locally on your device. If you delete the app, your stories are deleted with it. We recommend backing up your device if you want to preserve your stories."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Analytics"}),e.jsx("p",{children:"We do not use analytics services. We do not track how you use the app, how often you open it, or what features you use."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Advertising"}),e.jsx("p",{children:"There are no ads in PassTheStory. We do not work with advertising networks or share any information with advertisers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's privacy"}),e.jsx("p",{children:"PassTheStory is designed for families, including children. Because we do not collect any data, we do not collect data from children. The app complies with the Children's Online Privacy Protection Act (COPPA) by simply not collecting information in the first place."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Third parties"}),e.jsx("p",{children:"We do not share data with third parties because we do not have data to share."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to this policy"}),e.jsx("p",{children:"If we ever change this policy, we will update this page and the effective date above. But our core commitment will not change: your stories are yours."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("p",{children:["Questions about privacy? Reach us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}function Y9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"PassTheStory"}),e.jsx("h2",{className:"text-2xl font-semibold text-white/90 mb-2",children:"Terms of Use"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 17, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["PassTheStory is provided by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC. By using the app, you agree to these terms."]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"What you can do"}),e.jsx("p",{children:"Use PassTheStory to create and save stories with your family. The app is free for personal, non-commercial use."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your content"}),e.jsx("p",{children:"You own everything you create in PassTheStory. Your stories are stored on your device and belong entirely to you. We claim no rights to your content because we never see it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"The app itself"}),e.jsxs("p",{children:["PassTheStory, including its design, code, and Storyscapes, is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC. You may not copy, modify, or distribute the app itself."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"No warranty"}),e.jsx("p",{children:`PassTheStory is provided "as is." We do our best to make it work well, but we can't guarantee it will be error-free or uninterrupted. Back up your device to protect your stories.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of liability"}),e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is not liable for any damages arising from your use of the app, including loss of data. Since your stories are stored locally, please back up your device."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes"}),e.jsx("p",{children:"We may update these terms from time to time. Continued use of the app means you accept any changes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing law"}),e.jsx("p",{children:"These terms are governed by the laws of the State of Connecticut, USA."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("p",{children:["Questions? Reach us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}const q9=[{question:"Where are my stories saved?",answer:"All stories are saved locally on your device. They are not uploaded to any server. If you delete the app, your stories will be deleted too. We recommend backing up your device regularly to preserve your stories."},{question:"Can I transfer my stories to a new phone?",answer:"If you back up your device and restore from that backup on your new phone, your PassTheStory library should transfer with it."},{question:"How does voice input work?",answer:"PassTheStory uses your device's built-in speech recognition. Make sure you've enabled microphone access for the app in your device settings. Speak clearly and pause briefly when you're finished."},{question:"What is Child Mode?",answer:"Child Mode is designed for younger storytellers. It starts with voice input by default and simplifies the interface. Parents can switch between Parent Mode and Child Mode when passing the phone."},{question:"The app isn't working right. What should I do?",answer:"Try closing and reopening the app. If the problem persists, email us at [email protected] with a description of what's happening and what device you're using."}];function G9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"PassTheStory"}),e.jsx("h2",{className:"text-2xl font-semibold text-white/90 mb-2",children:"Support"}),e.jsx("p",{className:"text-white/70 text-base mb-8",children:"Need help with PassTheStory? We're here."}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(Ft,{className:"w-5 h-5"}),"Contact us"]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsxs("p",{className:"mb-2",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline font-medium",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/60 flex items-center gap-2",children:[e.jsx(hn,{className:"w-4 h-4"}),"We'll do our best to respond within 48 hours."]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5"}),"Common questions"]}),e.jsx("div",{className:"space-y-4",children:q9.map((s,i)=>e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4","data-testid":`faq-item-${i}`,children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:s.question}),e.jsx("p",{className:"text-white/70",children:s.answer})]},i))})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(LA,{className:"w-5 h-5"}),"Feedback"]}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{children:["We'd love to hear how you and your family are using PassTheStory. Send us your feedback, ideas, or just say hello: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})})]})]})]})})]})}function F9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-400 via-purple-500 to-indigo-500 bg-clip-text text-transparent",children:"BiasProof"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["These Terms of Use govern your access to and use of BiasProof, a mobile application operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). By downloading, accessing, or using BiasProof, you agree to these terms.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:"By using BiasProof, you confirm that you are at least 13 years of age and agree to be bound by these Terms. If you do not agree, do not use the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of Service"}),e.jsx("p",{children:"BiasProof provides educational content and interactive training exercises designed to help users recognize cognitive biases, emotional decision-making traps, and common scam patterns. The app is for informational and educational purposes only."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. No Professional Advice"}),e.jsx("p",{children:"BiasProof does not provide legal, financial, psych
205ological, or professional advice of any kind. Content is educational only. For specific concerns about fraud, mental health, or financial decisions, consult qualified professionals."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Payment and Access"}),e.jsx("p",{children:"BiasProof offers a one-time purchase for lifetime access to premium features. Payment is processed through Apple's App Store or Google Play. All sales are final. We do not offer refunds except as required by applicable law or app store policies."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. User Conduct"}),e.jsx("p",{children:"You agree not to: (a) use the app for any unlawful purpose; (b) attempt to reverse engineer, decompile, or extract source code; (c) interfere with the app's operation or security; (d) share your account access with others."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Intellectual Property"}),e.jsxs("p",{children:["All content, design, code, and trademarks in BiasProof are owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC. You may not copy, modify, distribute, or create derivative works without our written permission."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Disclaimer of Warranties"}),e.jsx("p",{children:'BiasProof is provided "as is" without warranties of any kind. We do not guarantee that the app will be error-free, uninterrupted, or that training will prevent you from being scammed or making biased decisions. Your use of the app is at your own risk.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Limitation of Liability"}),e.jsxs("p",{children:["To the maximum extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising from your use of BiasProof. Our total liability shall not exceed the amount you paid for the app."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Changes to Terms"}),e.jsx("p",{children:"We may update these Terms from time to time. Continued use of the app after changes constitutes acceptance of the new Terms. Material changes will be communicated through the app or via email if you have provided one."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Connecticut, without regard to conflict of law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"11. Contact"}),e.jsxs("p",{children:["For questions about these Terms, contact us at: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}function Q9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-400 via-purple-500 to-indigo-500 bg-clip-text text-transparent",children:"BiasProof"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our") operates BiasProof. This Privacy Policy explains what information we collect, how we use it, and your rights regarding your data.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Information We Collect"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{children:e.jsx("strong",{className:"text-white/90",children:"Information You Provide:"})}),e.jsx("p",{children:"If you contact support, we collect your email address and message content. If you create an account, we collect your email address and any profile information you provide."}),e.jsx("p",{children:e.jsx("strong",{className:"text-white/90",children:"Automatically Collected Information:"})}),e.jsx("p",{children:"We collect anonymous usage data including: app sessions, features used, diagnostic test scores (not linked to identity), device type, and operating system version. This helps us improve the app."}),e.jsx("p",{children:e.jsx("strong",{className:"text-white/90",children:"Payment Information:"})}),e.jsx("p",{children:"Payments are processed by Apple or Google. We do not collect or store credit card numbers or payment details."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. How We Use Your Information"}),e.jsx("p",{children:"We use collected information to: (a) provide and improve the app; (b) respond to support requests; (c) analyze usage patterns to enhance training effectiveness; (d) send important updates about the app if you have opted in."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Data Sharing"}),e.jsx("p",{children:"We do not sell your personal information. We may share data with: (a) service providers who help operate the app (analytics, hosting); (b) legal authorities if required by law; (c) a successor entity in the event of a merger or acquisition."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Data Retention"}),e.jsx("p",{children:"We retain your data only as long as necessary to provide services and comply with legal obligations. Anonymous usage data may be retained indefinitely for analytics purposes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Your Rights"}),e.jsxs("p",{children:["Depending on your jurisdiction, you may have the right to: access your data, correct inaccuracies, delete your data, or opt out of certain data collection. Contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," to exercise these rights."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Children's Privacy"}),e.jsx("p",{children:"BiasProof is not intended for children under 13. We do not knowingly collect personal information from children under 13. If we learn we have collected such information, we will delete it promptly."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Security"}),e.jsx("p",{children:"We use reasonable security measures to protect your information. However, no method of transmission or storage is 100% secure. Use the app at your own risk."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Third-Party Services"}),e.jsx("p",{children:"The app may use third-party analytics services. These services have their own privacy policies. We encourage you to review them."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. We will notify you of material changes through the app or via email."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Contact"}),e.jsxs("p",{children:["For privacy-related questions, contact us at: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}const X9=[{question:"How do I restore my purchase on a new device?",answer:`Open the app, go to Settings, and tap "Restore Purchase." Make sure you're signed in with the same Apple ID or Google account you used for the original purchase.`},{question:"Can I get a refund?",answer:"Refunds are handled by Apple or Google, not by us directly. To request a refund, visit reportaproblem.apple.com (iOS) or the Google Play order history (Android)."},{question:"The app isn't loading. What should I do?",answer:"Try closing and reopening the app. If that doesn't work, restart your device. If problems persist, make sure you have the latest version installed and contact us."},{question:"How do I delete my account and data?",answer:'Email [email protected] with the subject line "Delete My Data." We will process your request within 30 days.'},{question:"I found a bug or have a feature suggestion.",answer:"We'd love to hear from you. Email [email protected] with details. Bug reports should include your device type, OS version, and steps to reproduce the issue."}];function K9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-400 via-purple-500 to-indigo-500 bg-clip-text text-transparent",children:"BiasProof"}),e.jsx("p",{className:"text-white/70 text-base mb-8",children:"We're here to help."}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(Ft,{className:"w-5 h-5"}),"Contact Us"]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsxs("p",{className:"mb-2",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline font-medium",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/60 flex items-center gap-2",children:[e.jsx(hn,{className:"w-4 h-4"}),"We respond to most inquiries within 48 hours."]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5"}),"Frequently Asked Questions"]}),e.jsx("div",{className:"space-y-4",children:X9.map((s,i)=>e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4","data-testid":`faq-item-${i}`,children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:s.question}),e.jsx("p",{className:"text-white/70",children:s.answer})]},i))})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(G0,{className:"w-5 h-5"}),"Company Information"]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsx("p",{className:"text-white/70",children:e.jsx("a",{href:"https://www.ultra-normal.com",className:"text-primary hover:underline",children:"www.ultra-normal.com"})})]})]})]})]})})]})}function Z9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-blue-400 via-cyan-500 to-teal-500 bg-clip-text text-transparent",children:"ReadingVelocity"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: December 21, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our") operates ReadingVelocity, hosted at ultra-normal.com. This Privacy Policy explains how we handle information when you use the App.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Local Device Data:"})," Reading sessions, focus scores, notes, and progress are stored locally on your device (via localStorage)."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Technical Data:"})," Basic device info (e.g., browser type, OS version) for functionality and analytics."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"No Server Collection:"})," We do not collect names, emails, phone numbers, location, or other personal identifiers unless you voluntarily submit them (e.g., support email)."]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How We Use Information"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"To provide, maintain, and improve the App (e.g., generate progress stats and feedback)."}),e.jsx("li",{children:"For aggregated, anonymized analytics."})]}),e.jsx("p",{children:"We do not sell, rent, or share your personal data with third parties."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Storage & Security"}),e.jsx("p",{children:"Data is stored locally on your device. We implement reasonable technical measures to protect the App, but no transmission or storage is 100% secure."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Rights"}),e.jsx("p",{children:"You control your data via device storage. Delete it by clearing App data or uninstalling. No account deleti
205on is required as we do not store server-side personal data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"The App is not intended for children under 13. We do not knowingly collect data from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes"}),e.jsx("p",{children:"We may update this policy. Continued use constitutes acceptance."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("p",{children:e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})})]})]})]})})]})}function $9(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-blue-400 via-cyan-500 to-teal-500 bg-clip-text text-transparent",children:"ReadingVelocity"}),e.jsx("p",{className:"text-white/50 text-sm mb-2",children:"Last Updated: December 21, 2025"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 21, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:['These Terms of Use ("Terms") govern your access to and use of the ReadingVelocity application (the "App"), owned and operated by ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC, a Connecticut limited liability company, and hosted at ultra-normal.com."]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance of Terms"}),e.jsx("p",{children:"By accessing or using the App at https://www.ultra-normal.com/readingvelocity or any related services, you agree to be bound by these Terms. If you do not agree, do not use the App. We may modify these Terms at any time; continued use constitutes acceptance."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Eligibility"}),e.jsx("p",{children:"You must be at least 13 years old (or the age of majority in your jurisdiction) to use the App. If under 18, you must have parental consent."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"User Accounts"}),e.jsx("p",{children:"Certain features may require an account. You agree to provide accurate information and secure your account. You are solely responsible for all activity under your account."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Use of the App"}),e.jsx("p",{children:"The App is provided for personal, non-commercial use to train reading skills. You may not:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Copy, modify, distribute, or create derivative works."}),e.jsx("li",{children:"Use the App for commercial purposes without written permission."}),e.jsx("li",{children:"Interfere with the App or attempt unauthorized access."}),e.jsx("li",{children:"Use the App in violation of any law."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Content"}),e.jsxs("p",{children:["All App content (text, graphics, drills, etc.) is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC or licensed. User-generated content (notes, reflections) grants us a perpetual, royalty-free license to store and display it within the App."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimers"}),e.jsx("p",{className:"uppercase text-xs",children:'THE APP IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED. ULTRA-NORMAL LLC DISCLAIMS ALL WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsx("p",{className:"uppercase text-xs",children:"TO THE MAXIMUM EXTENT PERMITTED BY LAW, ULTRA-NORMAL LLC SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING LOSS OF DATA, PROFITS, OR GOODWILL, ARISING FROM YOUR USE OF THE APP, EVEN IF ADVISED OF THE POSSIBILITY."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Indemnification"}),e.jsxs("p",{children:["You agree to indemnify and hold ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC harmless from any claims, damages, or liabilities arising from your use of the App or violation of these Terms."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Termination"}),e.jsx("p",{children:"We may suspend or terminate your access at any time, with or without cause."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law & Dispute Resolution"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Connecticut. Any disputes shall be resolved exclusively in the state or federal courts located in Connecticut. You waive any right to a jury trial or class action."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}const J9=[{question:"Where is my data stored?",answer:"All session data (notes, focus scores, progress) is stored locally on your device using secure localStorage. We do not collect or store personal data on our servers."},{question:"Why is the app free?",answer:"ReadingVelocity was created to share a proven reading training method with the world. It's our way of giving back to readers everywhere—no ads, no in-app purchases."},{question:"How do I reset my data or clear local storage?",answer:"Go to your device settings → Safari (iOS) or Chrome (Android) → Clear browsing data / site data → Select ReadingVelocity or ultra-normal.com. Alternatively, uninstall and reinstall the app."},{question:"I'm having technical issues (e.g., drill not loading, timer stuck).",answer:"Try force-quitting the app and restarting your device. If the problem persists, email [email protected] with details."},{question:"Can I export my Log/Notebook?",answer:'Yes! In the Log view, tap "Export as Markdown" to copy or save your session notes.'},{question:"Is there a web version or desktop app?",answer:"Currently, ReadingVelocity is available as a mobile/web app at https://www.ultra-normal.com/readingvelocity. Desktop use is fully supported via browser."}];function eD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-blue-400 via-cyan-500 to-teal-500 bg-clip-text text-transparent",children:"ReadingVelocity"}),e.jsx("p",{className:"text-white/70 text-base mb-8",children:"We're here to help! ReadingVelocity is designed to be simple and intuitive, but if you run into any issues or have questions, please reach out."}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(Ft,{className:"w-5 h-5"}),"How to Contact Support"]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsxs("p",{className:"mb-3",children:["Email us at: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline font-medium",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mb-2",children:"Please include the following in your message to help us respond quickly:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/60",children:[e.jsx("li",{children:"Your device and OS (e.g., iOS 18 on iPhone 15, Android 14 on Samsung Galaxy S23)"}),e.jsx("li",{children:"App version (check in Settings → About)"}),e.jsx("li",{children:"A clear description of the issue or question"}),e.jsx("li",{children:"Screenshots if applicable"})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5"}),"Common Questions"]}),e.jsx("div",{className:"space-y-4",children:J9.map((s,i)=>e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4","data-testid":`faq-item-${i}`,children:[e.jsxs("h4",{className:"font-semibold text-white/90 mb-2",children:["Q: ",s.question]}),e.jsxs("p",{className:"text-white/70",children:["A: ",s.answer]})]},i))})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(hn,{className:"w-5 h-5"}),"Response Time"]}),e.jsx("p",{children:"We aim to respond within 48 hours (often faster). Thank you for your patience!"})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(G0,{className:"w-5 h-5"}),"Contact"]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("p",{className:"text-white/70 mb-1",children:e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})}),e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})})]})]})]})]})})]})}const tD=[{question:"How does IdeaAddiction work?",answer:"IdeaAddiction delivers curated ideas and insights designed to encourage curiosity and learning."},{question:"How do paid features work (if applicable)?",answer:"Paid access is handled through the Google Play Store."},{question:"How do I cancel a subscription (if applicable)?",answer:"Google Play Store → Profile → Payments & subscriptions → Subscriptions → IdeaAddiction → Cancel"},{question:"Is the content accurate?",answer:"We curate content carefully. If you believe something is incorrect, contact support and we will review it."},{question:"Can I suggest content?",answer:"Yes. Email your suggestion to [email protected]."}];function sD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 bg-gradient-to-r from-slate-400 via-blue-500 to-indigo-500 bg-clip-text text-transparent",children:"IdeaAddiction"}),e.jsx("h2",{className:"text-2xl font-semibold text-white/90 mb-8",children:"Support"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(Ft,{className:"w-5 h-5"}),"Contact"]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("p",{className:"mb-2",children:e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline font-medium",children:"[email protected]"})}),e.jsxs("p",{className:"text-white/60 flex items-center gap-2",children:[e.jsx(hn,{className:"w-4 h-4"}),"Response time: within 48 hours"]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsxs("h3",{className:"text-xl font-semibold text-white/90 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5"}),"Common Questions"]}),e.jsx("div",{className:"space-y-4",children:tD.map((s,i)=>e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4","data-testid":`faq-item-${i}`,children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:s.question}),e.jsx("p",{className:"text-white/70",children:s.answer})]},i))})]})]})]})})]})}function aD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-slate-400 via-blue-500 to-indigo-500 bg-clip-text text-transparent",children:"IdeaAddiction"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 25, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:"By downloading or using IdeaAddiction, you agree to these Terms of Use."}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"The Service"}),e.jsx("p",{children:"IdeaAddiction provides curated informational and educational content. Content is offered for learning and general interest purposes only. While we strive for accuracy, we do not guarantee completeness or error-free content."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Purchases and Access"}),e.jsx("p",{children:"IdeaAddiction may offer free features and optional paid access. All purchases are processed through the Google Play Store and governed by Google's payment terms."}),e.jsx("p",{className:"text-white/70",children:"One-time purchase of $4.99 unlocks lifetime Pro access."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsxs("p",{children:["The app's design, branding, and original content are owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}
205)," LLC. Referenced ideas or facts may cite external sources; ownership of underlying information remains with the original sources."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptable Use"}),e.jsx("p",{children:"You agree not to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Attempt unauthorized access to app systems"}),e.jsx("li",{children:"Use the app for unlawful purposes"}),e.jsx("li",{children:"Redistribute content commercially without permission"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimers"}),e.jsxs("p",{children:['The service is provided "as is." We disclaim all warranties to the extent permitted by law. ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is not liable for damages arising from use or inability to use the app."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Termination"}),e.jsx("p",{children:"We may suspend or terminate access for violations of these Terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes"}),e.jsx("p",{children:"We may update these Terms at any time. Continued use constitutes acceptance of revised terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function iD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-slate-400 via-blue-500 to-indigo-500 bg-clip-text text-transparent",children:"IdeaAddiction"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 25, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["IdeaAddiction is operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). This Privacy Policy describes how we 
205collect, use, and protect information when you use the IdeaAddiction Android application.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsx("p",{children:"We collect only the information necessary to operate the app:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Account information (such as an email address), if you choose to create an account"}),e.jsx("li",{children:"User preferences, including notification or content delivery settings"}),e.jsx("li",{children:"Purchase or entitlement information, processed and managed by the Google Play Store"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Precise or approximate location data"}),e.jsx("li",{children:"Contacts, photos, files, or media stored on your device"}),e.jsx("li",{children:"Browsing history or web activity"}),e.jsx("li",{children:"Advertising identifiers"}),e.jsx("li",{children:"Cross-app or cross-site tracking data"})]}),e.jsx("p",{className:"mt-3",children:"We do not sell user data. We do not display advertisements. We do not use third-party analytics or tracking SDKs."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How We Use Information"}),e.jsx("p",{children:"We use collected information solely to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Deliver app functionality and content"}),e.jsx("li",{children:"Manage purchases and access rights through Google Play"}),e.jsx("li",{children:"Respond to user support requests"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Sharing"}),e.jsx("p",{children:"We do not share personal data with third parties, except where required to process purchases through Google Play or comply with legal obligations."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Security"}),e.jsx("p",{children:"We use reasonable administrative, technical, and organizational safeguards to protect information against unauthorized access, disclosure, or misuse."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Retention and Deletion"}),e.jsx("p",{children:"Personal data is retained only as long as necessary to provide the service. You may request deletion of your data at any time by contacting us. Upon verified deletion requests, your data will be permanently removed from our systems, subject to legal or operational requirements."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"IdeaAddiction is not directed at children under 13, and we do not knowingly collect personal information from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy periodically. Updates will be posted on this page with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function nD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-cyan-400 via-teal-500 to-emerald-500 bg-clip-text text-transparent",children:"Sensorium"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: December 26, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-white/90 mb-2",children:"The Short Version"}),e.jsx("p",{children:"Sensorium is designed to function without collecting personal data. Your training data remains on your device. We do not sell information, track you across apps, or build user profiles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Information We Collect"}),e.jsx("h4",{className:"text-lg font-medium text-white/80",children:"Data Stored Locally on Your Device"}),e.jsx("p",{children:"Sensorium stores the following information only on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Drill results and scores"}),e.jsx("li",{children:"Training history, streaks, and performance trends"}),e.jsx("li",{children:"App preferences and settings"}),e.jsx("li",{children:"Pro upgrade status"})]}),e.jsx("p",{className:"mt-2",children:"This data is stored using standard iOS local storage mechanisms. We do not receive, access, or transmit this data to our servers."}),e.jsx("p",{children:"If you delete the app, this data is deleted from your device."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-4",children:"Purchases Processed by Apple"}),e.jsx("p",{children:"If you purchase Sensorium Pro, the transaction is processed entirely by Apple through the App Store."}),e.jsx("p",{className:"mt-2",children:"We receive:"}),e.jsx("ul",{className:"list-disc list-inside text-white/70",children:e.jsx("li",{children:"Confirmation that a purchase or restore has occurred"})}),e.jsx("p",{className:"mt-2",children:"We do not receive:"}),e.jsxs("ul",{className:"list-disc list-inside text-white/70",children:[e.jsx("li",{children:"Your name"}),e.jsx("li",{children:"Your email address"}),e.jsx("li",{children:"Your Apple ID"}),e.jsx("li",{children:"Your payment or billing information"})]}),e.jsx("p",{className:"mt-2",children:"All purchase handling is governed by Apple's terms and policies."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-4",children:"Anonymous Analytics (Limited)"}),e.jsx("p",{children:"We may collect anonymous, aggregated usage statistics to understand general feature usage and app stability."}),e.jsx("p",{className:"mt-2",children:"This data:"}),e.jsxs("ul",{className:"list-disc list-inside text-white/70",children:[e.jsx("li",{children:"Cannot identify you personally"}),e.jsx("li",{children:"Is not linked to device identifiers or accounts"}),e.jsx("li",{children:"Includes only high-level metrics (e.g., feature usage frequency, crash diagnostics)"})]}),e.jsx("p",{className:"mt-2",children:"We do not use analytics for advertising or behavioral profiling."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Do Not Collect"}),e.jsx("p",{children:"We do not collect, request, or store:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Names or contact information"}),e.jsx("li",{children:"Account credentials"}),e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Health or medical data"}),e.jsx("li",{children:"Biometric identifiers"}),e.jsx("li",{children:"Contacts, photos, or files"}),e.jsx("li",{children:"Data from other apps"}),e.jsx("li",{children:"Advertising identifiers"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. How We Use Information"}),e.jsx("p",{children:"Any anonymous analytics data is used solely to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Improve app performance and reliability"}),e.jsx("li",{children:"Identify and fix bugs"}),e.jsx("li",{children:"Inform future feature development"})]}),e.jsx("p",{className:"mt-3",children:"We do not sell data. We do not share data with third parties for marketing or advertising. We do not build user profiles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Data Storage and Security"}),e.jsx("p",{children:"All training data is stored locally on your device."}),e.jsx("p",{className:"mt-2",children:"If you wish to preserve your data when changing devices, you should back up your device using iCloud or iTunes. Sensorium does not independently back up or sync data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Children's Privacy"}),e.jsx("p",{children:"Sensorium is not intended for children under the age of 13."}),e.jsx("p",{className:"mt-2",children:"We do not knowingly collect personal information from children under 13. If you believe a child has provided personal information, contact us and we will take appropriate steps to delete it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Changes to This Policy"}),e.jsx("p",{children:'We may update this Privacy Policy from time to time. Updates will be posted on this page with a revised "
205Last Updated" date.'}),e.jsx("p",{className:"mt-2",children:"Continued use of the app after changes constitutes acceptance of the updated policy."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Contact Us"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["Website: ",e.jsx("a",{href:"https://ultra-normal.com",className:"text-primary hover:underline",children:"ultra-normal.com"})]})]})]})]})]})})]})}function rD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-cyan-400 via-teal-500 to-emerald-500 bg-clip-text text-transparent",children:"Sensorium"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: December 26, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:"Please read these Terms of Use carefully before using Sensorium."}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:'By downloading, installing, or using Sensorium ("the App"), you agree to be bound by these Terms of Use. If you do not agree, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the App"}),e.jsx("p",{children:"Sensorium is a perceptual training application providing short exercises designed to challenge sensory processing, attention, reaction, and coordination."}),e.jsx("p",{className:"mt-2",children:"The App includes:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Free features"}),e.jsx("li",{children:'Optional premium features available through a one-time in-app purchase ("Sensorium Pro")'})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Not Medical or Health Advice"}),e.jsx("p",{className:"font-medium text-white/90",children:"Sensorium is not a medical device."}),e.jsx("p",{className:"mt-2",children:"The App:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Does not provide medical advice, diagnosis, or treatment"}),e.jsx("li",{children:"Is intended for training and general use only"}),e.jsx("li",{children:"Produces results and scores with no clinical or diagnostic meaning"})]}),e.jsx("p",{className:"mt-3",children:"Sensorium is not a substitute for professional medical advice. Always consult a qualified healthcare provider with questions regarding medical conditions."}),e.jsx("p",{className:"mt-2 text-amber-400/80",children:"If you experience discomfort, dizziness, or adverse effects, discontinue use immediately and consult a healthcare professional."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Use at Your Own Risk"}),e.jsx("p",{children:"Some exercises involve:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Visual stimuli (including rapid or flashing elements)"}),e.jsx("li",{children:"Audio stimuli at varying frequencies"}),e.jsx("li",{children:"Tasks requiring attention and reaction"})]}),e.jsx("p",{className:"mt-3 text-amber-400/80",children:"If you have epilepsy, photosensitivity, hearing conditions, neurological conditions, or other sensitivities, consult a physician before use."}),e.jsx("p",{className:"mt-2",children:"You assume all risks associated with using the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. In-App Purchases"}),e.jsx("p",{children:"Sensorium Pro is a one-time, non-consumable in-app purchase."}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 mt-2",children:[e.jsx("li",{children:"All purchases are processed by Apple"}),e.jsx("li",{children:"All sales are final"}),e.jsx("li",{children:"Refunds are handled exclusively by Apple"}),e.jsx("li",{children:"We do not manage payments or billing"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Intellectual Property"}),e.jsxs("p",{children:["All content in Sensorium—including software, text, graphics, audio, logos, and design—is the property of ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and protected by applicable intellectual property laws."]}),e.jsx("p",{className:"mt-2",children:"You may not:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Copy, modify, or distribute the App or its content"}
205),e.jsx("li",{children:"Reverse engineer or attempt to extract source code"}),e.jsx("li",{children:"Use the App for commercial purposes without written permission"}),e.jsx("li",{children:"Remove copyright or proprietary notices"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Disclaimer of Warranties"}),e.jsx("p",{className:"uppercase text-white/70",children:'THE APP IS PROVIDED "AS IS" AND "AS AVAILABLE," WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED.'}),e.jsx("p",{className:"mt-2 uppercase text-white/70",children:"WE DO NOT WARRANT THAT:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/60",children:[e.jsx("li",{children:"The App will meet your requirements"}),e.jsx("li",{children:"The App will be uninterrupted or error-free"}),e.jsx("li",{children:"Results will be accurate or reliable"}),e.jsx("li",{children:"Errors will be corrected"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Limitation of Liability"}),e.jsx("p",{className:"uppercase text-white/70",children:"TO THE MAXIMUM EXTENT PERMITTED BY LAW, ULTRA-NORMAL LLC SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES ARISING FROM OR RELATED TO YOUR USE OF THE APP."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Indemnification"}),e.jsxs("p",{children:["You agree to indemnify and hold harmless ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and its affiliates from any claims arising from your use of the App or violation of these Terms."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Termination"}),e.jsx("p",{children:"We may suspend or terminate access to the App at any time, without notice, for violation of these Terms or other lawful reasons."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"11. Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Delaware, United States, without regard to conflict-of-law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"12. Changes to Terms"}),e.jsx("p",{children:'We may update these Terms at any time by posting revised terms and updating the "Last Updated" date.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"13. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["Website: ",e.jsx("a",{href:"https://ultra-normal.com",className:"text-primary hover:underline",children:"ultra-normal.com"})]})]})]})]})]})})]})}function oD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-cyan-400 via-teal-500 to-emerald-500 bg-clip-text text-transparent",children:"Sensorium"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Frequently Asked Questions"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"What is Sensorium?"}),e.jsx("p",{className:"text-white/70",children:"Sensorium is a perceptual training app that treats your senses like muscles. Through short daily drills grounded in perceptual learning research, it challenges visual discrimination, auditory precision, reaction speed, and motor control."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How does it work?"}),e.jsx("p",{className:"text-white/70",children:"Complete one daily activation (approximately 60–90 seconds). The app scores your performance and tracks progress across multiple sensory dimensions on your Sensory Radar."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Free vs. Pro"}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4 mt-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-white/80 mb-2",children:"Free"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/60 text-xs",children:[e.jsx("li",{children:"One activation per day"}),e.jsx("li",{children:"Three core drills"}),e.jsx("li",{children:"3-axis Sensory Radar"}),e.jsx("li",{children:"Streak tracking"})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-cyan-400/90 mb-2",children:"Pro ($4.99 one-time)"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/60 text-xs",children:[e.jsx("li",{children:"Unlimited daily activations"}),e.jsx("li",{children:"Full drill library (6+ drills)"}),e.jsx("li",{children:"Complete 8-axis Sensory Radar"}),e.jsx("li",{children:"Ghost Mode (race your personal best)"}),e.jsx("li",{children:"Choose drill focus"})]})]})]})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I restore my purchase?"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Open Sensorium"}),e.jsx("li",{children:"Navigate to the Pro paywall"}),e.jsx("li",{children:"Tap Restore Purchases"})]}),e.jsx("p",{className:"text-white/60 mt-2",children:"Your Pro access will be restored automatically via Apple."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Is my data backed up?"}),e.jsx("p",{className:"text-white/70",children:"Training data is stored locally on your device."}),e.jsx("p",{className:"text-white/60 mt-2",children:"If you back up your device using iCloud or iTunes, your Sensorium data will be included in that backup. Sensorium does not sync or store data independently."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Why did my streak reset?"}),e.jsx("p",{className:"text-white/70",children:"Streaks require at least one completed activation per 
205calendar day. Missing a day resets the streak. Additional Pro activations do not replace daily completion."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"The app isn't working properly. What should I do?"}),e.jsx("p",{className:"text-white/70 mb-2",children:"Try the following:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/60",children:[e.jsx("li",{children:"Close and reopen the app"}),e.jsx("li",{children:"Restart your device"}),e.jsx("li",{children:"Check for App Store updates"}),e.jsx("li",{children:"Delete and reinstall the app (Note: this erases local data)"})]}),e.jsx("p",{className:"text-white/60 mt-2",children:"If issues persist, contact support."})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Support"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/60 mt-3",children:"Please include:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/60 mt-1",children:[e.jsx("li",{children:"Device model"}),e.jsx("li",{children:"iOS version"}),e.jsx("li",{children:"Description of the issue"}),e.jsx("li",{children:"Screenshots, if available"})]}),e.jsx("p",{className:"text-white/60 mt-3",children:"We typically respond within 48 hours."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Feedback"}),e.jsx("p",{className:"text-white/70",children:"We welcome feedback and suggestions. Email us with ideas for drills, features, or improvements."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Legal"}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(L,{href:"/sensorium-privacy",children:e.jsx("a",{className:"text-primary hover:underline",children:"Privacy Policy"})}),e.jsx(L,{href:"/sensorium-terms",children:e.jsx("a",{className:"text-primary hover:underline",children:"Terms of Use"})})]}),e.jsxs("p",{className:"text-white/50 mt-4",children:["Sensorium is made by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/50",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC."]})]})]})]})})]})}const Qb=[["1. The app is yours to use.","Ephemerality is free. Your ephemera belong to you and stay on your device. We claim no rights in anything you keep privately."],["2. The Ephemera is a public commons.","When you release a photograph to The Ephemera, you are publishing it anonymously for anyone to see. You must be at least 13 years old to release an image (16 if you live in the European Union)."],["4. The license you give us.","So that we can show your image on the Wall, you grant Ultra-Normal LLC a non-exclusive, worldwide, royalty-free license to store, reproduce, resize, and publicly display the image on ephemerality.app and on screens that show the Wall, without attribution. The license ends when the image leaves The Ephemera (by your withdrawal, our removal, or retirement), except that we may keep a non-public record of it as described in our Privacy Policy. You keep all other rights."],["5. No attribution, no statistics, no recovery.","The Ephemera carries no names. We do not tell you when, where, or how often your image was shown, and we cannot. Once shown publicly, an image may be seen, saved, or copied by others; we cannot prevent that and are not responsible for it."],["6. Withdrawing.","You may withdraw any released image at any time with Call it home in the app, or by emailing [email protected] if you no longer have the app installation that released it."],["7. Automated moderation and removal.","All released images are reviewed only by automated systems, which are designed to reject anything outside the spirit of the project and to err on the side of rejection. We may remove any image at any time, for any reason, without notice. Images reported by viewers are removed automatically when reports reach a threshold. We do not review individual decisions."],["8. Prohibited use.","You may not use The Ephemera to advertise, to harass, to publish anyone else's image or work, to upload illegal material, or to probe, overload, or interfere with the service. Doing so may result in your device installation being blocked from releasing images, without notice."],["9. Copyright complaints.","If you believe an image on the Wall infringes your copyright, see our DMCA page for how to notify us."],["10. Illegal material.","We use automated tools to detect known child sexual abuse material and we report apparent material to the National Center for Missing and Exploited Children as required by United States law."],["11. No warranty.","The app and the website are provided as they are. We make no promises about availability, and we may change or shut down The Ephemera at any time. Your private archive on your device is unaffected by anything that happens to the website."],["12. Limitation of liability.","To the fullest extent the law allows, Ultra-Normal LLC is not liable for any indirect, incidental, or consequential damages arising from your use of the app or website, and our total liability to you will not exceed one hundred dollars."],["13. Governing law.","These terms are governed by the laws of the State of Connecticut, United States."],["14. Contact.","For terms inquiries, [email protected]. For support, [email protected]."]];function lD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},className:"max-w-2xl w-full",children:[e.jsxs(L,{href:"/legal",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 text-white/90",children:"Ephemerality Terms of Use"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective September 11, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:"These terms cover the Ephemerality app and the website at ephemerality.app, both operated by Ultra-Normal LLC. Using the app or the website means you accept them."}),Qb.slice(0,2).map(([s,i])=>e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:s}),e.jsx("p",{children:i})]},s)),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"3. What you promise about a released image."}),e.jsx("p",{children:"By releasing a photograph, you confirm that:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"you took it yourself, or otherwise hold the rights to publish it;"}),e.jsx("li",{children:"it shows no people, and nothing that could identify a person or a private home;"}),e.jsx("li",{children:"it is suitable for all ages and contains nothing sexual, violent, hateful, illegal, or commercial;"}),e.jsx("li",{children:"it is a photograph of the real world, not a screenshot, artwork, meme, advertisement, or generated image."})]}),e.jsx("p",{children:"Images that do not meet these promises are rejected automatically, or removed if they get through."})]}),Qb.slice(2).map(([s,i])=>e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:s}),e.jsx("p",{children:s.startsWith("9.")?e.jsxs(e.Fragment,{children:["If you believe an image on the Wall infringes your copyright, see our ",e.jsx(L,{href:"/ephemerality-dmca",className:"text-primary hover:underline",children:"DMCA page"})," for how to notify us."]}):i})]},s)),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/ephemerality-privacy",className:"hover:underline",children:"Privacy Policy"})," · ",e.jsx(L,{href:"/ephemerality-support",className:"hover:underline",children:"Support"})," · ",e.jsx(L,{href:"/ephemerality-dmca",className:"hover:underline",children:"Copyright and DMCA"})]})]})]})})]})}function cD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsxs(L,{href:"/legal",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 text-white/90",children:"Ephemerality Privacy Policy"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective September 11, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:"Ephemerality is made by Ultra-Normal LLC. This policy explains what the app and the website at ephemerality.app do with your information. The short version: the app keeps everything on your phone, and nothing leaves it unless you choose to send it somewhere."}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"The app"}),e.jsx("p",{children:"Ephemerality stores your ephemera (text, photographs, audio, and reflections) on your device. There are no accounts. We do not collect analytics, use tracking, run advertising, or include any advertising or analytics software. The app's face check runs entirely on your device. We cannot see your ephemera."}),e.jsx("p",{children:"If you use Share to send an ephemeron to someone, it goes through your phone's share sheet to the app you pick. That is between you and that app."}),e.jsx("p",{children:"If you export your archive, the backup file is created on your device and goe
205s wherever you save it."}),e.jsx("p",{children:"Photos you take in the app are also saved to your phone's photo library, so you keep a copy outside the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"The Ephemera (letting a photograph wander)"}),e.jsx("p",{children:"You may choose to release a photograph to The Ephemera, a public collection shown one image at a time on the Wall at ephemerality.app. This only happens when you tap Let this one wander and confirm. Nothing is ever released automatically."}),e.jsx("p",{children:"When you release a photograph, the following is sent to servers we operate:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"the photograph itself, re-encoded and with camera metadata removed"}),e.jsx("li",{children:"the date it was captured"}),e.jsx("li",{children:"if you have allowed it in Settings, the name of your state, province, or country (never coordinates or an exact location)"}),e.jsx("li",{children:"an optional short line you wrote about it, if that feature is on"}),e.jsx("li",{children:"a random device token that identifies the app installation, not you"})]}),e.jsx("p",{children:"No name, email address, phone number, account, or other identifier is attached. We do not know who released any image, and we cannot connect an image to a person."}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Automated review."})," Every released photograph is checked by an automated system before it can appear on the Wall. The system rejects images that show people, that are not G-rated, or that fall outside the project's scope. There is no human review. Rejected images are deleted. We also use an automated tool provided by our hosting provider to detect known illegal imagery; see our Terms."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Public display."})," Approved images are shown publicly on ephemerality.app, without attribution, to anyone who visits. Anyone may view, and could copy, an image shown there. Release only what you are comfortable making public."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"How long we keep it."})," A released image stays in The Ephemera until you withdraw it, until it is removed under our Terms, or until the collection reaches its size limit and the oldest images retire to make room. Withdrawn, removed, and retired images are deleted from our servers within 24 hours. We keep a record that an image existed (dates and status, no image) for operational and legal purposes."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Withdrawing an image."})," Tap Call it home on that ephemeron in the app. This removes it from the Wall right away and deletes the file within 24 hours. The image stays in your private archive."]}),e.jsx("p",{children:"Because withdrawal depends on the device token stored in your app, deleting the app or losing the phone also loses the ability to withdraw from within the app. If that happens, email [email protected] with a description of the image and the approximate date, and we will remove it."}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Location."}),' If you turn on "Share my region with released photos," the app asks for location permission once, at the moment you release a photo, converts your position to a region name on your device, and sends only that name. Turning the setting off sends nothing. We never receive coordinates.']})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h2",{className:"text-xl font-semibold text-white/90",children:"The website"}),e.jsx("p",{children:"ephemerality.app uses no cookies and no analytics. When you visit, our servers receive the ordinary information a web request contains (your IP address, browser type, the page requested) and our hosting provider, Cloudflare, processes it to deliver the site and protect it from abuse. We do not use it to identify you. Reports made from the Wall record the image and a temporary session identifier that exists only in your browser tab."})]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Children."})," Ephemerality is not directed at children under 13, and you must be 13 or older to release images to The Ephemera. We do not knowingly collect information from children under 13."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Your rights."}),' Because we hold no identifying information, we cannot look up "your" data. What we can do is remove a released image on request. Contact [email protected].']}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Changes."})," We will post any changes here with a new effective date."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Contact."})," Ultra-Normal LLC, ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/ephemerality-terms",className:"hover:underline",children:"Terms of Use"})," · ",e.jsx(L,{href:"/ephemerality-support",className:"hover:underline",children:"Support"})," · ",e.jsx(L,{href:"/ephemerality-dmca",className:"hover:underline",children:"Copyright and DMCA"})]})]})]})})]})}function dD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-rose-400 via-pink-500 to-purple-500 bg-clip-text text-transparent",children:"Ephemerality"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("p",{children:["For support, email us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),". We typically respond within 48 hours."]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"FAQs"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Where is my data stored?"}),e.jsx("p",{className:"text-white/70",children:"All your ephemera are stored locally on your device. Nothing is uploaded to the cloud or transmitted to our servers."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I back up my ephemera?"}),e.jsx("p",{className:"text-white/70",children:"Go to Settings → Export All. This creates a ZIP file you can save to Files, iCloud, or email to yourself. We strongly recommend regular backups."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I restore from a backup?"}),e.jsx("p",{className:"text-white/70",children:"Go to Settings → Import Backup. Select your ZIP file. New ephemera will be added; duplicates are skipped."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"I accidentally deleted everything. Can you recover my data?"}),e.jsx("p",{className:"text-white/70",children:"No. Because we never have access to your data, we cannot recover it. Deleted data is permanently erased. This is by design for your privacy."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I use voice to capture text?"}),e.jsx("p",{className:"text-white/70",children:"Tap the microphone icon on your iOS keyboard while in the text capture screen. Speak your ephemeron; it will be transcribed automatically."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"What happens to my ephemera if I delete the app?"}),e.jsx("p",{className:"text-white/70",children:"Deleting the app deletes all data. Export a backup first if you want to preserve your ephemera."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Will there be a paid version or subscription?"}),e.jsx("p",{className:"text-white/70",children:"Ephemerality is free. Future features like printed books or physical products may be offered separately."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"I found a bug or have a suggestion."}),e.jsxs("p",{className:"text-white/70",children:["Email ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with details. For bugs, include your device type, iOS version, and steps to reproduce."]})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Company Information"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsx("p",{className:"text-white/70",children:e.jsx("a",{href:"https://www.ultra-normal.com",className:"text-primary hover:underline",children:"www.ultra-normal.com"})})]})]}),e.jsxs("p",{className:"text-white/50 text-center pt-4",children:["Ephemerality | ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/50",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})]})]})})]})}function hD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},className:"max-w-2xl w-full",children:[e.jsxs(L,{href:"/legal",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-8 text-white/90",children:"Copyright and DMCA"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:"Ephemerality respects the rights of photographers and other creators. If you believe an image displayed on ephemerality.app infringes a copyright you own or control, send a notice containing the following to our designated agent:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-white/70",children:[e.jsx("li",{children:"A description of the copyrighted work you believe is infringed."}),e.jsx("li",{children:"Enough detail to identify the image on the Wall (a screenshot, the approximate date and time you saw it, and the caption line if any)."}),e.jsx("li",{children:"Your name, address, telephone number, and email address."}),e.jsx("li",{children:"A statement that you have a good-faith belief the use is not authorized by the copyright owner, its agent, or the law."}),e.jsx("li",{children:"A statement, under penalty of perjury, that the information in your notice is accurate and that you are the copyright owner or authorized to act for the owner."}),e.jsx("li",{children:"Your physical or electronic signature."})]}),e.jsxs("p",{children:["Designated agent: Ultra-Normal LLC, Attn: DMCA Agent, New Haven, Connecticut, ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),". The agent's full mailing address is on file in the U.S. Copyright Office DMCA Designated Agent Directory."]}),e.jsx("p",{children:"Because The Ephemera is anonymous, we cannot forward notices to the person who released an image. We remove images that are the subject of a valid notice. Counter-notices are not possible for the same reason; if you released an image and believe it was removed in error, you may release it again."}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/ephemerality-privacy",className:"hover:underline",children:"Privacy Policy"})," · ",e.jsx(L,{href:"/ephemerality-terms",className:"hover:underline",children:"Terms of Use"})," · ",e.jsx(L,{href:"/ephemerality-support",className:"hover:underline",children:"Support"})]})]})]})})]})}function uD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"FractalView"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:"By downloading or using FractalView, you agree to these Terms of Use."}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"The Service"}),e.jsx("p",{children:"FractalView is a thinking tool that helps users organize ideas across multiple scales of abstraction. The app stores data locally on your device using browser localStorage. We do not operate servers that store your content."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Data"}),e.jsx("p",{children:"All projects and content you create in FractalView are stored locally on your device. You are responsible for exporting and backing up your data. We cannot recover lost data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsxs("p",{children:["App design, branding, and code are owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC. Content you create using FractalView belongs to you."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"User Conduct"}),e.jsx("p",{children:"You agree not to misuse the service, attempt to access systems without authorization, or redistribute the application without permission."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimers"}),e.jsx("p",{children:'The service is provided "as is." We make no warranties regarding availability, accuracy, or fitness for any particular purpose. We are not liable for any damages arising from use of the app, including data loss.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes"}),e.jsx("p",{children:"We may modify these terms at any time. Continued use constitutes acceptance of updated terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function mD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"FractalView"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["FractalView is operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). This Privacy Policy explains how we handle your information when you use our application.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsx("p",{children:"We collect minimal information necessary to operate the app. FractalView stores all project data locally on your device using browser localStorage. We do not collect, transmit, or store your content on our servers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Do Not Collect"}),e.jsx("p",{children:"We do not collect: location data, browsing history, contacts or personal files, usage analytics, or any information sold to third parties. We do not display advertisements or use third-party tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Local Storage"}),e.jsx("p",{children:"Your projects, notes, and settings are stored in your browser's localStorage. This data never leaves your device unless you explicitly export it. Clearing your browser data will delete your FractalView projects."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Security"}),e.jsx("p",{children:"Because your data is stored locally on your device, security depends on your device and browser security. We recommend keeping your device and browser updated and using the export feature to back up important projects."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. We will notify you of any material changes by posting the updated policy within the app and updating the effective date above."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/80",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function pD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"FractalView"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsx("p",{children:"For questions, issues, or feedback:"}),e.jsx("p",{children:e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})}),e.jsx("p",{className:"text-white/60",children:"We typically respond within 48 hours."})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"FAQs"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Where is my data stored?"}),e.jsx("p",{className:"text-white/70",children:"FractalView stores all your projects locally in your browser's localStorage. Your data never leaves your device unless you export it."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I back up my projects?"}),e.jsx("p",{className:"text-white/70",children:"Use the Export JSON feature to download a backup file. You can import this file later to restore your projects."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"I lost my data. Can you recover it?"}),e.jsx("p",{className:"text-white/70",children:"Unfortunately, no. Because data is stored locally on your device, we have no way to recover it. We recommend regular exports as backups."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"What are the three modes (Scholar/Founder/Builder)?"}),e.jsx("p",{className:"text-white/70",children:"Each mode provides different prompts to guide your thinking. Scholar mode focuses on truth and understanding. Founder mode focuses on value and opportunity. Builder mode focuses on structure and durability."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"What are the 5 Whys and 5 So-Whats protocols?"}),e.jsx("p",{className:"text-white/70",children:'5 Whys Down guides you to drill into root causes by asking "why?" repeatedly. 5 So-Whats Up guides you to explore implications by asking "so what?" repeatedly. Both help you navigate scales of abstraction.'})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Can I suggest a feature?"}),e.jsxs("p",{className:"text-white/70",children:["Yes. Email us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with your suggestion."]})]})]})]})]})]})})]})}function fD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-slate-300 via-gray-400 to-zinc-500 bg-clip-text text-transparent",children:"Schrödinger's Box"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 29, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:`By downloading, accessing, or using the Schrödinger's Box mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the App"}),e.jsx("p",{children:"Schrödinger's Box provides daily philosophical thought experiments, ethical dilemmas, and related content for personal reflection. The App is provided for informational and educational purposes only and does not provide professional, medical, legal, or psychological advice."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Intellectual Property"}),e.jsxs("p",{children:["All content included in the App, including text, design, graphics, and software, is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC or its licensors and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Purchases"}),e.jsxs("p",{children:[`Schrödinger's Box may offer a one-time in-app purchase ("Pro"). All purchases are processed by Apple through the App Store and are subject to Apple's terms and conditions. `,e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC does not process payments directly and does not have access to your payment information."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Disclaimer"}),e.jsxs("p",{children:['The App is provided "as is" and "as available." ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC makes no warranties, express or implied, regarding the accuracy, completeness, or reliability of the content. Use of the App is at your own risk."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Limitation of Liability"}),e.jsxs("p",{children:["To the maximum extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, consequential, or punitive damages arising from your use of the App."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Termination"}),e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC may discontinue or modify the App at any time without notice. The
205se Terms remain in effect even if you stop using the App."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Governing Law"}),e.jsxs("p",{children:["These Terms are governed by the laws of the United States and the state in which ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is registered, without regard to conflict-of-law principles."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For questions regarding these Terms, contact:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function xD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-slate-300 via-gray-400 to-zinc-500 bg-clip-text text-transparent",children:"Schrödinger's Box"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: December 29, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Overview"}),e.jsx("p",{children:"Schrödinger's Box is designed to respect user privacy. We collect minimal information and do not sell or share personal data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Collect"}),e.jsx("h4",{className:"text-lg font-medium text-white/80",children:"Data Stored on Your Device"}),e.jsx("p",{children:"The App stores the following information locally on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Daily choices and interaction history"}),e.jsx("li",{children:"App preferences and settings"}),e.jsx("li",{children:"Pro purchase status"})]}),e.jsxs("p",{className:"mt-2",children:["This data is not transmitted to ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC servers."]}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-4",children:"Purchases"}),e.jsx("p",{children:"In-app purchases are processed by Apple via the App Store. We receive confirmation of purchase status but do not receive payment details, credit card information, or Apple ID data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Data We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Personal identifiers (name, email, address)"}),e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Contact lists"}),e.jsx("li",{children:"Behavioral tracking data"}),e.jsx("li",{children:"Advertising identifiers"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Analytics"}),e.jsx("p",{children:"The App does not use third-party analytics or tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Data Retention"}),e.jsx("p",{children:"All locally stored data remains on your device until you delete the App or reset your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Children's Privacy"}),e.jsx("p",{children:"Schrödinger's Box is not directed to children under the age of 13, and we do not knowingly collect personal information from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. 
205Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at the URL above with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"If you have questions about this Privacy Policy, contact:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function yD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-slate-300 via-gray-400 to-zinc-500 bg-clip-text text-transparent",children:"Schrödinger's Box"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Support & Contact Information"}),e.jsx("p",{children:"If you need help with Schrödinger's Box, please contact:"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})}),e.jsx("p",{className:"text-white/60",children:"We typically respond within a reasonable timeframe during standard business hours."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App Information"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-2",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"App Name:"})," Schrödinger's Box"]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"Developer:"})," ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"Platform:"})," iOS"]})]}),e.jsx("p",{className:"text-white/60 mt-4",children:"For issues related to purchases, refunds, or billing, please contact Apple Support directly through the App Store."})]})]})]})})]})}function gD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"Clearing Meditations"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Getting Help"}),e.jsx("p",{children:"If you need help with Clearing Meditations, please contact us by email."}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{className:"text-white/70",children:["Support Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})}),e.jsx("p",{className:"text-white/60 mt-3",children:"When writing, please include:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/60",children:[e.jsx("li",{children:"Device model"}),e.jsx("li",{children:"iOS version"}),e.jsx("li",{children:"App version"}),e.jsx("li",{children:"A brief description of the issue"})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Common Questions"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"I purchased Clearing Meditations Pro but it's locked"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Make sure you are signed into the same Apple ID used for purchase"}),e.jsx("li",{children:"Tap Restore Purchases"}),e.jsx("li",{children:"If the issue persists, contact support"})]})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"I only get one meditation per day"}),e.jsx("p",{className:"text-white/70",children:"That is expected behavior on the free tier."}),e.jsx("p",{className:"text-white/70 mt-1",children:"Clearing Meditations Pro unlocks unlimited access and choice."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Can I get a refund?"}),e.jsx("p",{className:"text-white/70",children:"Refunds are handled by Apple according to App Store policies. We cannot issue refunds directly."})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Feedback"}),e.jsx("p",{className:"text-white/70",children:"We welcome thoughtful feedback about the app experience. Clearing Meditations is designed to be calm, minimal, and respectful of attention—your suggestions help us keep it that way."})]})]})]})})]})}function bD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"Clearing Meditations"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: December 29, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-white/90 mb-2",children:"The Short Version"}),e.jsx("p",{children:"Clearing Meditations is designed to respect your privacy. We collect minimal information, do not sell your data, and do not track you across apps or websites."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Information We Collect"}),e.jsx("h4",{className:"text-lg font-medium text-white/80",children:"Data Stored Locally on Your Device"}),e.jsx("p",{children:"Clearing Meditations stores the following data only on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Daily meditation state"}),e.jsx("li",{children:"Meditation history (if enabled)"}),e.jsx("li",{children:"App preferences"}),e.jsx("li",{children:"Clearing Meditations Pro unlock status"})]}),e.jsx("p",{className:"mt-2",children:"This data is not transmitted to our servers."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-4",children:"Purchases"}),e.jsx("p",{children:"If you purchase Clearing Meditations Pro:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"The transaction is processed by Apple via the App Store."}),e.jsx("li",{children:"We receive confirmation that a purchase occurred."}),e.jsx("li",{children:"We do not receive your name, Apple ID, payment method, or billing details."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Contacts"}),e.jsx("li",{children:"Browsing history"}),e.jsx("li",{children:"Personal identifiers"}),e.jsx("li",{children:"Advertising identifiers"}),e.jsx("li",{children:"Cross-app tracking data"})]}),e.jsx("p",{className:"mt-2",children:"Clearing Meditations does not use third-party advertising or behavioral tracking."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Analytics"}),e.jsx("p",{children:"We may collect anonymous, aggregated usage metrics (such as feature usage counts) solely to improve the App. These metrics cannot be used to identify you."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Data Sharing"}),e.jsx("p",{children:"We do not sell, rent, or share your personal data with third parties."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Data Security"}),e.jsx("p",{children:"We take reasonable measures to protect the App and its data. However, no system is perfectly secure, and we cannot guarantee absolute security."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Children's Privacy"}),e.jsx("p",{children:"Clearing Meditations is not directed at children under 13, and we do not knowingly collect data from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. 
205Changes to This Policy"}),e.jsx("p",{children:'We may update this Privacy Policy from time to time. Updates will be reflected on this page with a revised "Last Updated" date.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"Questions about privacy may be sent to:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function vD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"Clearing Meditations"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: December 29, 2025"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:'By downloading, installing, or using the Clearing Meditations mobile application ("Clearing Meditations," "the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the Service"}),e.jsx("p",{children:"Clearing Meditations is a contemplative application that provides written meditations drawn from nature, science, and literature. The App is intended for general informational and reflective purposes only."}),e.jsx("p",{className:"mt-2",children:"Clearing Meditations offers:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"A free tier, which provides one meditation per day selected by the App."}),e.jsx("li",{children:"Clearing Meditations Pro, a one-time, non-consumable purchase that unlocks unlimited access and user choice."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Not Medical or Mental Health Advice"}),e.jsx("p",{children:"Clearing Meditations does not provide medical, psychological, psychiatric, or therapeutic advice."}),e.jsx("p",{className:"mt-2 text-amber-400/80",children:"The content is not a substitute for professional care. If you are experiencing distress, mental health challenges, or medical concerns, seek help from a qualified professional."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Purchases and Subscriptions"}),e.jsx("p",{children:"Clearing Meditations Pro is a one-time purchase processed entirely through Apple's App Store using Apple's In-App Purchase system."}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 mt-2",children:[e.jsxs("li",{children:["Payments are handled by Apple, not by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC."]}),e.jsx("li",{children:"Pricing and availability are determined by Apple."}),e.jsx("li",{children:`Purchases may be restored using Apple's "Restore Purchases" feature.`}),e.jsx("li",{children:"We do not store payment information."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Intellectual Property"}),e.jsxs("p",{children:["All app design, structure, and original materials are owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC."]}),e.jsx("p",{className:"mt-2",children:"Quoted texts remain the property of their respective rights holders and are used in accordance with applicable rights or public-domain status."}),e.jsx("p",{className:"mt-2",children:"You may not copy, reproduce, redistribute, or resell the App or its contents."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Acceptable Use"}),e.jsx("p",{children:"You agree not to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Rever
205se engineer or attempt to extract the App's source code"}),e.jsx("li",{children:"Use the App for unlawful purposes"}),e.jsx("li",{children:"Interfere with the App's normal operation"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Availability and Changes"}),e.jsx("p",{children:"We may modify, suspend, or discontinue the App (or parts of it) at any time without notice. We are not liable if the App becomes unavailable."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Limitation of Liability"}),e.jsxs("p",{children:["To the maximum extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, or consequential damages arising from your use of the App."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Governing Law"}),e.jsxs("p",{children:["These Terms are governed by the laws of the United States and the state in which ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is registered, without regard to conflict-of-law principles."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"Questions about these Terms may be directed to:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function jD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-yellow-400 via-amber-500 to-orange-500 bg-clip-text text-transparent",children:"HappyHumanist"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:['HappyHumanist and Heartbreak & Happiness (the "Service") are products of ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("Ultra-Normal," "we," "us," or "our"). We respect your privacy and aim to collect as little personal information as possible. This Privacy Policy explains what information we collect, how we use it, and the choices you have.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsx("p",{children:"We collect information in three ways: information you provide, information collected automatically, and information from third parties."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-3",children:"Information you provide"}),e.jsx("p",{children:"If you contact us, subscribe to updates, or otherwise communicate with us, we collect the information you provide, such as your email address and the contents of your message. If you choose to make a donation, payment processing is handled by a third-party payment processor (Stripe). We do not receive or store your full payment card details. We may receive limited information related to your donation, such as confirmation that a payment occurred and the amount."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-3",children:"Reflections and journal entries"}),e.jsx("p",{children:"The Service includes prompts that may invite you to write reflections or journal entries. By default, your reflections and progress are stored locally on your device using on-device storage mechanisms (for example, localStorage on the web or local app storage). We do not receive, access, or store your reflections unless you intentionally transmit them to us."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-3",children:"Information collected automatically"}),e.jsx("p",{children:"When you access the Service, we and our service providers may automatically collect certain technical information, such as your device type, operating system, browser type, and approximate usage information related to your interaction with the Service. We use this information to operate, maintain, secure, and improve the Service."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-3",children:"Information from third parties"}),e.jsx("p",{children:"If you choose to donate, Stripe provides us with limited information about the transaction as described above. We may al
205so receive information from our hosting or analytics providers in aggregated or operational form."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How We Use Information"}),e.jsx("p",{children:"We use information to provide and operate the Service, to communicate with you and respond to requests, to process and administer donations and receipts, to monitor, prevent, and address security incidents or misuse, to comply with legal obligations, and to improve the Service."}),e.jsx("p",{className:"mt-2 font-medium text-white/90",children:"We do not sell personal information. We do not use your reflections to train artificial intelligence models. We do not use personal information for targeted advertising."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How We Share Information"}),e.jsx("p",{children:"We share information only as necessary to operate the Service, comply with law, and protect rights and safety."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-3",children:"Service providers"}),e.jsx("p",{children:"We may share information with vendors and service providers that perform services on our behalf, such as hosting providers, payment processors, email providers, and privacy-focused analytics providers."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-3",children:"Legal and safety"}),e.jsx("p",{children:"We may disclose information if we believe disclosure is required by law, regulation, legal process, or governmental request, or if we believe disclosure is necessary to protect rights, property, or safety."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-3",children:"Business transfers"}),e.jsx("p",{children:"If we are involved in a merger, acquisition, financing, reorganization, bankruptcy, or sale of company assets, information may be transferred as part of that transaction."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Storage and Security"}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Local storage:"})," Your reflections and progress are stored locally on your device unless you choose to transmit them to us. Because this information is stored locally, we cannot access it and cannot recover it if you delete it or clear local storage."]}),e.jsxs("p",{className:"mt-2",children:[e.jsx("strong",{className:"text-white/90",children:"Server-side storage:"})," We may store limited information on our servers, such as communications you send to us, operational and security logs, and donation-related records."]}),e.jsxs("p",{className:"mt-2",children:[e.jsx("strong",{className:"text-white/90",children:"Security:"})," We use reasonable administrative, technical, and physical safeguards designed to protect information. No method of transmission or storage is completely secure, and we cannot guarantee absolute security."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Retention"}),e.jsx("p",{children:"We retain personal information for as long as reasonably necessary to provide the Service, fulfill the purposes described in this Policy, and comply with legal obligations. Donation-related records may be retained for tax and accounting compliance, typically for up to seven years."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Choices and Rights"}),e.jsxs("p",{children:["You may request access to or deletion of personal information we hold about you by contacting us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),". You can delete locally stored reflections and progress by clearing your browser or app storage or uninstalling the app."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"The Service is intended for users aged 13 and older and addresses mature themes. We do not knowingly collect personal information from children under 13. If you believe a child has provided personal information, contact us and we will take appropriate action."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"International Users"}),e.jsx("p",{children:"The Service is operated from the United States. If you access the Service from outside the United States, you understand that information may be processed and stored in the United States and other jurisdictions where our service providers operate."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:'We may update this Privacy Policy from time to time. We will post the updated Policy and revise the "Last Updated" date. Your continued use of the Service after an update constitutes acceptance of the revised Policy.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"If you have questions or requests related to privacy, contact us at:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-2",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/60",children:"New Haven, Connecticut, USA"})]})]})]})]})})]})}function wD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-yellow-400 via-amber-500 to-orange-500 bg-clip-text text-transparent",children:"HappyHumanist"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:['These Terms of Use (the "Terms") govern your access to and use of HappyHumanist and Heartbreak & Happiness (the "Service"), operated by ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("Ultra-Normal," "we," "us," or "our").']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance of Terms"}),e.jsx("p",{children:"By accessing or using the Service, you agree to these Terms and to the Privacy Policy. If you do not agree, do not use the Service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"The Service Is Educational; Not Professional Advice"}),e.jsx("p",{children:"The Service provides educational content, including readings, prompts, and frameworks relating to literature, philosophy, and human flourishing. The Service does not provide medical, psychological, therapeutic, legal, or financial advice, and is not a substitute for professional services. You are responsible for your own decisions and for how you use the Service."}),e.jsx("p",{className:"mt-2 text-amber-400/80",children:"If you are experiencing a mental health crisis or believe you may be in danger, seek immediate help from emergency services or a qualified professional."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Eligibility"}),e.jsx("p",{children:"You must be at least 13 years old to use the Service. The Service addresses mature themes and is intended for adults. If you are under 18, you should use the Service only with parental awareness."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"User Content and Privacy"}),e.jsx("p",{children:"Your reflections and journal entries belong to you. Unless you explicitly transmit your reflections to us, we do not access or store them. If you choose to send us content (for example, via email), you grant us a limited, non-exclusive license to use that content solely to respond to you, provide support, operate the Service, and comply with law."}),e.jsx("p",{className:"mt-2",children:"You agree not to submit c
205ontent that violates law, infringes the rights of others, contains malware, or is otherwise harmful."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"License and Acceptable Use"}),e.jsxs("p",{children:["Subject to these Terms, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," grants you a limited, non-exclusive, non-transferable, revocable license to access and use the Service for your personal, non-commercial use."]}),e.jsx("p",{className:"mt-2",children:"You agree not to misuse the Service. Without limitation, you will not copy, reproduce, distribute, publicly display, sell, or create derivative works from the Service or its content, except as permitted by law or with our prior written permission. You will not attempt to access or interfere with non-public areas of the Service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsxs("p",{children:["All content and materials made available through the Service, including text, structure, prompts, design, and branding, are owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," or licensed to ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," and are protected by intellectual property laws."]}),e.jsx("p",{className:"mt-2",children:"You may share links to the Service and quote brief excerpts for purposes such as commentary or education, provided you include appropriate attribution. Any use beyond this requires prior written permission."}),e.jsx("p",{className:"mt-2",children:"The Service may include links to third-party materials, including public-domain texts and external websites. Third-party materials are governed by their own terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Donations"}),e.jsxs("p",{children:["If the Service offers donations, donations are voluntary and processed by a third-party payment processor under its terms. Donations are generally non-refundable, except where required by law or at our discretion. Donations are not tax-deductible because ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," is a for-profit entity."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimers"}),e.jsxs("p",{children:['The Service is provided on an "as is" and "as available" basis. To the maximum extent permitted by law, ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," disclaims all warranties, express or implied, including warranties of merchantability, fitness for a particular purpose, and n
205on-infringement."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsxs("p",{children:["To the maximum extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," will not be liable for any indirect, incidental, special, consequential, exemplary, or punitive damages, or for any loss of profits, revenues, data, goodwill, or other intangible losses."]}),e.jsx("p",{className:"mt-2",children:"Total liability for any claim will not exceed the greater of (a) the amount you paid for the Service in the twelve months preceding the event, or (b) one hundred U.S. dollars (US$100)."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Indemnification"}),e.jsxs("p",{children:["You agree to indemnify, defend, and hold harmless ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," and its affiliates, officers, directors, employees, and agents from and against any claims, liabilities, damages, losses, and expenses arising out of or related to your use of the Service or violation of these Terms."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Suspension and Termination"}),e.jsxs("p",{children:["You may stop using the Service at any time. ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," may suspend or terminate your access at any time, with or without notice, if we believe you have violated these Terms or if we discontinue the Service."]}),e.jsx("p",{className:"mt-2",children:"Because reflections are stored locally unless you transmit them to us, we have no obligation to store, maintain, or provide your local data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to the Service or Terms"}),e.jsx("p",{children:"We may modify or discontinue the Service, update content, or change these Terms at any time. Continued use of the Service after changes constitutes acceptance of the updated Terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law and Venue"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Connecticut, USA, without regard to conflict of law principles. Any dispute will be brought exclusively in the state or federal courts located in Connecticut."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Severability"}),e.jsx("p",{children:"If any provision of these Terms is found unenforceable, the remaining provisions will remain in full force and effect."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Entire Agreement"}),e.jsxs("p",{children:["These Terms and the Privacy Policy constitute the entire agreement between you and ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," regarding the Service."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For questions about these Terms, contact:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-2",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})}),e.jsx("p",{className:"text-white/60",children:"New Haven, Connecticut, USA"})]})]})]})]})})]})}function ND(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Help & Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-yellow-400 via-amber-500 to-orange-500 bg-clip-text text-transparent",children:"HappyHumanist"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["HappyHumanist and Heartbreak & Happiness are products of ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC. This page answers common questions about using the course and explains how to get help if something goes wrong."]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Getting Started"}),e.jsx("p",{children:'To begin the course, tap "Begin the Course" on the welcome screen. You will see ten weeks of content. You may start with Week One or jump to any week that feels relevant to your current situation.'}),e.jsx("p",{children:"No account is required. The Service works without registration, and your progress is saved automatically to your device."}),e.jsx("p",{children:"All core course content is free. Donations are optional and never required to access material."}),e.jsx("p",{children:"Most participants spend between one and three hours per week, depending on depth of engagement. The full course typically takes between ten and thirty total hours over ten weeks, though many people move more slowly or return to modules over time."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Course Content"}),e.jsx("p",{children:"You are not expected to read everything. The course is self-directed. There are no grades, certificates, or completion requirements. Engage with what resonates and skip what does not."}),e.jsx("p",{children:"Some readings are substantial. Active reading is encouraged, but it is acceptable to skim sections and return later. Framing essays are designed to provide context even if you do not complete every assigned reading."}),e.jsx("p",{children:"You may complete weeks out of order. While the course follows a narrative arc, each week stands on its own. If a later module speaks directly to your circumstances, you may begin there."}),e.jsxs("p",{children:["If a reading link is broken or unavailable, please contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with the week number and title of the reading so we can correct it."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Reflections and Progress"}),e.jsxs("p",{children:["Your reflections and progress are stored locally on your device only, using browser or app storage. ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," does not have access to this data."]}),e.jsx("p",{children:"An export feature is planned but may not yet be available. When implemented, it will allow you to export reflections as a text file or PDF."}),e.jsx("p",{children:"If you clear your browser storage, delete the app, or reset your device, your progress may be lost. Because we do not store this data on our servers, we cannot recover it. If you wish to preserve reflections, consider periodically copying important writing into a separate document you control."}),e.jsx("p",{children:"Progress does not currently sync across devices. Each device maintains its own local data. Cross-device syncing may be added in a future version but is not guaranteed."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Technical Issues"}),e.jsx("p",{children:"If the Service does not load, try refreshing the page, clearing your browser cache, switching browsers, or checking your internet connection."}),e.jsx("p",{children:"If a video or external reading does not open, note that external 
205content is hosted by third parties. You may try opening the link in a new tab or searching for the title directly. If the issue persists, report the broken link to us."}),e.jsx("p",{children:"Performance may be slower on older devices or when very large amounts of local reflection data are stored. Clearing older local entries may improve performance."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Donations"}),e.jsx("p",{children:"Donations can be made through the Support page within the Service. Payments are processed securely by Stripe."}),e.jsxs("p",{children:["Donations are not tax-deductible. ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is a for-profit company."]}),e.jsx("p",{children:"Donations are generally non-refundable. If there is an error or concern, you may contact us and we will review the situation."}),e.jsx("p",{children:"If a monthly donation option is available, it will be clearly labeled on the Support page."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Privacy and Data"}),e.jsxs("p",{children:["We collect minimal anonymous usage analytics to improve the Service. We do not track your identity, precise location, or activity outside the Service. Full details are available in the ",e.jsx(L,{href:"/happyhumanist-privacy",children:e.jsx("a",{className:"text-primary hover:underline",children:"Privacy Policy"})}),"."]}),e.jsx("p",{children:"We do not read, access, or store your reflections unless you explicitly send them to us."}),e.jsxs("p",{children:["To delete local data, clear your browser storage or delete the app. To request deletion of any server-side data we may hold (subject to legal requirements), contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Course Completion"}),e.jsx("p",{children:"There is currently no certificate of completion. The course is designed for self-directed learning and personal use."}),e.jsx("p",{children:"When you finish, you may wish to review your reflections, revisit modules, or share the course with someone who might benefit. Many users find the material takes on new meaning when revisited."}),e.jsxs("p",{children:["Additional courses are planned. Information about future offerings will be shared through official ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," channels."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Information"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-2",children:[e.jsxs("p",{className:"text-white/70",children:["General support: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["Privacy questions or data requests: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["Legal or terms questions: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["Press or partnership inquiries: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Reporting a Problem"}),e.jsx("p",{children:"When reporting a technical issue, please include your device type, operating system, browser, a description of what you were trying to do, what occurred instead, and screenshots if available. This information helps us diagnose and resolve issues more efficiently."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Response Times"}),e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," is a small team. Typical response times are:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"One to three business days for technical issues"}),e.jsx("li",{children:"Three to five business days for general inquiries"}),e.jsx("li",{children:"Five to ten business days for legal or privacy requests"})]}),e.jsx("p",{className:"mt-2",children:"We read all messages and respond as promptly as possible."})]})]})]})})]})}function TD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-slate-300 via-zinc-400 to-stone-400 bg-clip-text text-transparent",children:"LayerNote"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-white/90 mb-2",children:"The Short Version"}),e.jsx("p",{children:"LayerNote stores everything locally on your device. We don't collect your data. We don't see your writing. We don't have servers that store your entries. Your words stay on your phone."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"What We Collect"}),e.jsx("p",{children:"Nothing. LayerNote does not collect, transmit, or store any personal information. There is no account creation. There is no cloud sync. There is no analytics tracking. Your journal entries exist only on your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Local Storage"}),e.jsx("p",{children:"All data is stored locally using your device's native storage. If you delete the app, your data is deleted. If you lose your device, your data is lost. We cannot recover it because we never had it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Notifications"}),e.jsx("p",{children:"If you enable reminders, LayerNote uses local notifications scheduled on your device. These do not require any server communication. We do not receive any information about when or whether you use the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Third Parties"}),e.jsx("p",{children:"We do not share data with third parties because we do not have your data. There are no ads. There are no anal
205ytics services. There are no tracking pixels."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children"}),e.jsx("p",{children:"LayerNote is not directed at children under 13. Since we collect no data, we have no way of knowing the age of our users."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"If we ever change this policy, we will update it here. But our core commitment is simple and unlikely to change: your data stays on your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["Questions? Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})})]})]})]})})]})}function SD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-slate-300 via-zinc-400 to-stone-400 bg-clip-text text-transparent",children:"LayerNote"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance"}),e.jsx("p",{children:"By downloading or using LayerNote, you agree to these terms. If you don't agree, don't use the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"What LayerNote Is"}),e.jsx("p",{children:"LayerNote is a free journaling app. It provides writing prompts and a space to write. That's it. It is not therapy. It is not medical advice. It is not a substitute for professional help."}),e.jsx("p",{className:"mt-2 text-amber-400/80",children:"If you are in crisis, please contact a mental health professional or crisis service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Data"}),e.jsx("p",{children:"Your writing is stored locally on your device. You own it. We never see it. We cannot access it, back it up, or recover it. You are responsible for your own data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"No Warranty"}),e.jsx("p",{children:'LayerNote is provided "as is" without warranties of any kind. We do not guarantee that the app will be error-free, uninterrupted, or suitable for any particular purpose. Use it at your own risk.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsxs("p",{children:["To the maximum extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and its owners, employees, and affiliates shall not be liable for any damages arising from your use of LayerNote. This includes but is not limited to data loss, emotional distress, or any other direct, indirect, incidental, or consequential damages."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Indemnification"}),e.jsxs("p",{children:["You agree to indemnify and hold harmless ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC from any claims, damages, or expenses arising from your use of the app or violation of these terms."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Modifications"}),e.jsx("p",{children:"We may update these terms at any time. Continued use of the app after changes constitutes acceptance of the new terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law"}),e.jsx("p",{children:"These terms are governed by the laws of the State of Connecticut, without regard to conflict of law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["Questions? Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})})]})]})]})})]})}function AD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-slate-300 via-zinc-400 to-stone-400 bg-clip-text text-transparent",children:"LayerNote"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How LayerNote Works"}),e.jsx("p",{children:"LayerNote is a journaling app organized by theme, not by date. You write about the same topics over time, and your previous entries remain visible beneath your new writing... faded but not erased. This is the palimpsest view."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Getting Started"}),e.jsx("p",{children:"Open the app. Choose a zone. Respond to a prompt. That's your first layer. Come back tomorrow, next week, or next year and write again. Watch how your answers change."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"The Six Zones"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Identity and Becoming"}),e.jsx("li",{children:"Love, Sex, and Intimate Relationships"}),e.jsx("li",{children:"Family, Parents, and Children"}),e.jsx("li",{children:"Friendship, Society, and the Social World"}),e.jsx("li",{children:"Work, Money, and Ambition"}),e.jsx("li",{children:"Mortality, Meaning, and Transcendence"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Reminders"}),e.jsx("p",{children:"Go to Settings to enable reminders. You can set daily, weekly, or monthly notifications to prompt you to write."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Data"}),e.jsx("p",{children:"Everything you write is stored locally on your device. We do not have access to it. If you delete the app, your data is deleted. There is no cloud backup."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Troubleshooting"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-white/90",children:"App won't open:"}),e.jsx("p",{className:"text-white/70",children:"Try restarting your device. If the problem persists, delete and reinstall the app. Note that reinstalling will erase your data."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-white/90",children:"Notifications not working:"}),e.jsx("p",{className:"text-white/70",children:"Check that you've granted notification permissions in your device settings."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-white/90",children:"Lost my entries:"}),e.jsx("p",{className:"text-white/70",children:"We cannot recover your data. It exists only on your device."})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["For support, email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-2",children:"We'll do our best to help."}),e.jsx("p",{className:"text-white/70 mt-4",children:e.jsxs("strong",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent",children:"Normal"})," LLC"]})})]})]})]})]})})]})}function CD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-purple-400 via-pink-500 to-red-500 bg-clip-text text-transparent",children:"BadMeditator"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 13, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Overview"}),e.jsx("p",{children:"BadMeditator is designed to respect user privacy. We collect minimal information and do not sell, share, or monetize personal data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Collect"}),e.jsx("h4",{className:"text-lg font-medium text-white/80",children:"Data Stored on Your Device"}),e.jsx("p",{children:"BadMeditator stores the following information locally on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Session progress and interaction history"}),e.jsx("li",{children:"App preferences and settings"}),e.jsx("li",{children:"Pro purchase status"})]}),e.jsxs("p",{className:"mt-2",children:["This data is stored only on your device and is not transmitted to ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC servers."]}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-4",children:"Purchases"}),e.jsxs("p",{children:["In-app purchases are processed by Apple via the App Store. ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC receives confirmation of purchase status but does not receive payment details, credit card information, or Apple ID data."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Data We Do Not Collect"}),e.jsx("p",{children:"BadMeditator does not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Personal identifiers (name, email, address)"}),e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Contacts or address book data"}),e.jsx("li",{children:"Behavioral tracking data"}),e.jsx("li",{children:"Advertising identifiers"}),e.jsx("li",{children:"Health data"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Analytics"}),e.jsx("p",{children:"BadMeditator does not use third-party analytics, advertising SDKs, or tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Data Retention"}),e.jsx("p",{children:"All locally stored data remains on your device until you delete the App or reset your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Children's Privacy"}),e.jsx("p",{children:"BadMeditator is not directed to children under the age of 13, and we do not knowingly collect personal information from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. 
205Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at this URL with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"If you have questions about this Privacy Policy, contact:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function ED(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-purple-400 via-pink-500 to-red-500 bg-clip-text text-transparent",children:"BadMeditator"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 13, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using the BadMeditator mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these Terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the App"}),e.jsx("p",{children:"BadMeditator provides intentionally unconventional meditation prompts, reflective exercises, and related content for personal use. The App is provided for informational and experiential purposes only and does not provide medical, psychological, therapeutic, or professional advice."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, attempt to reverse engineer, or interfere with the App or its operation."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Intellectual Property"}),e.jsxs("p",{children:["All content included in the App, including text, design, graphics, and software, is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC or its licensors and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Purchases"}),e.jsxs("p",{children:[`BadMeditator may offer a one-time in-app purchase ("Pro"). All purchases are processed by Apple through the App Store and are subject to Apple's terms and conditions. `,e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC does not process payments directly and does not have access to your payment information."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Disclaimer"}),e.jsxs("p",{children:['The App is provided "as is" and "as available." ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC makes no warranties, express or implied, regarding the accuracy, completeness, or suitability of the content. Use of the App is at your own risk."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Limitation of Liability"}),e.jsxs("p",{children:["To the maximum extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, consequential, special, or punitive damages arising from or related to your use of the App."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Termination"}),e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC may modify, suspend, or discontinue the App at any time without notice. The
205se Terms remain in effect even if you stop using the App."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Governing Law"}),e.jsxs("p",{children:["These Terms are governed by the laws of the United States and the state in which ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is registered, without regard to conflict-of-law principles."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For questions regarding these Terms, contact:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function kD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support & Contact Information"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-purple-400 via-pink-500 to-red-500 bg-clip-text text-transparent",children:"BadMeditator"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Support"}),e.jsx("p",{children:"If you need help with BadMeditator, please contact:"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})}),e.jsx("p",{className:"mt-2",children:"We typically respond within a reasonable timeframe during standard business hours."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App Information"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-2",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"App Name:"})," BadMeditator"]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"Developer:"})," ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"Platform:"})," iOS"]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Purchases & Billing"}),e.jsx("p",{children:"For issues related to purchases, refunds, or billing, please contact Apple Support directly through the App Store."})]})]})]})})]})}function LD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"LandArt Studio"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("section",{className:"space-y-3",children:e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Frequently Asked Questions"})}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"What is LandArt Studio?"}),e.jsx("p",{children:"LandArt Studio is a nature craft studio for your phone. Arrange stones, leaves, petals, twigs, and other natural materials into beautiful land art compositions. Choose your landscape, gather materials, create something beautiful, then capture and share it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"How do I create a composition?"}),e.jsx("p",{children:"Tap Begin on the landing screen, select a landscape and season, then tap Start Creating. Drag materials from the tray at the bottom onto the canvas. Tap a placed material to select it, then rotate or resize. Tap the camera icon to save your composition."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"What's included in the free version?"}),e.jsx("p",{children:"The free version includes the Forest Floor landscape in all four seasons, full creative tools, and the ability to save and share up to 20 compositions."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"What does Premium unlock?"}),e.jsx("p",{children:"LandArt Studio Premium unlocks all four landscapes (Forest Floor, Beach, Meadow, and Mountaintop), unlimited gallery storage, the dissolution timelapse feature, creative prompts, and all future updates. It's a one-time purchase—no subscription."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"How do I restore my purchase?"}),e.jsx("p",{children:`If you've purchased Premium and need to restore it (for example, after reinstalling the app or switching devices), go to Settings and tap "Restore Purchase." Make sure you're signed into the same Apple ID you used for the original purchase.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"Where are my compositions saved?"}),e.jsx("p",{children:"Your compositions are saved locally on your device in the app's gallery. They are not uploaded to any server. If you delete the app, your saved compositions will be deleted as well. We recommend using the share feature to save important compositions to your Photos or other apps."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"Can I get a refund?"}),e.jsxs("p",{children:["All purchases are processed by Apple. To request a refund, visit ",e.jsx("a",{href:"https://reportaproblem.apple.com",className:"text-primary hover:underline",children:"reportaproblem.apple.com"})," and sign in with your Apple ID."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"The app isn't working correctly. What should I do?"}),e.jsx("p",{children:"Try closing and reopening the app. If the problem persists, try restarting your device. If you're still experiencing issues, please contact us with a description of the problem, your device model, and iOS version."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsx("p",{children:"Have a question not answered here? Found a bug? Just want to share something you made? We'd love to hear from you."}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})}),e.jsx("p",{className:"mt-2",children:"We typically respond within 1–2 business days."})]})]})]})})]})}function DD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"LandArt Studio"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 17, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:['These Terms of Use ("Terms") govern your use of the LandArt Studio application ("App") provided by ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). By downloading, installing, or using LandArt Studio, you agree to these Terms. If you do not agree, do not use the App.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"License"}),e.jsx("p",{children:"We grant you a limited, non-exclusive, non-transferable, revocable license to use LandArt Studio for personal, non-commercial purposes on devices you own or control, subject to these Terms and Apple's App Store Terms of Service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Content"}),e.jsx("p",{children:'LandArt Studio allows you to create digital compositions ("Your Content"). You retain all rights to Your Content. We do not claim ownership of anything you create. Your Content is stored locally on your device and is not transmitted to us.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptable Use"}),e.jsx("p",{children:"You agree not to: reverse engineer, decompile, or disassemble the App; use the App for any unlawful purpose; attempt to gain unauthorized access to any part of the App; remove or alter any proprietary notices or labels on the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"LandArt Studio offers optional premium features available through in-app purchase. All purchases are processed by Apple and are subject to Apple's terms and policies. Purchases are non-refundable except as required by applicable law or Apple's policies. You may restore previously purchased premium features on the same Apple ID at no additional cost."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsxs("p",{children:["LandArt Studio, including its design, graphics, interface, and code, is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and protected by copyright, trademark, and other intellectual property laws. These Terms do not grant you any rights to our trademarks, logos, or branding."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimer of Warranties"}),e.jsx("p",{children:'LandArt Studio is provided "as is" and "as available" without warranties of any kind, either express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, and n
205on-infringement. We do not warrant that the App will be uninterrupted, error-free, or free of harmful components.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsxs("p",{children:["To the fullest extent permitted by applicable law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of profits or revenues, whether incurred directly or indirectly, or any loss of data, use, goodwill, or other intangible losses resulting from: your use or inability to use the App; any unauthorized access to or alteration of your data; or any other matter relating to the App."]}),e.jsx("p",{children:"In no event shall our total liability exceed the amount you paid us, if any, for access to the App during the twelve months preceding the claim."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Indemnification"}),e.jsxs("p",{children:["You agree to indemnify, defend, and hold harmless ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and its officers, directors, employees, and agents from and against any claims, liabilities, damages, losses, and expenses, including reasonable attorneys' fees, arising out of or in any way connected with your use of the App or violation of these Terms."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Termination"}),e.jsx("p",{children:"We may terminate or suspend your access to LandArt Studio at any time, without prior notice, for conduct that we believe violates these Terms or is harmful to other users, us, or third parties, or for any other reason at our sole discretion. Upon termination, your license to use the App is revoked."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law"}),e.jsx("p",{children:"These Terms shall be governed by and construed in accordance with the laws of the Commonwealth of Virginia, without regard to its conflict of law provisions. Any disputes arising from these Terms or your use of the App shall be resolved exclusively in the state or federal courts located in Virginia."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to Terms"}),e.jsx("p",{children:"We reserve the right to modify these Terms at any time. If we make material changes, we will update the effective date at the top of this page. Your continued use of LandArt Studio after changes are posted constitutes acceptance of the revised Terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Severability"}),e.jsx("p",{children:"If any provision of these Terms is found to be unenforceable, the remaining provisions will continue in full force and effect."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Entire Agreement"}),e.jsxs("p",{children:["These Terms, together with our Privacy Policy, constitute the entire agreement between you and ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC regarding your use of LandArt Studio."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function RD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"LandArt Studio"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 17, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["LandArt Studio is developed and operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). This Privacy Policy explains how we handle information when you use the LandArt Studio application.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Do Not Collect"}),e.jsx("p",{children:"LandArt Studio is designed with privacy as a priority. We do not collect, store, or transmit any personal information. Specifically:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"We do not collect your name, email address, or contact information"}),e.jsx("li",{children:"We do not collect location data"}),e.jsx("li",{children:"We do not collect usage analytics or behavioral data"}),e.jsx("li",{children:"We do not use cookies or tracking technologies"}),e.jsx("li",{children:"We do not collect any information about the compositions you create"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Local Storage Only"}),e.jsx("p",{children:"All data generated by your use of LandArt Studio—including saved compositions and app preferences—is stored locally on your device. This data never leaves your device and is not accessible to us. If you delete the app, this local data is deleted as well."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"LandArt Studio offers optional in-app purchases processed entirely through Apple's App Store. We do not receive or store any payment information. Apple's privacy policy governs the handling of your payment data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Third-Party Services"}),e.jsx("p",{children:"LandArt Studio does not integrate with any third-party analytics, advertising, or tracking services. When you use the share feature, your device's native sharing functionality is used, and any data shared is governed by the privacy policies of the apps or services you choose to share with."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"LandArt Studio does not knowingly collect any information from children or anyone else. Because we collect no data, no special provisions for children's data are necessary."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. If we make material changes, we will update the effective date at the top of this page. Your continued use of LandArt Studio after changes are posted constitutes acceptance of the revised policy."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function OD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-stone-400 via-gray-500 to-slate-500 bg-clip-text text-transparent",children:"StoneWright"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["StoneWright is operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). This Privacy Policy explains how we handle information when you use the StoneWright application.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Do Not Collect"}),e.jsx("p",{children:"StoneWright is designed with privacy as a priority. We do not collect, store, or transmit any personal information. There is no account creation. There is no cloud sync. There is no analytics tracking. Your compositions exist only on your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Local Storage Only"}),e.jsx("p",{children:"All data you create in StoneWright is stored locally on your device. We have no access to your compositions. If you delete the app, your data is permanently deleted. We cannot recover it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"If you make an in-app purchase, the transaction is processed entirely by Apple. We do not receive or store your payment information. We receive only a confirmation that a purchase was made."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Support Communications"}),e.jsx("p",{children:"If you contact us for support, we may retain your email address and correspondence to respond to your inquiry. We do not use this information for marketing purposes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Third-Party Services"}),e.jsx("p",{children:"StoneWright does not integrate with third-party analytics, advertising, or tracking services. We do not sell, trade, or share any user data because we do not collect any."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"StoneWright does not knowingly collect information from children under 13. Because we collect no personal data, there is no information to collect from users of any age."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"If we make material changes, we will update the effective date at the top of this page. Your continued use of StoneWright after changes are posted constitutes acceptance of the revised policy."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("p",{children:"Questions about this Privacy Policy? Contact us at:"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function PD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-stone-400 via-gray-500 to-slate-500 bg-clip-text text-transparent",children:"StoneWright"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["These Terms of Use govern your access to and use of StoneWright, a mobile application operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). By downloading, accessing, or using StoneWright, you agree to these terms.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance of Terms"}),e.jsx("p",{children:"By using StoneWright, you confirm that you are at least 13 years of age and agree to be bound by these Terms. If you do not agree, do not use the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"License"}),e.jsx("p",{children:"We grant you a limited, non-exclusive, non-transferable, revocable license to use StoneWright for personal, non-commercial purposes on devices you own or control, subject to these Terms and Apple's App Store Terms of Service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Content"}),e.jsx("p",{children:'StoneWright allows you to create digital compositions ("Your Content"). You retain all rights to Your Content. We do not claim ownership of anything you create. Your Content is stored locally on your device and is not transmitted to us.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptable Use"}),e.jsx("p",{children:"You agree not to: reverse engineer, decompile, or disassemble the App; use the App for any unlawful purpose; attempt to gain unauthorized access to any part of the App; remove or alter any proprietary notices or labels on the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"StoneWright may offer optional premium features available through in-app purchase. All purchases are processed by Apple and are subject to Apple's terms and policies. Purchases are non-refundable except as required by applicable law or Apple's policies. You may restore previously purchased premium features on the same Apple ID at no additional cost."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsxs("p",{children:["StoneWright, including its design, graphics, interface, and code, is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and protected by copyright, trademark, and other intellectual property laws. These Terms do not grant you any rights to our trademarks, logos, or branding."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimer of Warranties"}),e.jsx("p",{children:'StoneWright is provided "as is" and "as available" without warranties of any kind, either express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, and n
205on-infringement.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsxs("p",{children:["To the fullest extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising from your use of the App, including but not limited to loss of data, even if we have been advised of the possibility of such damages."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Loss"}),e.jsx("p",{children:"Because StoneWright stores data locally on your device, we cannot recover lost data. If you delete the app, your compositions will be permanently deleted. We recommend using the share or export feature to save important work to your Photos or other apps."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to Terms"}),e.jsx("p",{children:"We may update these Terms from time to time. Continued use of StoneWright after changes constitutes acceptance of the revised Terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Connecticut, without regard to conflict of law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("p",{children:["Questions about these Terms? Contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]})]})]})})]})}function MD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-stone-400 via-gray-500 to-slate-500 bg-clip-text text-transparent",children:"StoneWright"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})}),e.jsx("p",{children:"We typically respond within 1-2 business days."})]}),e.jsx("section",{className:"space-y-3",children:e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"FAQs"})}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"What is StoneWright?"}),e.jsx("p",{children:"StoneWright is a contemplative creative app for arranging stones and natural materials into balanced compositions. Choose a landscape, gather materials, create something beautiful, then capture or let it dissolve."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"How do I create a composition?"}),e.jsx("p",{children:"Select a landscape and begin placing materials. Drag stones and objects onto the canvas. Tap a placed material to select it, then rotate, resize, or reposition. Use the camera icon to save your composition."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"Where are my compositions saved?"}),e.jsx("p",{children:"Your compositions are saved locally on your device. They are not uploaded to any server. If you delete the app, your saved compositions will be deleted as well. We recommend using the share feature to save important compositions to your Photos."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"I lost my data. Can you recover it?"}),e.jsx("p",{children:"Unfortunately, no. Because data is stored locally on your device, we have no way to recover it. We recommend regularly saving or exporting compositions you want to keep."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"How do I restore my purchase?"}),e.jsx("p",{children:`If you've purchased premium features and need to restore them (for example, after reinstalling the app or switching devices), go to Settings and tap "Restore Purchase." Make sure you're signed into the same Apple ID you used for the original purchase.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"Can I get a refund?"}),e.jsxs("p",{children:["All purchases are processed by Apple. To request a refund, visit ",e.jsx("a",{href:"https://reportaproblem.apple.com",className:"text-primary hover:underline",children:"reportaproblem.apple.com"}
205)," and sign in with your Apple ID."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"The app isn't working correctly. What should I do?"}),e.jsx("p",{children:"Try closing and reopening the app. If the problem persists, try restarting your device. If you're still experiencing issues, please contact us with a description of the problem, your device model, and iOS version."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"I found a bug or have a suggestion."}),e.jsxs("p",{children:["Email ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with details. For bugs, include your device type, iOS version, and steps to reproduce."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Company Information"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-1",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsx("p",{className:"text-white/70",children:e.jsx("a",{href:"https://www.ultra-normal.com",className:"text-primary hover:underline",children:"www.ultra-normal.com"})})]})]})]})]})})]})}function UD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-amber-400 via-yellow-500 to-orange-500 bg-clip-text text-transparent",children:"PopsicleBridge"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})}),e.jsx("p",{children:"We typically respond within 1-2 business days."})]}),e.jsx("section",{className:"space-y-3",children:e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"FAQs"})}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"What is PopsicleBridge?"}),e.jsx("p",{children:"PopsicleBridge is a physics-based engineering game where you design and test popsicle stick bridges. Build a structure, test it under load, watch it fail, learn why, and iterate. It's the classic STEM project... perfected."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"How do I build a bridge?"}),e.jsx("p",{children:'Select a stick size from the bottom panel and tap to place it on the canvas. Drag endpoints to position sticks. Tap near a node (joint) to glue sticks together. Use rotate buttons to adjust angles. When ready, tap "Test Bridge" to apply weight and see how your design performs.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"Why did my bridge fail?"}),e.jsx("p",{children:"After each test, PopsicleBridge explains what went wrong... structural instability, weak joints, excessive stress... and offers suggestions for improvement. Every structure needs triangles to be rigid."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"Where are my bridges saved?"}),e.jsx("p",{children:"Your bridge designs are saved locally on your device. They are not uploaded to any server. If you delete the app, your saved bridges will be deleted as well."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"I lost my data. Can you recover it?"}),e.jsx("p",{children:"Unfortunately, no. Because data is stored locally on your device, we have no way to recover it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"How do I restore my purchase?"}),e.jsx("p",{children:`If you've purchased premium features and need to restore them (for example, after reinstalling the app or switching devices), go to Settings and tap "Restore Purchase." Make sure you're signed into the same Apple ID you used for the original purchase.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"Can I get a refund?"}),e.jsxs("p",{children:["All purchases are processed by Apple. To request a refund, visit ",e.jsx("a",{href:"https://reportaproblem.apple.com",className:"text-primary hover:underline",children:"reportaproblem.apple.com"}
205)," and sign in with your Apple ID."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"The app isn't working correctly. What should I do?"}),e.jsx("p",{children:"Try closing and reopening the app. If the problem persists, try restarting your device. If you're still experiencing issues, please contact us with a description of the problem, your device model, and iOS version."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h4",{className:"text-lg font-medium text-white/90",children:"I found a bug or have a suggestion."}),e.jsxs("p",{children:["Email ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with details. For bugs, include your device type, iOS version, and steps to reproduce."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Company Information"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-1",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"}),e.jsx("p",{className:"text-white/70",children:e.jsx("a",{href:"https://www.ultra-normal.com",className:"text-primary hover:underline",children:"www.ultra-normal.com"})})]})]})]})]})})]})}function ID(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-amber-400 via-yellow-500 to-orange-500 bg-clip-text text-transparent",children:"PopsicleBridge"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["These Terms of Use govern your access to and use of PopsicleBridge, a mobile application operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). By downloading, accessing, or using PopsicleBridge, you agree to these terms.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance of Terms"}),e.jsx("p",{children:"By using PopsicleBridge, you confirm that you are at least 13 years of age and agree to be bound by these Terms. If you do not agree, do not use the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"License"}),e.jsx("p",{children:"We grant you a limited, non-exclusive, non-transferable, revocable license to use PopsicleBridge for personal, non-commercial purposes on devices you own or c
205ontrol, subject to these Terms and Apple's App Store Terms of Service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Content"}),e.jsx("p",{children:'PopsicleBridge allows you to create digital bridge designs ("Your Content"). You retain all rights to Your Content. We do not claim ownership of anything you create. Your Content is stored locally on your device and is not transmitted to us.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptable Use"}),e.jsx("p",{children:"You agree not to: reverse engineer, decompile, or disassemble the App; use the App for any unlawful purpose; attempt to gain unauthorized access to any part of the App; remove or alter any proprietary notices or labels on the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"PopsicleBridge may offer optional premium features available through in-app purchase. All purchases are processed by Apple and are subject to Apple's terms and policies. Purchases are non-refundable except as required by applicable law or Apple's policies. You may restore previously purchased premium features on the same Apple ID at no additional cost."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsxs("p",{children:["PopsicleBridge, including its design, graphics, interface, and code, is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and protected by copyright, trademark, and other intellectual property laws. These Terms do not grant you any rights to our trademarks, logos, or branding."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimer of Warranties"}),e.jsx("p",{children:'PopsicleBridge is provided "as is" and "as available" without warranties of any kind, either express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, and non-infringement.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsxs("p",{children:["To the fullest extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising from your use of the App, including but not limited to loss of data, even if we have been advised of the possibility of such damages."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Loss"}),e.jsx("p",{children:"Because PopsicleBridge stores data locally on your device, we cannot recover lost data. If you delete the app, your bridge designs will be permanently deleted. We recommend using the share or export feature to save important work."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to Terms"}),e.jsx("p",{children:"We may update these Terms from time to time. Continued use of PopsicleBridge after changes constitutes acceptance of the revised Terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Connecticut, without regard to conflict of law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("p",{children:["Questions about these Terms? Contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]})]})]})})]})}function BD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-amber-400 via-yellow-500 to-orange-500 bg-clip-text text-transparent",children:"PopsicleBridge"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["PopsicleBridge is operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). This Privacy Policy explains how we handle information when you use the PopsicleBridge application.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Do Not Collect"}),e.jsx("p",{children:"PopsicleBridge is designed with privacy as a priority. We do not collect, store, or transmit any personal information. There is no account creation. There is no cloud sync. There is no analytics tracking. Your bridge designs exist only on your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Local Storage Only"}),e.jsx("p",{children:"All data you create in PopsicleBridge is stored locally on your device. We have no access to your designs. If you delete the app, your data is permanently deleted. We cannot recover it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"If you make an in-app purchase, the transaction is processed entirely by Apple. We do not receive or store your payment information. We receive only a confirmation that a purchase was made."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Support Communications"}),e.jsx("p",{children:"If you contact us for support, we may retain your email address and correspondence to respond to your inquiry. We do not use this information for marketing purposes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Third-Party Services"}),e.jsx("p",{children:"PopsicleBridge does not integrate with third-party analytics, advertising, or tracking services. We do not sell, trade, or share any user data because we do not collect any."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"PopsicleBridge does not knowingly collect information from children under 13. Because we collect no personal data, there is no information to collect from users of any age."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"If we make material changes, we will update the effective date at the top of this page. Your continued use of PopsicleBridge after changes are posted constitutes acceptance of the revised policy."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("p",{children:"Questions about this Privacy Policy? Contact us at:"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function zD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-cyan-400 via-blue-500 to-indigo-500 bg-clip-text text-transparent",children:"Curling Chaos"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 25, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our") developed Curling Chaos. This Privacy Policy explains how we handle information when you use the app.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Information We Collect"}),e.jsx("p",{children:"Curling Chaos does not collect, store, or transmit any personal information. We do not require account creation, login, or any user-provided data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Gameplay Data"}),e.jsx("p",{children:"All gameplay data (scores, session counts, settings) is stored locally on your device and is not transmitted to us or any third party."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Purchases"}),e.jsx("p",{children:"In-app purchases are processed by Apple. We do not receive or store payment information. See Apple's privacy policy for details on how they handle transactions."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Analytics and Tracking"}),e.jsx("p",{children:"Curling Chaos does not include analytics SDKs or tracking tools. We do not collect usage data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Children's Privacy"}),e.jsx("p",{children:"Curling Chaos does not knowingly collect information from children under 13. The app contains no user-generated content, social features, or data collection mechanisms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Third-Party Services"}),e.jsx("p",{children:"The app does not integrate with third-party services that collect user data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Changes to This Policy"}),e.jsx("p",{children:"We may update this policy from time to time. Changes will be posted on this page with an updated effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Contact"}),e.jsxs("p",{children:["For questions about this privacy policy, contact us at: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}function VD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-cyan-400 via-blue-500 to-indigo-500 bg-clip-text text-transparent",children:"Curling Chaos"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ft,{className:"w-5 h-5 text-primary"}),e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(hn,{className:"w-5 h-5 text-white/50"}),e.jsx("span",{className:"text-white/70",children:"We respond to support requests within 48 hours."})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Common Questions"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I restore my Pro purchase?"}),e.jsx("p",{className:"text-white/70",children:'Open the App Store, tap your profile icon, select "Purchases," find Curling Chaos, and tap to restore. Your Pro upgrade will be restored automatically.'})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Why is my session count not resetting?"}),e.jsx("p",{className:"text-white/70",children:"Free sessions reset at local midnight on your device. Check that your device's date and time settings are correct."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How does sweeping work?"}),e.jsx("p",{className:"text-white/70",children:"Sweeping uses finger motion, not taps. Scrub side-to-side to speed the stone up, front-to-back to slow it down, and diagonally to nudge it left or right. The game tracks direction and intensity."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"What is Leaf Blower mode?"}),e.jsx("p",{className:"text-white/70",children:"A Pro-only feature. Tap behind your stone to blast it with air. One tap helps. Repeated tapping creates chaos. Use wisely."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"The app crashed or won't load. What do I do?"}),e.jsx("p",{className:"text-white/70",children:"Try closing and reopening the app. If the problem persists, restart your device. If issues continue, contact us with your device model and iOS version."})]})]})]})]})]})})]})}function _D(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-cyan-400 via-blue-500 to-indigo-500 bg-clip-text text-transparent",children:"Curling Chaos"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: January 25, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("p",{children:["These Terms of Use govern your use of Curling Chaos, a mobile application developed and operated by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}),' LLC ("we," "us," or "our"). By downloading, installing, or using the app, you agree to these terms.']}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Description of Service"}),e.jsx("p",{children:"Curling Chaos is a single-player physics game for iOS. The app offers free gameplay (limited to 2 sessions per day) and a one-time Pro upgrade for unlimited play and additional features."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Acceptable Use"}),e.jsx("p",{children:"You agree to use Curling Chaos for personal, non-commercial entertainment. You may not reverse-engineer, modify, or redistribute the app or its contents."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Purchases"}),e.jsx("p",{children:"The Pro upgrade is a one-time in-app purchase processed through Apple. All sales are final. Refund requests must be directed to Apple in accordance with their refund policies."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Intellectual Property"}),e.jsxs("p",{children:["All content in Curling Chaos—including graphics, audio, and game mechanics—is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC and protected by copyright. You may not reproduce or distribute any part of the app without written permission."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Disclaimer of Warranties"}),e.jsx("p",{children:'Curling Chaos is provided "as is" without warranties of any kind. We do not guarantee uninterrupted or error-free operation.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Limitation of Liability"}),e.jsxs("p",{children:["To the fullest extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is not liable for any damages arising from your use of the app."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. 
205Changes to Terms"}),e.jsx("p",{children:"We may update these terms at any time. Continued use of the app after changes constitutes acceptance of the revised terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Contact"}),e.jsxs("p",{children:["For questions about these terms, contact us at: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}function WD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-orange-400 via-amber-500 to-yellow-500 bg-clip-text text-transparent",children:"Trail Torment"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: February 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Overview"}),e.jsx("p",{children:"Trail Torment is designed to respect user privacy. We collect minimal information, do not track user behavior, and do not sell or share personal data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Collect"}),e.jsx("h4",{className:"text-base font-semibold text-white/80",children:"Data Stored on Your Device"}),e.jsx("p",{children:"The App stores the following information locally on your device only:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 ml-2",children:[e.jsx("li",{children:"Challenge completions and scenario decisions"}),e.jsx("li",{children:"Saved trails and bookmarked locations"}),e.jsx("li",{children:"User preferences and app settings"}),e.jsx("li",{children:"Play history and progress"})]}),e.jsxs("p",{children:["This data is not transmitted to ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC servers or any third party."]}),e.jsx("h4",{className:"text-base font-semibold text-white/80 mt-4",children:"Purchases (If Offered in Future)"}),e.jsx("p",{children:"If and when in-app purchases are offered, they will be processed by Apple via the App Store. We receive confirmation of purchase status only. We do not receive payment details, credit card information, or Apple ID data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Data We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 ml-2",children:[e.jsx("li",{children:"Personal identifiers (name, email, address, phone number)"}),e.jsx("li",{children:"Location data or GPS coordinates"}),e.jsx("li",{children:"Contact lists or calendar information"}),e.jsx("li",{children:"Behavioral tracking data"}),e.jsx("li",{children:"Advertising identifiers"}),e.jsx("li",{children:"Crash logs or diagnostic data tied to user identity"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Analytics"}),e.jsx("p",{children:"The App does not use third-party analytics, tracking services, or crash reporting tied to user identity."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Data Retention"}),e.jsx("p",{children:"All locally stored data remains on your device until you delete the App, reset your device, or manually clear app data through your device settings."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Children's Privacy"}),e.jsx("p",{children:"Trail Torment is not directed to children under the age of 13, and we do not knowingly collect personal information from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Endorsements and Partnerships (If Offered)"}),e.jsxs("p",{children:["If ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"}
205)," LLC enters partnerships with outdoor organizations, brands, or services, any promotional content will be clearly marked as such. Partnerships will not involve collection or sharing of your personal data without your explicit consent."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Third-Party Links"}),e.jsx("p",{children:"Trail Torment may link to external websites, hiking databases, or trail information services. We are not responsible for the privacy practices of third-party sites. We encourage you to review their privacy policies."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Security"}),e.jsx("p",{children:"We employ reasonable measures to protect information stored locally on your device. However, no system is 100% secure. You are responsible for maintaining the security of your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at the URL above with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"11. Contact"}),e.jsxs("p",{children:["If you have questions about this Privacy Policy, contact: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}function HD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-orange-400 via-amber-500 to-yellow-500 bg-clip-text text-transparent",children:"Trail Torment"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: February 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using the Trail Torment mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the App"}),e.jsx("p",{children:"Trail Torment is an interactive hiking and trail-based decision-making application that combines real-world navigation with scenario-based challenges. The App is provided for entertainment and recreational purposes only. It is not a substitute for proper maps, GPS devices, or navigation tools when hiking."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You are solely responsible for your own safety when hiking or visiting outdoor locations. You agree not to misuse, disrupt, damage, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Outdoor Safety Disclaimer"}),e.jsx("p",{children:"Trail Torment is a recreational aid only. Do not rely solely on this App for navigation in unfamiliar terrain. Always carry proper maps, a physical compass, and inform others of your hiking plans. Weather, trail conditions, and personal fitness vary. The App cannot account for all variables affecting your safety in the field."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Intellectual Property"}),e.jsxs("p",{children:["All content included in the App, including text, design, graphics, scenarios, photography, video, and software, is owned by ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC or its licensors and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Future Monetization and Partnerships"}),e.jsxs("p",{children:["Trail Torment is currently offered free with no ads or tracking. ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC may, in the future, introduce paid features, optional in-app purchases, subscription options, or partnerships with outdoor brands, organizations, or services. Any such changes will be communicated clearly and will not affect your ability to use the core app functionality at no cost. Future purchases, if offered, will be processed by Apple through the App Store and are subject to Apple's terms and conditions."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Disclaimer"}),e.jsxs("p",{children:['The App is provided "as is" and "as available." ',e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC makes no warranties, express or implied, regarding the accuracy, completeness, or reliability of content, trail conditions, location data, or scenario outcomes. Use of the App is at your own risk. ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is not responsible for injuries, property damage, or other losses incurred while hiking or using trail information."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Limitation of Liability"}),e.jsxs("p",{children:["To the maximum extent permitted by law, ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC shall not be liable for any indirect, incidental, consequential, or punitive damages arising from your use of the App, including but not limited to personal injury, property damage, or lost profits."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Termination"}),e.jsxs("p",{children:[e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC may discontinue or modify the App at any time without notice. The
205se Terms remain in effect even if you stop using the App."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Governing Law"}),e.jsxs("p",{children:["These Terms are governed by the laws of the United States and the state in which ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/80",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC is registered, without regard to conflict-of-law principles."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"11. Contact"}),e.jsxs("p",{children:["For questions regarding these Terms, contact: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})})]})}function YD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-orange-400 via-amber-500 to-yellow-500 bg-clip-text text-transparent",children:"Trail Torment"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Support & Contact Information"}),e.jsx("p",{children:"If you need help with Trail Torment, please contact:"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ft,{className:"w-5 h-5 text-primary"}),e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(hn,{className:"w-5 h-5 text-white/50"}),e.jsx("span",{className:"text-white/70",children:"We typically respond within 24-48 hours during standard business hours."})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"General Questions"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Is Trail Torment a navigation app?"}),e.jsx("p",{className:"text-white/70",children:"No. Trail Torment is an interactive decision-based game that combines hiking and scenario challenges. It supplements but does not replace proper navigation tools. Always carry maps and a compass for backcountry hiking."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Do you collect my location or personal data?"}),e.jsx("p",{className:"text-white/70",children:"No. All data is stored locally on your device. We do not track location, collect personal information, or use analytics services."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Can I sync my progress between devices?"}),e.jsx("p",{className:"text-white/70",children:"Currently, progress is stored locally on each device. Syncing across devices is not available at this time."})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Technical Issues"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"The app crashes when I open it."}),e.jsx("p",{className:"text-white/70 mb-2",children:"Try these steps:"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-white/70 ml-2",children:[e.jsx("li",{children:"Close the app completely"}),e.jsx("li",{children:"Restart your device"}),e.jsx("li",{children:"Delete and reinstall the app from the App Store"}),e.jsx("li",{children:"If the issue persists, email support with your device model and iOS version"})]})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"The app is using too much storage."}),e.jsxs("p",{className:"text-white/70",children:["Trail Torment stores challenge history and saved data locally. You can manage app storage by going to Settings ",">"," General ",">"," iPhone Storage ",">",' Trail Torment and selecting "Offload App" to remove the app while preserving data, or "Delete App" to remove it completely.']})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"I'm having GPS or map display issues."}),e.jsx("p",{className:"text-white/70 mb-2",children:"If map features are not loading:"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-1 text-white/70 ml-2",children:[e.jsxs("li",{children:["Ensure location permissions are enabled in Settings ",">"," Privacy ",">"," Location Services"]}),e.jsx("li",{children:"Check that you have an active internet connection (maps require data)"}),e.jsx("li",{children:"Try closing and reopening the app"}),e.jsx("li",{children:"Restart your device"})]})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Purchases and Refunds"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I request a refund for an in-app purchase?"}),e.jsx("p",{className:"text-white/70",children:'Contact Apple Support directly through the App Store. Open the App Store, go to your account, select Purchase History, find Trail Torment, and tap "Report a Problem." Apple handles all refund requests and timelines.'})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Can I use my purchase on multiple devices?"}),e.jsx("p",{className:"text-white/70",children:"If purchases are offered, they are tied to your Ap
205ple ID and can be re-downloaded on any device where you're logged in with the same Apple ID."})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data and Privacy"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How do I delete all my app data?"}),e.jsxs("p",{className:"text-white/70",children:["Your data is stored locally on your device. To remove it, go to Settings ",">"," General ",">"," iPhone Storage ",">",' Trail Torment and select "Delete App." This removes both the app and all associated data.']})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Can I export my challenge history?"}),e.jsx("p",{className:"text-white/70",children:"Currently, data export is not available. Your data is yours and remains on your device."})]})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Still Need Help?"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsxs("p",{className:"text-white/70 mb-3",children:["If you don't find an answer here, or if you're experiencing an issue not listed above, email ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70 ml-2",children:[e.jsx("li",{children:"Your device model and iOS version"}),e.jsx("li",{children:"A clear description of the issue"}),e.jsx("li",{children:"Steps you've already tried"}),e.jsx("li",{children:"Screenshots if relevant"})]}),e.jsx("p",{className:"text-white/70 mt-3",children:"For issues related to purchases, billing, or account problems, please contact Apple Support directly through the App Store, as Apple manages all payment processing and account settings."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App Information"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 space-y-2",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(IA,{className:"w-5 h-5 text-white/50"}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"text-white/90 font-semibold",children:"App Name:"})," Trail Torment"]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"text-white/90 font-semibold",children:"Developer:"})," ",e.jsx("span",{className:"bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent font-semibold",children:"Ultra"}),e.jsx("span",{className:"text-white/70",children:"-"}),e.jsx("span",{className:"bg-gradient-to-r from-cyan-400 via-blue-500 to-purple-500 bg-clip-text text-transparent font-semibold",children:"Normal"})," LLC"]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("span",{className:"text-white/90 font-semibold",children:"Platform:"})," iOS"]})]})]})})]})]})]})})]})}function qD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-8 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"QuoteCrush"}),e.jsxs("div",{className:"space-y-8 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Support & Contact Information"}),e.jsx("p",{children:"If you need help with QuoteCrush, please contact:"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})}),e.jsx("p",{className:"text-white/60 mt-3",children:"We typically respond within a reasonable timeframe during standard business hours."})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Common Questions"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Push Notifications Not Working?"}),e.jsx("p",{className:"text-white/70",children:"Check that you've enabled notifications in your device settings (Sett
205ings > QuoteCrush > Notifications). Verify your scheduled time is set correctly within the App."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How Do I Bookmark Quotes?"}),e.jsx("p",{className:"text-white/70",children:"Tap the bookmark icon on any quote to save it to your personal collection."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"How Are the Quotes Selected?"}),e.jsx("p",{className:"text-white/70",children:"QuoteCrush draws from verified literary collections, primarily from public domain texts and author-authorized sources."})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"What If I Find an Inaccurate Attribution?"}),e.jsxs("p",{className:"text-white/70",children:["Contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with the quote and source. We verify all quotes against primary texts and correct errors promptly."]})]}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h4",{className:"font-semibold text-white/90 mb-2",children:"Book Purchase & Refunds"}),e.jsx("p",{className:"text-white/70",children:"For questions about purchases through Bookshop.org, contact Bookshop.org directly. We do not process book purchases or refunds."})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App Information"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("ul",{className:"space-y-1 text-white/70",children:[e.jsx("li",{children:"App Name: QuoteCrush"}),e.jsx("li",{children:"Developer: Ultra-Normal LLC"}),e.jsx("li",{children:"Platform: iOS"})]})})]})]})]})})]})}function GD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"QuoteCrush"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: March 2, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using the QuoteCrush mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the App"}),e.jsx("p",{children:"QuoteCrush provides daily literary quotes from authors across centuries and genres for personal reflection and enjoyment. The App is provided for informational and educational purposes only."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Intellectual Property"}),e.jsx("p",{children:"All content included in the App, including text, design, graphics, and software, is owned by Ultra-Normal LLC or its licensors and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Bookshop.org Integration"}),e.jsx("p",{children:"QuoteCrush includes links to books available through Bookshop.org. Ultra-Normal LLC may receive affiliate compensation when you purchase through these links. This does not affect your purchase price. You are subject to Bookshop.org's terms and conditions for any purchases you make through their platform."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Push Notifications"}),e.jsx("p",{children:"You control when and how often you receive push notifications through your device settings. Notifications are scheduled and delivered locally on your device. You may disable notifications at any time through the App or your device settings."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Disclaimer"}),e.jsx("p",{children:'The App is provided "as is" and "as available." Ultra-Normal LLC makes no warranties, express or implied, regarding the accuracy, completeness, or reliability of the quotes or content.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Limitation of Liability"}),e.jsx("p",{children:"To the maximum extent permitted by law, Ultra-Normal LLC shall not be liable for any indirect, incidental, consequential, or punitive damages arising from your use of the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Termination"}),e.jsx("p",{children:"Ultra-Normal LLC may discontinue or modify the App at any time without notice. The
205se Terms remain in effect even if you stop using the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the United States and the state in which Ultra-Normal LLC is registered, without regard to conflict-of-law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"11. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For questions regarding these Terms, contact:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function FD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-green-400 via-emerald-500 to-teal-500 bg-clip-text text-transparent",children:"QuoteCrush"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: March 2, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Overview"}),e.jsx("p",{children:"QuoteCrush is designed to respect user privacy. We collect minimal information and do not sell or share personal data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Collect"}),e.jsx("h4",{className:"text-lg font-medium text-white/80",children:"Data Stored on Your Device"}),e.jsx("p",{children:"The App stores the following information locally on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Daily quote history and bookmarks"}),e.jsx("li",{children:"App preferences and settings"}),e.jsx("li",{children:"Notification schedule preferences"})]}),e.jsx("p",{className:"mt-2",children:"This data is not transmitted to Ultra-Normal LLC servers."}),e.jsx("h4",{className:"text-lg font-medium text-white/80 mt-4",children:"Affiliate Links"}),e.jsx("p",{children:"When you click a link to Bookshop.org, standard web traffic data may be collected by Bookshop.org and their analytics partners in accordance with their privacy policy. Ultra-Normal LLC does not receive your personal information through these clicks."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Data We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Personal identifiers (name, email, address)"}),e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Contact lists"}),e.jsx("li",{children:"Behavioral tracking data"}),e.jsx("li",{children:"Advertising identifiers"}),e.jsx("li",{children:"Device identifiers"}),e.jsx("li",{children:"Push notification engagement data"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Analytics"}),e.jsx("p",{children:"The App does not use third-party analytics or tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Notifications"}),e.jsx("p",{children:"Push notifications are scheduled and delivered locally on your device. No notification data is sent to our servers or third parties."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Data Retention"}),e.jsx("p",{children:"All locally stored data remains on your device until you delete the App or reset your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. 
205Children's Privacy"}),e.jsx("p",{children:"QuoteCrush is not directed to children under the age of 13, and we do not knowingly collect personal information from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at the URL above with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"If you have questions about this Privacy Policy, contact:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]})]})]})})]})}function QD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-400 via-purple-500 to-fuchsia-500 bg-clip-text text-transparent",children:"Unseeing"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: March 15, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"The Short Version"}),e.jsx("p",{children:"Unseeing does not collect, store, or transmit any personal data. Everything stays on your device. We have no servers, no accounts, no analytics, and no way to see what you do in the App. That's by design."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Do Not Collect"}),e.jsx("p",{children:"Unseeing does not collect device identifiers, location data, usage analytics, browsing history, advertising data, biometric data, or any other personal information. The App does not use cookies, tracking pixels, third-party analytics services, or advertising networks."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Stored on Your Device"}),e.jsx("p",{children:"The App stores your game progress, preferences, and purchase status locally on your device using standard browser storage (localStorage). This data never leaves your device. It is not transmitted to Ultra-Normal LLC or any third party. If you delete the App, this data is permanently erased."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"If you purchase Unseeing Pro, the transaction is processed entirely by Apple through the App Store. Ultra-Normal LLC does not process payments and does not have access to your payment information, Apple ID, or any financial data. Apple's privacy policy governs the purchase transaction."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Push Notifications"}),e.jsx("p",{children:"If you enable daily reminders in the App's settings, notifications are scheduled locally on your device. No notification data is sent to any server. You can disable notifications at any time in the App's settings or in your device's system settings."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Third-Party Links"}),e.jsx("p",{children:"The App's About page contains links to external websites (Bookshop.org, ultra-normal.com). These sites have their own privacy policies. Ultra-Normal LLC is not responsible for the privacy practices of external sites."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"Unseeing does not knowingly collect information from children under 13. Since the App collects no personal information from any user, this policy applies equally to users of all ages."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"Ultra-Normal LLC reserves the right to update this Privacy Policy. Changes will be posted at this URL. Continued use of the App after changes constitutes acceptance."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["For questions about this Privacy Policy, contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})})]})]})]})})]})}function XD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-400 via-purple-500 to-fuchsia-500 bg-clip-text text-transparent",children:"Unseeing"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: March 15, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using the Unseeing mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the App"}),e.jsx("p",{children:"Unseeing is a daily optical illusion game that presents interactive visual puzzles based on perceptual science. The App is provided for entertainment and educational purposes. It does not provide professional, medical, or psychological advice."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Intellectual Property"}),e.jsx("p",{children:"All original content included in the App, including text, design, graphics, and software, is owned by Ultra-Normal LLC or its licensors and is protected by applicable intellectual property laws. Certain illusion images are adapted from Wikimedia Commons contributors under Creative Commons licenses; individual attributions are provided within the App. You may not copy, modify, distribute, or create derivative works of original App content without prior written permission."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Purchases"}),e.jsx("p",{children:`Unseeing may offer a one-time in-app purchase ("Unseeing Pro"). All purchases are processed by Apple through the App Store and are subject to Apple's terms and conditions. Ultra-Normal LLC does not process payments directly and does not have access to your payment information. All sales are final. Refund requests must be directed to Apple.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Photosensitivity Warning"}),e.jsx("p",{children:"Some illusions in the App involve flickering, high-contrast, or motion-inducing patterns. If you have photosensitive epilepsy or are sensitive to flashing or high-contrast visual stimuli, use the App with caution or consult a medical professional before use."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Disclaimers"}),e.jsx("p",{children:'The App is provided "as is" without warranties of any kind, either express or implied. Ultra-Normal LLC does not warrant that the App will be error-free, uninterrupted, or free from harmful components.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Limitation of Liability"}),e.jsx("p",{children:"To the fullest extent permitted by law, Ultra-Normal LLC shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising from your use of the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Changes to These Terms"}),e.jsx("p",{children:"Ultra-Normal LLC reserves the right to modify these Terms at any time. Continued use of the App after changes constitutes acceptance of the revised Terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Governing Law"}),e.jsx("p",{children:"These Terms shall be governed by and construed in accordance with the laws of the State of Connecticut, without regard to conflict of law provisions."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"11. Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["For questions about these Terms, contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})})]})]})]})})]})}function KD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-400 via-purple-500 to-fuchsia-500 bg-clip-text text-transparent",children:"Unseeing"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("p",{children:["For questions, bug reports, or feedback, email us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]}),e.jsx("section",{className:"space-y-3",children:e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Frequently Asked Questions"})}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How does the daily illusion work?"}),e.jsx("p",{children:"Every day at midnight, a new illusion becomes available. All users see the same illusion on the same day. You can replay today's illusion as many times as you want."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"I purchased Unseeing Pro but my library is still locked."}),e.jsx("p",{children:`Try tapping "Restore Purchases" in the Settings page. This will re-verify your purchase with the App Store. If the issue persists, make sure you're signed into the same Apple ID you used for the purchase, then try restoring again.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Can I get a refund?"}),e.jsxs("p",{children:["All purchases are processed by Apple. To request a refund, visit ",e.jsx("a",{href:"https://reportaproblem.apple.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"reportaproblem.apple.com"})," or contact Apple Support directly."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Is my data private?"}),e.jsxs("p",{children:["Yes. Unseeing stores all data locally on your device. We have no servers, no accounts, and no way to access your data. If you delete the App, your data is permanently erased. See our ",e.jsx(L,{href:"/unseeing-privacy",children:e.jsx("a",{className:"text-primary hover:underline",children:"Privacy Policy"})})," for details."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"I have a photosensitive condition. Is the App safe?"}),e.jsx("p",{children:"Some illusions involve high-contrast patterns, flickering, or motion-inducing stimuli. If you have photosensitive epilepsy or are sensitive to these types of visual content, please consult a medical professional before using the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How do I turn off notifications?"}),e.jsx("p",{children:`Open the App, tap the gear icon on the home screen, and toggle "Daily Reminder" off. You can also disable notifications in your device's Settings under Notifications.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"I found an error in an illusion or its explanation."}),e.jsxs("p",{children:["We take accuracy seriously. Please email ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with the illusion name and what you believe is incorrect. We'll investigate and correct it."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Who made this?"}),e.jsxs("p",{children:["Unseeing is built by Justin Neuman at ",e.jsx("a",{href:"https://ultra-normal.com",className:"text-primary hover:underline",children:"Ultra-Normal LLC"}),". We make contemplative games... apps that occupy the space between productivity tools and entertainment."]})]})]})]})})]})}function ZD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Stranger Stories"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: April 5, 2026 | Last Updated: April 5, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:'Ultra-Normal LLC ("we," "us," "our") operates Stranger Stories ("the App"). This Privacy Policy explains what information we collect, how we use it, and your choices regarding that information. We built this App with privacy as a core design principle. We collect the minimum information necessary to make the App function.'}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Information We Collect"}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Device Identifier."})," When you first open the App, a random unique identifier (UUID) is generated and stored locally on your device. This identifier is not linked to your name, email address, phone number, Apple ID, or any other personally identifying information. It is used solely to associate your contributions with your device so the App can manage turn-taking, story participation, and your personal story library."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"User Content."})," The sentences and stories you submit through the App are transmitted to and stored on our servers. User Content is associated with your device identifier but not with any personally identifying information. User Content submitted to Chain mode stories or completed stories may be displayed in the App's public library and may be visible to other users."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"User Preferences."})," Your in-app settings (such as sentence visibility preference) are stored on our servers and associated with your device identifier."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Usage Data."})," We may collect basic, anonymous usage data such as: which Worlds are most frequently selected; average story length; number of active stories. This data is aggregated and anonymous. We do not track individual user behavior, navigation patterns, session duration, or engagement metrics."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Do Not Collect"}),e.jsx("p",{children:"We do not collect: your name, email address, phone number, or physical address; your Apple ID or any account credentials; your location, GPS coordinates, or IP address (beyond what is transiently processed by our server infrastructure); contacts, photos, camera data, microphone data, or any other device data; advertising identifiers (IDFA) or any data used for ad targeting; browsing history, search history, or app usage history outside of the App; biometric data of any kind."}),e.jsx("p",{children:"We do not use cookies, tracking pixels, analytics SDKs, or any third-party tracking technology within the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. How We Use Information"}),e.jsx("p",{children:"We use the information we collect to: operate the App, including matching users, managing story participation, and displaying content; maintain your personal story library and preferences; moderate content and enforce our Terms of Use; display completed stories in the App's public library; improve the App based on aggregated, anonymous usage patterns."}
205),e.jsx("p",{children:"We may also use User Content as described in our Terms of Use, including for curating and publishing collections of stories, licensing aggregated story data for research or educational purposes, and marketing the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. How We Share Information"}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"With Other Users."})," When you submit a sentence to a story, that sentence is visible to your story partner (Paired mode), to subsequent contributors and followers (Chain mode), and potentially to all users via the public library once a story is completed. Your device identifier is never shared with other users. Your contributions are anonymous."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"With Service Providers."})," We use Cloudflare for hosting and content delivery. Cloudflare may process server requests in the ordinary course of providing infrastructure services. We do not share your device identifier or User Content with any other third-party service providers."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"For Legal Reasons."})," We may disclose information if required by law, legal process, or governmental request, or if we believe in good faith that disclosure is necessary to protect our rights, your safety, or the safety of others, investigate fraud, or respond to a government request."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Business Transfers."})," In the event of a merger, acquisition, reorganization, bankruptcy, or sale of assets, your information may be transferred as part of that transaction. We will notify users of any such change by updating this Privacy Policy."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"We do not sell your information."})," We do not share your information with advertisers. We do not use your information for ad targeting, profiling, or any form of behavioral advertising."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Data Storage and Security"}),e.jsx("p",{children:"User Content and device identifiers are stored on servers operated by Cloudflare. We employ reasonable technical and organizational measures to protect the information we store. However, no method of electronic storage or transmission is 100% secure, and we cannot guarantee absolute security."}),e.jsx("p",{children:"Stories are stored on our servers for as long as the App operates. Ephemeral stories that are not saved by any participant are automatically deleted 48 hours after completion. Saved stories and stories in the public library are retained indefinitely."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Data Retention and Deletion"}),e.jsx("p",{children:"Because the App uses anonymous device identifiers rather than accounts, we have limited ability to identify or locate all data associated with a specific individual. If you wish to delete your data, you may: delete individual saved stories from your library within the App; uninstall the App, which removes your local device identifier."}),e.jsxs("p",{children:["Sentences you contributed to collaborative stories may persist in those stories even after you uninstall the App, as they are part of a collaborative work involving other participants. If you wish to request deletion of specific content, contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with as much detail as possible about the content you wish to have removed."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Children's Privacy"}),e.jsxs("p",{children:["The App is not directed to children under 16 years of age. We do not knowingly collect information from children under 16. If we become aware that we have collected information from a child under 16, we will take steps to delete that information promptly. If you believe a child under 16 has used the App, please contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Your Rights"}),e.jsxs("p",{children:["Depending on your jurisdiction, you may have certain rights regarding your information, including the right to access, correct, delete, or port your data, or to object to or restrict certain processing. Because the App collects minimal information and does not link data to i
205dentifiable individuals, some of these rights may be difficult to exercise in practice. We will make reasonable efforts to accommodate valid requests. Contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," to exercise any applicable rights."]}),e.jsx("p",{children:"For California residents: We do not sell personal information as defined by the California Consumer Privacy Act (CCPA). We do not use personal information for cross-context behavioral advertising."}),e.jsx("p",{children:"For residents of the European Economic Area, United Kingdom, or Switzerland: The legal basis for processing your device identifier and User Content is our legitimate interest in operating the App. You may contact us to exercise your rights under the General Data Protection Regulation (GDPR)."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Changes to This Policy"}),e.jsx("p",{children:'We may update this Privacy Policy from time to time. Updated versions will be posted at this URL with a revised "Last Updated" date. Your continued use of the App after changes are posted constitutes acceptance of the revised policy. We encourage you to review this policy periodically.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For questions, concerns, or requests regarding this Privacy Policy, contact us at:"}),e.jsx("p",{className:"text-white/70",children:"Ultra-Normal LLC"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70",children:"New Haven, Connecticut"})]})]})]})]})})]})}function $D(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Stranger Stories"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: April 5, 2026 | Last Updated: April 5, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:'These Terms of Use ("Terms") govern your access to and use of Stranger Stories, a mobile application and related services ("the App") operated by Ultra-Normal LLC, a Connecticut limited liability company ("we," "us," "our"). By downloading, accessing, or using the App, you agree to be bound by these Terms. If you do not agree, do not use the App.'}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Eligibility"}),e.jsx("p",{children:"You must be at least 16 years of age to use the App. By using the App, you represent and warrant that you are at least 16 years old. We do not knowingly collect information from or direct the App to individuals under 16."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of Service"}),e.jsx("p",{children:"Stranger Stories is a collaborative storytelling platform that pairs anonymous users to create fiction one sentence at a time. The App offers two modes of use: Paired (two users trading sentences) and Chain (a story passed sequentially through multiple users). All stories are created entirely by users. We do not use artificial intelligence to generate, edit, or modify user-created content."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. User Accounts"}),e.jsx("p",{children:"The App generates an anonymous device identifier upon first use. You do not create an account, provide a name, email address, or any personally identifying information. Your device identifier is the sole means by which the App associates your activity with your device. If you delete and reinstall the App, your previous device identifier and associated stories may be lost."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. User Content"}),e.jsx("p",{children:'"User Content" means any text, sentences, stories, or other material you submit, post, or transmit through the App.'}),e.jsx("p",{children:"You retain ownership of the individual sentences you write. However, by submitting User Content through the App, you grant Ultra-Normal LLC a perpetual, irrevocable, worldwide, royalty-free, fully sublicensable, transferable license to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, perform, display, and otherwise exploit your User Content, in whole or in part, in any form, media, or technology now known or later developed, for any purpose, including but not limited to: operating and improving the App; displaying stories to other users; curating and publishing collections of stories (in-app, on the web, or in print); marketing and promoting the App; licensing aggregated story data for research, educational, or creative purposes."}),e.jsx("p",{children:"This license survives termination of your use of the App. You understand that collaborative stories created through the App are the product of multiple contributors, and that the nature of the App makes individual attribution impractical in most contexts. You waive any right to require individual attribution, credit, or compensation for your contributions to collaborative stories."}),e.jsx("p",{children:"You represent and warrant that you have all rights necessary to grant this license and that your User Content does not infringe, misappropriate, or violate the rights of any third party."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Acceptable Use"}),e.jsx("p",{children:"You agree not to use the App to: submit c
205ontent that is illegal, threatening, harassing, defamatory, obscene, or otherwise objectionable beyond the scope of mature creative fiction; submit content that exploits, harms, or targets minors in any way; submit content that constitutes or facilitates spam, phishing, or commercial solicitation; attempt to identify, contact, or solicit personal information from other users; include personally identifiable information (names, phone numbers, addresses, social media handles) in stories; interfere with or disrupt the App's infrastructure, security, or other users' experience; use automated tools, bots, or scripts to interact with the App."}),e.jsx("p",{children:"Violation of these terms may result in immediate suspension or permanent ban of your device identifier, removal of your content, and any other action we deem appropriate."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Content Moderation"}),e.jsx("p",{children:"We employ automated content filtering and user-driven reporting mechanisms. We reserve the right, but have no obligation, to monitor, review, edit, or remove any User Content at our sole discretion, for any reason, without notice. We may, but are not required to, investigate reported content and take action including content removal, story closure, or user bans."}),e.jsx("p",{children:"The App is intended for users aged 16 and older and permits mature creative content. Content moderation is focused on preventing abuse, harassment, illegal activity, and content that targets minors, not on restricting the creative range of adult fiction."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Intellectual Property"}),e.jsx("p",{children:"The App, including its design, code, graphics, interface, logos, seed lines, World descriptions, and all other non-user-generated content, is owned by Ultra-Normal LLC and protected by copyright, trademark, and other intellectual property laws. You may not copy, modify, distribute, or create derivative works based on any part of the App except your own User Content as permitted by these Terms."}),e.jsx("p",{children:'"Stranger Stories," the Stranger Stories logo, and all World names are trademarks of Ultra-Normal LLC. You may not use these marks without our prior written consent.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Third-Party Content and Links"}),e.jsx("p",{children:"User Content is created by third-party users, not by Ultra-Normal LLC. We do not endorse, guarantee, or assume responsibility for any User Content. Your interactions with other users through the App are at your own risk."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Disclaimers"}),e.jsx("p",{children:'THE APP IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. WE DO NOT WARRANT THAT THE APP WILL BE UNINTERRUPTED, SECURE, ERROR-FREE, OR THAT ANY CONTENT WILL BE ACCURATE, RELIABLE, OR COMPLETE.'}),e.jsx("p",{children:"WE MAKE NO WARRANTY REGARDING THE QUALITY, ACCURACY, TIMELINESS, TRUTHFULNESS, COMPLETENESS, OR RELIABILITY OF ANY USER CONTENT."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Limitation of Liability"}),e.jsx("p",{children:"TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ULTRA-NORMAL LLC, ITS OFFICERS, DIRECTORS, MEMBERS, EMPLOYEES, OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY DAMAGES, INCLUDING BUT NOT LIMITED TO DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA, OR OTHER INTANGIBLE LOSSES, ARISING OUT OF OR IN CONNECTION WITH YOUR USE OF OR INABILITY TO USE THE APP, REGARDLESS OF THE THEORY OF LIABILITY."}),e.jsx("p",{children:"OUR TOTAL AGGREGATE LIABILITY TO YOU FOR ALL CLAIMS ARISING OUT OF OR RELATING TO THESE TERMS OR YOUR USE OF THE APP SHALL NOT EXCEED THE AMOUNT YOU HAVE PAID US IN THE TWELVE (12) MONTHS PRECEDING THE CLAIM, OR FIFTY DOLLARS ($50.00), WHICHEVER IS GREATER."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"11. Indemnification"}),e.jsx("p",{children:"You agree to indemnify, defend, and hold harmless Ultra-Normal LLC and its officers, directors, members, employees, and agents from and against any and all claims, liabilities, damages, losses, costs, and expenses (including reasonable attorneys' fees) arising out of or in connection with: your use of the App; your User Content; your violation of these Terms; your violation of any rights of any third party."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"12. Termination"}),e.jsx("p",{children:"We may suspend or terminate your access to the App at any time, for any reason, without notice. Upon termination, all licenses granted to you under these Terms will immediately cease. Sections 4 (User Content license), 9 (Disclaimers), 10 (Limitation of Liability), 11 (Indemnification), and 14 (Governing Law) shall survive termination."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"13. Changes to Terms"}),e.jsx("p",{children:'We may modify these Terms at any time. Updated Terms will be posted at this URL with a revised "
205Last Updated" date. Your continued use of the App after changes are posted constitutes acceptance of the revised Terms. We encourage you to review these Terms periodically.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"14. Governing Law and Dispute Resolution"}),e.jsx("p",{children:"These Terms shall be governed by and construed in accordance with the laws of the State of Connecticut, without regard to conflict of law principles. Any dispute arising out of or relating to these Terms or the App shall be resolved exclusively in the state or federal courts located in New Haven County, Connecticut. You consent to the personal jurisdiction of such courts."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"15. Severability"}),e.jsx("p",{children:"If any provision of these Terms is found to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary, and the remaining provisions shall remain in full force and effect."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"16. Entire Agreement"}),e.jsx("p",{children:"These Terms, together with our Privacy Policy, constitute the entire agreement between you and Ultra-Normal LLC regarding the App and supersede all prior agreements and understandings."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"17. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For questions about these Terms, contact us at:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["Ultra-Normal LLC",e.jsx("br",{}),"New Haven, Connecticut"]})]})]})]})]})})]})}function JD(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-amber-400 via-orange-500 to-rose-500 bg-clip-text text-transparent",children:"Stranger Stories"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Have a question, found a bug, or need to report something? We're here."}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How the App Works"}),e.jsx("p",{children:"Stranger Stories pairs anonymous users to write collaborative stories one sentence at a time. You choose a World, write a sentence, and pass it to a stranger. You never know who your collaborator is. When the story is complete, both of you see the full text for the first time."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Paired Mode"}),e.jsx("p",{children:"Two strangers trade sentences back and forth on one story. Either player can end the story at any time. On completion, both players see the full story revealed."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Chain Mode"}),e.jsx("p",{children:"A story passes forward through a crowd of strangers. Each person adds one sentence and sends it to a new random contributor. Anyone who contributed can follow the story as it grows. After three contributors vote to end it, the chain closes and the complete story enters the public library."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Visibility"}),e.jsx("p",{children:"When it's your turn to write, you see only the last 1, 2, or 3 sentences (you choose in Settings). Everything before is hidden until the story is complete. This is inspired by Exquisite Corpse, the Surrealist drawing game where artists created on a folded paper without seeing what came before."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Saving Stories"}),e.jsx("p",{children:"Completed stories disappear after 48 hours unless you save them to your personal library. Saved stories are kept indefinitely."})]}),e.jsx("section",{className:"space-y-3",children:e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Frequently Asked Questions"})}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Can I see who I'm writing with?"}),e.jsx("p",{children:"No. All users are anonymous. There are no profiles, usernames, or any way to identify your collaborator. The story is the only artifact that exists between you."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"What happens if someone writes something offensive?"}),e.jsx("p",{children:'The App includes automated content filtering that blocks obvious abuse. If something gets through, you can tap "The End" to close the story and report it. We review reported content and take action including content removal and user bans.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Can I delete a sentence I wrote?"}),e.jsx("p",{children:"No. Once a sentence is submitted, it becomes part of a collaborative story that other users are building on. Deleting a sentence from the middle of a story would break the narrative for everyone involved. If you submitted something by mistake, you can end the story or contact us for help."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"I started a story but no one has joined. What do I do?"}),e.jsx("p",{children:"Wait. The App matches you with another user who chooses the same World. Depending on how many people are active, this can take minutes, hours, or occasionally longer. You'll receive a notification when a stranger joins or adds to your story. In the meantime, start another story in a different World or try joining an existing one."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"What's the difference between Worlds?"}),e.jsx("p",{children:`Worlds set the tone and genre for your story. Choosing "The Harrowing" signals you want to write something dark and suspenseful. Choosing "Fever Dream" signals you want surreal, logic-free experimentation. The World is a genre contract between you and your stranger... it's how y
205ou agree on what kind of story to tell without ever speaking to each other.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Is there AI in this app?"}),e.jsx("p",{children:"No. Every sentence is written by a human being. We do not use AI to generate, suggest, edit, or modify story content. The seed lines that start each World were written by the developers. Everything after that is you and your stranger."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"I deleted the app and lost my stories. Can I get them back?"}),e.jsx("p",{children:"Unfortunately, no. Your story library is linked to a device identifier that is generated when you first install the App. If you delete and reinstall, a new identifier is created and your previous library cannot be recovered. Saved stories exist on our servers but cannot be re-linked to a new device identifier."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Is the app really free?"}),e.jsx("p",{children:"The core experience is free. A one-time Pro upgrade unlocks all 22 Worlds, unlimited saved stories, and Chain mode. There are no ads, no subscriptions, and no hidden costs."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Reporting Content"}),e.jsxs("p",{children:['If you encounter content that is abusive, illegal, harassing, or that targets minors, please report it immediately using the "The End + Report" button within the story. You can also email us directly at ',e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with a description of the content and any details that might help us locate it."]}),e.jsx("p",{children:"We take all reports seriously and review them promptly. Users who violate our Terms of Use are permanently banned."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Bug Reports"}),e.jsxs("p",{children:["Found something broken? Please email us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with a description of the problem, what you were doing when it happened, and your device type (iPhone model, iOS version). Screenshots help."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Us"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70",children:"We typically respond within 48 hours."}),e.jsxs("p",{className:"text-white/70",children:["Ultra-Normal LLC",e.jsx("br",{}),"New Haven, Connecticut"]})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/strangerstories-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx(L,{href:"/strangerstories-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})]})]})]})})]})}function eR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"Year / Tree"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: April 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Introduction"}),e.jsx("p",{children:'Year / Tree ("the App") is developed and published by Ultra-Normal LLC. We respect your privacy and are committed to protecting any information associated with your use of the App. This Privacy Policy explains what data the App collects, how it is used, and your rights regarding that data.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsx("p",{children:"Year / Tree does not collect, store, or transmit any personal information. All gameplay data—including your tree, your choices, and your progress—is stored locally on your device. We do not use analytics frameworks, advertising SDKs, or tracking technologies of any kind."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Local Storage"}),e.jsx("p",{children:"All data generated through your use of the App remains on your device. We have no access to it. If you delete the App, your data is permanently removed."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"Year / Tree offers an optional one-time Pro upgrade ($4.99) processed entirely through the Apple App Store. Ultra-Normal LLC does not receive, process, or store any payment or billing information. All purchase inquiries, refunds, and billing disputes are handled by Apple."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Third-Party Services"}),e.jsx("p",{children:"Year / Tree does not integrate with any third-party analytics, advertising, or data collection services. The only third-party involvement is Apple's App Store for distribution and in-app purchase processing."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"Year / Tree does not collect personal information from any user, including children under 13. Because no data is collected or transmitted, the App complies with the Children's Online Privacy Protection Act (COPPA) and similar regulations."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Changes will be posted at this URL. Continued use of the App after changes constitutes acceptance of the revised policy."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["For privacy inquiries, contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]}),e.jsxs("p",{className:"text-white/70",children:["For support, contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/yeartree-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Service"})})," · ",e.jsx(L,{href:"/yeartree-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function tR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"Year / Tree"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: April 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using the Year / Tree mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Description of the App"}),e.jsx("p",{children:"Year / Tree is a contemplative bonsai game for iOS. You tend one tree across deep time—pruning, repositioning the light, or simply passing—one action per year. There is no score, no timer, and no leaderboard. The App is provided for personal enjoyment and creative expression."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsx("p",{children:"All content included in the App—including visual design, animations, code, and gameplay mechanics—is owned by Ultra-Normal LLC and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"In-App Purchases"}),e.jsx("p",{children:"Year / Tree offers an optional one-time Pro upgrade ($4.99) that unlocks additional features. This purchase is non-refundable and processed through the Apple App Store. For billing inquiries or refund requests, contact Apple directly."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimer of Warranties"}),e.jsx("p",{children:'Year / Tree is provided "as is" and "as available" without warranty of any kind, express or implied. Ultra-Normal LLC does not warrant that the App will be uninterrupted, error-free, or free of harmful components.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsx("p",{children:"To the fullest extent permitted by law, Ultra-Normal LLC shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising from your use of the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Termination"}),e.jsx("p",{children:"We reserve the right to terminate or restrict access to the App at any time, without notice, for conduct that we believe violates these Terms or is harmful to other users or Ultra-Normal LLC."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law"}),e.jsx("p",{children:"These Terms shall be governed by and construed in accordance with the laws of the State of Connecticut, without regard to conflict of law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to These Terms"}),e.jsx("p",{children:"We may update these Terms from time to time. Changes will be posted at this URL. Continued use of the App after changes constitutes acceptance of the revised terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["For legal inquiries, contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/yeartree-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/yeartree-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function sR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-emerald-400 via-teal-500 to-cyan-500 bg-clip-text text-transparent",children:"Year / Tree"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Year / Tree is a contemplative bonsai game for iOS. One tree. One action per year—prune, reposition the light, or simply pass. No score. No timer. No leaderboard. Just the slow, quiet satisfaction of shaping something alive across deep time."}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("section",{className:"space-y-3",children:e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Frequently Asked Questions"})}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How do I restore my tree if I delete the app?"}),e.jsx("p",{children:"Year / Tree stores all data locally on your device. If you delete the App, your tree and progress are permanently removed. There is no cloud backup or sync feature."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How does the Pro upgrade work?"}),e.jsx("p",{children:"The Pro upgrade ($4.99, one-time) unlocks unlimited year advancement per session. It is a non-consumable in-app purchase through the Apple App Store. You will not be charged again."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How do I restore my Pro purchase on a new device?"}),e.jsx("p",{children:'Open Year / Tree on your new device. Go to the Pro section and tap "Restore Purchases." Your purchase is tied to your Apple ID and can be restored at no additional cost.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"I was charged but Pro features aren't unlocking."}),e.jsxs("p",{children:[`Try closing and reopening the App. If the issue persists, tap "Restore Purchases." If that doesn't resolve it, contact `,e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with your Apple receipt."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How do I request a refund?"}),e.jsxs("p",{children:["All purchases are processed through Apple. To request a refund, visit ",e.jsx("a",{href:"https://reportaproblem.apple.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"reportaproblem.apple.com"})," and follow Apple's instructions."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"The app crashed or isn't working properly."}),e.jsxs("p",{children:["Please ensure you are running the latest version of iOS. If the problem persists, contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," with your device model, iOS version, and a description of the issue."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:["For support, contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/yeartree-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/yeartree-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Service"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function aR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-sky-300 via-cyan-400 to-blue-500 bg-clip-text text-transparent",children:"BreathCube"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: May 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:'BreathCube (the "Service") is a product of Ultra-Normal LLC ("Ultra-Normal," "we," "us," or "our"). BreathCube is designed to collect as little information as physically possible. This Privacy Policy explains what that means in practice and what choices you have.'}),e.jsxs("section",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-white/90 mb-2",children:"The Short Version"}),e.jsx("p",{children:"BreathCube does not collect personal information. It does not require an account. It does not track you. It contains no advertising. It contains no analytics. It works entirely on your device and functions in airplane mode. We have no way to identify you, contact you, or know that you use the app unless you choose to contact us directly."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"From the app itself: none."})," BreathCube does not transmit any information from your device to our servers or to any third party. All app settings (such as your preferred breath pattern, phase durations, session length, and voice cue preference) are stored locally on your device using on-device storage mechanisms. We do not receive, access, or store this information."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"If you contact us:"})," If you send us an email at [email protected], [email protected], or any other Ultra-Normal address, we receive your email address and the contents of your message. We use this information solely to respond to you."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"From the App Store:"})," Apple may share aggregated, anonymous information about app downloads with us through App Store Connect (for example, total number of downloads in a region). This information is provided by Apple, not by your device, and does not identify you."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How We Use Information"}),e.jsx("p",{children:"We use information only for the purposes for which it was provided. If you email us, we use your message to respond to you. We do not use any information for advertising, profiling, or training artificial intelligence models. We do not sell information. We do not share information with third parties for marketing purposes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How We Share Information"}),e.jsx("p",{children:"We do not share information about you because we do not have information about you. If you contact us, we may share your message with:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Legal and safety:"})," Authorities, if disclosure is required by law, regulation, legal process, or governmental request, or if we believe disclosure is necessary to protect rights, property, or safety."]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Business transfers:"})," A successor entity if Ultra-Normal LLC is involved in a merger, acquisition, financing, reorganization, bankruptcy, or sale of company assets."]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Storage and Security"}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"On your device:"})," Your settings are stored locally on your device using standard iOS storage mechanisms. Because this information is stored locally, we cannot access it and cannot recover it if you delete the app, reset your device, or clear local storage."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"On our servers:"})," We do not store any user data on our servers, because we do not collect any user data. If you email us, your message is stored in our email provider's systems under their security and retention policies."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Security:"})," No method of storage or transmission is completely secure, and we cannot guarantee absolute security of any communication you send us. The strongest privacy protection in BreathCube is structural
205: we don't have your data because we never collected it."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Retention"}),e.jsx("p",{children:"We have nothing to retain. If you email us, we retain correspondence for as long as reasonably necessary to respond to your inquiry and to maintain operational records, typically not exceeding three years unless required for legal or accounting purposes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Choices and Rights"}),e.jsxs("p",{children:["Because we do not collect personal information, there is generally nothing for you to access, correct, or delete. You can delete all locally stored BreathCube data at any time by deleting the app from your device. If you have contacted us and wish to request access to or deletion of your correspondence, contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]}),e.jsxs("p",{children:["Residents of certain jurisdictions (including California, the European Union, and the United Kingdom) may have additional rights under applicable law. To exercise these rights, contact ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsxs("p",{children:["BreathCube is rated 9+ in the App Store and is suitable for general audiences. We do not knowingly collect personal information from anyone, including children under 13. If you believe a child has provided personal information to us through correspondence, contact us at ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})," and we will take appropriate action."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"International Users"}),e.jsx("p",{children:"Ultra-Normal LLC is based in the United States. The Service is operated from the United States. If you access the Service from outside the United States, any correspondence you send us may be processed and stored in the United States."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:'We may update this Privacy Policy from time to time. We will post the updated Policy and revise the "Last Updated" date above. Material changes will be reflected in the updated Policy text. Your continued use of the Service after an update constitutes acceptance of the revised Policy.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For privacy questions or requests:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70",children:"Mailing address: Ultra-Normal LLC, New Haven, Connecticut, USA"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/breathcube-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx(L,{href:"/breathcube-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function iR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-sky-300 via-cyan-400 to-blue-500 bg-clip-text text-transparent",children:"BreathCube"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Last Updated: May 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsx("p",{children:'These Terms of Use (the "Terms") govern your access to and use of BreathCube (the "Service"), operated by Ultra-Normal LLC ("Ultra-Normal," "we," "us," or "our"). By downloading, installing, or using BreathCube, you agree to these Terms and to the Privacy Policy. If you do not agree, do not use the Service.'}),e.jsxs("section",{className:"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4 space-y-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-amber-200",children:"BreathCube Is Not Medical Advice"}),e.jsx("p",{className:"text-white/80",children:e.jsx("strong",{children:"Read this section carefully."})}),e.jsxs("p",{children:["BreathCube is a visual timer for breathing exercises. It is ",e.jsx("strong",{children:"not a medical device"}),". It is ",e.jsx("strong",{children:"not a therapeutic intervention"}),". It is ",e.jsx("strong",{children:"not intended to diagnose, treat, cure, mitigate, or prevent any disease, disorder, or health condition"}),", physical or mental."]}),e.jsx("p",{children:"The breathing patterns offered by BreathCube (including box breathing, 4-7-8, prime-interval interventions, and any other pattern) are general wellness concepts available from many sources. Their inclusion in BreathCube is for educational and visualization purposes only and does not constitute medical advice, professional guidance, or a recommendation that any particular pattern is appropriate for any particular person."}),e.jsxs("p",{children:[e.jsx("strong",{children:"Breathing exercises can carry real risks."})," Hyperventilation, breath retention, forceful exhalation, and altered breathing patterns can cause dizziness, fainting, lightheadedness, anxiety, panic, hypoxia, falls, and other adverse effects. Risks may be elevated for, but are not limited to, people who:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Are pregnant"}),e.jsx("li",{children:"Have respiratory conditions including asthma, COPD, or sleep apnea"}),e.jsx("li",{children:"Have cardiovascular conditions"}),e.jsx("li",{children:"Have a history of seizures, stroke, or aneurysm"}),e.jsx("li",{children:"Have low or high blood pressure"}),e.jsx("li",{children:"Have panic disorder, anxiety disorder, PTSD, or other mental health conditions"}),e.jsx("li",{children:"Are operating vehicles or machinery"}),e.jsx("li",{children:"Are in or near water"}),e.jsx("li",{children:"Are at any height or in any position from which a fall could cause injury"})]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Do not use BreathCube while driving, swimming, or in any situation where loss of consciousness could result in harm."})," Use BreathCube only when seated or lying down in a safe environment."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Consult a qualified healthcare professional"})," before beginning any breathing practice, especially if you have any of the conditions listed above, are taking medication, or have any concerns about your physical or mental health. If you experience discomfort, dizziness, anxiety, or any other adverse effect while using BreathCube, ",e.jsx("strong",{children:"stop immediately"})," and seek medical attention if needed."]}),e.jsx("p",{children:"If you are in a mental health crisis or believe you may be in danger, contact emergency services or a qualified professional immediately. In the United States, you can reach the 988 Suicide and Crisis Lifeline by calling or texting 988."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Eligibility"}),e.jsx("p",{children:"BreathCube is rated 9+ in the App Store. You must have the capacity to enter into a binding contract under the laws of your jurisdiction in order to agree to these Terms. If you are a minor, you should use BreathCube only with parental awareness and supervision. Parents and guardians who allow minors to use BreathCube are responsible for the minor's use of the Service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Free of Charge"}),e.jsx("p",{children:"BreathCube is provided free of charge. There are no in-app purchases, subscriptions, premium tiers, or paywalls. We reserve the right to introduce paid features or to discontinue the Service in the future."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"License and Acceptable Use"}),e.jsx("p",{children:"Subject to these Terms, Ultra-Normal grants 
205you a limited, non-exclusive, non-transferable, revocable license to access and use BreathCube for your personal, non-commercial use."}),e.jsx("p",{children:"You agree not to:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Copy, reproduce, distribute, publicly display, sell, sublicense, or create derivative works from the Service or its content, except as permitted by law"}),e.jsx("li",{children:"Reverse engineer, decompile, or attempt to derive the source code of the Service, except where such restriction is prohibited by law"}),e.jsx("li",{children:"Use the Service in any manner that could damage, disable, overburden, or impair our systems"}),e.jsx("li",{children:"Use automated means to access, scrape, or interact with the Service"}),e.jsx("li",{children:"Use the Service for any unlawful purpose or in violation of these Terms"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"User Content"}),e.jsx("p",{children:"BreathCube does not have user-generated content features. You cannot create profiles, post, share, or transmit content through the app."}),e.jsx("p",{children:"If you choose to send us content (for example, by emailing support), you grant us a limited, non-exclusive license to use that content solely to respond to you, provide support, operate the Service, and comply with law. You represent that any content you send is your own or that you have the right to share it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsx("p",{children:"All content and materials made available through the Service, including the BreathCube name, the cube visualization, the app icon, the user interface, design elements, and underlying code, are owned by Ultra-Normal or licensed to Ultra-Normal and are protected by intellectual property laws."}),e.jsx("p",{children:"You may share the App Store link to BreathCube. Any other use of BreathCube branding, design, or content requires prior written permission."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimers"}),e.jsx("p",{children:'THE SERVICE IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS. TO THE MAXIMUM EXTENT PERMITTED BY LAW, ULTRA-NORMAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AN
205D ANY WARRANTIES ARISING FROM COURSE OF DEALING OR USAGE OF TRADE.'}),e.jsx("p",{children:"ULTRA-NORMAL MAKES NO WARRANTY THAT THE SERVICE WILL MEET YOUR REQUIREMENTS, BE AVAILABLE ON AN UNINTERRUPTED OR ERROR-FREE BASIS, OR BE ACCURATE, RELIABLE, OR FREE OF DEFECTS. ULTRA-NORMAL MAKES NO WARRANTY REGARDING ANY HEALTH, WELLNESS, OR THERAPEUTIC OUTCOMES FROM USE OF THE SERVICE."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsx("p",{children:"TO THE MAXIMUM EXTENT PERMITTED BY LAW, ULTRA-NORMAL, ITS MEMBERS, OFFICERS, EMPLOYEES, AGENTS, AND AFFILIATES WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR ANY LOSS OF PROFITS, REVENUES, DATA, GOODWILL, BUSINESS INTERRUPTION, PERSONAL INJURY, EMOTIONAL DISTRESS, OR OTHER INTANGIBLE LOSSES, ARISING OUT OF OR RELATED TO YOUR USE OF OR INABILITY TO USE THE SERVICE, WHETHER BASED ON WARRANTY, CONTRACT, TORT (INCLUDING NEGLIGENCE), STATUTE, OR ANY OTHER LEGAL THEORY, EVEN IF ULTRA-NORMAL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES."}),e.jsx("p",{children:"TO THE MAXIMUM EXTENT PERMITTED BY LAW, ULTRA-NORMAL'S TOTAL LIABILITY FOR ANY AND ALL CLAIMS ARISING OUT OF OR RELATED TO THE SERVICE OR THESE TERMS WILL NOT EXCEED FIFTY U.S. DOLLARS (US$50.00). BECAUSE BREATHCUBE IS PROVIDED FREE OF CHARGE, YOU ACKNOWLEDGE THAT THIS LIMITATION REFLECTS A REASONABLE ALLOCATION OF RISK."}),e.jsx("p",{children:"SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU. IN SUCH JURISDICTIONS, ULTRA-NORMAL'S LIABILITY IS LIMITED TO THE GREATEST EXTENT PERMITTED BY LAW."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Assumption of Risk"}),e.jsxs("p",{children:['You acknowledge that breathing exercises carry inherent risks as described in the "BreathCube Is Not Medical Advice" section above. ',e.jsx("strong",{children:"You expressly and voluntarily assume all risks associated with your use of BreathCube and any breathing practice you undertake in connection with it."})," You agree that you are solely responsible for evaluating whether BreathCube is appropriate for you and for the consequences of using it."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Indemnification"}),e.jsx("p",{children:"You agree to indemnify, defend, and hold harmless Ultra-Normal LLC and its members, officers, employees, agents, and affiliates from and against any and all claims, liabilities, damages, losses, costs, and expenses (including reasonable attorneys' fees) arising out of or related to: (a) your use of or interaction with the Service; (b) your violation of these Terms;
205 (c) your violation of any rights of a third party; or (d) any personal injury or property damage related to your use of the Service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Suspension and Termination"}),e.jsx("p",{children:"You may stop using BreathCube at any time by deleting the app from your device. Ultra-Normal may modify, suspend, or discontinue the Service, in whole or in part, at any time, with or without notice. We may also revoke your license to use the Service if we reasonably believe you have violated these Terms."}),e.jsx("p",{children:"Because settings are stored locally and not on our servers, deletion of the app deletes your data. We have no obligation to retain, restore, or transfer local data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to the Service or Terms"}),e.jsx("p",{children:'We may modify the Service or update these Terms at any time. We will post the updated Terms and revise the "Last Updated" date. Material changes will be reflected in the updated Terms text. Your continued use of the Service after an update constitutes acceptance of the revised Terms. If you do not agree to revised Terms, your sole remedy is to stop using the Service.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law and Venue"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Connecticut, USA, without regard to its conflict of law principles. You agree that any dispute, claim, or controversy arising out of or relating to these Terms or the Service will be brought exclusively in the state or federal courts located in New Haven County, Connecticut, and you consent to the personal jurisdiction of such courts."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Apple-Specific Terms"}),e.jsx("p",{children:"If you obtained BreathCube through the Apple App Store, the following additional terms apply:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"These Terms are between you and Ultra-Normal, not Apple. Apple is not responsible for the Service or its content."}),e.jsx("li",{children:"Apple has no obligation to provide maintenance or support for the Service."}),e.jsx("li",{children:"In the event of any failure of the Service to conform to any applicable warranty, you may notify Apple, and Apple will refund the purchase price (if any) of the Service to you. Beyond that, Apple has no other warranty obligation."}),e.jsx("li",{children:"Ultra-Normal, not Apple, is responsible for addressing any claims relating to the Service, including product liability, legal or regulatory claims, or claims that the Service fails to conform to legal requirements."}),e.jsx("li",{children:"Apple and its subsidiaries are third-party beneficiaries of these Terms and may enforce them against you."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Severability"}),e.jsx("p",{children:"If any provision of these Terms is found to be unenforceable or invalid, that provision will be limited or eliminated to the minimum extent necessary so that the remaining Terms otherwise remain in full force and effect."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"No Waiver"}),e.jsx("p",{children:"Ultra-Normal's failure to enforce any right or provision of these Terms will not be considered a waiver of that right or provision."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Entire Agreement"}),e.jsx("p",{children:"These Terms, together with the Privacy Policy, constitute the entire agreement between you and Ultra-Normal regarding the Service and supersede all prior agreements and understandings."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsx("p",{className:"text-white/70",children:"For questions about these Terms:"}),e.jsxs("p",{className:"text-white/70",children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70",children:"Mailing address: Ultra-Normal LLC, New Haven, Connecticut, USA"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/breathcube-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/breathcube-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function nR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Help & Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-sky-300 via-cyan-400 to-blue-500 bg-clip-text text-transparent",children:"BreathCube"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"BreathCube is a product of Ultra-Normal LLC. This page answers common questions and explains how to get help if something goes wrong."}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Getting Started"}),e.jsx("p",{children:"Open BreathCube. Tap Start. Follow the cube. That's it."}),e.jsx("p",{children:"The cube rotates through your breathing cycle—inhale, hold, exhale, hold. Each face displays the current instruction. The cube provides peripheral visual guidance, leaving you free to focus inward."}),e.jsx("p",{children:"No account is required. No registration. No login. The app works fully offline, including in airplane mode."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Settings"}),e.jsx("p",{children:"Tap the Settings button to customize:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Pattern:"})," Choose Box Breathing (4-4-4-4), 4-7-8, or BreathCube Original (with prime-interval interventions)"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Timing:"})," Adjust the duration of each phase"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Session:"})," Choose a session length from 30 seconds to 10 minutes, or set Continuous to run until you stop"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Voice cues:"})," Toggle spoken phase prompts on or off"]})]}),e.jsx("p",{children:"Settings are saved automatically to your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"What Are the Prime-Interval Interventions?"}),e.jsx("p",{children:"The BreathCube Original pattern includes two special phases that interrupt the standard cycle at prime-number intervals:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Explosive Exhale"})," replaces every 7th exhale. A short, forceful breath release."]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Long Hold"})," replaces the hold that follows every 17th inhale. An extended breath retention."]})]}),e.jsx("p",{children:"These interventions exist to prevent habituation during longer sessions. Prime intervals create unpredictable rhythm that keeps your attention engaged."}),e.jsx("p",{children:"You can turn these off by selecting a different pattern (Box Breathing or 4-7-8) in Settings."})]}),e.jsxs("section",{className:"space-y-3 bg-amber-500/10 border border-amber-500/30 rounded-lg p-4",children:[e.jsx("h3",{className:"text-xl font-semibold text-amber-200",children:"Is BreathCube a Medical Device or Therapy?"}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"No."})," BreathCube is a visual timer for breathing exercises. It is not a medical device, not a therapeutic intervention, and not a substitute for professional care. Please review the ",e.jsx(L,{href:"/breathcube-terms",children:e.jsx("a",{className:"text-primary hover:underline",children:"Terms of Use"})})," for important safety information."]}),e.jsx("p",{children:"If you have any respiratory, cardiovascular, neurological, or mental health condition, or if you are pregnant, consult a qualified healthcare professional before using BreathCube or beginning any breathing practice. Do not use BreathCube while driving, swimming, or in any situation where loss of consciousness could result in harm."}),e.jsxs("p",{children:["If you experience dizziness, lightheadedness, anxiety, or any other adverse effect, ",e.jsx("strong",{children:"stop immediately"})," and seek medical attention if needed."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Privacy and Data"}),e.jsx("p",{children:"BreathCube does not collect personal information. It does not track you. It does not require an account. It does not send any data anyw
205here. Your settings are stored locally on your device only."}),e.jsx("p",{children:"If you delete the app or reset your device, your settings are lost. There is no cloud backup because there is no cloud component. To preserve specific settings, write them down before reinstalling."}),e.jsxs("p",{children:["Full details are in the ",e.jsx(L,{href:"/breathcube-privacy",children:e.jsx("a",{className:"text-primary hover:underline",children:"Privacy Policy"})}),"."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Pricing and Refunds"}),e.jsx("p",{children:"BreathCube is free. There are no in-app purchases, subscriptions, or premium tiers."}),e.jsxs("p",{children:["Because BreathCube is free, there is nothing to refund. If you accidentally purchased something related to BreathCube (which should not be possible), refund requests for App Store purchases must be made directly through Apple, not through Ultra-Normal. Visit ",e.jsx("a",{href:"https://reportaproblem.apple.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:"reportaproblem.apple.com"})," to request an Apple-issued refund."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Technical Issues"}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"The cube isn't rotating smoothly."})," Try closing other apps to free up memory. Restart BreathCube. If the issue persists, restart your device."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"Voice cues aren't working."})," Confirm that voice cues are toggled on in Settings. Check that your device's silent switch is not on and that your media volume is up. Voice cues use your device's built-in text-to-speech, which requires the system to have a voice installed (it usually does by default)."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"The screen turns off during a session."})," BreathCube requests that the screen stay awake during active sessions. If your device's screen still turns off, check your device's auto-lock settings. Some battery-saving modes override app wake requests."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"The app crashes or won't open."})," Try restarting your device. If the problem persists, delete the app and reinstall from the App Store. Note that reinstalling will erase your saved settings."]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-white/90",children:"I deleted my settings by accident."})," Unfortunately, settings are stored locally and cannot be recovered. You will need to reconfigure them in Settings."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Reporting a Problem"}),e.jsx("p",{children:"When reporting a technical issue, please include:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Your device model (e.g., iPhone 15 Pro)"}),e.jsx("li",{children:"Your iOS version"}),e.jsx("li",{children:"A description of what you were trying to do"}),e.jsx("li",{children:"What happened instead"}),e.jsx("li",{children:"Whether you can reproduce the issue"}),e.jsx("li",{children:"Screenshots if available"})]}),e.jsxs("p",{children:["Send to ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Feature Requests"}),e.jsx("p",{children:"BreathCube is intentionally minimal. We follow MVD principles: Minimal Viable Design. Feature requests are welcome but may not be implemented if they conflict with the app's design philosophy."}),e.jsxs("p",{children:["Send suggestions to ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact Information"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2 space-y-2",children:[e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"General support:"})," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"Privacy questions or data requests:"})," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"Legal or terms questions:"})," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:[e.jsx("strong",{className:"text-white/90",children:"Press or partnership inquiries:"})," ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Response Times"}),e.jsx("p",{children:"Ultra-Normal is a small operation. Typical response times:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"One to three business days"})," for technical issues"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Three to five business days"})," for general inquiries"]}),e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:"Five to ten business days"})," for legal or privacy requests"]})]}),e.jsx("p",{children:"We read every message and respond as promptly as we can."})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/breathcube-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/breathcube-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function rR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-500 via-fuchsia-500 to-orange-400 bg-clip-text text-transparent",children:"VoidSpan"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Ultra-Normal LLC · Effective June 5, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Overview"}),e.jsx("p",{children:"VoidSpan is published by Ultra-Normal LLC, New Haven, Connecticut. The short version: VoidSpan collects nothing. No accounts, no tracking, no ads, no analytics."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Do Not Collect"}),e.jsx("p",{children:"VoidSpan does not collect, store, or transmit any personal information. There is no sign-up and no account. The app uses no analytics, advertising identifiers, cookies, or third-party tracking of any kind. We do not know who you are and we do not want to."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Information Stored on Your Device"}),e.jsx("p",{children:"Any preferences you set, such as muting sound, are stored locally on your device. This stays on your device, is never sent to us, and is removed when you delete the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Children's Privacy"}),e.jsx("p",{children:"VoidSpan collects no personal information from anyone, including children under 13, and complies with the Children's Online Privacy Protection Act (COPPA). It is suitable for all ages and contains no data collection, advertising, or external links during play."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Third Parties"}),e.jsx("p",{children:"VoidSpan shares no data with third parties because it collects none. The app is distributed through the Apple App Store, whose own practices are governed by Apple's privacy policy."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Security"}),e.jsx("p",{children:"Because VoidSpan collects and transmits no personal data, there is no personal data to expose. Preferences stored locally are protected by your device's own security."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Changes"}),e.jsx("p",{children:"We may update this policy if the app changes. Material changes will be posted here with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Questions about this policy: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),"."]}),e.jsx("p",{className:"text-white/70",children:"Ultra-Normal LLC, New Haven, Connecticut, USA."})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/voidspan-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx(L,{href:"/voidspan-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function oR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-500 via-fuchsia-500 to-orange-400 bg-clip-text text-transparent",children:"VoidSpan"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Ultra-Normal LLC · Effective June 5, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance"}),e.jsx("p",{children:"By downloading or using VoidSpan, you agree to these Terms. If you do not agree, do not use the app."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. The App"}),e.jsx("p",{children:"VoidSpan is a contemplative game provided free of charge by Ultra-Normal LLC, for personal, non-commercial enjoyment. There are no purchases, subscriptions, or in-app payments. It is offered as-is."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. License"}),e.jsx("p",{children:"Ultra-Normal LLC grants you a personal, non-exclusive, non-transferable, revocable license to use VoidSpan for your own enjoyment. You may not copy, modify, reverse-engineer, redistribute, or resell the app or its contents."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Intellectual Property"}),e.jsx("p",{children:"VoidSpan, including its design, artwork, characters, sound, and code, is the property of Ultra-Normal LLC and is protected by applicable intellectual property laws."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. No Warranty"}),e.jsx("p",{children:"VoidSpan is provided as-is and as-available, without warranties of any kind, express or implied, including fitness for a particular purpose. We do not warrant that the app will be uninterrupted or error-free."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Limitation of Liability"}),e.jsx("p",{children:"To the fullest extent permitted by law, Ultra-Normal LLC will not be liable for any indirect, incidental, or consequential damages arising from your use of, or inability to use, VoidSpan."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Apple"}),e.jsx("p",{children:"These Terms are between you and Ultra-Normal LLC, not Apple. Apple has no obligation to provide support or maintenance for VoidSpan. Apple is a third-party beneficiary of these Terms and may enforce them. Your use of the app must also comply with the Apple Media Services Terms and the standard Licensed Application End User License Agreement."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the State of Connecticut, USA, without regard to conflict-of-law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Changes"}),e.jsx("p",{children:"We may revise these Terms as the app evolves. Continued use after changes constitutes acceptance of the revised Terms."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:e.jsxs("p",{className:"text-white/70",children:[e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),". Ultra-Normal LLC, New Haven, Connecticut, USA."]})})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/voidspan-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/voidspan-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function lR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-violet-500 via-fuchsia-500 to-orange-400 bg-clip-text text-transparent",children:"VoidSpan"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"VoidSpan is a small contemplative game for Heroes of Daily Life. A Walker, a Void, and a faint light in the dark. No score, no rush."}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"How to Play"}),e.jsx("p",{children:"Touch the world to find a way across. There is always more than one. Some ways appear if you wait. There is no wrong move and nothing to lose."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Sound"}),e.jsx("p",{children:"VoidSpan has a quiet soundscape. Mute it from the mark on the title screen, or use your device's silent switch."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Accounts and Data"}),e.jsxs("p",{children:["There are none. VoidSpan needs no account and collects no information about you. See our ",e.jsx(L,{href:"/voidspan-privacy",children:e.jsx("a",{className:"text-primary hover:underline",children:"Privacy Policy"})}),"."]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Compatibility"}),e.jsx("p",{children:"VoidSpan runs on current versions of iOS. If something looks wrong, restarting the app or updating to the latest version usually resolves it."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Age Suitability"}),e.jsx("p",{children:"Suitable for all ages. No data collection, no advertising, no external content."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Questions, problems, or just want to say hello: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),". We read everything, even if a reply takes a few days."]}),e.jsx("p",{className:"text-white/70 mt-2",children:"Ultra-Normal LLC, New Haven, Connecticut, USA."})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/voidspan-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/voidspan-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function cR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-pink-500 via-fuchsia-500 to-violet-600 bg-clip-text text-transparent",children:"Color Harvest"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: June 22, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Overview"}),e.jsx("p",{children:"Color Harvest is designed to respect your privacy. The app collects no personal information, uses no tracking, and requires no account. There is nothing to sell or share, because we do not gather it in the first place."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Information We Collect"}),e.jsx("p",{children:"Color Harvest does not collect personal information. Any data the app uses is stored only on your device, and may include:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"App preferences and settings"}),e.jsx("li",{children:"Your progress within the game"}),e.jsx("li",{children:"Pro purchase status, if a paid version is offered"})]}),e.jsx("p",{children:"This information remains on your device and is not transmitted to Ultra-Normal LLC servers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. Data We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Personal identifiers (name, email, address)"}),e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Contact lists"}),e.jsx("li",{children:"Behavioral or usage tracking data"}),e.jsx("li",{children:"Advertising identifiers"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Analytics"}),e.jsx("p",{children:"The app does not use third-party analytics or tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Purchases"}),e.jsx("p",{children:`Color Harvest may offer a one-time in-app purchase ("Pro"). All purchases are processed by Apple through the App Store and are subject to Apple's terms and conditions. We receive confirmation of purchase status only. We do not receive payment details, credit card information, or Apple ID data.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Data Retention"}),e.jsx("p",{children:"All locally stored data remains on your device until you delete the app or reset your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. 
205Children's Privacy"}),e.jsx("p",{children:"Color Harvest is not directed to children under the age of 13, and we do not knowingly collect personal information from children. Because the app collects no personal information from any user, none is collected from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at this address with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Privacy questions: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsxs("p",{className:"text-white/70",children:["General inquiries: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-1",children:"Ultra-Normal LLC · New Haven, Connecticut"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/colorharvest-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx(L,{href:"/colorharvest-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function dR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-pink-500 via-fuchsia-500 to-violet-600 bg-clip-text text-transparent",children:"Color Harvest"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: June 22, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"1. Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using the Color Harvest mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"2. Description of the App"}),e.jsx("p",{children:"Color Harvest is a contemplative game in which players gather the colors of public-domain masterpieces onto a color wheel. The App is provided for personal enjoyment and educational interest. It does not provide professional, medical, legal, or psychological advice."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"3. User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"4. Intellectual Property"}),e.jsx("p",{children:"The App's software, design, original graphics, and original text are owned by Ultra-Normal LLC and are protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works from the App or its original content without prior written permission."}),e.jsx("p",{children:"The paintings depicted within the App are works in the public domain, used under their public-domain status. Ultra-Normal LLC claims no ownership of the underlying artworks themselves."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"5. Purchases"}),e.jsx("p",{children:`Color Harvest may offer a one-time in-app purchase ("Pro"). All purchases are processed by Apple through the App Store and are subject to Apple's terms and conditions. Ultra-Normal LLC does not process payments directly and does not have access to your payment information. Requests for refunds are handled by Apple through the App Store.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"6. Disclaimer"}),e.jsx("p",{children:'The App is provided "as is" and "as available." Ultra-Normal LLC makes no warranties, express or implied, regarding the accuracy, completeness, or reliability of the content. Use of the App is at your own risk.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"7. Limitation of Liability"}),e.jsx("p",{children:"To the maximum extent permitted by law, Ultra-Normal LLC shall not be liable for any indirect, incidental, consequential, or punitive damages arising from your use of the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"8. Termination"}),e.jsx("p",{children:"Ultra-Normal LLC may discontinue or modify the App at any time without notice. The
205se Terms remain in effect even if you stop using the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"9. Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the United States and the state in which Ultra-Normal LLC is registered, without regard to conflict-of-law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"10. Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["For questions regarding these Terms: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-1",children:"Ultra-Normal LLC · New Haven, Connecticut"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/colorharvest-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/colorharvest-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function hR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-pink-500 via-fuchsia-500 to-violet-600 bg-clip-text text-transparent",children:"Color Harvest"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed mt-4",children:[e.jsx("p",{children:"If you need help with Color Harvest, we are glad to assist."}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("a",{href:"mailto:[email protected]",className:"text-lg font-semibold text-primary hover:underline",children:"[email protected]"}),e.jsx("p",{className:"text-white/60 text-xs mt-2",children:"We typically respond within a reasonable timeframe during standard business hours. To help us help you, please include your device model and iOS version, and a short description of what happened."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"A few common questions"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-white/90",children:"How do I play?"}),e.jsx("p",{children:"Touch any color in the painting and pull it toward the palette. Each color finds its place on the color wheel, and the painting slowly fades as your palette fills."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-white/90",children:"Does it work offline?"}),e.jsx("p",{children:"Yes. Color Harvest is fully self-contained. Every painting ships inside the app, so no internet connection is needed to play."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-white/90",children:"How do I restore a purchase?"}),e.jsx("p",{children:"If a Pro version is offered and you have purchased it, you can restore it from within the app on a new device or after reinstalling, using the same Apple ID."})]})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App information"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"App Name: Color Harvest"}),e.jsx("li",{children:"Developer: Ultra-Normal LLC"}),e.jsx("li",{children:"Platform: iOS"})]}),e.jsx("p",{children:"For issues related to purchases, refunds, or billing, please contact Apple Support directly through the App Store."}),e.jsxs("p",{children:["For general inquiries: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/colorharvest-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/colorharvest-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function uR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-indigo-400 via-violet-500 to-orange-400 bg-clip-text text-transparent",children:"Slingshot Racer"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: July 1, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Overview"}),e.jsx("p",{children:"Slingshot Racer is designed to respect user privacy. We collect minimal information and do not sell or share personal data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsx("p",{className:"font-medium text-white/70",children:"Data Stored on Your Device"}),e.jsx("p",{children:"The App stores the following information locally on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Best times and mission records"}),e.jsx("li",{children:"Medals and badges earned"}),e.jsx("li",{children:"Ghost and replay data"}),e.jsx("li",{children:"App preferences and settings"}),e.jsx("li",{children:"Purchase status, if the App offers a purchase"})]}),e.jsx("p",{children:"This data is not transmitted to Ultra-Normal LLC servers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Purchases"}),e.jsx("p",{children:"Any in-app purchases are processed by Apple via the App Store. We receive confirmation of purchase status but do not receive payment details, credit card information, or Apple ID data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Personal identifiers (name, email, address)"}),e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Contact lists"}),e.jsx("li",{children:"Behavioral tracking data"}),e.jsx("li",{children:"Advertising identifiers"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Analytics"}),e.jsx("p",{children:"The App does not use third-party analytics or tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Retention"}),e.jsx("p",{children:"All locally stored data remains on your device until you delete the App or reset your device."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"Slingshot Racer is not directed to children under the age of 13, and we do not knowingly collect personal information from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at the URL above with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Privacy questions: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-1",children:"Ultra-Normal LLC · New Haven, Connecticut"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/slingshotracer-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx(L,{href:"/slingshotracer-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function mR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30}
205,animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-indigo-400 via-violet-500 to-orange-400 bg-clip-text text-transparent",children:"Slingshot Racer"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: July 1, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using the Slingshot Racer mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Description of the App"}),e.jsx("p",{children:"Slingshot Racer is a single-player arcade game in which the player launches a ship through simulated gravity to complete missions and set times. The App is provided for entertainment purposes. Its physics simulation is simplified for gameplay and is not intended as an engineering, navigational, or educational reference."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsx("p",{children:"All content included in the App, including text, design, graphics, and software, is owned by Ultra-Normal LLC or its licensors and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Purchases"}),e.jsx("p",{children:`Slingshot Racer may offer a one-time in-app purchase ("Pro"). All purchases are processed by Apple through the App Store and are subject to Apple's terms and conditions. Ultra-Normal LLC does not process payments directly and does not have access to your payment information.`})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimer"}),e.jsx("p",{children:'The App is provided "as is" and "as available." Ultra-Normal LLC makes no warranties, express or implied, regarding the accuracy, completeness, or reliability of the content. Use of the App is at your own risk.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsx("p",{children:"To the maximum extent permitted by law, Ultra-Normal LLC shall not be liable for any indirect, incidental, consequential, or punitive damages arising from your use of the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Termination"}),e.jsx("p",{children:"Ultra-Normal LLC may discontinue or modify the App at any time without notice. The
205se Terms remain in effect even if you stop using the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the United States and the state in which Ultra-Normal LLC is registered, without regard to conflict-of-law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["For questions regarding these Terms: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-1",children:"Ultra-Normal LLC · New Haven, Connecticut"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/slingshotracer-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/slingshotracer-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function pR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-indigo-400 via-violet-500 to-orange-400 bg-clip-text text-transparent",children:"Slingshot Racer"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed mt-4",children:[e.jsx("p",{children:"If you need help with Slingshot Racer, please contact:"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("a",{href:"mailto:[email protected]",className:"text-lg font-semibold text-primary hover:underline",children:"[email protected]"}),e.jsx("p",{className:"text-white/60 text-xs mt-2",children:"We typically respond within a reasonable timeframe during standard business hours."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App Information"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"App Name: Slingshot Racer"}),e.jsx("li",{children:"Developer: Ultra-Normal LLC"}),e.jsx("li",{children:"Platform: iOS"})]}),e.jsx("p",{children:"For issues related to purchases, refunds, or billing, please contact Apple Support directly through the App Store."})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/slingshotracer-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/slingshotracer-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function fR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Privacy Policy"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-yellow-400 via-amber-400 to-blue-500 bg-clip-text text-transparent",children:"The Great Duck Race"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: July 11, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Overview"}),e.jsx("p",{children:"The Great Duck Race is designed to respect user privacy. We collect minimal information and do not sell or share personal data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Collect"}),e.jsx("p",{className:"font-medium text-white/70",children:"Data Stored on Your Device"}),e.jsx("p",{children:"The App stores the following information locally on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Race records (courses played, ducks saved, best times)"}),e.jsx("li",{children:"App preferences and settings (sound, haptics, river speed)"}),e.jsx("li",{children:"Your adopted duck selection during a race"}),e.jsx("li",{children:"Purchase status, if the App ever offers a purchase"})]}),e.jsx("p",{children:"This data is not transmitted to Ultra-Normal LLC servers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Purchases"}),e.jsx("p",{children:"Any in-app purchases are processed by Apple via the App Store. We receive confirmation of purchase status but do not receive payment details, credit card information, or Apple ID data."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data We Do Not Collect"}),e.jsx("p",{children:"We do not collect:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Personal identifiers (name, email, address)"}),e.jsx("li",{children:"Location data"}),e.jsx("li",{children:"Contact lists"}),e.jsx("li",{children:"Behavioral tracking data"}),e.jsx("li",{children:"Advertising identifiers"})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Analytics"}),e.jsx("p",{children:"The App does not use third-party analytics or tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Retention"}),e.jsx("p",{children:"All locally stored data remains on your device until you delete the App or reset your device. The reset option in Settings clears saved records at any time."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"The Great Duck Race does not collect personal information from any user, including children. The App contains 
205no ads, no external links to social media, no chat features, and no in-app purchases at this time."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at the URL above with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["Privacy questions: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-1",children:"Ultra-Normal LLC · New Haven, Connecticut"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/greatduckrace-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx(L,{href:"/greatduckrace-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function xR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Terms of Use"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-yellow-400 via-amber-400 to-blue-500 bg-clip-text text-transparent",children:"The Great Duck Race"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: July 11, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Acceptance of Terms"}),e.jsx("p",{children:'By downloading, accessing, or using The Great Duck Race mobile application ("the App"), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Description of the App"}),e.jsx("p",{children:"The Great Duck Race is a single-player arcade game in which the player guides a flock of rubber ducks down a river course. The App is provided for entertainment purposes."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"User Responsibilities"}),e.jsx("p",{children:"You agree to use the App only for lawful purposes and in accordance with these Terms. You agree not to misuse, disrupt, or attempt to reverse engineer the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Intellectual Property"}),e.jsx("p",{children:"All content included in the App, including text, design, graphics, and software, is owned by Ultra-Normal LLC or its licensors and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Purchases"}),e.jsx("p",{children:"The Great Duck Race may offer a one-time in-app purchase in the future. Any purchases are processed by Apple through the App Store and are subject to Apple's terms and conditions. Ultra-Normal LLC does not process payments directly and does not have access to your payment information."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Disclaimer"}),e.jsx("p",{children:'The App is provided "as is" and "as available." Ultra-Normal LLC makes no warranties, express or implied, regarding the accuracy, completeness, or reliability of the content. Use of the App is at your own risk.'})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Limitation of Liability"}),e.jsx("p",{children:"To the maximum extent permitted by law, Ultra-Normal LLC shall not be liable for any indirect, incidental, consequential, or punitive damages arising from your use of the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Termination"}),e.jsx("p",{children:"Ultra-Normal LLC may discontinue or modify the App at any time without notice. The
205se Terms remain in effect even if you stop using the App."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Governing Law"}),e.jsx("p",{children:"These Terms are governed by the laws of the United States and the state in which Ultra-Normal LLC is registered, without regard to conflict-of-law principles."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4 mt-2",children:[e.jsxs("p",{className:"text-white/70",children:["For questions regarding these Terms: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/70 mt-1",children:"Ultra-Normal LLC · New Haven, Connecticut"})]})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/greatduckrace-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/greatduckrace-support",children:e.jsx("a",{className:"hover:underline",children:"Support"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function yR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsx(L,{href:"/legal",children:e.jsxs("a",{className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8","data-testid":"link-back-legal",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]})}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2",children:e.jsx("span",{className:"text-white/90",children:"Support"})}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-yellow-400 via-amber-400 to-blue-500 bg-clip-text text-transparent",children:"The Great Duck Race"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed mt-4",children:[e.jsx("p",{children:"If you need help with The Great Duck Race, please contact:"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsx("a",{href:"mailto:[email protected]",className:"text-lg font-semibold text-primary hover:underline",children:"[email protected]"}),e.jsx("p",{className:"text-white/60 text-xs mt-2",children:"We typically respond within a reasonable timeframe during standard business hours."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App Information"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"App Name: The Great Duck Race"}),e.jsx("li",{children:"Developer: Ultra-Normal LLC"}),e.jsx("li",{children:"Platform: iOS"})]}),e.jsx("p",{children:"For issues related to purchases, refunds, or billing, please contact Apple Support directly through the App Store."})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/greatduckrace-privacy",children:e.jsx("a",{className:"hover:underline",children:"Privacy Policy"})})," · ",e.jsx(L,{href:"/greatduckrace-terms",children:e.jsx("a",{className:"hover:underline",children:"Terms of Use"})})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function gR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsxs(L,{href:"/legal",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 text-white/90",children:"Privacy Policy"}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-stone-200 via-amber-200 to-stone-500 bg-clip-text text-transparent",children:"DriveDossier"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: September 26, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Overview"}),e.jsx("p",{children:"DriveDossier is designed to respect your privacy. There are no accounts, advertising, analytics, or tracking in the App. Your vehicle records are stored on your device. When you choose AI extraction, selected photographs, paperwork images or PDFs, listing links, or text are sent to a processing service as described below."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information Stored on Your Device"}),e.jsx("p",{children:"The App stores the following information locally on your device:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Vehicle records, including VINs, prices, mileage, fees, and extracted document data"}),e.jsx("li",{children:"Photographs, imported documents, and voice recordings you capture or import"}
205),e.jsx("li",{children:"Notes, checklist entries, and comparison selections"}),e.jsx("li",{children:"Dealer or service-center names and phone numbers you enter or look up"}),e.jsx("li",{children:"App preferences and settings"})]}),e.jsx("p",{children:"Your vehicle records are not uploaded as a whole to Ultra-Normal LLC's service. Material you select for AI extraction, including information in that material, is transmitted as described in the next section."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Photographs, Links, and Text Sent for Document Reading"}),e.jsx("p",{children:"When you request AI extraction from a vehicle identity or visit photograph, the App makes a JPEG processing copy at 85% quality and limits its longest edge to 2048 pixels if it was larger. This does not resize the original photograph stored on your device. Paperwork images and PDFs selected for extraction may instead be sent as selected, without that JPEG resizing step. When you request extraction from a listing link or pasted or shared text, the App sends the link or text. The App sends the selected processing material to Ultra-Normal LLC's processing service hosted on Replit. For a listing link, the service attempts to fetch the public listing page; some sites may block access or require scripts the service cannot run. The service sends the relevant image, PDF, or text to OpenAI models through Replit AI Integrations for vehicle-detail extraction. The extracted vehicle details are returned to the App and stored on your device."}),e.jsx("p",{children:"The App's processing service is not designed to save submitted photographs, PDFs, links, text, or extracted results in its database or application logs. It does retain operational records described below. OpenAI states that API inputs and outputs are not used to train its models by default. OpenAI's default abuse-monitoring logs may contain submitted content and are retained for up to 30 days, or longer when required by law or reasonably necessary to protect its services or others (OpenAI API data controls). We have not verified a zero-retention arrangement for this Replit-managed OpenAI integration. Replit's AI Integrations documentation does not specify a separate retention period for OpenAI processing through that integration; Replit may process operational data under its own terms. Ultra-Normal LLC does not control or guarantee those providers' retention of processing data."}),e.jsx("p",{children:"Photographs of dealer paperwork may contain personal information, such as names, addresses, phone numbers, or email addresses. The extraction prompts instruct the model to identify the presence of buyer information without returning its values, and the App can mark the record accordingly; automated extraction may make mistakes, so review results. You may keep a document on your device without requesting AI extraction, or enter vehicle details manually."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Service Logs"}),e.jsx("p",{children:"For authorized extraction requests, the service writes an application log with the time, endpoint, App-generated install identifier, response status, and processing duration. It is not designed to put submitted photographs, PDFs, links, text, or extracted values in those application logs. The App generates a UUID-shaped install identifier, stores it on the device, and sends it with extraction requests. The identifier is a random value not derived from your name, Apple ID, device, or VIN. It does allow requests from the same installation to be counted together. To limit usage, the service also stores a hash of the install identifier with an hourly request count, plus a global daily request count, in a database."}),e.jsx("p",{children:"Replit says it retains deployment logs for 30 days. The service deletes quota database periods older than 30 days when it starts and checks again hourly while running. If the service is not running, that database cleanup resumes when it next starts. These statements do not set a retention period for OpenAI's data or other Replit infrastru
205cture records."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Information We Do Not Collect"}),e.jsx("p",{children:"We do not require account details (there are no accounts), access your contact lists, automatically collect your device's location, or use advertising identifiers, behavioral tracking, or usage analytics. Vehicle records you enter or source material you select for AI extraction may nevertheless contain names, contact details, addresses, or location information. The install identifier and operational records described above are collected for extraction access and usage limits."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Device Permissions"}),e.jsx("p",{children:"The App requests the following permissions, each of which you can revoke in your device's Settings:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"Camera, to photograph vehicles, VIN plates, and paperwork"}),e.jsx("li",{children:"Microphone, to record voice notes about a vehicle"})]}),e.jsx("p",{children:"The App does not request broad Photo Library access for importing existing photographs. It uses Apple's system photo picker to let you select specific photographs without granting general access to your library. You can also choose documents with the Files picker. Voice recordings are stored on your device and are not sent to the AI extraction service."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Analytics"}),e.jsx("p",{children:"The App does not use third-party analytics, advertising, or tracking services."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Data Retention"}),e.jsx("p",{children:"Vehicle records and other locally stored data remain on your device until you delete them in the App or remove the App, subject to your device's backup and storage behavior. The installation identifier is stored in iOS secure storage, which may persist after uninstall and reinstall with the same app identifier. The processing service is not designed to retain copies of submitted extraction material or extracted results, but it retains the operational records described above. Replit's deployment logs are retained for 30 days according to its documentation; the App's quota records are checked for deletion when the service starts and hourly while it runs. OpenAI and Replit may retain processing or infrastru
205cture data under their own policies as described above. Deleting local data does not erase copies retained by those providers."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Your Choices"}),e.jsx("p",{children:"You may delete vehicle records, photographs, documents, or recordings from within the App. Deleting the App removes its local data, subject to device backup behavior; the installation identifier may persist in iOS secure storage. You may revoke camera or microphone access in your device's Settings; the App will continue to function with reduced capability. Choosing photographs through Apple's system photo picker does not grant the App broad Photo Library access. You can use manual entry instead of AI extraction."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Children's Privacy"}),e.jsx("p",{children:"DriveDossier is not directed to children under the age of 13, and we do not knowingly solicit personal information from children."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Changes to This Policy"}),e.jsx("p",{children:"We may update this Privacy Policy from time to time. Updated versions will be posted at https://www.ultra-normal.com/drivedossier-privacy with a revised effective date."})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{children:["If you have questions about this Privacy Policy, contact: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/drivedossier-terms",className:"hover:underline",children:"Terms of Use"})," · ",e.jsx(L,{href:"/drivedossier-support",className:"hover:underline",children:"Support"})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}const bR=[["Acceptance of Terms","By downloading, accessing, or using the DriveDossier mobile application (“the App”), you agree to be bound by these Terms of Use. If you do not agree to these terms, do not use the App."],["Description of the App","DriveDossier helps you capture, organize, and compare information about vehicles you are considering buying or already own. The App reads photographs of documents such as dealer worksheets, window stickers, and vehicle history printouts using automated document-reading technology, then applies deterministic checks (for example, VIN check-digit validation and arithmetic verification of dealer totals) and presents the results for your review. The App is provided for informational and organizational purposes only. It does not provide professional, mechanical, legal, financial, or purchasing advice, and it is not a substitute for a vehicle inspection by a qualified professional or for reviewing original documents yourself."],["Accuracy and Verification","Automated document reading can make mistakes. Extracted values, VIN decoding, arithmetic checks, fee classifications, recall information, and summaries are aids to your own judgment, not guarantees of accuracy. You are responsible for confirming any information in the App against the original documents, the seller, and qualified professionals before relying on it to make a purchase, negotiate, or service a vehicle. Ultra-Normal LLC is not responsible for decisions you make based on information presented in the App."],["User Responsibilities","You agree to use the App only for lawful purposes and in accordance with these Terms. You are responsible for the photographs, recordings, and other content you capture with the App. Do not capture, store, or share another person’s personal information without a lawful basis for doing so. You agree not to misuse, disrupt, or attempt to reverse engineer the App or its processing service."],["Third-Party Services","To read documents, the App transmits photographs to a processing service operated by Ultra-Normal LLC and hosted on Cloudflare, which forwards them to Google’s Gemini model through OpenRouter. Recall information is retrieved from the U.S. National Highway Traffic Safety Administration (NHTSA). Telephone calls initiated from the App are placed by your device’s own phone application. These third-party services are governed by their own terms and privacy policies, and Ultra-Normal LLC does not control the
205ir availability or conduct."],["Intellectual Property","All content included in the App, including text, design, graphics, and software, is owned by Ultra-Normal LLC or its licensors and is protected by applicable intellectual property laws. You may not copy, modify, distribute, or create derivative works without prior written permission. Content you capture with the App remains yours."],["Purchases","DriveDossier is free at launch. The App may in the future offer a one-time in-app purchase. Any such purchases are processed by Apple through the App Store and are subject to Apple’s terms and conditions. Ultra-Normal LLC does not process payments directly and does not have access to your payment information."],["Disclaimer","The App is provided “as is” and “as available.” Ultra-Normal LLC makes no warranties, express or implied, regarding the accuracy, completeness, or reliability of information extracted, computed, or displayed by the App, including vehicle data, pricing, fees, recall status, and contact information. Use of the App is at your own risk."],["Limitation of Liability","To the maximum extent permitted by law, Ultra-Normal LLC shall not be liable for any indirect, incidental, consequential, or punitive damages arising from your use of the App, including losses related to a vehicle purchase, sale, negotiation, or repair."],["Termination","Ultra-Normal LLC may discontinue or modify the App or its processing service at any time without notice. The
205se Terms remain in effect even if you stop using the App."],["Governing Law","These Terms are governed by the laws of the United States and the State of Connecticut, without regard to conflict-of-law principles."]];function vR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsxs(L,{href:"/legal",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 text-white/90",children:"Terms of Use"}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-stone-200 via-amber-200 to-stone-500 bg-clip-text text-transparent",children:"DriveDossier"}),e.jsx("p",{className:"text-white/50 text-sm mb-8",children:"Effective Date: September 4, 2026"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[bR.map(([s,i])=>e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:s}),e.jsx("p",{children:i})]},s)),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Contact"}),e.jsx("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:e.jsxs("p",{children:["For questions regarding these Terms, contact: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/drivedossier-privacy",className:"hover:underline",children:"Privacy Policy"})," · ",e.jsx(L,{href:"/drivedossier-support",className:"hover:underline",children:"Support"})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function jR(){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsxs(L,{href:"/legal",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 text-white/90",children:"Support"}),e.jsx("h2",{className:"text-2xl font-semibold mb-6 bg-gradient-to-r from-stone-200 via-amber-200 to-stone-500 bg-clip-text text-transparent",children:"DriveDossier"}),e.jsxs("div",{className:"space-y-6 text-white/80 text-sm leading-relaxed",children:[e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Support & Contact Information"}),e.jsx("p",{children:"If you need help with DriveDossier, please contact:"}),e.jsxs("div",{className:"bg-white/5 border border-white/10 rounded-lg p-4",children:[e.jsxs("p",{children:["Email: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]}),e.jsx("p",{className:"text-white/60 text-xs mt-2",children:"We typically respond within a reasonable timeframe during standard business hours."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"Common Questions"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-white/90",children:"A number the App extracted looks wrong."}),e.jsx("p",{children:"Every extracted field is editable. Tap it in Study Mode to correct it, then confirm. If a document reads badly, try a flatter, better-lit photograph."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-white/90",children:"Why does the App need my camera, microphone, and ph
205oto library?"}),e.jsx("p",{children:"The camera photographs vehicles and paperwork, the microphone records voice notes, and the photo library lets you import photographs you already took. Each can be turned off in Settings."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-white/90",children:"Where is my data?"}),e.jsx("p",{children:"On your phone. There are no accounts and no cloud sync. Photographs are sent once to be read and are not stored by us."})]})]}),e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:"App Information"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"App Name: DriveDossier"}),e.jsx("li",{children:"Developer: Ultra-Normal LLC"}),e.jsx("li",{children:"Platform: iOS"})]}),e.jsx("p",{children:"For issues related to purchases, refunds, or billing, please contact Apple Support directly through the App Store."})]}),e.jsxs("p",{className:"text-white/40 text-xs mt-8",children:[e.jsx(L,{href:"/drivedossier-privacy",className:"hover:underline",children:"Privacy Policy"})," · ",e.jsx(L,{href:"/drivedossier-terms",className:"hover:underline",children:"Terms of Use"})," · ",e.jsx("a",{href:"https://ultra-normal.com",className:"hover:underline",children:"Ultra-Normal Home"})]})]})]})})]})}function Mm({title:s,effectiveDate:i,children:r}){return e.jsxs("div",{className:"min-h-screen w-full text-foreground relative overflow-hidden flex flex-col",children:[e.jsx(te,{}),e.jsx("div",{className:"relative flex-1 flex flex-col items-center px-6 py-12",style:{zIndex:10},children:e.jsxs(_.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:"easeOut"},className:"max-w-2xl w-full",children:[e.jsxs(L,{href:"/legal",className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary transition-colors mb-8",children:[e.jsx(J,{className:"w-4 h-4"}),"Back to Legal"]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-2 text-white/90",children:s}),e.jsx("h2",{className:"text-2xl font-semibold mb-2 bg-gradient-to-r from-blue-300 via-indigo-400 to-rose-300 bg-clip-text text-transparent",children:"SyllabusView"}),i&&e.jsxs("p",{className:"text-white/50 text-sm mb-8",children:["Effective Date: ",i]}),e.jsx("div",{className:`space-y-6 text-white/80 text-sm leading-relaxed ${i?"":"mt-6"}`,children:r})]})})]})}function Ue({title:s,children:i}){return e.jsxs("section",{className:"space-y-3",children:[e.jsx("h3",{className:"text-xl font-semibold text-white/90",children:s}),i]})}function Um({current:s}){const i=[{key:"privacy",href:"/syllabusview-privacy",label:"Privacy Policy"},{key:"terms",href:"/syllabusview-terms",label:"Terms of Service"},{key:"support",href:"/syllabusview-support",label:"Support"}].filter(r=>r.key!==s);return e.jsx("p",{className:"text-white/40 text-xs mt-8",children:i.map((r,l)=>e.jsxs("span",{children:[l>0&&" · ",e.jsx(L,{href:r.href,className:"hover:underline",children:r.label})]},r.key))})}function wR(){return e.jsxs(Mm,{title:"Privacy Policy",effectiveDate:"September 2026",children:[e.jsxs(Ue,{title:"The Short Version",children:[e.jsx("p",{children:"SyllabusView collects only the information necessary to provide accounts, save your Worlds, and let you share them."}),e.jsx("p",{children:"We do not sell your data. We do not display ads. We do not use your Worlds to train AI models."})]}),e.jsxs(Ue,{title:"Information We Collect",children:[e.jsx("p",{children:"If you create a SyllabusView account, we may store:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"your email address and account identifier"}),e.jsx("li",{children:"Worlds you create, including text, images, embeds, presentation files, layout, and settings"}),e.jsx("li",{children:"information necessary to save and synchronize your Worlds"}),e.jsx("li",{children:"sharing settings and share links you create"})]}),e.jsx("p",{children:"SyllabusView uses third-party infrastructure providers, including Supabase, to provide authentication, database, and storage services."})]}),e.jsxs(Ue,{title:"Your Worlds",children:[e.jsx("p",{children:"Your Worlds belong to you."}),e.jsx("p",{children:"SyllabusView stores your content so you can access and manage it through your account. We do not claim ownership of text, images, presentations, or other material you upload."}),e.jsx("p",{children:"You are responsible for having the right to upload and share the material you place in a World."})]}),e.jsxs(Ue,{title:"Sharing",children:[e.jsx("p",{children:"You may choose to create a read-only share link for a World."}),e.jsx("p",{children:"Anyone with an active share link may be able to view that World without creating a SyllabusView account."}),e.jsx("p",{children:"You can disable or regenerate a share link at any time."})]}),e.jsxs(Ue,{title:"Third-Party Content",children:[e.jsx("p",{children:"Worlds may contain links or embedded content from third-party services such as YouTube."}),e.jsx("p",{children:"When you interact with third-party content, that service may receive information according to its own privacy policy. Ultra-Normal does not control the privacy practices of those services."})]}),e.jsxs(Ue,{title:"What We Do Not Do",children:[e.jsx("p",{children:"SyllabusView does not:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-white/70",children:[e.jsx("li",{children:"sell personal information"}),e.jsx("li",{children:"serve behavioral advertising"}),e.jsx("li",{children:"build advertising profiles"}),e.jsx("li",{children:"use your private Worlds to train AI models"})]})]}),e.jsxs(Ue,{title:"Data Security",children:[e.jsx("p",{children:"We use reasonable technical and organizational measures to protect account information and stored Worlds."}),e.jsx("p",{children:"No online service can guarantee absolute security."})]}),e.jsxs(Ue,{title:"Data Retention and Deletion",children:[e.jsx("p",{children:"Your account information and stored Worlds are retained while your account is active or as necessary to provide SyllabusView."}),e.jsx("p",{children:"You may delete individual Worlds through the app."}
205),e.jsx("p",{children:"You may request deletion of your account and associated personal data. Some limited information may be retained where required for legal, security, or operational reasons."})]}),e.jsx(Ue,{title:"Children",children:e.jsx("p",{children:"SyllabusView is not directed at children under 13, and children under 13 should not create accounts."})}),e.jsx(Ue,{title:"Changes",children:e.jsx("p",{children:"We may update this Privacy Policy as SyllabusView changes. The current version will always be posted on this page with its effective date."})}),e.jsxs(Ue,{title:"Contact",children:[e.jsxs("p",{children:["Ultra-Normal LLC",e.jsx("br",{}),"New Haven, Connecticut"]}),e.jsxs("p",{children:["Privacy questions: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),e.jsx("br",{}),"General inquiries: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]}),e.jsx(Um,{current:"privacy"})]})}function NR(){return e.jsxs(Mm,{title:"Terms of Service",effectiveDate:"September 2026",children:[e.jsx("p",{children:"These Terms of Service govern your use of SyllabusView, operated by Ultra-Normal LLC."}),e.jsxs(Ue,{title:"Using SyllabusView",children:[e.jsx("p",{children:"SyllabusView lets users create, organize, present, save, import, export, and share spatial Worlds containing text, images, presentations, links, embedded media, and other materials."}),e.jsx("p",{children:"By using SyllabusView, you agree to these Terms."})]}),e.jsxs(Ue,{title:"Accounts",children:[e.jsx("p",{children:"You are responsible for activity conducted through your account and for maintaining access to the email address associated with it."}),e.jsx("p",{children:"Do not use another person's account without permission."})]}),e.jsxs(Ue,{title:"Your Content",children:[e.jsx("p",{children:"You retain ownership of the content you create or upload to SyllabusView."}),e.jsx("p",{children:"By storing content with SyllabusView, you give Ultra-Normal LLC the limited permission necessary to store, process, display, and transmit that content solely to operate the service."}),e.jsx("p",{children:"You are responsible for ensuring that you have the right to use and share material you upload."})]}),e.jsxs(Ue,{title:"Shared Worlds",children:[e.jsx("p",{children:"SyllabusView may allow you to create a read-only link to a World."}),e.jsx("p",{children:"Anyone who receives an active share link may be able to view that World. You are responsible for deciding what material you make available through a share link."}),e.jsx("p",{children:"Disabling or regenerating a share link may prevent future access through the previous link."})]}),e.jsx(Ue,{title:"Acceptable Use",children:e.jsx("p",{children:"Do not use SyllabusView to violate the law, infringe intellectual-property rights, distribute malware, interfere with the service, gain unauthorized access to other accounts or Worlds, or distribute unlawful or abusive material."})}),e.jsxs(Ue,{title:"Third-Party Services",children:[e.jsx("p",{children:"SyllabusView may display or link to content provided by third parties."}),e.jsx("p",{children:"Ultra-Normal LLC is not responsible for third-party services, websites, content, availability, or privacy practices."})]}),e.jsxs(Ue,{title:"The SyllabusView Service",children:[e.jsx("p",{children:"We work to keep SyllabusView reliable, but software changes and failures happen."}),e.jsx("p",{children:"Features may be modified, improved, discontinued, or replaced. We may temporarily suspend access when necessary for security, maintenance, or technical reasons."})]}),e.jsxs(Ue,{title:"No Warranty",children:[e.jsx("p",{children:"SyllabusView is provided on an “as is” and “as available” basis to the extent permitted by law."}),e.jsx("p",{children:"We do not guarantee that the service will always be uninterrupted, error-free, or suitable for every particular purpose."}),e.jsx("p",{children:"Keep your own copies of important materials. SyllabusView provides export tools specifically so your work does not have to remain trapped in the service."})]}),e.jsx(Ue,{title:"Limitation of Liability",children:e.jsx("p",{children:"To the maximum extent permitted by applicable law, Ultra-Normal LLC will not be liable for indirect, incidental, special, consequential, or exemplary damages arising from use of SyllabusView."})}),e.jsxs(Ue,{title:"Account Termination",children:[e.jsx("p",{children:"You may stop using SyllabusView at any time."}),e.jsx("p",{children:"We may suspend or terminate access where reasonably necessary because of abuse, security risks, violations of these Terms, or legal requirements."})]}),e.jsx(Ue,{title:"Changes to These Terms",children:e.jsx("p",{children:"We may update these Terms as SyllabusView develops. The current version and effective date will always appear on this page."})}),e.jsxs(Ue,{title:"Contact",children:[e.jsxs("p",{children:["Ultra-Normal LLC",e.jsx("br",{}),"New Haven, Connecticut"]}),e.jsxs("p",{children:["Legal questions: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),e.jsx("br",{}),"General inquiries: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]}),e.jsx(Um,{current:"terms"})]})}function TR(){return e.jsxs(Mm,{title:"Support",children:[e.jsx("p",{children:"SyllabusView lets you build an entire course, project, or presentation as one spatial World and move freely from the big picture to the smallest detail."}),e.jsxs(Ue,{title:"Need Help?",children:[e.jsx("p",{children:"Email:"}),e.jsx("p",{children:e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})}),e.jsx("p",{children:"Please include a short description of the problem and, when useful, your browser/device and what you were doing when the problem occurred."})]}),e.jsxs(Ue,{title:"Accounts",children:[e.jsx("p",{children:"SyllabusView uses individual accounts so your Library contains your Worlds."}),e.jsx("p",{children:"If you are having trouble signing in, make sure you are using the same email address associated with your SyllabusView account."})]}),e.jsxs(Ue,{title:"Sharing a World",children:[e.jsx("p",{children:"Open a World and choose Share to create a read-only link."}),e.jsx("p",{children:"Anyone with an active link can explore the shared World. They cannot edit it."}),e.jsx("p",{children:"You can turn sharing off or regenerate the link from the World at any time."})]}),e.jsxs(Ue,{title:"Import and Export",children:[e.jsx("p",{children:"SyllabusView supports export so you can keep your own copy of a World and import it again later."}),e.jsx("p",{children:"If an import fails, keep the original file and contact support before modifying it."})]}),e.jsx(Ue,{title:"Embedded Content",children:e.jsx("p",{children:"Some websites do not permit their pages to be embedded inside other applications. When that happens, SyllabusView may provide a link to open the source directly instead."})}
205),e.jsxs(Ue,{title:"App Information",children:[e.jsxs("p",{children:["App: SyllabusView",e.jsx("br",{}),"Developer: Ultra-Normal LLC",e.jsx("br",{}),"Website: ",e.jsx("a",{href:"https://syllabusview.com",className:"text-primary hover:underline",children:"syllabusview.com"})]}),e.jsxs("p",{children:["General inquiries: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"}),e.jsx("br",{}),"Support: ",e.jsx("a",{href:"mailto:[email protected]",className:"text-primary hover:underline",children:"[email protected]"})]})]}),e.jsx(Um,{current:"support"})]})}function SR(){return e.jsxs("div",{className:"relative min-h-screen text-foreground",children:[e.jsx(te,{}),e.jsxs("main",{className:"relative z-10 mx-auto max-w-3xl px-6 py-12 md:py-20",children:[e.jsxs(L,{href:"/",className:"mb-10 inline-flex items-center gap-2 text-sm text-white/60 hover:text-primary",children:[e.jsx(J,{className:"h-4 w-4"})," Home"]}),e.jsxs("header",{className:"mb-12 border-b border-white/10 pb-8",children:[e.jsx("p",{className:"mb-3 text-xs uppercase tracking-[0.2em] text-amber-300/70",children:"Ultra-Normal · Open source"}),e.jsx("h1",{className:"mb-5 text-3xl font-bold tracking-tight text-white md:text-5xl",children:"Ultra-Normal Agent Skills Index"}),e.jsx("p",{className:"leading-relaxed text-white/70",children:"Every open-source Agent Skill by Justin Neuman / Ultra-Normal LLC. Install any family with one command, or copy a single skill file into your agent's skills directory. All skills are plain-text prompt files (SKILL.md) — no code, no dependencies, model-agnostic."})]}),e.jsxs("section",{className:"mb-14","aria-labelledby":"install-heading",children:[e.jsx("h2",{id:"install-heading",className:"mb-5 text-2xl font-semibold text-white",children:"Install"}),e.jsx("div",{className:"space-y-3",children:pl.map(s=>e.jsxs("div",{className:"rounded-lg border border-white/10 bg-white/5 p-4",children:[e.jsxs("div",{className:"mb-2 flex flex-wrap items-baseline justify-between gap-2",children:[e.jsxs("h3",{className:"font-medium text-white",children:[s.name," (",s.count," skills)"]}),e.jsx("span",{className:"text-xs text-white/50",children:s.license})]}),e.jsx("code",{className:"block overflow-x-auto text-sm text-amber-200",children:s.command})]},s.repo))}),e.jsxs("p",{className:"mt-5 text-sm text-white/60",children:["Manual alternative for any repo: ",e.jsx("code",{className:"break-all text-amber-200",children:"git clone https://github.com/justinneuman-coder/<repo>.git"})]})]}),e.jsxs("section",{"aria-labelledby":"skills-heading",children:[e.jsx("h2",{id:"skills-heading",className:"mb-6 text-2xl font-semibold text-white",children:"The skills"}),e.jsx("div",{className:"space-y-12",children:pl.map((s,i)=>e.jsxs("section",{children:[e.jsxs("h3",{className:"mb-3 text-xl font-semibold text-white",children:[s.name," — ",s.theme," ",e.jsxs("span",{className:"text-sm font-normal text-white/60",children:["(",e.jsx("a",{className:"text-amber-200 hover:underline",href:LL(s.repo),children:"repo"}),"site"in s&&s.site?e.jsxs(e.Fragment,{children:[", ",e.jsx("a",{className:"text-amber-200 hover:underline",href:s.site,children:s.siteLabel})]}):null,")"]})]}),"note"in s&&s.note&&e.jsx("p",{className:"mb-4 text-sm leading-relaxed text-white/60",children:s.note}),e.jsxs("p",{className:"mb-4 text-sm text-white/60",children:["Install: ",e.jsx("code",{className:"break-all text-amber-200",children:s.command})," · License: ",s.license]}),e.jsx("ol",{start:1+pl.slice(0,i).reduce((r,l)=>r+l.skills.length,0),className:"list-decimal space-y-2 pl-6 text-sm leading-relaxed text-white/70 marker:text-amber-300/70",children:s.skills.map(([r,l])=>e.jsxs("li",{children:[e.jsx("strong",{className:"text-white/90",children:r})," — ",l]},r))})]},s.repo))})]}),e.jsxs("section",{className:"mt-14 space-y-4 border-t border-white/10 pt-8 text-sm leading-relaxed text-white/60",children:[e.jsx("h2",{className:"text-2xl font-semibold text-white",children:"License notes"}),e.jsxs("ul",{className:"list-disc space-y-2 pl-6",children:[e.jsxs("li",{children:["Everything above is ",e.jsx("strong",{children:"MIT"})," except ",e.jsx("strong",{children:"Scholar Modes"}),", which is ",e.jsx("strong",{children:"CC BY 4.0"}),". If you redistribute scholar modes, keep the attribution to Justin Neuman intact — each mode file carries it in its description."]}),e.jsxs("li",{children:["No warranties, no liability, as per the license texts. ",e.jsx("code",{children:"legal-triage"})," and ",e.jsx("code",{children:"warren-mode"}),"/",e.jsx("code",{children:"the-assessor"})," are thinking tools, not professional advice."]})]}),e.jsx("h2",{className:"pt-4 text-2xl font-semibold text-white",children:"For directory and registry maintainers"}),e.jsxs("p",{children:["All ",pl.reduce((s,i)=>s+i.skills.length,0)," skills use the standard Agent Skills format: ",e.jsx("code",{children:"---"}),"-delimited YAML frontmatter with ",e.jsx("code",{children:"name"})," and ",e.jsx("code",{children:"description"}),", followed by the skill body in Markdown. Install with the commands above or copy a skill file into your agent. Source of truth: the GitHub repos linked above."]})]})]})]})}function AR(){return e.jsxs(MT,{children:[e.jsx($,{path:"/",component:g9}),e.jsx($,{path:"/skills",component:SR}),e.jsx($,{path:"/suite",component:A9}),e.jsx($,{path:"/educational",children:()=>e.jsx(Xh,{slug:"educational"})}),e.jsx($,{path:"/wellness",children:()=>e.jsx(Xh,{slug:"wellness"})}),e.jsx($,{path:"/games",children:()=>e.jsx(Xh,{slug:"games"})}),e.jsx($,{path:"/manifesto",component:C9}),e.jsx($,{path:"/writing",component:L9}),e.jsx($,{path:"/legal-directory",component:R9}),e.jsx($,{path:"/essayvelocity-support",component:O9}),e.jsx($,{path:"/essayvelocity-privacy",component:P9}),e.jsx($,{path:"/unicornkick-privacy",component:I9}),e.jsx($,{path:"/unicornkick-support",component:B9}),e.jsx($,{path:"/passthestory-privacy",component:H9}),e.jsx($,{path:"/passthestory-terms",component:Y9}),e.jsx($,{path:"/passthestory-support",component:G9}),e.jsx($,{path:"/biasproof-terms",component:F9}),e.jsx($,{path:"/biasproof-privacy",component:Q9}),e.jsx($,{path:"/biasproof-support",component:K9}),e.jsx($,{path:"/readingvelocity-privacy",component:Z9}),e.jsx($,{path:"/readingvelocity-terms",component:$9}),e.jsx($,{path:"/readingvelocity-support",component:eD}),e.jsx($,{path:"/ideaaddiction-support",component:sD}),e.jsx($,{path:"/ideaaddiction-terms",component:aD}),e.jsx($,{path:"/ideaaddiction-privacy",component:iD}),e.jsx($,{path:"/sensorium-privacy",component:nD}),e.jsx($,{path:"/sensorium-terms",component:rD}),e.jsx($,{path:"/sensorium-support",component:oD}),e.jsx($,{path:"/ephemerality-terms",component:lD}),e.jsx($,{path:"/ephemerality-privacy",component:cD}),e.jsx($,{path:"/ephemerality-support",component:dD}),e.jsx($,{path:"/ephemerality-dmca",component:hD}),e.jsx($,{path:"/fractalview-terms",component:uD}),e.jsx($,{path:"/fractalview-privacy",component:mD}),e.jsx($,{path:"/fractalview-support",component:pD}),e.jsx($,{path:"/schrodingersbox-terms",component:fD}),e.jsx($,{path:"/schrodingersbox-privacy",component:xD}),e.jsx($,{path:"/schrodingersbox-support",component:yD}),e.jsx($,{path:"/clearing-support",component:gD}),e.jsx($,{path:"/clearing-privacy",component:bD}),e.jsx($,{path:"/clearing-terms",component:vD}),e.jsx($,{path:"/happyhumanist-privacy",component:jD}),e.jsx($,{path:"/happyhumanist-terms",component:wD}),e.jsx($,{path:"/happyhumanist-support",component:ND}),e.jsx($,{path:"/layernote-privacy",component:TD}),e.jsx($,{path:"/layernote-terms",component:SD}),e.jsx($,{path:"/layernote-support",component:AD}),e.jsx($,{path:"/badmeditator-privacy",component:CD}),e.jsx($,{path:"/badmeditator-terms",component:ED}),e.jsx($,{path:"/badmeditator-support",component:kD}),e.jsx($,{path:"/landartstudio-support",component:LD}),e.jsx($,{path:"/landartstudio-terms",component:DD}),e.jsx($,{path:"/landartstudio-privacy",component:RD}),e.jsx($,{path:"/stonewright-privacy",component:OD}),e.jsx($,{path:"/stonewright-terms",component:PD}),e.jsx($,{path:"/stonewright-support",component:MD}),e.jsx($,{path:"/popsiclebridge-support",component:UD}),e.jsx($,{path:"/popsiclebridge-terms",component:ID}),e.jsx($,{path:"/popsiclebridge-privacy",component:BD}),e.jsx($,{path:"/curlingchaos-privacy",component:zD}),e.jsx($,{path:"/curlingchaos-terms",component:_D}),e.jsx($,{path:"/curlingchaos-support",component:VD}),e.jsx($,{path:"/trailtorment-privacy",component:WD}),e.jsx($,{path:"/trailtorment-terms",component:HD}),e.jsx($,{path:"/trailtorment-support",component:YD}),e.jsx($,{path:"/quotecrush-support",component:qD}),e.jsx($,{path:"/quotecrush-terms",component:GD}),e.jsx($,{path:"/quotecrush-privacy",component:FD}),e.jsx($,{path:"/unseeing-privacy",component:QD}),e.jsx($,{path:"/unseeing-terms",component:XD}),e.jsx($,{path:"/unseeing-support",component:KD}),e.jsx($,{path:"/strangerstories-privacy",component:ZD}),e.jsx($,{path:"/strangerstories-terms",component:$D}),e.jsx($,{path:"/strangerstories-support",component:JD}),e.jsx($,{path:"/yeartree-privacy",component:eR}),e.jsx($,{path:"/yeartree-terms",component:tR}),e.jsx($,{path:"/yeartree-support",component:sR}),e.jsx($,{path:"/breathcube-privacy",component:aR}),e.jsx($,{path:"/breathcube-terms",component:iR}),e.jsx($,{path:"/breathcube-support",component:nR}),e.jsx($,{path:"/voidspan-privacy",component:rR}),e.jsx($,{path:"/voidspan-terms",component:oR}),e.jsx($,{path:"/voidspan-support",component:lR}),e.jsx($,{path:"/colorharvest-privacy",component:cR}),e.jsx($,{path:"/colorharvest-terms",component:dR}),e.jsx($,{path:"/colorharvest-support",component:hR}),e.jsx($,{path:"/slingshotracer-privacy",component:uR}),e.jsx($,{path:"/slingshotracer-terms",component:mR}),e.jsx($,{path:"/slingshotracer-support",component:pR}),e.jsx($,{path:"/greatduckrace-privacy",component:fR}),e.jsx($,{path:"/greatduckrace-terms",component:xR}),e.jsx($,{path:"/greatduckrace-support",component:yR}),e.jsx($,{path:"/drivedossier-privacy",component:gR}),e.jsx($,{path:"/drivedossier-terms",component:vR}),e.jsx($,{path:"/drivedossier-support",component:jR}),e.jsx($,{path:"/syllabusview-privacy",component:wR}),e.jsx($,{path:"/syllabusview-terms",component:NR}),e.jsx($,{path:"/syllabusview-support",component:TR}),e.jsx($,{path:"/legal",component:U9}),e.jsx($,{path:"/merch",component:W9}),e.jsx($,{component:zC})]})}function CR(){return e.jsx(nS,{client:lS,children:e.jsxs(MC,{children:[e.jsx(S3,{}),e.jsx(AR,{})]})})}uT.createRoot(document.getElementById("root")).render(e.jsx(CR,{}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.